Drupal gyufák, 1. gyufa
Mostanság derült ki számomra, hogy a Drupal ha bekapcsolják a cache-elését, teljes mértékben figyelmen kívül hagy minden node kezelő hook-ot és egyszerűen kinyomja cache-ből az egész oldalt, ha megtalálja.
Ez jó is lenne, csakhogy én fejlesztgetek egy protected_node nevű modult, amellyel node-okat lehet levédeni egy jelszóval. Na most ha be van kapcsolva a cache-ing, akkor bizony ha valamelyik anonymous már átjutott a jelszóellenőrzésen, akkor a többi anonymousnak nem kell, mert a Drupal lecache-elte a védett lapot.
Ezt a viselkedést sehogy nem lehet megkerülni, ahogy eddig néztem. Nyilván kell a cache-elés, kikapcsolni öngyilkosság. Kitörölni a cache-t minden anonymous látogatás után védett node-ra pont a cache-elés esszenciáját veszi el. Egyelőre nem sok megoldás jut eszembe, de valahogy meg kell kerülni hogy a védett lap cache-elésre kerülhessen.
Ilyen és ehhez hasonló idegesítő vagy zavaró Drupal dolgok fognak ebben a rovatban érkezni tőlem.
Update: Közben azért megleltem a megoldást a problémára, de nem szép megoldás. A vonatkozó Protected Node bugreportban lehet ismerkedni a probléma környezetéről és ott közöltem a megoldást is.
Lényegében arról van szó, hogy a Drupal kezel egy globális változót, 'conf' néven, ami történetesen a configurációs beállításokat hordozza. Természetesen nincs dokumentálva (AFAIK) ez a core kódon kívül. Tehát a cache kezelés egy-egy kérésre kikapcsolható, ha a kódban beállítjuk true-ra a $GLOBALS['conf']['cache'] változót.
Tanulság: Minden megoldható ha van egy fejszéd és egy jó erős nagyítód.
Friss hozzászólások
25 hét 5 nap
41 hét 6 nap
49 hét 6 nap
50 hét 6 nap
1 év 9 hét
1 év 9 hét
1 év 14 hét
1 év 15 hét
1 év 15 hét
1 év 22 hét