[gelöst] Kein Editor und keine Artikelvorschau

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Herogarma
Beiträge: 15
Registriert: Mi 6. Jan 2010, 03:14
Wohnort: Krefeld
Kontaktdaten:

[gelöst] Kein Editor und keine Artikelvorschau

Beitrag von Herogarma » Sa 17. Aug 2013, 23:09

Ich habe 4.9 genau nach Vorgabe auf einem lokalen LAMP installiert.
System --> Systemintegrität zeigt mir nur grüne OK-zeichen.
Das Frontend funktioniert tadellos.
Im Backend wird der Frame leer, wenn ich auf einen Artikel Klicke, Editor-Aufruf und Vorschau-Aufruf zeigen ebenfalls nur einen leeren Frame.

##################################################################
Im Errorlog folgende Meldung für den Editoraufruf:

[17-Aug-2013 21:55:49 UTC] PHP Fatal error: Uncaught exception 'cInvalidArgumentException' with message 'Empty user id' in /srv/www/htdocs/VERZEICHNIS/contenido/classes/contenido/class.user.property.php:86
Stack trace:
#0 /srv/www/htdocs/VERZEICHNIS/contenido/classes/contenido/class.user.property.php(68): cApiUserPropertyCollection->setUserId(NULL)
#1 /srv/www/htdocs/VERZEICHNIS/contenido/classes/contenido/class.user.php(989): cApiUserPropertyCollection->__construct(NULL)
#2 /srv/www/htdocs/VERZEICHNIS/contenido/classes/class.effective.setting.php(104): cApiUser->getUserProperty('generator', 'basehref', true)
#3 /srv/www/htdocs/VERZEICHNIS/contenido/includes/functions.general.php(740): cEffectiveSetting::get('generator', 'basehref', 'true')
#4 /srv/www/htdocs/VERZEICHNIS/contenido/includes/frontend/include.front_content.php(558): getEffectiveSetting('generator', 'basehref', 'true')
#5 /srv/www/htdocs/VERZEICHNIS/contenido/external/backendedit/front_content.php(36): include('/srv/www/htdocs...')
#6 {main}
thrown in /srv/www/htdocs/VERZEICHNIS/contenido/classes/contenido/class.user.property.php on line 8

##################################################################
Konfiguration:
CONTENIDO Version 4.9.0
Webserver-Version Apache/2.2.22 (Linux/SUSE)
Installierte PHP-Version 5.3.15
Datenbankserver-Version 5.5.32
PHP-Datenbankerweiterung mysqli

PHP-Einstellungen
date.timezone Europe/Berlin
include_path .:/usr/share/php5:/usr/share/php5/PEAR
memory_limit 128M
upload_max_filesize 8M
post_max_size 38M
max_execution_time 120
max_file_uploads 20
max_input_time 60
sql.safe_mode Deaktiviert
disable_classes nichts deaktiviert
disable_functions nichts deaktiviert
Geladene Erweiterungen:
Core, PDO, Reflection, SPL, SQLite, SimpleXML, apache2handler, bcmath, bz2, calendar, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, json, libxml, mbstring, mcrypt, mhash, mysql, mysqli, mysqlnd, openssl, pcre, pdo_mysql, pdo_sqlite, session, soap, sqlite3, standard, tidy, tokenizer, xml, xmlreader, xmlwriter, zip, zlib
##################################################################

An welcher Stelle kann ich nach der Ursache suchen?

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von xmurrix » So 18. Aug 2013, 10:56

Hallo Herogarma,

prüfe doch mal bitte, was genau in cEffectiveSetting::get() passiert (siehe contenido/classes/class.effective.setting.php) passiert.

Wenn der aktuelle Benutzer authentifiziert ist, wird versucht, die Konfiguration ($type = 'generator', $name = 'basehref') des Benutzers auszulesen.

Das passiert in Zeile 103 und ff:

Code: Alles auswählen

        if (self::_isAuthenticated() && isset($contenido)) {
            $value = self::_getUserInstance()->getUserProperty($type, $name, true);
        }
Anscheinend liefert der Aufruf von self::_isAuthenticated() die uid des authentifizierten Benutzers zurück, voraufhin versucht wird, die Konfiguration des Benutzers auszulesen.

In der Funktion cEffectiveSetting::_getUserInstance() wird die Instanz des Benutzerobjektes mit folgender Zeile erstellt:

Code: Alles auswählen

            self::$_user = new cApiUser($auth->auth['uid']);
Dabei sollte der Wert in $auth->auth['uid'] eine ID erhalten, zur der es auch einen Datensatz in der Tabelle con_user gibt.

Du kannst auch die Werte in $auth->auth debuggen, um zu sehen, was da genau drin steht. z. B. mit:

Code: Alles auswählen

echo "<pre>" . print_r($auth->auth, true) . "</pre>";
Folgende globale Variablen werden dabei verwendet:
- $auth: Eine Instanz der cAuth Klasse (siehe contenido/classes/auth/class.auth.php)
- $contenido: Die Backend-Sessionid

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Herogarma
Beiträge: 15
Registriert: Mi 6. Jan 2010, 03:14
Wohnort: Krefeld
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von Herogarma » So 18. Aug 2013, 13:06

Danke für die ausführliche Antwort. Ich fange an, mich durch das System zu hangeln.
Als Zwischenstand habe ich festgestellt, dass die $auth->auth['uid'] wohl falsch geliefert wird, denn normal sieht sie so aus:
Array
(
[uid] => 48a365b4ce1e322a55ae9017f3daf0c0
[perm] => sysadmin
[exp] => 1376830598
[uname] => sysadmin
)
Bei den Editor-Aufrufen, die fehlschlagen:
Array
(
[uid] => nobody
[perm] =>
[exp] => 2147483647
[uname] => nobody
)
Wo er das herkriegt, bleibt jetzt herauszufinden.
Der Wert wird übrigends nicht dauerhaft geändert. Wenn ich nach erfolglosem Editoraufruf z.B. auf Eigenschaften gehe, dann sind die korrekten Daten wieder in Verwendung.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von xmurrix » So 18. Aug 2013, 13:46

Hallo Herogarma,

bei der Liste mit dem Wert [uid] => nobody handelt es sich um einn Auth-Objekt für einen unauthentifizierten Benutzer.

Eigentlich eigentlich sollte die Prüfung "self::_isAuthenticated()" in contenido/classes/class.effective.setting.php den Wert false zurückliefern, was wohl nicht passiert.

Das muss man mal sich genauer ansehen...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Herogarma
Beiträge: 15
Registriert: Mi 6. Jan 2010, 03:14
Wohnort: Krefeld
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von Herogarma » So 18. Aug 2013, 15:25

Auszeit hierfür:
Ich wollte eine Testinstallation bei 1&1 machen und habe festgestellt, dass die PHP-Version nicht reicht.
Jetzt werde ich die anstehenden 2 Websites erstmal mit 4.8.18 installieren und in Ruhe weiterschauen, wo der Hase im Pfeffer liegt.
Ich habe meine lokale LAMP-Installation im Verdacht.

Nachtrag
Nachdem via htaccess die passende PHP-Version vorlag, lief die Installation von 4.9 auf dem Webspace bei 1&1 problemlos durch. Backend und Frontend ok.

AndiB
Beiträge: 1
Registriert: Di 29. Okt 2013, 13:20
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von AndiB » Di 29. Okt 2013, 13:38

Ich habe das selbe Problem und wäre für eine Lösung sehr dankbar. Habe bei zwei Projekten versucht, von 4.8.18 auf 4.9.2 upzudaten. Klappt alles, nur sind weder im Frontend noch im Backend (hier: Editor + Vorschau) die Content-Elemente zu sehen. Lediglich der Layout-Rahmen ist sichtbar. Seltsamerweise ist der Content aber da, wenn man auf den neuen Reiter Rohdaten klickt.

Installierte Versionen
CONTENIDO Version 4.9.2
Webserver-Version Apache
Installierte PHP-Version 5.3.27
Datenbankserver-Version 5.0.51a-24+lenny5
PHP-Datenbankerweiterung mysqli

