Scribite

Guite edited this page Nov 15, 2014 · 7 revisions

scribite! ([skRi:bi:te:] lateinisch: Schreibe!) ist ein Modul, mit dem verschiedene WYSIWYG-Editoren in Zikula integriert werden können. Derzeit sind dies:

Dieser Artkel ist veraltet und muss auf Scribite 5.0 aktualisiert werden; insbesondere der CKEditor findet keine Erwähnung.

Diese Editoren werden dann je nach Konfiguration in den Text-Areas anderer Module angezeigt. scribite! ermöglicht es, für verschiedene Formulare unterschiedliche Editoren zu benutzen. So kann man im öffentlichen Bereich - zum Beispiel in den Kommentaren - einen sehr abgespeckten Editor anbieten und den internen Redakteuren den vollen Funktionsumfang anbieten.

Administratoren-Dokumentation

Unter docs/ liegen die Dokumentationen. Die Dokumentation ist für Administratoren einer Internetseite bestimmt. Modulautoren können in der Developer-Dokumentation nachlesen, wie scribite! direkt von Modulen integriert/aufgerufen werden kann.

Installation

  • Alle Dateien müssen in den Ordner modules/scribite hochgeladen werden.
  • Die gewünschten Editoren müssen sich in den Ordner javascript/scribite_editors hochgeladen werden.
  • In der Moduladministration die Module neu generieren, das neu angezeigte Modul scribite! Initialisieren und danach aktivieren.
  • In der scribite!-Administration die gewünschten Einstellungen vornehmen.
  • Einige Module laufen nicht standardmäßig mit scribite! und bedürfen kleinerer Anpassungen. Die erforderlichen Dateien liegen unter pndocs/ext_modules bereit und müssen in den jeweiligen Modulordner kopiert werden (Backup der alten Dateien anlegen!)
  • Leeren der Cache-Ordner sowie der kompilierten Templates.
  • Fertig.

Update

Seit Version 1.2 liegen die Editordateien/Javaskripte im Unterordner /javascript/scribite_editors und nicht mehr in /modules/scribite/pnincludes. Im Administrationsmenü wird eine Warnung angezeigt, da die Popups aufgrund einer .htaccess-Einschränkung für den modules-Ordner nicht mehr laufen.

Kompatibilität

Scribite! fügt in folgenden Modulen den Textarea-Feldern WYSIWYG-Funktionalitäten hinzu:

  • About, Admin_Messages, Blocks, Book, Content, ContentExpress, cotype, crpCalendar, Dizkus, element, eventia, Eventliner, FAQ, htmlpages, InterCom, Mailer, News, PagEd, Pages, pagesetter, PhotoGallery, pncommerce, pnForum, pnhelp. pnMessages, pnWebLog, Profile, PostCalendar, Reviews, ShoppingCart, tFAQ und TimeIt

Neue Module hinzufügen

Falls sich das gewünschte Modul nicht in der Liste findet, kann es zu scribite! hinzugefügt werden. Dafür werden folgende Informationen benötigt:

  • Modulname (nicht Aliasname, sondern Verzeichnisname im modules-Ordner) Modulfunktionen, unter denen scribite! aktiviert wird
  • Falls es sich um ein altes Modul ohne func-Parameter handelt oder alle Modulfunktionen benutzt werden sollen, kann der Parameter "all" benutzt werden. Textarea-ID's, die vom Editor umgewandelt werden sollen
  • Sofern alle Textarea-Bereich umgewandelt werden sollen, kann der Parameter "all" benutzt werden.

Modul bearbeiten

Sofern sich Modulfunktionen ändern oder geändert wurden, können über den Editieren-Schalter die Modulfunktionen und die Textarea-ID's des betroffenen Moduls bearbeitet werden. Hier gelten die gleichen Grundsätze wie bei "Neue Module hinzufügen" ("all"-Parameter). Für PagEd kann der Parameter "PagEd" im ID's-Feld benutzt werden, damit nicht alle Felder umgewandelt werden.

Module löschen

Hier kann ein Modul komplett aus der scribite!-Verwaltung gelöscht werden.

Templates

Das Standardtemplate ist scribite_EDITOR_editorheader.htm und bietet die meisten Optionen. Für Modifikationen sollte diese Datei in den Ordner /themes/YOURTHEME/templates/modules/scribite/ kopiert und dort bearbeitet werden. Wenn eine Datei scribite_EDITOR_MODULENAME.htm existiert, wird diese anstelle des Standardtemplates benutzt. So kann für verschiedene Module eine unterschiedliche Editorkonfiguration erstellt werden. Modulautoren haben zusätzlich die Möglichkeit, scribite! direkt über die API in ihren Modulen aufzurufen (siehe Extradokumentation), wobei ein spezielles Template als Parameter angegeben werden kann.

Editoren

Scribite! enthält verschiedene Editoren

Xinha

Die Konfiguration des Editors kann in der Datei pntemplates/scribite_xinha_editorheader.htm vorgenommen werden. (Siehe auch Punkt Templates) Die Datei pnconfig/xinha/editor.css kann angepasst werden, um das Aussehen des Editors an das Theme anzupassen (zur Zeit wohl nur unter IE lauffähig). Anpassungen der reduzierten und Mini-Menüleiste können in den Dateien scribite_xinha_toolbar_reduced.htm, bzw. scribite_xinha_toolbar_mini.htm vorgenommen werden. Für weitere Informationen sei die Lektüre des Xinha-Wiki unter http://xinha.webfactional.com/ empfohlen. Die Pluginbeschreibungen können unter http://xinha.webfactional.com/wiki/Plugins eingesehen werden. Empfohlen ist auf jeden Fall die Aktivierung des GetHtml-Plugins.

Das Plugin "ExtendedFileManager" ist leider zur Zeit noch nicht über die Administration konfigurierbar.

Bei Bedarf muss die Datei /javascript/scribite_editors/xinha/plugins/ExtendedFileManager/config.inc.php angepasst werden. Bsp.:

       ...
       $IMConfig['images_dir'] = $_SERVER['DOCUMENT_ROOT'].'images/xinha';
       ...
       $IMConfig['images_url'] = $_SERVER['SITE_ROOT'].'images/xinha';
       ...

TinyMCE

Die Konfiguration des Editors kann in der Datei pntemplates/scribite_tinymce_editorheader.htm vorgenommen werden. (Siehe auch Punkt Templates) Für weitere Informationen sei die Lektüre des TinyMCE-Wiki unter http://tinymce.moxiecode.com/ empfohlen.

Die Pluginbeschreibungen können unter http://wiki.moxiecode.com/index.php/ TinyMCE:Plugins eingesehen werden. Falls TinyMCPUK genutzt werden soll, sollten folgende Punkte überprüft werden (danke an Erik Spaan für die Umsetzung):

  • Einen Unterordner zum Hochladen der Bilder erstellen (Standard: /images/tinymcpuk)
  • In diesem Ordner Unterordner für die verschiedenen Dateitypen erstellen (Image, Media, File und Flash).
  • CHMOD 777 auf alle oben genannten Ordner anwenden.
  • Falls ein anderer Ordner als der oben genannte images/tinymcpuk zum Hochladen benutzt werden soll, müssen folgende Dateien auf den neuen Pfad angepasst werden:
  • /javascript/scribite_editors/tiny_mce/imagemanager/config.inc.php:
     $IMConfig['base_dir'] = $_SERVER['DOCUMENT_ROOT'] . '/images/tinymcpuk/Image';
     $IMConfig['base_url'] = 'http://' . $_SERVER['SERVER_NAME'] .
     '/images/tinymcpuk/Image';
  • /javascript/scribite_editors/tiny_mce/filemanager/connectors/php/config.php
     $fckphp_config['UserFilesPath'] = "/images/tinymcpuk" ;

FCKeditor

Die Konfiguration des Editors kann in der Datei pntemplates/scribite_fckeditor_editorheader.htm vorgenommen werden. (Siehe auch Punkt Templates) Für weitere Informationen sei die Lektüre des FCKeditor-Wiki unter http://www.fckeditor.net/ empfohlen.

OpenWYSIWYG

Die Konfiguration des Editors kann in der Datei pntemplates/scribite_openwysiwyg_editorheader.htm vorgenommen werden. (Siehe auch Punkt Templates) Für weitere Informationen sei die Lektüre des OpenWYSIWYG-Dokumentation unter http://www.openwebware.com/products/openwysiwyg/docs/ empfohlen.

Der integrierte Imagemanager (nur im vollen Modus) benutzt den Ordner /images, damit allgemeine Bilder der Zikula-Installation genutzt werden können.

  • Falls ein Hochladen ermöglicht werden soll müssen folgende Punkte durchgeführt werden:
  • Erstellen eines Ordners images/openwysiwyg und Anwenden von CHMOD 777 auf diesen Ordner
  • Anpassen der Datei (nur, wenn ein anderer Ordner als images/ openwysiwyg benutzt werden soll)
     /javascript/scribite_editors/openwysiwyg/addons/imagelibrary/config.inc.php
     $imagebasedir = '../../../../../images/openwysiwyg';
     $imagebaseurl = 'images/openwysiwyg';

NicEdit

Die Konfiguration des Editors kann in der Datei pntemplates/scribite_nicedit_editorheader.htm vorgenommen werden. (Siehe auch Punkt Templates) Für weitere Informationen http://www.nicedit.com/.

Praxistipps

Hier sollen Anwender ihren Platz finden, Erfahrungen und Tipps zum Umgang mit scribite! zu dokumentieren.

kaffeeringe.de

Ich habe scribite! auf verschiedenen Kundenseiten im Einsatz und verwende dabei ausschließlich Xinha, weil es der am Besten unterstützte Editor ist. Eine Reihe Zikula-spezifischer Plugins ermöglichen das Zusammenspiel mit anderen Modulen.

Abgespecktes Menü

Normalerweise benutze ich eine extrem abgespeckte Version von Xinha: Die Benutzer sollen nicht von der Funktionsvielfalt erschlagen werden. Außerdem erschweren zu viele Gestaltungsmöglichkeiten ein konsistentes Layout der Inhalte. Meistens lasse ich den Benutzern nur diese Optionen:

  • Fettdruck
  • Nummerierte Listen
  • Nicht nummerierte Listen
  • Hyperlinks

Dazu bekommen sie per Format-Dropdown nur:

  • Zwischenüberschriften = h3
  • Zitat = Blockquote
  • Normal

Plugins

Einige Plugins sind aktiv:

  • PasteText - Texte in einem Popup in eine einfache Text-Area einfügen. So kann es nicht passieren, dass Leute den miesen HTML-Kram aus Word & Co. in die Artikel pasten.
  • SmartReplace - Dieses Plugin sorgt dafür, dass typosgrafisch korrekte Anführungszeichen gesetzt werden.
  • ExtendedFileManager - Auf kleineren Sites lohnt sich eine Mediengalerie IMHO nicht: Hier müssen die Benutzer nur eine einfache Möglichkeit haben, Bilder hochzuladen und in Artikel einzubauen. Dort benutze ich das ExtendedFileManager-Plugin.

Konfiguration

In Scribite 3.2+ ist es möglich, die Konfiguration von Xinha per Template zu überschreiben. Das hat den Vorteil, dass Du den Editor konfigurieren kannst, ohne Original-Dateien zu hacken.

  • Stell in der Scribite Konfiguration Xinha als Editor ein.
  • Stell Xinha auf "reduced"
  • Kopiere einfach modules/scribite/pntemplates/scribite_xinha_toolbar_reduced.htm in themes/DEINTHEME/templates/modules/scribite
  • Öffne die Datei.

Du siehst:

xinha_config.toolbar =
   [
      ["popupeditor","htmlmode","separator","formatblock","bold","italic","underline","forecolor","textindicator","subscript","superscript"],
      ["separator","justifyleft","justifycenter","justifyright","justifyfull","separator","insertorderedlist","insertunorderedlist"],
      ["separator","inserthorizontalrule","createlink","insertimage"],
      ["separator","undo","selectall"], (HTMLArea.is_gecko ? [] : ["separator","cut","copy","paste"]),
      ["separator","killword","clearfonts","removeformat","toggleborders","showhelp","about"]
    ];

Das sind die Aufrufe für die Icons im Menü. Du kannst die einfach einzelnd rausnehmen oder umsortieren. "separator" sind die Trennlinien zwischen den Icons.

Meine Konfiguration bei kaffeeringe.de sieht so aus:

  xinha_config.toolbar =
    [
      ["popupeditor","htmlmode","separator","formatblock","bold","italic","underline","subscript","superscript"],
      ["separator","insertorderedlist","insertunorderedlist"],
      ["separator","createlink","insertimage"],
      ["separator","undo","selectall"], (HTMLArea.is_gecko ? [] : ["separator","cut","copy","paste"]),
      ["separator","killword","clearfonts","removeformat","toggleborders","showhelp","about"]
    ];

Wie Du siehst, habe ich die Icons für Schriftfarben, Hintergrundfarben usw. rausgenommen. Dazu habe ich die Buttons für Blocksatz, rechte- und linke Anordnung rausgenommen.

Nun hat mich noch gestört, dass im Format-Dropdown alle Überschriften und noch viel mehr auswählbar waren. In einem Artikel benötigt man nur eine Ebene von Überschriften und das ist die Ebene unter der Artikelüberschrift. Dazu noch die normalen Absätze, Zitate und Quelltext. Entsprechend habe ich die Konfiguration erweitert:

  xinha_config.toolbar =
    [
      ["popupeditor","htmlmode","separator","formatblock","bold","italic","underline","subscript","superscript"],
      ["separator","insertorderedlist","insertunorderedlist"],
      ["separator","createlink","insertimage"],
      ["separator","undo","selectall"], (HTMLArea.is_gecko ? [] : ["separator","cut","copy","paste"]),
      ["separator","killword","clearfonts","removeformat","toggleborders","showhelp","about"]
    ];

  // Hier wird der Formatblock definiert:
  xinha_config.formatblock={"— Format —":"","Zwischenüberschrift":"h3","Normal":"p","Zitat":"blockquote","Quelltext":"pre"};
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.