Scrivito 0.90.0

Verbesserungen

Ein neues API für Definition und Auswahl von Editoren

Das JavaScript-API bietet nun eine neue, prägnantere Möglichkeit, Editoren für die In-place-Bearbeitung zu definieren:

Um festzustellen, ob ein Editor in der Lage ist, ein bestimmtes Element zu bearbeiten, ruft das User-Interface can_edit auf. Wenn der Aufruf einen wahren Wert zurück gibt, wird der Editor über activate aktiviert. 

Zusätzlich gibt es ein neues API, mit der Editoren für bestimmte Felder spezifziert werden können: 

Wenn der select_editor-Aufruf den Editor auf use setzt, überprüft das User-Interface, ob dieser Editor existiert. Ist dies der Fall, ruft es die can_edit-Methode auf (siehe oben). Dadurch wird bestimmt, ob der Editor in der Lage ist, das Feld zu bearbeiten. In diesem Fall aktiviert das UI den Editor durch den Aufruf der activate Methode.

Mit der disable-Methode kann man die Bearbeitung eines Feldes komplett verhindern. Dies geschieht unabhängig von allen nachfolgenden Aufrufen von use.

Eine detaillierte Dokumentation zu diesem Thema finden Sie im Artikel Using and Defining Editors auf scrivito.com.

Ein Helper für alle Attributtypen

Der scrivito_tag-Helper rendert jetzt Attribute, für die vorher dedizierte Helper benötigt wurden. Aus diesem Grund wurden diese dedizierten Helper entfernt, nämlich scrivito_edit_enum, scrivito_edit_multienum, scrivito_edit_reference, scrivito_edit_referencelist, scrivito_edit_link, und scrivito_edit_linklist. Wenn Sie auf diese SDK-Version upgraden, sollten Aufrufe dieser Helper durch Aufrufe des scrivito_tag-Helpers ersetzt werden.

Die Helper wurden entfernt, da die entsprechenden Editoren nicht mehr über sie angesprochen werden müssen. Stattdessen werden die Editoren nun voreingestellt für die betreffenden Attributtypen aktiviert. 

Diese Helper wurden bisher auch zum Rendern der Attributtypen in der Vorschau benötigt. 

 scrivito_tag bietet diese Funktionalität derzeit noch nicht und erzeugt auch kein Markup wie die abgeschafften Helper es erstellt haben. In den meisten Applikationen wurden diese Helper jedoch nicht in den Views der Vorschau genutzt. Müssen die Helper in bestimmten Anwendungen weiterhin genutzt werden, können sie einfach in der App definiert werden:

Destruktive Änderungen

Wenn über den scrivito_tag-Helper ein nicht existierendes Attribut gerendert werden soll, gibt Scrivito nun einen Fehler zurück.



Das Namensschema der Data-Attribute, die von Scrivitos In-place-Editoren erkannt werden, wurde vereinheitlicht:

Die Editoren, die von Scrivito bereitgestellt werden, können über mehrere HTML-Attribute konfiguriert werden. Diese Attribute wurden in der Vergangenheit nicht konsistent benannt. Ab diesem Release werden alle Data-Attribute, die von Scrivito erkannt werden, mit einem  data-scrivito-editors- Präfix versehen.

Veraltet Umbenannt in
data-autosave data-scrivito-editors-autosave
data-date-format data-scrivito-editors-date-format
data-filter-context data-scrivito-editors-filter-context
data-filters data-scrivito-editors-filters
data-max data-scrivito-editors-max
data-min data-scrivito-editors-min
data-newlines data-scrivito-editors-multiline*
data-placeholder data-scrivito-editors-placeholder
data-reload data-scrivito-editors-reload
data-step data-scrivito-editors-step
data-time-format data-scrivito-editors-time-format
data-values nicht verwendet

*

Bei dieser Gelegenheit wurde auch data-newlines (nun veraltet) zu data-scrivito-editors-multiline umbenannt. In der Scrivito-Dokumentation finden Sie eine Liste aller verfügbaren Data-Attribute.

In diesem Zuge haben wir auch die Namen der Scrivito-Editoren begradigt. Der WYSIWYG-Editor Redactor kann nun mit der Option editor: 'redactor' des scrivito_tag-Helpers zur Verfügung gestellt werden. Der voreingestellte editor: 'html' kann aber weiterhin genutzt werden. Verwenden Sie html, um den primären WYSIWYG-HTML-Editor von Scrivito zu aktivieren. In einem der kommenden Releases wird der Medium Editor den Redactor als primären Editor ablösen.

Wenn Sie scrivito.editors.html_editor.redactor.options in Ihrem JavaScript verwendet haben, aktualisieren dieses bitte zu scrivito.editors.redactor_editor.options.


Aufgrund des schwerfälligen und fehlerträchtigen Verhaltens können leere Stings nicht mehr als Werte von enum oder multienum-Attributen gesetzt werden.

Weitere Verbesserungen und Änderungen

Wir haben einen alternativen HTML Editor zu der Sammlung der Scrivito Editoren hinzugefügt. Der MediumEditor kann den Redakteuren für noch besseres WYSIWYG zur Verfügung gestellt werden.

Fügen Sie einfach den medium Editor zum  scrivito_tag hinzu:

Es gibt nun eine published?-Methode für Arbeitskopien. Mit dieser Methode kann man feststellen, ob eine Arbeitskopie die veröffentlichte ist oder nicht. Darüber hinaus wurde die published-Klassenmethode eingeführt: mit ihr kann die Arbeitskopie, die den veröffentlichten Inhalt repräsentiert, ermittelt werden. Mit dem folgenden Code werden beispielsweise alle Arbeitskopien, die bearbeitet werden können, ermittelt: