Sziasztok!
A drupal.org-on rákerestem a "node auto save" szavakra. Szerettem volna találni egy olyan modult, ami beállíthatóan, automatikusan menti a tartalmat szerkesztés közben, pl. úgy, mint a gmail, amikor írok egy levelet és közben ment.
Azért kéne ez, mert ha valaki hosszabb szöveget ír be, és közben pl. más dolga akad, vagy lefagy a rendszer, stb, akkor ne kelljen az egészet elölről kezdenie (és bírja ki azt is, ha kilépteti a rendszer - bár a drupal ha jól tudom nem lépteti ki a felhasználót bizonyos idő után, amit egyébként nem biztos, hogy jó.
Tudtok ilyen modult?
Még jobb lenne, ha állapotokat mentene arra az esetre, ha pl. épp olyankor mentene, amikor nem akarja a szerkesztő, azaz, hogy legyen hová visszalépnie.
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
Ez a
modul pont ez ígéri:
http://drupal.org/project/autosave
de még nem használtam.
Ezt viszont igen:
http://drupal.org/project/save_draft
ez nem ment automatikusan, és valójában nem csinál semmi olyat amit az alaprendszer ne tudna. :)
Csak a 'közzétett/nem közzétett' checkbox-okat cseréli le.
Azaz:
Save as draft = mentés (de nem publikálva)
Save = mentés (publikálva)
Igen, a második azért nem is
Igen, a második azért nem is érdekelt engem.
Az elsőt kipróbálom, kösz!
(Megzavart a linked, mert nem modules, hanem project néven van, fene tudja miért így van az org-on... :-)
-----------------
Na, kipróbáltam.
Nálam 1 probléma jelentkezett:
1. Nem ment
Magyarul, nem csinál semmit, bőven kivártam a beállított frissítési időt (alapból 10 mp) és semmit sem csinál...
Node autosave (sandbox project)
Hali!
Engem is érdekelt a dolog, úgyhogy telepítettem, de nem tetszett, mert nálam sem működött, és nem is kaptam róla visszajelzést, hogy mégis miért. A change logban láttam meg ezt a sort: "7.x-2.x - Working dev version; can handle TinyMCE WYSIWYG areas only." A logikáját sem értem, de mindegy, ezután egyből uninstalláltam a modult. Már eleve rossz ómen, ha rossz a hibakezelése egy modulnak, de ez a WYSIWYG-függőség még pluszban elég furcsa. Nem látom be, miért kéne, hogy köze legyen hozzá.
No, de amit viszont utána egyből kipróbáltam, az egy sandbox project, és ez csont nélkül működött:
Node autosave
http://drupal.org/sandbox/dzhgenti/1316894
A modul oldaláról kiderül, hogy szerette volna beolvasztatni az Autosave-be, úgy tűnik, egyelőre sikertelenül.
admin/config/user-interface/node-autosave
Administration » Configuration » User interface » Node autosave
itt tudod beállítani, melyik content type-nál legyen autosave!
Megjelenít egy "Presave" és egy "Restore" gombot fölül egy fieldsetben, meg alul a gomboknál, elsővel készítesz egy átmeneti mentést, másodikkal pedig visszaállítod a korábban elmentett állapotot.
Kipróbáltam, hogy Task managerben kilövöm a böngészőhöz tartozó process-t, aztán újraindítom a böngészőt, vagy épp csak bezárom a fület, és sikerült is a Restore gombbal visszaállítani.
Kösz, de nem értem.
Kösz, de nem értem.
Ez a sandbox link ugyanarra a modulra hivatkozik, mint ami nem működik.
Más letöltő linket én nem is találok ott.
pedig van
Pedig van, írja is, hogy:
git clone http://git.drupal.org/sandbox/dzhgenti/1316894.git node_autosave
Vagyis a Git verziókezelővel tudod letölteni (esetleg itt a legfelső „snapshot” link)
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Giten keresztül töltsd le (vagy lásd az előttem szólót)
Ennyit mond a másik modulról:
Meg még ezt:
Egyébként meg pont ugyanúgy kell letölteni, ahogy minden sandbox projectet, Git-en keresztül, ott is van, hogyan, ezt kell beírnod terminálba/konzolba:
git clone http://git.drupal.org/sandbox/dzhgenti/1316894.git node_autosave
Ha Windows-od van, rakd fel ezt:
http://windows.github.com/
Majd indíts egy Git Shellt, ezen keresztül navigálj egy a
sites/all/modules
könyvtáradba, majd írd be az előbbit, és ez letölti neked az aktuális könyvtárba a sandbox projectet.Szerk.: ahogy nevergone közben írta, innen is lehet, jó is, hogy ezt a lehetőséget is írta.
Bocs, de én azon a szinten
Bocs, de én azon a szinten vagyok, hogy drupal.org és ott letöltés. Nem tudom mi ez a sandbox, gondolom egy drupal clone, vagy drupal profil összeállító cég, vagy mi, rákerestem neten, de nem ilyen jellegű dolgok jöttek ki.
Git? Eddig csak a gitt egyletről hallottam... :-)
UI: Most épp ezt tanulom: http://drupal.hu/node/12943
---
Most már tudom mi az a Git, de mivel nem vagyok fejlesztő szinten, nem értem miért nem a modulok között van ez a modul, amit kerestem, ti. az autosave. Hacsak nem azért, mert ez még nem végleges változat. De ha így van, akkor is a modulok között szokott lenni, .dev kiterjesztéssel.
Szóval normál Drupal felhasználónak nem értem miért kell verziókezelésről egyáltalán tudnia...
Bocs.
sandbox = homokozó
Nagyon ügyes vagy, jó irányba haladsz. :)
Ez nem teljesen igaz. A drupal.org-on kétféle project van, a „sandbox” és az éles. A sandbox, magyar nevén homokozó arra való, hogy fejlesztek valamit, amit még nem szeretnék a hivatalos projektek között közzétenni. Például azért, mert még erősen fejlesztés alatt van, vagy nem eldöntött a sorsa, a sandbox ugyanis törölhető a drupal.org-ról, az éles projekt viszont nem, illetve a sandbox alapértelmezetten nem listázódik a moduloknál, csak a felhasználó adatlapjáról érhető el.
Általában az szokott a menetrend lenni, hogy a fejlesztés elindul sandboxként, majd amikor a minősége elér egy szintet és a sorsa is tisztázott (nem lesz letörölve, nem felesleges stb.) akkor egy checkbox beállításával éles projekté alakul:
http://nevergone.hu/blog/110218/git-verziokezelore-valt-drupal
Amire te gondolsz (-dev kiterjesztés) az arra vonatkozik, amikor egy éles projektből kiadásokat készítenek (1.0, 2.0), viszont a köztes fejlesztési állapotokat is szeretnék könnyen letölthetővé tenni. Egy ilyen fejlesztési letöltés (-dev) naponta kétszer készül automatikusan az aktuális fejlesztési állapotból, viszont a Git segítségével a köztes állapotokat is letöltheted.
Egyáltalán nem kell, viszont egy normál Drupal felhasználó nem is használ sandbox állapotú fejlesztést. Neked viszont egy olyan dologra van szükséged, ami egyelőre csak ott érhető el (hogy miért, arról kérdezd a fejlesztőt).
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Kösz, tényleg jó irányba
Kösz, tényleg jó irányba mentem el, de a kiegészítéseddel már teljes a kép!
Viszont ha az org-ra csak elfogadott modul kerül fel, akkor az eredetileg ebben a témában közölt modul miért nem csinál semmit?
Feltettem a http://ftp.drupal.org/files/projects/wysiwyg-7.x-2.2.tar.gz modult, hátha ez kell neki, de a füle botját sem mozgatja továbbra sem.
UI. Természetesen ha .dev-et nem teszek fel éles oldalra, akkor a homokozóból kiszedett dolgokat főleg nem, tehát az nem játszik.
Próbáld ki inkább az ajánlott Node autosave modult :)
Korábbi hozzászólásában nevergone tök jól leírta, hogy tudod legegyszerűbben letölteni zip-formában a snapshotokat:
http://drupal.hu/comment/69063#comment-69063
"(esetleg itt a legfelső „snapshot” link)"
Válaszd ezt a legutóbbi megoldást, úgy lesz a leggyorsabb.
Kapsz egy zipet, ezt kibontod a sites/all/modules könyvtárba, és onnantól kezdve tudod majd engedélyezni a Node autosave modult.
A modul pedig azért van sandbox állapotban, mert a fejlesztő eredeti terve az volt, hogy a sima Autosave modulba beépíti az ő változatát, de úgy látszik, az Autosave fejlesztőjével nem jutottak dűlőre, így ez egyelőre megmaradt sandboxban (homokozóban).
De ez nem jelenti azt, hogy ne lenne jó a modul, sőt, ez a Node autosave nevű modul jól használható, a sima Autosave modul pedig nem. Valószínűleg azért, mert utóbbi csak a 6-osra lett csiszolgatva, na meg egyébként ez igényel egy jQuery plugint is, de elvileg ez bent van a modul könyvtárában is, tehát nem igazán értem, miért nem megy a modul, de nem is nagyon próbáltam rájönni - egy jó modulnak jól láthatóan jeleznie kell, ha valami nyűgje van (pl. a status reportban, de ennél nem látszik semmi para), ha meg nincs nyűgje, akkor egyből működnie kellene, ha erre a fejlesztők nem gondoltak, és még a readme sem segít, akkor az elég negatív képet fest a modulról, tehát azt nem is igazán kell erőltetni. Ezért tehát szerintem próbáld ki tényleg inkább a Node autosave-et, amit ajánlottam. :) Aztán meglátjuk, ez mennyire válik be.
Persze ezzel se éles oldalon kísérletezz, hanem legyen egy tesztoldalad, ott próbálgasd ki, mit tud, és ha beválik, csak akkor pakold fel az éles oldalra is.
Remélem, így sikerrel jársz!
Kösz, megpróbálom így!
Kösz, megpróbálom így!
Még előtte a WYSIWYG-hoz felteszek egy editort, hátha akkor megy, bár nem akartam. Az fckeditort akartam, de a letöltésnél csak ckeditor volt, azt viszont nem támogatja az a verzió, ami nekem fent van, a 7-es, legalábbis ezt írja az admin felület, így kipróbálom a tinymce-t.
Egyébként ez annyira alap dolog, hogy akár a drupal core is tudhatná, engedélyezni egy be-kikapcsolással.
Valószínűleg azért nincs működő modul, mert aki ért a programozáshoz, pár perc alatt csinál ilyet, mások meg nem foglalkoznak azzal, ha egy böngészőfagyás miatt szegény felhasználók elvesztik a beírtakat.
---
Na, editorral sem megy. Töröltem ezt a modult, meg a WYSIWYG-et, editort.
Megkeresem, hol tudom jelezni, hogy ez az autosave modul nem a drupal.org-ra, hanem a szemétbe való.
Remélem a homokozós változat menni fog...
---
Igen. És nem.
Ment automatikusan, majd kipróbáltam, hogy a mentése után kilépek a node szerkesztéséből (amit korábban elmentettem már, mert ha egyszer sem volt a node elnevezve, akkor nem mentett, pedig lenne értelme, hogy egy ideiglenes néven mentse, mint a gmail a levél írásakor piszkozatot), és nem maradt meg amit írtam (szerkesztettem a node-ot manuális mentés nélkül), pedig kiírta felül, hogy mikor mentette utoljára.
Lehet, ezzel van baj?
" Storage place
- CTools object cache
- Munkamenet
Enable autoload of saved node "
Itt a CTools-os van kiválasztva csak.
Restore gombra katt
Itt írtam korábban, hogy van egy Restore gomb fölül és alul is. Azzal tudod értelemszerűen visszaállítani a korábban mentett szöveget.
Szerk.:
egyébként a node/add/article oldalt új fülön, üresen ne nyisd meg a jelenlegi hozzáadás mellett, mert akkor időnként az üres formot is menteni fogja, felülírva a korábbit, a megadott időközönként, ahogy észrevettem, bár lehet, hogy csak az akkori teszteléskor jött ez elő.
Nem erről van szó, lehet nem
Ha beállítom azt, hogy töltse be a legutóbbi mentést, akkor látszanak végre és a gombok is csak akkor működnek.
Tehát úgy tűnik, most megy. Ezek szerint úgy gondolkodik, hogy alapból nem mutatja a mentéseket, ami szerintem nem logikus, de mindegy.
Viszont ha kaphatnék választ: mi a különbség a Munkamenetbe, vagy Ctools-ba mentés között? Hogy értsem is mit csinálok.
---
Egy bánatom van már csak: ha elkezd írni valaki egy új node-ot és még nem mentette egyszer sem, akkor nem ér ez semmit, pedig - megint a gmailt hozva példának - az a jó, ha valamilyen piszkozatként menti akkor is, valamilyen ideiglenes néven, különben elvesznek az így írt anyagok, az pedig nem logikus, hogy csak a szerkesztendő anyagot mentse, hiszen sokszor csak egyszer írunk egy node-ot.
Igen, nem pont úgy működik,
Igen, nem pont úgy működik, ahogy a Gmail, tehát tényleges mentés tényleg nem történik (nem menti végleg az entitást), csak Ctools cache-be/munkamenetbe ment. Ami tulajdonképpen valahol érthető: gondolj bele, hogy mondjuk olvasgatod a kedvenc híroldaladat, és azt látod, hogy az egyik cikkben szerepel egy értelmetlenül félbehagyott mondat, és csak nézel, hogy hát ez meg mi. Írsz is egy kommentet gyorsan, hogy itt valami bibi van, nézzenek rá jobban a cikkre. Pedig mondjuk lehet, hogy a cikk szerzője épp frissítette a cikket, de közben egy ilyen modul elmentette véglegesen a változtatásokat. Na ez elég kellemetlen lehet, főleg, ha közben valami hatalmas baromság került a cikkbe, és a szerző nem olvasta át még egyszer (hogy publikálható állapotba kerüljön, ergo véglegesen mentsen).
A Ctools cache szerintem csak cache-törléskor ürítődik, míg a sessionbe mentés addig tart, amíg él a munkamenet - vagyis például amíg a felhasználó böngészőjéből nem törlődik az erre vonatkozó cookie. Tehát ha a felhasználó úgy dönt, hogy törli az összes cookie-ját, akkor a piszkozata is el fog veszni. VAGY például ha másik böngészőt használ, akkor nem fogja tudni visszaállítani a módosításait, hiszen ahhoz más munkamenet, más cookie tartozik. Úgyhogy szerintem érdemes inkább a Ctools cache-t meghagyni, ami az alapértelmezett.
A Ctools cache-sel kapcsolatos írtak csupán feltételezések.
===================
Szerk.:
ezt vissza is vonom. Kipróbáltam, hogy ugyanazzal a júzerrel másik böngészőben bejelentkeztem, és nem tudtam restore-olni azt a változtatást, amit készítettem az előző böngészőben, tehát igazából nem nagyon értem, akkor ez most miért is jó.
Ezt mindenképp jelezni kéne a fejlesztőnek egy issue keretén belül, mert ezen bőven van mit csiszolni. Úgyhogy hajrá! :D
===================
Egyébként jogosnak érzem az igényedet, hogy valamilyen néven legyen elmentve, és több változat is mentődjön! Jelenleg ugyanis tényleg csak felülíródik mindig a korábbi változat, az meg sok esetben nagyon nem jó.
Szerintem írhatnál a sandbox projecthez egy feature requestet erre vonatkozóan! Biztos a fejlesztője nyitott lesz az ötletekre, és legalább kap egy feedback-et, ami nagyon sokat számít.
Az első bekezdés, bocs, de
Az első bekezdés, bocs, de csúsztatás: egy cikket be lehet állítani úgy, hogy ne automatikusan legyen közzétéve, és nem kell, hogy ez a funkció ilyen galibát okozzon, hanem csak akkor frissülne kint is egy cikk (ha már utólagos szerkesztésről van szó), ha a mentés gombra kattintunk, a node mentés gombjára.
A gmail sem küldi el a levelet, hanem csak piszkozatba teszi...
A második bekezdésben közölteket köszönöm, bár ez akkor azt jelenti, hogy egyre csak nő az adatbázis, amíg a cash-t nem töröljük az adatbázisból manuálisan?
Írnék én hibajelzést a fejlesztőnek, de gondolom ahhoz regisztrálni kell, ráadásul az én angol tudásom alapján írt megjegyzést nem biztos, hogy értené.
Komolyan meglep, hogy egy ilyen triviális dologra nincs megfelelő modul, és azt is, hogy mások ilyet nem igényeltek, mert gondolom, akkor lenne, ha nagy lenne rá az igény.
Pedig drupal-lal biztos még szerkesztőségi dolgokat is csinálnak. Vagy ha nem, akkor elég karcsú egy dolog a drupal.
A "csúsztatás" szót egy kissé
A "csúsztatás" szót egy kissé offenzívnek és erősnek érzem, amikor azt próbálom elmagyarázni (nem "csúsztatni"), vajon miért ilyen megvalósítási ötlet mentén készült a modul, arról nem tehetek, ha ez nem az igényeidnek megfelelő.
"csak akkor frissülne kint is egy cikk (ha már utólagos szerkesztésről van szó), ha a mentés gombra kattintunk, a node mentés gombjára"
Pontosan erről beszéltem... ez a modul pedig pont, hogy "piszkozatot" készít: vagy Ctools object cache-be, vagy sessionbe mentve az átmeneti, még a mentés gombra kattintás előtti adatokat. Az már egy más kérdés, hogyan van mindez megvalósítva, miért nem ad nevet a mentéseknek, és miért nem készülnek mentések több példányban is.
A Gmaillel összehasonlítani meg teljesen értelmetlen, mivel a levelezőprogramnál még a küldés előtt a piszkozatnál nyugodtan történhet végleges mentés, attól még elküldődni a levél magától nem fog; de a Drupal nem egy levelezőkliens, itt arról van szó, hogy végleg mentesz-e egy entitást, vagy sem, tehát az end user számára is látható a tartalombeli módosítás, vagy sem. DE lehetne még olyan elképzelés mentén is elkészíteni a modult, hogy akár revíziókat készítsen a node-okról, és a revíziók még ne legyenek publikálva, csak a mentés gombra való kattintáskor, de ekkor be kéne kapcsolni a revíziókészítést...többféle elképzelés is lehet, a modulnál valószínűleg a legegyszerűbbet választották, ami a beépített, alapértelmezett lehetőségeket használja ki, a lehető legegyszerűbben.
Egyébként az igényed nem olyan nagyon mindennapi, mint ahogy elképzeled, és nem is olyan egyszerű kérdés, hogy mi a jó megvalósítás, főleg újonnan elkészítendő entitásoknál (például node-oknál ebben a fázisban még nincs bejegyzés a node táblában, node id, stb.).
Azért pedig ne az egész Drupalt blamáld és nevezd "karcsú dolognak", mert a meglévő modulok nem felelnek meg a Te egyedi igényeidnek, főleg, ha nem járulsz hozzá azok továbbfejlesztéséhez némi visszajelzéssel, pusztán elvárnád, hogy valakik ingyen végezzenek jó munkát neked.