Milyen modult fejlesszek Nektek?

Nagyon sokat köszönhetek a Drupal-nak, és szeretnék, legalább részben, visszaadni valamit a közösségnek. Mivel programozásban vagyok járatos, a legcélszerűbb, ha készítek egy modult, és mindenki számára letölthetővé teszem a drupal.org-on. Azaz elkészítem első drupal contrib modulom.

Több ötletem is van, olyan funkciókkal, amikre nekem volt szükségerm valamikor, de nem találtam megfelelő kész modult.

Azért, hogy ebből a dolgoból, a lehető legtöbbet hozzam ki, azaz a Drupal közösség számára a lehető leghasznosabb dolgot készíthessem el, szeretném ha Ti döntenétek el, mit valósítsak meg contrib modul formájában.

Az ötleteim dióhéjban:

1. Látogatottsági és feed olvasottsági statisztika

Minden oldalletöltést naplóz a modul és egy AwStats-hoz hasonló táblázatban megmutatja a látogatottságot napi, heti, havi, évi bontásban. Emelett a feed-ek olvasottságát is naplózza és arról is mutat egy statisztikai oldalt. Néhány blokkot is biztosít a modul, egy például a feedburner widget-hez hasonlóan a feed-ekre feliratkozott olvasók számát jelenítené meg. Természetesen minden információ megjelenítése jogosultsághoz kötött, így csak azok látják akiknek erre jogot ad az oldalgazda.

2. Blokkok gyorstárazási (cache) paramétereinek szerkeszthetővé tétele

Nagy örömömre szolgált mikor megtudtam, hogy a Drupal 6-ban a blokkok gyorstárazása az egyszerű ki/be állapotnál lényegesen fejlettebb lesz: kinek és meddig mutassunk gyorstárazott információt. Lássuk be, a Drupal nem a sebességéről híres, így erre nagy szükség van.

Viszont döbbent arccal fogadtam, hogy a finomhangolást nem lehet az admin felületen elvégezni, csakis a blokkot biztosító modul fejlesztője szabályozhatja a gyrstárazási paramétereket. Szerintem ez rossz megközelítés, nem csak a blokk tartalmától, hanem a weboldal típusától is függ, hogy ezeket hogyan érdemes beállítani.

A modul egyszerűen egy admin felületet biztosít, ahol ezeket a paramétereket átállíthatjuk.

3. Képgaléria tömeges importálási lehetőséggel

Itt a nyár, az ember sokat utazik és közben kattintgatja a fényképezőt. Nagy mennyiségű kép gyűlik össze ilyenkor. Szeretnék készíteni egy olyan képgaléria megoldást, amely lehetővé teszi hogy egy zip fájl feltöltésével automatikusan importálásra kerüljenek a benne lévő képek. A feltöltés történhet webes felületen, vagy közvetlenül a tárhelyre pl. FTP-vel.

Emellett jónéhány egyéb dologra is szükség lehet: hozzáférés szabályozás jogosultságokkal, dátum szerinti galériák, hozzászólás és szavazás (a képek node-ként élenk), több méret egy képhez, esetleg EXIF adatok kinyerése.

4. Form builder adatbázis sémából

Ez egy meglehetősen régi ötlet: a szoftver fejlesztőket segítsük egy olyan eszközzel, amely a már meglévő adatbázis séméhoz automatikusan generál minden táblához listázó, beszúró, szerkesztő és törlő űrlapot.

Alapvetően hasznos segítség, meggyorsítja a munkát. Általános PHP megoldást már készítettem, ez volt a diplomamunkám. Most készítenék egy teljes mértékben Drupal-ra szabott megoldást. Több kérdés is felmerül a feladat kapcsán, a legfontosabb hogy kódgenerálással vagy API használatával jöjjenek létre a megfelelő űrlapok. A jobb testreszabhatóság miatt a kódgenerálás tűnik célravezetőbbnek, de az API-t sem vetem el első körben. Ez további kutatást igényel.

5. Felhasználói aktivitás naplózása IP szinten

A Drupal közösségi oldalakban a legerősebb. De valóban nagy forgalmú közösségi oldalak esetében a visszaélés (spam,flood,stb…) reális veszély. A modul minden regisztrált felhasználó minden tevékenységét (regisztráció, bejelentkezés, tartalom és hozzászólás beküldés, szavazás) naplózná és, hogy ez az akció milyen IP címről történt. Ennek segítségével kideríthető, hogy kik azok akik több különböző felasználálói névvel regisztráltak az oldalra, és az IP alapú tiltás hatékonyabb eszközzé válhatna.


Ennek a postnak a hozzászólásaiban várom a „szavazatokat”, hogy melyik feladatba vágjak bele. Emellett persze jöhetnek avaslatok, hogy a fenti modulokat hogyan lehetne még jobbá, használhatóbbá tenni.

A hozzászóláshoz nem kell (nem is lehet) regisztrálni, az email címeket bizalmasan kezelem, senkinek nem adom oda, és reklámot sem küldök.

Most lelépek a Szegedi konferenciára és maradok a Code Sprint-en is. Valószínüleg ott nekifogok a munkának, ha valakinek van kedve, csatlakozhat.

36 hozzászólás

Képgaléria. Én is

Képgaléria. Én is próbálkozom vele, sok minden részinformációm összejött már, de nekilátni még nem tudok. Specifikációm is van :D, ha kell, adom :)

Többet nem lehet

Többet nem lehet választani? :)
Ha nem, akkor +1 képgaléria :)

Mindegyik ötlet jó és

Mindegyik ötlet jó és tetszik, szóval ha van lehetőséged/időd/kedved, írd meg az összeset. :)
Programozói, adminisztrátori és felhasználói szemszögből jól jönne egy galéria, amely mindenki számára könnyen kezelhető, és mondjuk van API -ja, hogy pl. adott esetben összeintegrálható legyen az IMCE/Imagecache modulokkal.
Ha még kellene választanom, akkor a 4. és 5. pont között vacillálnék.
Azt viszont megkérdezném, hogy a "nyertes" modul melyik Drupal verzióhoz fog elkészülni?

Úgy néz ki, hogy

Úgy néz ki, hogy kimoderáltak, de nem hagyom magam :) A 4-esre szavazok.

Egyébként szerintem van ilyen képgaléria: http://drupalmodules.com/module/brilliant-gallery Talán ez az.

Mondjuk azért egy normális felhasználóbarát galléria tényleg jó lenne, mert ilyet még nem találtam...

Hát igen, a "replay" és a

Hát igen, a "replay" és a "delete" gombok nagyon közel vannak egymáshoz, túl közel :)

A brilliantgallery-t mikor utoljára néztem, úgy emlékszem még nem tudta az import-ot, majd megnézem újra.

Importot nem tud

Importot nem tud (legalábbis a d6-hoz lévő verzió), és ráadásul a galéria alatti galéria sem könnyű feladat. Meg valahogy a konfigurálása...

Azzal végülis azt lehet,

Azzal végülis azt lehet, hogy beteszed egy könyvtárba a képeket és megadsz valami ilyesmit:
[bg|fileokhelye]

És akkor csinál belőlük egy galériát. Azért mondjuk egy normális galéria modul nem lenne rossz.

Ha statisztikát

Ha statisztikát készítesz, szerintem próbáld úgy csinálni, hogy apacs logot tudjon olvasni, olyan még úgy sincs. Az előnye, hogy ha (file alapú)cachelés be van kapcsolva, akkor is mérni tudja a látogatottságot (mivel olyankor nem fut le a hook_exit)

Ha apache log-ból dolgozik,

Ha apache log-ból dolgozik, akkor a Drupalnak joga kell legyen olvasni a log-okat, ami biztonsági rés. Viszont ha hook_exit() alapú, akkor a cache-elést vágja tönkre. Persze lehet a szokásos JS mérőkód alapú is, de ez meg a feed mérést nem teszi lehetővé. Most látom, hogy ez egy kemény dió :) Nem baj, szerintem lehet ésszerű kompromisszumot találni erre is.

nekem az 1. pont keltette

nekem az 1. pont keltette fel az érdeklődésem, különösen, ami a feedeket illeti. A galéria is jól hangzik, de kutatás nélkül gyanítom, hogy akadnia kell már hasonlónak. Aztán tévedhetek :). Jó munkát! :)

Számomra a 4-es (form

Számomra a 4-es (form builder) a legszimpatikusabb ötlet.
Ha több választ is figyelembe veszel, akkor még az 5. lehetőséget jelölném meg (log).

véleményem szrint a 2-es

véleményem szrint a 2-es és 4-es ötlet, (blokk cache, és form bulider) éri meg az erőforrás ráfordítást.

1. Statisztikára ott a google/analytics, nem tudom feedet tu-e nézni, gyanítom nem, (ezt a részét lehet érdemes megcsinálni), viszont annál részletesebb, funciógazdagabb szatisztikázót nem hiszem, hogy csinálnál így nem éri meg.

2. A gyorstárcsázás fontos, én is szenvedtem már a nagy forgalom miatt.

3. importálni ott az image_import, arra meg szinte bármilyen galériát fel lehet tenni. Kedvencem a lightbox.
Jót mosolyogtam amikor az iwiw is átállt hasonlóra.

4. a form builder is jó ötlet tényleg hasznos lehet, de egy keresés funkciót még lehet beletennék.

5. a fent említett funciókat a watchdog is ellátja és ip-t is tárol, viszont nem tud szűrni, pl. több név egy ip, ennél az ötletnél én egy watchdog-ot kiegészítő modult írnék.

Szóval számomra 2 és 4, sory, hogy bő lére fogtam. :)

Kösz az eddigi

Kösz az eddigi hozzászólásokat, a Drupalcon végéig (aug.31) várom még a véleményeket.

Eddig a képgaléria vezet, de a többi 4 is belehúzott a végére. Egyszer már megpróbáltam meglévő modulokból összehozni egy képgalériát, akkor nem sikerült. Most mégegyszer nekifutok ennek, kipróbálom pl. az image_import-ot is. Ha sikerül, akkor nem képgaléria lesz, ha nem sikerül, akkor eddig úgy néz ki, az lesz. Már csak azért is, mert nekem is van sok képem, amit fetennék végre netre is :)

NeverGone: 6-os verzióhoz fog elkészülni először, és 5-ösre csak akkor backport-olom, ha komoly igény mutatkozik rá. Szeretném ezzel is előre lendíteni a 6-osra való átállást.

A form builder tetszik

A form builder tetszik nekem. Érdemes volna a Form API-ra támaszkodni, ha már Drupal. Ez csak egy output plugin a diplomamunkádhoz ;=)

Form generátor és/vagy

Form generátor és/vagy statisztika.
Kitehetnél egy poll-t erről a honlapodra, de akár a drupal.hu-ra is. :)

--
TMS

Elég egyértelmű a

Elég egyértelmű a képgaléria győzelme. Ezt fogom elkészíteni először. De a többire is van érdeklődés, Szegeden személyesen is jelezték páran, hogy mi kellene nekik. Nagyon örültem egyébként, ezeknek a beszélgetéseknek.

Lényeg a lényeg, nekiesek és amint van valami használható, közölni fogom a drupal.hu levlistán és/vagy fórumon.

Ha úgy alakul, először

Ha úgy alakul, először kiteszel egy specifikációt hozzá? Pl. hogy az ember a korszakalkotó ötleteit beleírhassa? ;)

És tök jó, hogy képgaléria lesz belőle :D

Már nem lehet szavazni, de

Már nem lehet szavazni, de ha esetleg a többit is megcsi, akkor a 3 - 4 - 2 sorrendre voksolok

Jó hírem van, kiderült,

Jó hírem van, kiderült, hogy már van jó képgaléria.

Először összeírtam egy specifikációt, majd elkezdtem nézelődni a már meglévő modulok között, hogy melyik mit tud, miben gyenge. Szóval felmérni a terepet. Íme a spec:

- a képek node-ok legyenek, hogy lehessen szavazni, kommentelni és millió más dolgot csinálni velük. Szóval hogy normálisan legyen integrálva a tartalom a drupal-ba.
- egy képnek több mérete is legyen, ezek előre készüljenek el, ne futásidőben méreteződjenek át a képek
- jól használható automatikus import
- a kategória rendszer fa struktúra legyen, amit a taxonomy modul biztosítson. Megint csak a jól integráltság miatt, így kihasználható a rengeteg contrib modul, ami a taxonomy-ra épül.
- finoman állítható jogosultságok. Felhasználó csoportonknak vagy akár egyedi felhasználóknak is adhassak jogot egy-egy kép vagy kategória megnézésére.
- a megjelenítés ne flash van vagy valami JS szkripttel történjen, hanem a smink rendszeren keresztül, sima HTML legyen. Ennek pont az az előnye, hogy nem vagyunk rákényszerítve egy adott megjelenésre, hanem szabadon ráépíthető lightbox, thickbox, piclens vagy akármi.

Kb ezek voltak az én kívánságaim. Belepillantottam pár modul leírásába és elég hamar belefutottam az Acidfree Gallery-be.