PHP-Einstellungen
date.timezone Europe/Berlin
include_path .:/usr/local/lib/php/
memory_limit 50M
upload_max_filesize 50M
post_max_size 50M
max_execution_time 300
max_file_uploads 20
max_input_time -1
sql.safe_mode Deaktiviert
disable_classes nichts deaktiviert
disable_functions nichts deaktiviert
Geladene Erweiterungen:
Core, PDO, Phar, Reflection, SPL, SQLite, SimpleXML, bcmath, bz2, calendar, cgi-fcgi, ctype, curl, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, htscanner, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mhash, mssql, mysql, mysqli, openssl, pcntl, pcre, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, posix, session, shmop, soap, sockets, sqlite3, standard, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib

Im errorlog wurden in der /contenido/includes/functions.general.php die drei Dateien
/contenido/classes/class.frontend.permissions.php
/contenido/classes/class.frontend.groups.php
/contenido/classes/class.frontend.users.php
vermisst. Die gibt es doch in 4.9.x gar nicht mehr? Habe sie aus 4.8.18 hochgeladen, aber das führt zu einem Folgefehler:
PHP Fatal error: Class 'DB_Contenido' not found in /.../contenido/includes/frontend/include.front_content.php(633) : eval()'d code on line 169

Was kann ich tun?
Grüße + Danke!

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von salsa » Di 12. Nov 2013, 00:53

Ich habe das gleiche Problem: kein Editor - keine Vorschau! Nichts im Errorlog dazu.

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: Kein Editor und keine Artikelvorschau

Beitrag von dominik.ziegler » Di 12. Nov 2013, 16:57

Habe sie aus 4.8.18 hochgeladen, aber das führt zu einem Folgefehler:
PHP Fatal error: Class 'DB_Contenido' not found in /.../contenido/includes/frontend/include.front_content.php(633) : eval()'d code on line 169
Dateien der Version 4.8 sind mit 4.9 nicht kompatibel. Wahrscheinlich nutzt ein Modul oder ein Plugin eine veraltete Funktionalität, die in dieser Version nicht mehr zur Verfügung steht und bricht deswegen ab.
Viele Grüße
Dominik

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von salsa » Mi 13. Nov 2013, 01:14

dominik.ziegler_4fb hat geschrieben:
Wahrscheinlich nutzt ein Modul oder ein Plugin eine veraltete Funktionalität, die in dieser Version nicht mehr zur Verfügung steht und bricht deswegen ab.
Wie soll man denn raus finden, welches Modul der "Übeltäter" ist? Etwa in der DB die Templates nach einander löschen?

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: Kein Editor und keine Artikelvorschau

Beitrag von dominik.ziegler » Mi 13. Nov 2013, 11:01

Bei einem Upgrade von 4.8 werden zahlreiche Module die Übeltäter sein. Eine Upgrade-Anweisung für Entwickler gibt es unter der folgenden Adresse:
:arrow: https://docs.contenido.org/display/COND ... .8+and+4.9
Viele Grüße
Dominik

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von salsa » Sa 16. Nov 2013, 23:35

dominik.ziegler_4fb hat geschrieben:Bei einem Upgrade von 4.8 werden zahlreiche Module die Übeltäter sein. Eine Upgrade-Anweisung für Entwickler gibt es unter der folgenden Adresse:
:arrow: https://docs.contenido.org/display/COND ... .8+and+4.9
Immerhin eine Antwort - Danke. Aber ich bin kein Experte (obwohl ich hier früher auch einiges voran gebracht habe). Enthält der Beispielmandant von 4.8.18 vielleicht auch "Übeltäter"? Was nützen mir die vielen Warnhinweise in der Anleitung? Ich hätte gerne eine brauchbare Anleitung, Schritt für Schritt für das Upgrade vom Beispiel 4.8.18 nach 4.9.2; denn die Zwischenstationen sind ja nicht mehr erreichbar und waren ja auch nicht "final".

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: Kein Editor und keine Artikelvorschau

Beitrag von dominik.ziegler » So 17. Nov 2013, 00:56

Die Module des Beispielmandanten sind mit der Version 4.9 nicht kompatibel und müssen ebenfalls portiert werden, wenn sie im eigenen Mandanten eingesetzt werden.
Viele Grüße
Dominik

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von salsa » So 17. Nov 2013, 16:05

