Page 1 of 14

CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 1:39 pm
by cmb
Hallo zusammen!

Wir haben gerade CMSimple_XH 1.7.0 freigegeben, das das erste GA Release des 1.7 Zweigs ist. Und, wenn ich so sagen darf, das beste CMSimple(_XH) aller Zeiten.

Dank an alle die zu dieser neuen Version mit Ideen, Kommentaren, Vorschlägen und Code beigetragen haben. Besonderer Dank an frase, lck und richukunst, die die neuen Templates für die Distribution zur Verfügung gestellt haben. Ebenfalls vielen Dank an frase und wbs für das Erstellen bzw. Übersetzen des neuen Distro-Contents. Ganz besonderer Dank and Holger, der die Idee für das neue Seiten-Splitten hatte, und der die grundlegende Arbeit daran durchgeführt hat, und an manu, der die TinyMCE 4 Editor-Integration übernommen hat. Zu guter Letzt vielen Dank and frase, lck und knollsen für jede Menge Testen von frühen Entwicklungsständen, und für das Unterbreiten einer riesigen Menge wertvoller Verbesserungsvorschläge.

Das volle Changelog kann auf unserer Github-Projektseite eingesehen werden. Ebenfalls ist das CMSimple_XH 1.7.0rc1 Changelog und das CMSimple_XH 1.7.0beta1 Changelog verfügbar.

Die beachtenswertesten Änderungen für Anwender
  1. Wir haben endlich die Unterstützung für sehr alte PHP-Versionen eingestellt. Es wird nun mindestens PHP 5.3.0 benötigt. Es wird allerdings empfohlen zumindest PHP 5.6 zu verwenden.
  2. Das klassische CMSimple Seitensplitting wurde überarbeitet. Zuvor wurden Seiten an bestimmten HTML-Überschriften gesplittet (standardmäßig <h1>-<h3>). Nun werden die Seiten statt dessen an bestimmten HTML-Kommentaren gesplittet. Dies ermöglicht es beliebige Überschriften auf jeder Seite einzufügen, was es wiederum ermöglicht eine saubere Überschriftenstruktur zu erzeugen. Ebenfalls sind nun bis zu 9 Menü-Ebenen möglich (zumindest theoretisch; die Seiten-URLs werden bei so vielen Menü-Ebenen vermutlich zu lang). Weiterhin ist es im normalen Modus nicht mehr möglich die Seitenamen im Editor zu ändern; statt dessen muss ein Seitenverwaltungstool verwendet werden. Fortgeschrittene Nutzer können aber den Advanced-Mode aktivieren, was bewirkt, dass die HTML-Splitkommentare in der Quellcodeansicht des Editors bearbeitet werden können. Beachtet, dass der Seitenname nun eigentlich nichts mehr mit der ersten Überschrift auf der Seite zu tun hat, was die Alternative Seitenüberschrift (Tab "Seite") unnötig macht, so dass sie entfernt wurde.
  3. TinyMCE 3 wurde als Standardeditor von TinyMCE 4 abgelöst.
  4. Das Ändern des Passworts wurde aus dem allgemeinen Konfigurationsformular in ein eigenes Formular Einstellungen → Passwort) verschoben, da es Probleme mit nicht standardkonformer Autovervollständigung einiger Browser gibt.
  5. Die Sichtbarkeit und der Veröffentlichungsstatus von Seiten, die im Reiter "Seite" eingestellt sind, vererbt sich nun auf alle Unterseiten.
  6. Mehrere bereits missbilligte Funktionen wurden nach cmsimple/compat.php verschoben. Wenn Ihr sicher seid, dass Ihr diese Funktionen nicht braucht, dann könnt Ihr in cmsimple/config.php $cf[site][compat] einen leeren String zuweisen.
  7. Spezielle Unterstützung für das Menumanager Plugin wurde entfernt, so dass selbst wenn Ihr eine modifizierte Version dieses Plugins verwendet, es nicht mehr ordnungsgemäß funktionieren wird.
  8. Die automatisch erzeugte Seite "Legal Notices" wurde entfernt.
  9. Es gibt nun eine automatisch erzeugte Seite Site/CMS Info, die Informationen über das System, die Templates und die Plugins inklusive Backlinks anzeigt. Ihr könnt zusätzliche Informationen zu dieser Seite mittles einer Newsseite hinzufügen. Details findet Ihr im ausgelieferten Demo-Content.
  10. Die Seiten-URLs wurden leicht vereinfacht indem nun mehrere aufeinander folgende word separator zu einem zusammen gefasst werden. Beispielsweise hatte eine Seite namens "dies - das" zuvor die URL dies---das, aber nun dies-das.
  11. Die Sprachcodes von Schwedisch und Griechisch wurde korrigiert; diese sind nun sv bzw. el.
  12. Die Flaggen-Icons wurden vergrößert.
  13. Das Password-Hashen wurde verbessert, so dass nun BCrypt anstelle des alten, weniger sicheren Algorithmus verwendet wird.
  14. Die Zugänglichkeit der Adminmenu-Funktionalitäten auf Touchscreen Geräten wurde verbessert.
  15. Eine Prüfung bezüglich der Passwortstärke wurde hinzugefügt. Diese verwendet derzeit einen sehr einfachen Algorithmus, wobei Stärken über 100 sehr starke Passwörter bedeuten sollten.
  16. Die Systemprüfung wurde überarbeitet, um die Bedeutung der einzelnen Prüfungen deutlicher zu machen.
  17. Der Order core/ wurde zu assets/ umbenannt.
  18. Verschiedene Datums-/Zeit-Angaben sind nun internationalisiert, wenn die PHP intl Extension verfügbar ist.
  19. Das Markup einiger Elemente wurde verbessert (searchbox, lastupdate).
  20. Der Veröffentlichungszeitraum im Reiter "Seite" verfügt nun über Datums/Zeit-Picker, falls der Browser diese unterstützt.
  21. Das Loginformular ist nun vom Template losgelöst.
  22. Das Fa_XH Plugin wurde zur Standard-Distribution hinzugefügt. Es ermöglicht Font Awesome Icons im Content zu verwenden.
  23. Die page_params Funktionalität betreffend des Versteckens und Unveröffentlichens von Seiten wurde in den Core verschoben.
  24. Die relevante Funktionalität des Utf8 Plugins wurde in den Core verschoben, und das Plugin entfernt.
  25. core.css und plugins.css werden nun in xhstyles.css zusammen gefasst.
  26. Konfigurations- und Sprachdateien werden nun nur bei Bedarf geladen, was die Server seitige Performance etwas verbessern könnte.