A leírás bíztató volt, de nem tetszett hogy az utolsó stabil verzió D4.7-hez van, D5-höz csak dev verzió, D6-hoz meg csak igéret :) De gondoltam, adok neki egy esélyt, és kipróbáltam. Nem ragozom tovább, a lényeg, hogy mindent tud amiket fent felsoroltam. A képek node-ok, több méret is van egy képhez, a taxonomy adja a kategórákat, stb. Az image modulra épít, amiben van egy tök jól használható image_import rész is.

A finomhangolható jogosultság kezelés ennyivel még nincs megoldva, de az ACL és a Content Access modulok ezt is megoldják: csoportonként és felhasználónként is beállítható hogy ki nézheti meg, módosíthatja, vagy törölheti a képeket.

Az összes említett modul:
http://drupal.org/project/acidfree
http://drupal.org/project/image
http://drupal.org/project/acl
http://drupal.org/project/content_access

(Hú de hosszú lett ez a comment:) )

Persze van amit én nem pont így terveztem elkészíteni, mint ezek a modulok, de a funkciók kb. 90%-95% megegyezik az én elképzeléseimmel. Úgyhogy eléggé tanácstalan vagyok, mert nem igazán látom értelmét szinte egy-az-egyben mégegyszer elkészíteni ezeket a dolgokat.

Írjátok meg a véleményeteket, próbáltátok-e az acidfree-t és ha igen, milyen eredményekkel.

Az AcidFree-vel nekem D5

Az AcidFree-vel nekem D5 alatt volt sok gondom, nekem nem tűnt elég flexibilisnek, másrészt elég bugos volt.

Az, hogy nincs 6-os verziója, sajnos engem sakkba tesz, merthogy nekem meg nincs 5-ös oldalam...

Mivel a jogosultságkezelése elég fapados, ez sem egyszerűsítette a használatát.

A Drupal 5 miatt nekem is

A Drupal 5 miatt nekem is kiesik az Acidfree, különösen, hogy semmi konkrét infó nincs arról mikor készül el (ha elkészül) a Drupal 6 -ra portolt változat.

Ha ennyire virágos a

Ha ennyire virágos a helyzet (mármint a kiindulási alap), mi lenne, ha beszállnál az AcidFree fejlesztésébe? És akkor lenne stabil 5-ös, meg 6-os verzió. ;o)

Igen, próbáltam az

Igen, próbáltam az acidfree, nagyon sok dologra jó, egyedül a sok kép feltöltése egy albumba funkció hiányzott nekem. Ha elnéztem, és képes rá valahogy, akkor írjatok róla.

Az acidfree igazából elég

Az acidfree igazából elég kevés dolgot csinál :) a munka nagy részét az image modul végzi. Ebben benne van egy image_import nevű modul is, ez végzi az importálást. Hatékonyan dolgozik, több száz képet egy pillanat alatt beimportál. Előtte fel kell tölteni a képeket a szerverre mondjuk FTP-vel, az image_import bedig elkészíti hozzá a node-okat (kategorizálva), a képfájlokat pedig átmozgatja a végleges helyükre.

Igen, csak az FTP-hez nem

Igen, csak az FTP-hez nem férnek hozzá a mezei userek, ezért tetszett, amit írtál, hogy webes felületen egy zip fájl feltöltésével megoldanád a tömeges képfeltöltést.

Az Acidfree-ben van egy

Az Acidfree-ben van egy "mass import" funkció, azzal lehet zip-et és gzip-et tud feldolgozni. Bár vannak fenntartásaim a konkrét megvalósítással. Pl. ennek inkább az image_import modulban lenne a helye, vagy inkább egy külön "mass upload" modulban. Meg parancssorból tömöríti ki a fájlokat, ami szintén nem túl szép megoldás.De végülis benne van a funkció, és gondolom működik is.

Ezt most

Ezt most találtam:
http://drupalmodules.com/module/gallerix
Van 6-os alá is valamicsnapshot. Ismeri valaki?

Azt megkérdezhetem, hogy

Azt megkérdezhetem, hogy ebben a projectben történt valami előrelépés?

Sajnos egyelőre semmi,

Sajnos egyelőre semmi, legalábbis részemről. Nem tettem le ezekről a projektekről, de most vannak fontosabb prioritású dolgaim is. Remélem minél hamarabb lépni tudok ezen a fronton is, de időpontot nem ígérhetek.