dominik.ziegler_4fb hat geschrieben:Die Module des Beispielmandanten sind mit der Version 4.9 nicht kompatibel und müssen ebenfalls portiert werden, wenn sie im eigenen Mandanten eingesetzt werden.
In der Aktualisierungsanleitung steht "Ärger während der Aktualisierung? Sollten sie Probleme mit der Aktualisierung haben kann ihnen die Community im Support-Forum unter forum.contenido.org bei der Beantwortung ihrer Fragen helfen."
Dass da etwas nicht kompatibel ist, ist mir klar. Für Layout und Module gibt es ja auch die Möglichkeit der Synchronisation - das funktioniert. Aber was ist denn überhaupt kompatibel? Was ist portabel - und wie? Ich kann die Inhalte übertragen; nur werden sie nicht angezeigt. Und auch kein neuer Artikel wird nach dem "Upgrade" gezeigt; d.h. ich bekomme den Editor nicht ans Laufen. Ich frage auch nicht zu einem "eigenen" Mandanten sondern nach der Übertragung des Beispielmandanten von 4.8.18 nach V 4.9.2. Das muss doch irgendwie gehen, sonst wäre die Aktualisierungsanleitung doch eine Farce. Was muss ich konkret tun?

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Kein Editor und keine Artikelvorschau

Beitrag von homtata » So 17. Nov 2013, 17:46

Hallo salsa,

nein, das geht so tatsächlich nicht, und dennoch ist das Uprade keine "Farce".
Das Upgrade bringt Contenido auf die neueste Version, und die alten Inhalte an sich bleiben ja auch erhalten, das ist erstmal das Wichtigste. Die Seite muss inhaltlich ja nicht neu aufgebaut werden.
Dennoch hat sich im Core (nach Jahren, und ich sag auch mal "endlich") bei diesem Versionssprung erheblich viel getan, so dass Klassen- und Funktionsaufrufe in den Modulen angepasst werden müssen. Gelegentlich ist es ratsamer, komplette Module auszutauschen (inbesondere bei den Navigationen) und entweder die HTML-Ausgabe von Smarty anzupassen oder das CSS anzupassen.
Dieser Schritt ist jetzt einfach mal nötig.
Weil in so gut wie keinem alten Modul die Aufrufe mehr auf die neue Version passen (vor allem x= new Template() ), muss man sich ein wenig mit den Änderungen beschäftigen, wenn es um das Upgrade einer alten Version auf die CON 4.9 geht. Da kommt man einfach nicht drumrum. Wenn ich ein Haus entkerne, alle Wände verschiebe und die Türen neu einsetze, kann ich auch nicht durchs neue Haus gehen und sagen "Aber hier MUSS mein Wohnzimmer sein, es war schon immer da" ;-)

Am besten nach dem Upgrade das Layout komplett verschlanken bis auf die einfachsten DIV-Container, dann immer wieder den erzeugten Quellcode anschauen, wo die Code-Erstellung abbricht. Das entsprechende Modul so lange nachbearbeiten, bis es grundsätzlich angezeigt wird und nicht mehr klemmt. Nächstes Modul ins Layout und weiter gehts.

Und wenns NUR um den Beispielmandanten geht: Alte Version deinstallieren und gleich 4.9 drauf.
Die "Sychronisation" meint NICHT die Synchronisation von 4.8 auf 4.9 oder sowas, sondern eine interne Sychnronisation zwischen Serverdateien und Datenbank.

Ob Funktions- und Klassenaufrufe veraltet sind, steht unter
https://docs.contenido.org/display/COND ... .8+and+4.9

Und dann gibts zur Hilfe noch den CodeAnalysator:
http://www.contenido.org/de/cms/Downloa ... 973-3.html

LG

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: Kein Editor und keine Artikelvorschau

Beitrag von dominik.ziegler » So 17. Nov 2013, 17:47

Wie ich bereits geschrieben habe, sind die Module des Beispielmandanten der Version 4.8 nicht mit dem Core von der Version 4.9 kompatibel. Die bisherigen Inhalte werden beim Update zwar übernommen, aber es ist nicht möglich, die alten Module weiter zu nutzen, da sie Fehlermeldungen werfen werden.
Aus diesem Grund sind auch die Artikel im Frontend und im Backend-Editor nicht sichtbar - der Code, auf dem die 4.8er Module basieren, existiert nicht mehr und kann deshalb nicht ausgeführt werden.

Edit: homtata hat das etwas ausführlicher dargelegt. ;)
Viele Grüße
Dominik

Antworten