Die beachtenswertesten Änderungen für Templatedesigner
  1. Die besondere Unterstützung von XHTML wurde entfernt bzw. missbilligt. Es wird unbedingt empfohlen den HTML5 Doctype für neue Templates zu verwenden.
  2. Aufgrund des neuen Seitensplitting (siehe oben) besteht nicht mehr die Notwendigkeit <h1>-<h3> identisch zu gestalten. Statt dessen kann davon ausgegangen werden, dass alle Seiten mit <h1> beginnen (oder vielleicht mit <h2>, falls das Template bereits eine <h1> Überschrift für alle Seiten verwendet). Es dürfte das beste sein, zu dokumentieren ob ein Template für das neue Seitensplitting optimiert ist, und die jeweiligen Details zu beschreiben.
  3. Es wird empfohlen, dass Templates eine Datei templateinfo.htm direkt im Template-Ordner enthalten, die Information über das Template und einen Backlink zum Designer enthalten kann. Das Format ist vereinfachtes HTML (nur <a> und <br> Elemente sind erlaubt), kodiert als UTF-8; die maximal unterstützte Länge sind 400 UTF-8 Glyphen. Die Information in dieser Datei wird in die neue Site/CMS Info Seite (siehe oben) injiziert. Überlegt Euch die Backlinks zum Templatedesigner zu entfernen (oder Anwendern dies zu erlauben), und statt diesen die neue poweredByLink() Funktion zu verwenden.
  4. Ein Template kann nun einen eigenen Satz von Sprach-Flaggen-Icons ausliefern; diese können einfach in den flags/ Unterordner des Templates gelegt werden. Fehlende Icons werden aus dem Standardordner (userfiles/images/flags/) geholt.
  5. Die Funktion submenu() akzeptiert nun einen optionalen Parameter, der benutzerdefiniertes Markup für die Submenü-Überschrift erlaubt.
  6. Die Funktion legallink(), die von CMSimple_XH 1.5.8 an missbilligt war, wurde entfernt.
  7. Die Funktion editmenu() wurde missbilligt. Sie machte seit XH 1.5 sowieso nichts mehr, so dass es Zeit wird sie aus Templates zu entfernen.
  8. Die Funktion tag() wurde missbilligt. Es wird empfohlen statt dessen einfach valides HTML5 zu verwenden.
  9. Die Funktion top() akzeptiert nun einen optionalen Parameter, der genutzt werden kann um zu einer anderen ID als #TOP zu verlinken.
  10. .plugintext, .pluginedit und .plugineditcaption wurden vom Core und den Standard-Plugins entfernt. Während diese alten Pluginloader-Klassen immer noch von einigen Plugins verwenden werden könnten, könnt Ir sie vermutlich in neuen Templates ignorieren.
  11. Das Template-Stylesheet wird nun als letztes Stylesheet verlinkt, so dass es leichter ist von Plugins definierte Regeln zu überschreiben.
  12. Das Fa_XH Plugin wurde zur Standard-Distribution hinzugefügt. Es ist der empfohlene Weg um Font Awesome im Template zu verwenden.
