Organic Groups: csoportonkénti disc quota

DruTa képe

Üdv!

Az OG-nél akarom megcsinálni, hogy az adott csoporthoz tartozó tagokra a csoport Disk Quota legyen érvényes. Közösen. Tehát ha a csoport korlát pl. 100 MB, akkor az abba a csoportba a tagok által összesen feltöltött file-ok összmérete 100 MB lehessen max.

Próbáltam az IMCE-t, a csoporthoz hozzá tudtam kötni a lemezhasználat korlátot (szerepkör segítségével), de mivel a tagok nem a csoportvezető szerepkörében vannak értelemszerűen, így rájuk nem vonatkozik ez, így viszont a csoport szerepkörbe tartozóknak van egy lemezkvótájuk (ami általában 1 személy), de az összes többi tagot ebbe nem tudom belevonni.

Aztán próbáltam a User Disk Quota modullal is, ott mint a neve is mutatja felhasználókat, illetve szerepköröket figyel, tehát az sem oldja meg.

Én csak annyit szeretnék tehát, hogy egy adott csoport tagjai egy közös kvótát használhassanak.

Sajnos bármilyen variációban kerestem a Google-val, nem találtam rá modult, megoldást.

Létezik, hogy két ilyen ismert modul, mint az OG és az IMCE nem tud összedolgozni?

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

'Létezik, hogy két ilyen ismert modul, mint az OG és az IMCE nem tud összedolgozni?'

Amit te szeretnél az nagyon speciális igény, amire ráadásul elég nehéz általános képletet írni, ami alapján egy általános modul készülhet. Már specifikálni sem egyszerű, mert pl mi legyen a quote érték forrása? A group entity egy mezője? Egy default beállítás a group entity bundle-n? Vagy egy mezei variable?

Továbbá itt össze-vissza keresztreferenciák vannak, egy user entity beküld egy group entityhez tartozó, (legyen most, mondjuk) node-t.
Ebben egy file entity referencia van. Ennek a file entitynek van ugye egy mérete, amiből mókuskázni kell. Igenám, de egy node akár több groupba is tartozhat. Egy file több node-hoz, sőt, akár userhez vagy más entityhez is be lehet kapcsolva. Kinek a quotejába lesz ilyenkor beszámítva? Vagy group id kerüljön a file-ra?

Egy OG-IMCE párosításnak ezekkel mind foglalkoznia kell. Tökéletes példa a filefield_path modul, ami ezer éves, és mégsem tudja ezeket az általánosságban lekezelni, mert kb nem is lehet.

Megnéztem ezt az User Disk Quota modult, elég jónak tűnik. Én kb elkezdeném összemásolgatni belőle a megfelelő részeket. Aztán szépen átírni, hogy ne uidvel, hanem giddel dolgozzon. Ezután persze a saját specifikációm alapján faragni a fentebb említett kérdések tisztázása után.

Én attól tartok, hogy erre nem lesz konyhakész megoldás.

2
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

Az szar ügy, ha nincs, mert még nem tudok php-zni.

Az IMCE böngészője egyébként elég béna kinézetű, és amikor valami üzenetet ír ki, olyan gyorsan eltűnik, h el se lehet olvasni.

Azt reméltem, hogy meg lehet csinálni, h az IMCE dolgozik a háttérben, de egy sima file feltöltés mezővel működik, tehát nem kell azt a ronda IMCE böngészőt használni.

Visszatérve az eredeti témára: próbáltam uid helyett gid-t megadni, de nem tudott mit kezdeni vele.

Valahol ezt a helykitöltőt előre be kéne állítani, ezek nem állandó jelentésűek az egész Drupalban?

Egyébként amit írsz abban azt nem értem, h. egy csoport is egy önálló entitás, tehát ha userhez lehet kötni a kvótát, akkor csoporthoz miért nem? Mármint egyszerűen.

0
0
szantog képe

„Valahol ezt a helykitöltőt előre be kéne állítani, ezek nem állandó jelentésűek az egész Drupalban?”

sorry, nagyon halvány emlékeim vannak az IMCE-ről, csak a logikája rémlik, ezer éve nem láttam.

„Egyébként amit írsz abban azt nem értem, h. egy csoport is egy önálló entitás, tehát ha userhez lehet kötni a kvótát, akkor csoporthoz miért nem? Mármint egyszerűen.”

