Könyv gyermek lapja nem hozható létre

Kimmuriel képe

Sziasztok! Egy elég komolynak tűnő problémával küzdök: adminként létrehoztam egy könyvet, és mikor ennek szeretnék létrehozni egy gyermek lapot, akkor csak egy újabb könyvet tudok létrehozni, hiába kattintok a "Gyermek lap hozzáadása" linkre. A szerkesztés során a "Szülő" legördülő listából is kizárólag csak a "legfelső szint" választható ki, magyarán nem tudok lapot hozzárendelni egy meglévő könyvhöz. Alul, ahol a gyermek lapok listájának kellene szerepelnie, szintén üres maradt. 5.9-es Drupal verziót használok, próbálkoztam modulcserével is, és kipróbáltam az 5.7-es verzióval is (ami egy másik weboldalamon hibátlanul működött, ott semmi ilyen jellegű probléma nem jelentkezett), de ismét ugyanez volt a probléma. A modul kikapcsolása, uninstallálása majd reinstallálása sem segített. Mi lehet a gond?

Drupal verzió: 
Kimmuriel képe

Már jó régen volt, hogy a fenti témát fölvetettem... Akkor úgy sikerült megoldani a problémát, hogy a book modulból föltettem az 5.10-es verziót, és azzal már működött. Érdekes, hogy az 5.7 és az 5.9 mellett viszont fönnállt a probléma.

Ma a változatosság kedvéért új probléma adódott: most nem gyermek lapot, hanem konkrétan új könyvet nem lehet létrehozni. Maga a könyv létrejön, de a könyvek listán nem szerepel, és már létező gyermek lapokat sem tudok hozzárendelni. Mi lehet a gond? Teljesen tanácstalan vagyok, egyszerűen fogalmam sincs, hogy hol keressem a hibát. Szerintem hiába tennék föl másik verziójú book modult, előbb-utóbb megint előjönne ez a hiba.

0
0
Kimmuriel képe

További fejlemény, hogy ha manuálisan szerkesztem az oldal alatt futó adatbázist, és a gyermeklapokhoz hozzárendelem azt a könyv szülőt, amelyik a könyvek listában nem jelenik meg valamiért, akkor a gyermeklapoknál megjelenik rendesen a szülőre történő hivatkozás és tudok is felfelé léptetni, viszont ha a szülőt töltöm be, akkor annak nem látszódnak a gyermekei.

0
0
pp képe

Amit leírtál egy üres, frissen telepített Drupalnál is meg tudod ismételni?

"manuálisan szerkesztem az oldal alatt futó adatbázist"

Tud Te egyáltalán, hogy mit csinálsz? Tudod hány helyre kell, milyen bejegyzéseket tenni? Gyorsítótárat üríted ilyenkor?

pp

0
0
Kimmuriel képe

Egyáltalán nem voltam biztos benne, hogy jól csinálom amit csinálok, de megpróbáltam rájönni, hogy hol lehet a hiba. Nem csináltam olyan drasztikus módosításokat, hogy utána ne lehetne helyrehozni a dolgot. Amit konkrétan csináltam, az az volt, hogy phpMyAdmin segítségével megnyitottam a book táblát, "nid" (vagyis gondolom node ID) alapján megkerestem a hibásan működő könyvlapot, és láttam, hogy a "parent" résznél hibás hivatkozás van. Itt a "parent"-et átírtam a szülő "nid"-jére. Ezután azt tapasztaltam, hogy a gyermeklapok megfelelően hivatkoznak a szülőre; viszont ha a szülő lapot nyitom meg, ott nem látszódnak a gyermekek, tehát fordítva meg nem működik. Ebből azt gondoltam, lehet, hogy van valahol egy olyan adatbázis bejegyzés is, amiben az szerepel, hogy egy adott szülőhöz mely gyermekek tartoznak (bár ez redundáns információnak tűnik, hiszen ha a gyermek lapoknál már megvan, hogy melyik a szülője, akkor abból fordítva is tudni kellene kinyerni az információt, hogy egy szülőnek hol vannak gyermeklapjai). Ilyen bejegyzést nem találtam, így mindössze ennyit szerkesztettem az adatbázist.
Gyorsítótárat speciel nem ürítettem, ez nem jutott eszembe.

0
0
Kimmuriel képe

No, cirka 7 hónap után meglett a ludas! Durva bugot találtam, asszem majd megy is egy részletes bug report a fejlesztőknek. Egy egyszerű szóköz okozta a hibát...

FIGYELMEZTETÉS! A következő dolgot ne próbáld ki, amíg nem készítettél biztonsági másolatot a weboldaladról! A bug előidézése után a book modul teljesen használhatatlanná fog válni, és újratelepítést igényel!