Die beachtenswertesten Änderungen für Pluginentwickler:
  1. Während in früheren Versionen Flags im Query-String (d.h. Parameternamen ohne Gleichheitszeichen und Wert) automatisch als globale Variablen mit dem Wert 'true' registriert wurden, ist dies aus Sicherheits- und Wartbarkeitsgründen nicht länger der Fall. Dieses "Feature" wurde üblicherweise verwendet, um zu Prüfen ob die Administration eines bestimmten Plugins angefordert wurde (if ($pagemanager) …). Das funktioniert nun nicht mehr. Verwendet statt dessen XH_wantsPluginAdministration().
  2. CMSimple_XH verwendet nun standardmäßig benannte Sessions, so dass mehrere Installationen in der selben Domain ihren eigenen Satz von Sessions haben. Will ein Plugin eine Session starten, so sollte es nicht mehr session_start() aufrufen, sondern statt dessen XH_startSession(). Das funktioniert allerdings nicht, wenn das Plugin direkt PHP-Dateien anfordert, also ohne durch CMSimple_XH's index.php zu laufen. Es wird grundsätzlich empfohlen, dies zu vermeiden. Ist das nicht möglich, dann kann der Sessionname aus der Datei cmsimple/.sessionname gelesen, und session_name() mit diesem Namen aufgerufen werden bevor session_start() aufgerufen wird.
  3. Der Konfigurationstyp "password" wurde entfernt.
  4. Erweiterte Konfigurationsoptionen wurden eingeführt. Diese werden mit einem führenden Pluszeichen in metaconfig.php gekennzeichnet, und sind hinter einem "mehr" Schalter in den Konfigurationsformularen versteckt.
  5. $cf[xhtml][endtags] wurde entfernt, und tag() missbilligt. Es wird empfohlen statt dessen einfach valides HTML5 zu erzeugen.
  6. initvar() wurde missbilligt. Beachtet, dass es nicht nötig ist initvar('action') oder initvar('admin') aufzurufen, weil dies bereits vom Core getan wird. Für alle anderen Verwendungen von initvar(): erwägt keine globalen Variable zu verwenden.
  7. Die JSON-Klasse, die einen Fallback für alte PHP-Versionen ohne JSON-Support bot, wurde entfernt. XH_decodeJson() und XH_encodeJson() sind immer noch verfügbar, aber sind nun nur noch dünne Wrapper über json_decode() und json_encode(). Erwägt, die json_*() Funktionen direkt zu verwenden.
  8. Die PasswordHash Klasse wurde entfernt. Verwendet statt dessen die Password-Hashing-Funktionen bzw. random_bytes(). Für ältere PHP-Versionen gibt es Fallbacks in cmsimple/password.php.
  9. Die Funktionen h() und l(), die dünne Wrapper über $h bzw. $l sind, wurden missbilligt. Erwägt statt dessen XH\Pages zu verwenden.
  10. plugin_admin_common() erwartet nun keine Argumente mehr, da diese auch früher nie verwendet wurden. Ihr könnt auch weiterhin $action, $admin und $plugin an die Funktion übergeben, da PHP überschüssige Argumente stillschweigend ignoriert, und sich dies in der nahen Zukunft vermutlich nicht ändern wird (falls überhaupt jemals).
  11. Die globale Variable $rq wurde entfernt.
  12. Die "Editorhooks" des Standard-Filebrowsers wurden in die jeweiligen Editorplugins verschoben, so dass Ihr keine Dateien mehr im Filebrowserplugin überschreiben müsst. Aus Gründen der Abwärtskompatibilität wird auf den alten Ort zurückgegriffen, falls am neuen Ort kein Hook gefunden wird.
  13. CMSimple_XH hat einen allgemeinen Klassen-Autoloader bekommen. Um diesen zu verwenden, müsst Ihr die passend in Namensräumen definierten Klassen in den classes/ Ordner des Plugins legen. Verschachtelte Namensräume werden ebenfalls unterstützt. Es wird empfohlen, sich aus Gründen der Einfachheit und Effizienz auf das Klassen-Autoloading zu verlassen anstatt PHP-Dateien manuell zu require'n.
  14. XH_afterFinalCleanUp() wurde hinzugefügt, das es Plugins ermöglicht eine Funktion zu registrieren, die kurz vor dem Ende des Requests aufgerufen wird, so dass das vollständige HTML manipuliert werden kann.
  15. $pd_router->add_tab() akzeptiert nun einen optionalen dritten Parameter, der es ermöglicht eine CSS-Klasse anzugeben, die für den Page-Data-Tab gesetzt wird, so dass individuelle Tab-Labels leicht gestylt werden können.
  16. Die Klasse XH\Mail wurde aus dem Mailform-Code extrahiert, so dass Plugins deren Funktionalität wieder verwenden können.
  17. XH_formatDate() ist nun internationalisiert, falls ext/intl verfügbar ist. Erwägt es für menschenlesbare Formatierung von Datums-/Zeitangaben zu verwenden.
  18. $pd_router->model ist nun private; verwendet statt dessen die Methoden von $pd_router, um zum Model weiterzuleiten.
  19. Überschriften, die von Plugins ausgegeben werden, sollten an das neue Setensplitting angepasst werden. Beispielsweise sollte zusätzlicher Inhalt auf einer Seite nicht mehr <h4> verwenden, sonder eher <h2>. Erwägt die tatsächliche Überschriftenebene konfigurierbar zu machen.
  20. Plugins, die direkt mit den Inhalten von Seiten arbeiten, müssen ggf. an das neue Seitensplitting angepasst werden.
  21. Das Fa_XH Plugin wurde zur Standard-Distribution hinzugefügt. Es ist der empfohlene Weg um Font Awesome Icons in Plugins zu verwenden. Erwägt Font Awesome anstatt klassicher Icon-Bilder aus Gründen der Konsistenz und besserem Aussehen auf Retina-Geräten zu verwenden.
  22. GET Anfragen mit `selected` werden nun zur gewünschten Seite weiter geleitet.
  23. Die Entwicklerdokumentation wird nun mit Doxygen statt PhpDocumentor 1 erzeugt.
