Mammals / Ola Anderson

Detta är bloggen för min enskilda firma Mammals. Den innehåller sådant jag är intresserad av eller vill berätta om.
Teckensnitts storlek: +

Hur man ställer in Joomla! att visa en viss artikel bara för en viss användare (privata artiklar)

Idag har jag ägnat nästan hela dagen åt att försöka lista ut hur det nya systemet för behörigheter och rättigheter fungerar i Joomla! 1.6/1.7/2.5. Jag har äntligen lyckats och tänkte i denna artikel förklar hur man gör en enkelt sak som det inte finns en enda instruktion eller exempel för vad jag kan hitta. Vilket är lustigt för det är det absolut första jag tycker man borde kunna ha detta system till.

Hur man gör så att en användare kan se endast en viss artikel, aka "kunders sidor" eller privata sidor.

Som vanligt i Joomla! så har man ett annat "tänk" bakom hur man bygger saker. Kommer man in i Joomla! från andra håll, som tex verkligheten eller så… betyder det att man måste lära sig hur de har tänkt att en sak skall fungera. När man skruvat om hjärnan så förstår man till slut.

Min ide var att ett företag skulle kunna ha en Joomla! webbsite och på den presentera information som är unik för en viss användare, en artikel som bara en viss användare kan se tex. Den artikeln kan innehålla en lista över den kundens fakturor, ordrar, resultat eller vad man nu vill presentera för sin kund som är unik för den. 

 Tricket är alltså att kunna ställa in följande villkor:

  • En viss artikel kan bara ses av en viss användare och ingen annan, aka dennes artikel.
  • Användaren skall inte kunna ändra i den (i detta exempel, men det går det med)

Här är begreppen i Joomla! rättighetssystem och vad de gör:

  • Användare – En användare kan vara med i flera grupper.
  • Grupper – Alla grupper har en och endast en förälder. Användaren är med i dem med. Publik är högsta nivån som alla andra grupper är med i, Superanvändare är lägsta nivån som bara superadmins är med i.
  • Åtkomstnivåer – Detta är en behållare för grupper och därmed användare.

Hur det funkar - reglerna

Vad man får GÖRA med en sak i Joomla! (artikel, kategori) bestäms av GRUPPEN. Denna artikel handlar inte om det, det kommer i en annan artikel hoppas jag.

Vad man får SE i Joomla! (artiklar, kategorier, menyalternativ) bestäms av ÅTKOMSTNIVÅN.

Så hur gör man då? En guide att ställa in i Joomla! så att man får privata artiklar som kan ses av en enda användare

1. Skapa din grupp och ange namnet på din användare eller något annat unikt identifierande begrepp, tex kundnummer. Jag kallar denna för "Olas grupp".

2. Skapa din åtkomstnivå, kryssa för din nya grupp "Olas grupp". Jag döper den till "Olas åtkomst".

3. Skapa din användare, kryssa för att denne är medlemmar i dessa grupper: 

  • Registrerade
  • Olas grupp

Jag döper denna användare till "Ola". 

4. Dags att skapa kategorin. Den är till för att innehålla alla privata artiklar i samma kategori. Det är bara en mapp som gör att det är lättare att hitta dessa. Om du är extra fiffig så har du kanske med något kronologiskt i kategorins namn. Tex "Fakturor 2012". Om detta system är igång i 10 år så kan det annars bli lite otympligt med tiden. Med ett årtal med blir det lättare att städa när tiden går och arkivera inaktuella saker. Notera att åkomst på kategorin skall vara "Publik". Jag kallar denna kategori för "Fakturor".

5. Dags att skapa några menyalternativ. Hur många du gör spelar inte så stor roll, men jag skapade ett som hette "Ditt konto" och ett till som underalternativ "Dina fakturor 2012". Notera att åtkomst på dessa menyalterantiv skall vara "Registrerad". Det betyder att alla inloggade kommer att kunna se dessa menyalterantiv. (Se nedan för hur man fixar det.)

6. Skapa en ny artikel för din kund. Det är detta som är den hemliga sidan som bara en viss användare kan se.

  • Ange kategorin på artikeln till "Fakturor"
  • Ange åtkomsten till "Olas åtkomst"

I övrigt kan du ha vad du vill i artikeln.

Då var det klart då!

 

Hur testar man?

För det första måste du logga ut och logga in i igen. Det verkar inte som om min webbläsare/Joomla frågar om access varje gång jag ber om en sida. Så prova det först. 

Gå hit: "Ditt konto" > "Dina fakturor 2012". 

Om det funkar skall du nu bara se den artikel som den inloggade användaren har åtkomst till.

Inställt så här behöver du skapa en grupp en åtkomst och en artikel per användare. Men du behöver inte skapa unika kategorier eller unika menyalternativ per användare, så det är bra. Det är annars ett annat alternativ att göra så.

Prova även att söka efter artiklar som inte hör till den inloggade användaren (dvs andra kunders hemliga sidor). Notera att de INTE visas i sökresultatet. Inställningen på artikeln för åtkomst trumfar att kategorin är publik och att menyalterantivet är registerade.

 