A dolog úgy kezdődött, hogy egy olyan könyvet akartam létrehozni, ahol csak a gyermeklapok látszódnak felsorolva. Igen ám, de tartalom beküldésekor a törzs mezőt kötelező kitölteni! Én viszont nem akartam oda semmit írni. Mit csinál ilyenkor az ember? Józan paraszti ésszel nekiáll gondolkodni: kell valami olyan dolog, ami tartalomnak számít, de nem látszódik! Legyen mondjuk a space (szóköz) karakter! Nos, ha újonnan hozunk így létre egy könyvet, hogy a törzs mezőbe csak egy szóközt írunk, akkor az a könyv a könyvek listában nem fog megjelenni, gyermek lapot nem lehet hozzá csatolni, és teljesen hazavágja az egész book modult. Utána már nem lehet egyáltalán létrehozni könyvet, nem is látszódik a könyvlistán. A modult le kell törölni és újratelepíteni.

Csakhogy itt még nincs vége a történetnek! Esküdni mertem volna rá, hogy van olyan könyv, ahol a törzs mezőben csak egy space szerepel, és a book modul mégsem pusztult ki tőle. Meg is találtam, működött is szépen. Kiderítettem, hogy olyan könyv esetében, ahol a törzs mező korábban már ki volt töltve rendes szöveggel, és utólag lett megnyitva szerkesztésre, majd ki lett a törzsből törölve a rizsa és csak egy space karakter lett betéve, ott semmi gond nem volt a book modullal utána. Tehát csakis újonnan létrehozott könyvek esetében tilos a törzs mezőbe egyetlen space karaktert írni!

0
0
Nagy Gusztáv képe

Rendszeresen így csinálom, és sose volt gondom vele.

0
0

Nagy Gusztáv

Kimmuriel képe

Mármint létrehozol egy teljesen új könyvet úgy, hogy a törzsbe csak egy space-t írsz, majd beküldöd és utána szépen megjelenik a könyvek listában? Nálam nincs a könyvek listán, és utána már hiába töltöm ki másodszori szerkesztésre a törzs részt, nincs a könyvek listában és nem lehet hozzá gyermekeket csatolni. Utána már akárhány könyvet hozok létre, a szülő-gyermek kapcsolatok nem működnek. 5.9-től 5.16-ig szinte az összes Drupal-os book modult kipróbáltam, és mindegyik produkálja ezt a hibát. Csak a modul leszedése és újratelepítése oldja meg a dolgot. Egyébként más is belebotlott már ehhez hasonlóba: http://drupal.org/node/113660
És tényleg az a furcsa benne, hogy ha egy már létező könyvet nyitok meg szerkesztésre, ahol a törzs mező rendes karakterekkel van kitöltve, és ezeket kitörlöm és csak egy space-t írok a helyére, majd elmentem a tartalmat, akkor semmi gond nincs, minden működik rendesen. Csak újonnan létrehozott könyvnél (és talán gyermeklapnál is, bár ezt nem próbáltam ki most) jelentkezik ez a hiba.

0
0
sgabe képe

ha a fejlesztők kötelezően kitöltendőnek jelölték meg a törzs mezőt és te egy szóközt írsz oda az nem megfelelő használatnak minősül, az így felmerült "hiba" ugye nem a fejlesztők felelőssége, ugyanis te hibáztál az űrlap kitöltésekor

maximum annyit lehet a számlájukra írni, hogy a validálásnál nem ellenőrzik elég körültekintően a bevitt adatot, hogy a csak szóközzel beküldött tartalmakat is visszadobja hibaüzenettel a rendszer

0
0
Kimmuriel képe

A szóköz nem megfelelő használatnak minősül? De miért? Az is egy karakter! Még csak nem is ASCII kódtábla szerinti vezérlőkarakter, mint a kocsi vissza vagy a soremelés! Sima mezei írásjel!

Másrészt pedig mért van az, hogy már létező könyv törzsének átszerkesztésekor meg nem okoz galibát a space? Ebben az esetben már nem minősül „nem rendeltetésszerű használat”-nak? Vagy akkor hogy is van ez?
Persze lehet trükközni, hogy nem space-t, hanem egy üres div kezdő- és zárótagot pötyögök be, de a sima mezei user, aki életében nem hallott még HTML kódokról és tartalmakat tölt fel, az első nekifutásra egy szóközzel próbálja meg kijátszani a kötelező törzs mezőt.

Az igazi baj egyébként nem is az, hogy ettől a könyvlap nem fog működni, hanem hogy utána már egyáltalán nem lehet működő könyvet készíteni, hiába töltöd ki a törzs mezőt, hibás lesz az is.

0
0