Die beachtenswertesten Änderungen für Core-Entwickler:
  1. Die PEAR Coding-Standards wurden von den PSR-2 Coding-Standards abgelöst. Die Einhaltung kann mit `phing sniff` überprüft werden.
  2. PHP MessDetector wurde zu den Entwicklungstools hinzugefügt, und ist mittels `phing mess` aufrufbar.
Wichtige Hinweise
  1. Diese Version enthält ein paar abwärtsinkompatible Änderungen (BC breaks). Eine Liste von bekannten Inkompatibilitäten wird auf einer entsprechenden Wiki-Seite geplegt.
  2. Aktuelle Versionen von jQueryUI sind möglicherweise nicht vollständig kompatibel mit jQuery 3, siehe https://github.com/TN03/jQuery_XH/issues/1. Es könnte das beste sein, jQueryUI nicht für neue Entwicklungen zu verwenden.
Upgrade-Anleitung

Um das Upgrade eurer Website auf CMSimple_XH 1.7.0 durchzuführen, geht wie folgt vor:
  1. Macht ein Backup eurer bestehenden Site, und ladet es auf euren Rechner herunter.
  2. verwendet Exchange_XH um die content.htm Dateien als content.xml zu exportieren (detaillierte Anweisungen finden sich im Handbuch von Exchange_XH); ladet die content.xml Dateien auf euren Rechner herunter
  3. installiert CMSimple_XH 1.7.0 auf eurem Webspace; um unnötige Dateien loszuwerden, erwägt die alte Installation vollständig zu löschen bevor ihr CMSimple_XH 1.7.0 installiert (ihr habt schließlich ein Backup, gell?)
  4. verwendet Exchange_XH um die content.xml Dateien in content.htm Dateien zu importieren (detaillierte Anweisungen finden sich im Handbuch von Exchange_XH)
  5. ladet das Backup des content/ Ordner in die neue Installation hoch (alles außer den content.htm Dateien)
  6. ladet das Backup der Zweitsprachen-Ordner in die neue Installation hoch
  7. ladet das Backup des Ordners templates/ (oder nur einzelne Templateordner) in die neue Installation hoch
  8. ladet das Backup zusätzlicher Plugins in die neue Installation hoch
  9. ladet das Backup aller Bilder, Downloads und Mediadateien in die neue Installation hoch
  10. rekonfiguriert Einstellungen->Konfiguration und Einstellungen->Sprache manuell
  11. entfernt die Seitenüberschrift (höchste Ebene) aller News-Seiten (siehe User Änderungen #2)
Leider fehlt noch vieles an Dokumentation bezüglich der neuen Features und Änderungen. Wenn Ihr also Fragen zu bestimmten Themen habt, fragt einfach nach, damit wir die Priorität auf die am meisten vermisste Dokumentation legen können.

Download

https://github.com/cmsimple-xh/cmsimple ... -1.7.0.zip

Viel Spaß!

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 1:51 pm
by Gerriet
Hallo zusammen ;D

Hört sich gut an, werde ich heute abend mal durchtesten ;D

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 2:15 pm
by frase
1.7.0-updatecheck.png

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 2:31 pm
by cmb
Mann, bist du schnell! Beim Pagemanager hatte ich vergessen, die serverseitige version.nfo zu aktualisieren. Die version.nfo von CMSimple_XH habe ich gerade aktualisiert (wollte erst noch das 1.6 EOL ankündigen). Beides sollte nun passen.

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 2:33 pm
by frase
Mit großer Freude gebe ich hiermit kund und zu wissen:
ALLES IN ORDNUNG - KLAPPT!
Danke.

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 5:09 pm
by Gerriet
Hallo ;D

Ich hab mir die GitHub Version runtergeladen, die scheint noch uptodate zu sein oder ist das absicht ?
Bildschirmfoto_2017-07-02_19-06-23.png
Aber vielleicht bin ich auch nur einer der wenigen, die die Version von Github runter laden ;D

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 5:11 pm
by Der Zwerch
Moin moin zusammen,
ich wollte kurz fragen, ob dieses Plugin: "Calendar plugin version 1.2.10 " mit 1.7.0 kompatibel ist?
IMHO gab es da Probleme, oder nicht?

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 5:46 pm
by cmb
Gerriet wrote:Ich hab mir die GitHub Version runtergeladen, die scheint noch uptodate zu sein oder ist das absicht ?
Welche Version von Github? Die Datei sollte CMSimple_XH-1.7.0.zip heißen.
Der Zwerch wrote:ich wollte kurz fragen, ob dieses Plugin: "Calendar plugin version 1.2.10 " mit 1.7.0 kompatibel ist?
Ich glaube nicht. Ich arbeite daran, aber es kann etwas dauern.

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 5:57 pm
by Tata
Wie ist es mit submenu? Nachdem ich die content.htm von v1.6.10 Exchange/Iportiert habe und unter v1.7.0 platyiert, sehe ich kein Submenu, obwol im template.htm gerufen.
Zum Vergleich (versucht mal Realblog Link zu öffnen):
http://cmsimple.sk
http://cmsimplexh170.cmsimple.sk

Re: CMSimple_XH 1.7.0

Posted: Sun Jul 02, 2017 6:14 pm
by Gerriet
Nein, da hast mich missverstanden, ich hab die Version von Github geclont ;D Das meinte ich mit runtergeladen ;D