Hivatkozott felhasználók elhelyezése Organic Groups szerepben

ipeto képe

Sziasztok!

Az alapproblémám a következő: Adott három tartalomtípus (Oktató, Kurzus, Tananyag), amelyek között jelenleg node access mezők teremtik meg a kapcsolatot: A Tananyagban van egy a tantárgyhoz, a Kurzusban viszont több (pl. Kurzusfelelős, Oktató - eltérő jogosultságok miatt). Van még egy kapcsolat: az Oktatókat egy user reference mező kapcsolja a tényleges felhasználókhoz. (Felvetődhet, hogy miért nem user profil. Elsősorban azért, mert a felhasználókezelés LDAP-on keresztül működik, és így nem minden felhasználó jön létre a drupalban akkorra, amikor már meg kell tudni mutatni a felületen az oktatókat.)
Elvárás még, hogy bizonyos felhasználók mezőszinten mást lássanak ill. szerkeszthessenek - figyelembe véve azt is, hogy mely node-ok vannak összekapcsolva. Erről ebben a témában értekeztünk.
Ez alapján lassan hajlok rá, hogy az Organic Groups lesz a barátom, mivel ott működik, hogy az egyes szerepekhez rendelt usereknek akár mezőként más legyen a jogosultsága.
Viszont egy problémám van: Hogyan rendeljem az OG-szerepekhez a felhasználókat? Ugyebár arra lenne szükség pl., hogy ha egy Oktató node-ot egy Kurzus node Kurzusfelelős mezőjében elmentek, akkor az Oktató user reference mezőjében lévő felhasználó (ha van) kerüljön be a megfelelő OG-szerepbe ill. OG-csoportba. Megoldható ez pl. valamilyen automatikus szabály segítségével?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
knorbi képe

„hogy ha egy Oktató node-ot egy Kurzus node Kurzusfelelős mezőjében elmentek, akkor az Oktató user reference mezőjében lévő felhasználó (ha van) kerüljön be a megfelelő OG-szerepbe ill. OG-csoportba”

Szerintem Rules modullal létre tudsz hozni ilyen szabályt.

DE!!! Igazából nem nagyon értem, hogy miért van szükség az Oktató tartalomtípusra.

„nem minden felhasználó jön létre a drupalban akkorra, amikor már meg kell tudni mutatni a felületen az oktatókat.”

Annyi erővel, hogy valaki létrehozza az oktató node-ot, akár létrehozhatná magát a user-t is. Itt jöhet a képbe a Profile2 modul is, amivel egy felhasználónak többféle, különböző mezővel rendelkező profilt tudunk létrehozni, és a külön tudjuk szabályozni a profilok jogosultságát (ki láthatja, ki szerkesztheti).

(Igaz, nem tudom, hogy hogyan működik együtt a Drupal az LDAP-pal, még sosem próbáltam. De gondolom, megoldható, hogy egy megfelelő jogosultságu user létrrehozza az oktató user-t az oktató node helyett, aztán "összeköti" az LDAP adatbázissal.)

0
0

Kiss Norbert
adatmentespecs.hu

ipeto képe

DE!!! Igazából nem nagyon értem, hogy miért van szükség az Oktató tartalomtípusra.

Ez többtényezős döntés volt:

  • Az LDAP-modul akkor hozza létre a usert a drupalban, amikor az bejelentkezik. Megfigyelésem szerint "előre dolgozni" nem igazán lehet, mert az adatbázisba egy mezőbe belerak mindenféle LDAP-os információt, tehát a drupalban kézzel létrehozott és az ldap által létrehozott felhasználó nem ugyanaz.
  • A gyorsabb, egyszerűbb karbantartás okán a frissítést Excelből, pontosabban csv-ből egy Feed Importer segítségével végeztük. Ez meg nem tudja kezelni a Profile mezőit, sima node-oknál viszont remekül működik.
  • Ez egy rendkívül szerencsés módon "dinamikusan" alakuló projekt, sokáig arról volt csak szó, hogy az oktatói adatokat nem maguk az érintettek tartják karban, tényleges felhasználóként nem nagyon jelennek meg, így ezért is lett külön tartalomtípus.
  • Ill. nem lehetett kivárni, amíg mindenki veszi magának a fáradságot és bejelentkezik, korábban kellett az oktatói listát prezentálni
0
0
ipeto képe

Úgy néz ki, sikerül összerakni a Rules modulban a felhasználók OG-szerephez és OG-hoz rendelését. Mondjuk nem egy egyszerű folyamat: Kell egy szabály a hozzárendeléshez és egy másik (módosulás esetén) a régi értékek eltávolításához. Ill. alighanem ugyanez a kettő még egyszer, ha a feed importeren keresztül történik mindez.
Még azt nem tudom, mi a helyzet azokban az esetekben, ahol a reference-mezőnek nem csak egy értéke lehet (egy kurzusnak lehet több normál oktatója is), de ezzel majd holnap kísérletezek.
Minden esetre köszönöm a tanácsokat!

0
0