gnuheidix / api.piratenpartei-bw.de

Ein API, um auf freie Inhalte der Piratenpartei Deutschland zugreifen zu können.
http://api.piratenpartei-bw.de/
8 stars 2 forks source link

Inhalte werden abgeschnitten #21

Open gnuheidix opened 12 years ago

gnuheidix commented 12 years ago

Es scheint so, dass bei langen Seiten irgendwann Inhalte abgeschnitten werden.

http://api.piratenpartei-bw.de/wiki/getpagehtml/BW:Stuttgart/Mitgliederversammlung_02/Antr%C3%A4ge

gnuheidix commented 12 years ago

Auf meiner Entwicklermaschine konnte ich dieses Verhalten nicht reproduzieren. Die Seite wird komplett gecacht und ausgeliefert.

KnairdA commented 12 years ago

Habe es auch auf meiner lokalen Installation getestet und kann den Fehler ebenfalls nicht reproduzieren. Es scheint also wirklich ein Problem auf dem LV-Server zu sein.

gnuheidix commented 11 years ago

Der Bug scheint nicht mehr im Produktionssystem aufzutreten.

http://api.piratenpartei-bw.de/wiki/getpagehtml/BW:Landesparteitag_2012.1/2012-03-03_-_Protokoll_Parteitag_Landesverband_Baden-W%C3%BCrttemberg

auch gut :-)

gnuheidix commented 11 years ago

Korrektur: Der Bug tritt noch auf. Der Cold-Cache-Ladevorgang vom Wiki verläuft so, dass der komplette Inhalt ausgeliefert wird. Sobald der Inhalt gecacht ist, wird er nur noch abgeschnitten ausgeliefert.

gnuheidix commented 11 years ago

Das Problem kommt vom MySQL-Datentyp text. Dieser fasst nur bis zu 64KB. Ist die Seite größer, wird der Rest abgeschnitten. Das Ausführen folgender DB-Abfrage ändert den Datentyp und die Geschichte funktioniert.

alter table wiki_pages modify column content mediumtext;

Aktuell habe ich keine Ahnung, wie ich das dem Schema app/Config/Schema/wiki_pages.php klar machen soll.

Das Problem ist bekannt. https://cakephp.lighthouseapp.com/projects/42648/tickets/2311-seoquark

gnuheidix commented 11 years ago

Ich sehe hier zwei Möglichkeiten.

@KnairdA Was meinst Du, welchen Weg wir nehmen sollen?

Ich persönlich finde es krass, dass wir die ersten sind, die versuchen, mehr als 64KB in die DB zu schreiben und dabei das Framework von vorn bis hinten verwenden wollen.