A user és a file között 1-1 a kapcsolat. 1 file-t egyetlen user tölt fel, és ez jó eséllyel így is marad. Tehát egy (managed) file mindenképpen tartalmazza a feltöltő usert. Csoport és file közötti kapcsolatra rengeteg variáció lehet. Emiatt nem egyszerű.

Csak egy ötlet, nincs előttem og:
Tegyük fel, hogy minden egyes group 10Mb képet kezelhet, és egy kép egy csoporthoz tartozhat csak. Mondjuk van egy group_news tartalomtípus, ebbe töltik egy (field_group_news_image) mezőbe a képeket. A group_news egy csoporttartalom.

Kell a file_entity module, ezzel mezőzhetők lesznek a fileok (attól most tekintsünk el, hogy - amennyire rémlik - elvileg egy file entityt is lehet kötelező csoporttartalomnak beállítani, de ebben nem vagyok biztos, és nem látok og-t). A file image típushoz hozzáadsz egy entityreference mezőt, mondjuk legyen field_group.

Ezután jön egy rule:
Event: Before saving (group_news)
Condition: Entity has field: field_group_news_image
Actions: Set data value: field_group_news_image:field_group = group_news:gid (nem tudom, hogy van ez rulesban, de egészen biztosan elérhető, hogy az adott news melyik csoportba van éppen beküldve.)

Szóval itt most átpasszoltuk filenak, hogy melyik csoportba küldték be. Magyarul minden fileunk tudja, hogy melyik csoport tagja.

Innentől már tudunk egy file alapú nézetet készíteni, ami megmondja, hogy egy csoporthoz hány MBnyi képet töltöttek fel.

Elméletileg a rules tud nézetből adatokat kiszedni, szó egy újabb rule Before saving (group_news) elméletileg már össze tudja hasonlítani a nézet eredményét az éppen feltöltött file méretével és a kvótával.

Ehhez egy sor kódot sem kell írni, viszont baromira csak elméleti, valószínűleg nem is a legjobb, és szigorúan csak a 'tegyük fel'-el kezdődő esetet kezeli - már ha egyáltalán működik.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

Megemésztem és végiggondolom, van pár kerülőút nekem is a fejemben, de még csak skicc, szóval még nem biztos, hogy működőképes.

IMCE helyett és OG helyett mit használsz?

0
0
szantog képe

imce-t én egyszerűen sosem szerettem, sok éve még szakmai okom is volt rá, most már lehet, hogy csak előítélet. (nem követem a modul fejlesztését..)
Viszont elfogadom, hogy van olyan környezet, ahol megállja a helyét.

Helyette a media engem minden területen kiszolgált, még ha sok anyázás (eufémizmus a kódolásra) árán is időnként. Érdemes lehet kipróbálni a scald-t.

og-re nincs alternatíva. Egy nagyon minimal flag-rules-panels triót el tudok képzelni, max addig, hogy egy tesitanár összeszedi az osztályát, és kirakja a netre, hogy hány fekvőtámaszt kell nyomni a következő órán. Kb ennyit lehet og szinten og nélkül megcsinálni.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.

DruTa képe

Ha már ilyen otthonos vagy a témában, te mint profi, hogy használod a Drupal.org keresőt?

Csak én használom rosszul, vagy tényleg ez van:

Kerestem modulokat az org-on (sajnos elég béna a keresőjük, nem lehet úgy keresni, hogy olyan modulra, aminek a nevében benne van a Views, hanem minden tartalmat listáz, ahol csak meg van említve, így órákat lehet keresgélni a modulok között, csekély eredménnyel...

Ráadásul ha nem a főoldalról indítok, akkor ki se tudom választani, hogy csak a modulok között keressen.

Igaz nem vagyok bejelentkezve ott, de gondolom nem attól függ a kereső működése.

0
0
DruTa képe

Sem a Media, sem a Scald nem teszi lehetővé amit az IMCE, azaz feltöltési kvótákat, pedig nekem az IMCE is csak azért kéne, de ha kezelni tudná az OG group dolgot, akkor sem szeretném, mert igénytelen a megjelenése. A drupal 7 letisztult felületű, az IMCE még múlt századi...

0
0
szt képe

Van még egy kvóta modul, nem próbáltam:
https://www.drupal.org/project/user_disk_quota

0
0
DruTa képe

Fent írva vagyon, hogy ezt kipróbáltam.

0
0