Variant på ovanstående – bara kunder och inte alla registerade användare skall se "Ditt konto" och "Dina fakturor". 

Vill du att bara kunder och inte alla registerade skall kunna se menyalterantiven "Ditt konto" och "Dina fakturor 2012", så behöver du förutom ovanstående bara bara lägga till några steg. Det är bra om du har tex ett supportforum eller erbjuder användare att registera sig av något annat skäl, men de är inte kunder och har därmed inga fakturor.

1. Skapa en grupp som heter "Kunders grupp". 

2. Skapa en åtkomstnivå som heter "Kunders åtkomst". Kryssa för att gruppen "Kunders grupp" skall vara med.

3. Leta reda på alla dina användare som är kunder och lägg till dem i gruppen "Kunders grupp" på dem. 

I nya Joomla! så finns en fiffig grej för att göra detta om man gör det för många användare. Den finns nedanför listan på användare. Du kan kryssa för ett gäng användare på en gång och nedan välja en grupp att lägga till dem alla i på en gång. Så fullt så jobbigt kanske det inte är. 

Det finns även ett "kryssa för alla" kryss ovanför listan på användare.

4. På menyalternativen ovan, ändra åtkomst till "Kunders åtkomst". Klart. 

 

Mera information om Joomlas nya behörighetssystem/rättighetssystem

Joomla 1.6, 1.7, and 2.5: ACL Concepts Overview

Access Control List/1.6-2.5/Tutorial - Joomla! Documentation

 

 

Färgkorrigering för video - bra videolektion
Att få Joomla! att INTE göra radbrytningar

Related Posts

 

Kommentarer 2

Ola Andersson den söndag, 21 oktober 2012 19:35

Din artikel "Hur man ställer in Joomla! att visa en viss artikel bara för en viss användare (privata artiklar)"

Du skriver i punkt 5. "Dags att skapa några menyalternativ. Hur många du gör spelar inte så stor roll, men jag skapade ett som hette "Ditt konto" och ett till som underalternativ "Dina fakturor 2012". Notera att åtkomst på dessa menyalterantiv skall vara "Registrerad". Det betyder att alla inloggade kommer att kunna se dessa menyalterantiv. (Se nedan för hur man fixar det.)"

Min kommentar:
När jag skapar en meny måste jag ange "Menu Item Type" (tex "Single article" ). Vad gäller här?

I din artikel skapar du menylänken först och sedan skapar du artikeln. Skall det inte vara omvänt? (eller det kanske funkar det du anger, men som jag uppfattar det måste jag välja en artikel eler t.ex "Category list", eller annat).
Jag kanske har missuppfattat din vägledning?
Hälsningar
Inguar Karlsson

0
Din artikel "[b]Hur man ställer in Joomla! att visa en viss artikel bara för en viss användare (privata artiklar)[/b]" Du skriver i punkt 5. "Dags att skapa några menyalternativ. Hur många du gör spelar inte så stor roll, men jag skapade ett som hette "Ditt konto" och ett till som underalternativ "Dina fakturor 2012". Notera att åtkomst på dessa menyalterantiv skall vara "Registrerad". Det betyder att alla inloggade kommer att kunna se dessa menyalterantiv. (Se nedan för hur man fixar det.)" Min kommentar: När jag skapar en meny måste jag ange "Menu Item Type" (tex "Single article" ). Vad gäller här? I din artikel skapar du menylänken först och sedan skapar du artikeln. Skall det inte vara omvänt? (eller det kanske funkar det du anger, men som jag uppfattar det måste jag välja en artikel eler t.ex "Category list", eller annat). Jag kanske har missuppfattat din vägledning? Hälsningar Inguar Karlsson
Ola Andersson den söndag, 21 oktober 2012 20:30

Hej Ola!
Ref min kommentar enligt ovan angående punkt 5 i din artikel.
Jag hade lite bråttom när jag spontant skrev en kommentar.
Testade vidare och valde "Meny Item type" och "Category list". Så långt funkade det utmärkt! Gjorde efterföljande punkter enligt dina anvisningar och även dessa fungerade! Allt OK!
Fantastiskt, jag har försökt att förstå mig på olika googlade anvisningar/vägledningar/Tutorials mm, men har då inte lyckats fånga den röda tråd som du på ett enkelt och lättfattligt sätt har beskrivit avseende skapande av olika behörighets/och access konton. SUPERBRA!
Många Tack !
Hälsningar Inguar (inguarkp)

0
Hej Ola! Ref min kommentar enligt ovan angående punkt 5 i din artikel. Jag hade lite bråttom när jag spontant skrev en kommentar. Testade vidare och valde "Meny Item type" och "Category list". Så långt funkade det utmärkt! Gjorde efterföljande punkter enligt dina anvisningar och även dessa fungerade! Allt OK! Fantastiskt, jag har försökt att förstå mig på olika googlade anvisningar/vägledningar/Tutorials mm, men har då inte lyckats fånga den röda tråd som du på ett enkelt och lättfattligt sätt har beskrivit avseende skapande av olika behörighets/och access konton. SUPERBRA! Många Tack ! Hälsningar Inguar (inguarkp)