CMSimple_XH 1.7.0rc1

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

CMSimple_XH 1.7.0rc1

Post by cmb » Tue May 30, 2017 10:50 am

Hallo zusammen!

Wir haben gerade CMSimple_XH 1.7.0rc1 freigegeben. Da dies ein Beta-Release ist, möchten wir Euch ermutigen es zu testen und Euer Feedback abzugeben (Fehler, Wünsche, Kritik, Fragen, und was immer Ihr dazu zu sagen habt), aber verwendet es nicht in einer Produktionsumgebung, (d.h. verwendet es nicht für Eure Website)!

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.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 separtor 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. Dieser 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 umbedingt 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 Anwender 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->addTab() 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.
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

Wenn Ihr CMSimple_XH 1.7 mit Euren Inhalten, Template(s) und Plugins testen möchtet, dann macht folgendes:
  1. installiert CMSimple_XH 1.7.0rc1 in einer Testumgebung (auf Eurem lokalen Rechner, oder in einem Unterordner Eures Webspace; in letzterem Fall wird empfohlen aus Sicherheitsgründen den öffentlichen Zugriff auf diese Installation zu unterbinden)
  2. verwendet Exchange_XH um die content.htm Dateien in das neue Format zu konvertieren (detaillierte Anweisungen finden sich im Handbuch von Exchange_XH)
  3. kopiert den content/ Ordner in die Testumgebung
  4. kopiert die Zweitsprachen-Ordner in die Testumgebung
  5. kopiert den Ordner templates/ (oder nur einzelne Templateordner) in die Testumgebung
  6. kopiert zusätzliche Plugins in die Testumgebung
  7. kopiert alle Bilder, Downloads und Mediadateien in die Testumgebung
  8. rekonfiguriert Einstellung->Konfiguration und Einstellungen->Sprach manuell
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

CMSimple_XH 1.7.0rc1

Viel Spaß!
Last edited by cmb on Tue Jun 06, 2017 5:53 pm, edited 1 time in total.
Reason: Credit knollsen
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by frase » Tue May 30, 2017 11:24 am

Mannomann,
da gibt es wieder viel zu testen.

Danke Christoph, Holger und allen anderen!

---

CMSimple_XH umbenennen in CMSimple_CH.
C steht für Christoph und H steht für Holger.

(Das ist ein Spaß, ein Witz, nicht ernst gemeint - schreibe ich sicherheitshalber dazu. Nicht, dass es ernsthafte Diskussionen dazu gibt.
:lol:
Aber verdient hätten es die Beiden.)

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by lck » Tue May 30, 2017 11:42 am

cmb wrote:Wir haben gerade CMSimple_XH 1.7.0rc1 freigegeben.
Respekt, gute Arbeit! Danke an alle Beteiligten.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by frase » Tue May 30, 2017 12:14 pm

Ich weiß nicht, ob ich da irgendwas verpasst habe - aber, ich bin begeistert über einen Punkt, den ich soeben entdeckte:
Klickt man im Adminmenü auf Plugins, erscheint eine Plugin-Liste mit allen Unterpunkten.
Großartig!
Früher gab es da immer eine leere Seite zu sehen.

Auch wenn das nun nicht gerade "Welt-umwerfend" ist, so zeigt es doch, dass wir auf einem ziemlich guten Weg sind - oder?

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by cmb » Tue May 30, 2017 12:22 pm

frase wrote:Klickt man im Adminmenü auf Plugins, erscheint eine Plugin-Liste mit allen Unterpunkten.
Großartig!
Das habe ich bei den Anwender relevanten Änderungen als Punkt 14 gelistet: "Die Zugänglichkeit der Adminmenu-Funktionalitäten auf Touchscreen Geräten wurde verbessert." Darum geht es nämlich im wesentlichen, weil man auf Touchscreens sonst nur schwer (wenn überhaupt) das Adminmenü vollständig nutzen kann – und per Tastatur ging einiges definitiv nicht.
frase wrote:Auch wenn das nun nicht gerade "Welt-umwerfend" ist, so zeigt es doch, dass wir auf einem ziemlich guten Weg sind - oder?
Ich würde sagen, der Weg ist gut, aber wir hängen halt doch hinterher – immerhin wurde dieses Problem schon vor über zwei Jahren aufs Tapet gebracht.
Christoph M. Becker – Plugins for CMSimple_XH

Tata
Posts: 3586
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by Tata » Tue May 30, 2017 4:12 pm

Ich habe mit Übersetzungen begonnen. Ich vermisse den Translator. Es funkzioniert nicht mit der neuen Version (die 1beta7). Ist eine kompatible Version im Sicht?
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by cmb » Tue May 30, 2017 4:33 pm

Tata wrote:Ich habe mit Übersetzungen begonnen.
Super!
Tata wrote:Ich vermisse den Translator. Es funkzioniert nicht mit der neuen Version (die 1beta7). Ist eine kompatible Version im Sicht?
Translator_XH hat für mich sehr geringe Priorität. Allerdings reicht es vielleicht schon, wenn Du diese Zeile durch folgende ersetzt:

Code: Select all

if (XH_wantsPluginAdministration('translator')) {
Christoph M. Becker – Plugins for CMSimple_XH

Tata
Posts: 3586
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by Tata » Tue May 30, 2017 5:20 pm

Wie ist es mit PHP Datei Endings? Wurde es nicht darüber diskutiert, dass sie weggelassen werden? Ich habe es offt erlebt, dass es ein Fehler war, weill meistens in langDateien oder in config Dateien noch leere Zeilen am Ende geblieben wurden.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

Tata
Posts: 3586
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by Tata » Tue May 30, 2017 6:31 pm

Der Font unterstútzt nich die EE Buchstaben. Keine Ursache, nur um zu wissen.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: CMSimple_XH 1.7.0rc1

Post by cmb » Tue May 30, 2017 8:58 pm

Tata wrote:Wie ist es mit PHP Datei Endings? Wurde es nicht darüber diskutiert, dass sie weggelassen werden? Ich habe es offt erlebt, dass es ein Fehler war, weill meistens in langDateien oder in config Dateien noch leere Zeilen am Ende geblieben wurden.
Bei den eigentlichen PHP-Skripten sollten die schließenden ?> entfernt worden sein; allerdings nicht bei Konfigurations- und Sprachdateien. Ich finde das sollten wir noch nachholen. Danke für die Erinnerung!
Tata wrote:Der Font unterstútzt nich die EE Buchstaben.
Ich weiß nicht, was Du mit "EE Buchstaben" meinst, aber grundsätzlich ist es so, dass wohl keine Schriftart alle Unicode-Zeichen umfasst. Im Zweifel müssen Anwender eben eine Font wählen, die die von ihnen benötigten Zeichen auch unterstützt.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply