Die ZMS CommentBox wird per Template unter dem Content-Strom platziert; per Meta-Attribut lässt sich definieren, welche Authentisierungs-Status erforderlich ist, um Kommentare zu erstellen. Der Nutzer kann einen Nicknamen, seinen Kommentar-Text und optional eine Bewertung zur Dokument-Qualität (1-5) abgeben

 

Man sieht sie leider viel zu oft: die meterlangen Kommentar-Listen am Ende eines Web-Dokuments. Der Seitenaufbau wird deutlich verlangsamt und das Herunter-Scrollen lohnt sich zumeist kaum. "User Generated Content" war nur eines jener fragwürdigen Behauptungen aus der "Web2.0"-Zeit. Dabei musste selbst das prominenteste Beispiel dieser Gattung (wikipedia) akzeptieren, dass redaktionelle Qualitätskontrolle stets den Vorrang vor inhaltlicher Quantität haben muss.
Dokument-Kommentierungen in (wissenschaftlichen) Fach-Communities können allerdings durchaus einen wertvollen Beitrag zur Qualitätskontrolle liefern, sofern sie die redaktionelle Arbeit effizient unterstützen. Die ZMS CommentBox setzt genau hier an: der Redakteur bekommt ein Instrument an die Hand, mit dem er Dokument-Kommentierungen global auswerten kann und damit eine übersichtliche Entscheidungshilfe für ggf. erforderliche Überarbeitungen zur Vefügung hat.
Denn Kommentare sind schließlich nur als sinnvoller Beitrag zu werten - und damit für den Leser interessant - wenn sie das Augenmerk auf wichtige Aspekte des Hauptdokumentes lenken und zu Korrekturen bzw. Erweiterungen des Bestandstextes anregen.
Damit dies geschehen kann, ist eine sehr einfach zu bedienende redaktionelle Relevanz-Bewertung der Kommentare implementiert. Das für ZMS CommentBox empfohlene Arbeitsablauf sieht eine sporadische Revision der Kommentare durch den Redakteur vor: mit einem ("wichtig" = 1 Punkt) oder zwei Klick ("sehr wichtig" = 2 Punkte) kann man sich jeden Kommentar für die ausstehende Überarbeitung vormerken. Am Ende bekommt die Redaktion eine sortierte Auswertung über alle Dokumente der Website auf Grundlage der summierten Punkte relevanter Kommentare. Somit ist immer sofort klar, wo tatsächlich redaktioneller Überarbeitungsbedarf besteht..
Sind entsprechende Kommentare dann obsolet geworden oder sind sie ohnehin irrelevant, lassen sie sich - ebenso einfach das Vormerken - mit einem Klick löschen.

In der ZMS-Redaktions-Maske (ZMI) lässt sich eine Liste der vordringlich zu bearbeitenden Dokumente darstellen.

Der ZMS-Redakteuer kann per Klick auf das Bewertungs-Icon den "redakionellen Wert" eines Kommentars in zwei Stufen deklarieren: ein Klick für die rote Stufe-1 (verwertbarer Inhalt) und ein zweiter Klick für die violette Stufe-2 (dringliche redaktionelle Dokument-Korrektur erforderlich). Mit dem dritten Klick landet der "redakionellen Wert" wieder auf der orangenen Ausgangsstufe 0 .

 

Durch Doppelklick auf den Kommentar-Text kann der ZMS-Reakteur einen Kommentar unkompliziert löschen.

 

Die Kommentare werden in einer SQL-Datenbank archiviert (hier MySQL); das Modell ist flach und besteht nur aus einer einzigen Tabelle.

 
# /* SQL-Script zur Erzeugung der Kommentar-Datenbank */ #

CREATE DATABASE `zmscomments` /*!40100 DEFAULT CHARACTER SET utf8 */;
DROP TABLE IF EXISTS `zmscomments`.`content`;
CREATE TABLE  `zmscomments`.`content` (
  `idcomment` int(10) unsigned NOT NULL auto_increment,
  `zmsclient` varchar(64) NOT NULL COMMENT 'Client-ID',
  `zmsobject` varchar(45) NOT NULL COMMENT 'Object-ID',
  `zmsurl` varchar(128) default NULL COMMENT 'Object-URL',
  `cdate` timestamp NOT NULL default CURRENT_TIMESTAMP COMMENT 'Insert-Datum/Zeit',
  `uname` varchar(64) default NULL COMMENT 'Username',
  `nname` varchar(64) default NULL COMMENT 'Nickname',
  `ctext` text COMMENT 'Kommentar-Text',
  `evaluation` enum('1','2','3','4','5') default NULL COMMENT 'Nutzerbewertung',
  `editorialvalue` enum('1','2') default NULL COMMENT 'Redaktioneller Verwertbarkeit, Bewertung durch Editor',
  PRIMARY KEY  (`idcomment`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Die Library com.zms.commentbox ist ein Content-Package, alle Methoden für die Datenbank- und die Ajax-basierte Client-Server-Kommunkation enthält. Nur die Datenbank-Connection muss individuell im Zope-Baum "über" dem entsprechenden ZMS-Mandanten angelegt werden; der ID-Wert des DB-Connection-Objekes muss auf "zmscomments" gesetzt werden, da die im Package enthaltenen ZSQL-Methoden diese Objekt-ID erwarten.

Neben der Haupt-Bibliothek com.zms.commentbox sind zwei weitere Plugins erforderlich: com.zms.langdict sowie com.zms.simplecaptcha für den Einsatz eines grafischen Captchas

System-Konfiguration

Voraussetzungen

  • Zope 2.9.4+
  • SQL-Datenbank (z.B. MySQL 4.0+)
  • Python-DB-Connection (z.B. pyton-MySQL)
  • Zope-SQL-Product (z.B. ZMySQLDA 2.0.8+))
  • ZMS 2.12.1#1045+

Einrichtung

  1. SQL-Anwendung: Anlegen der Datenbank/Tabelle (SQL-Script oben)
  2. SQL-Anwendung: User für den Zope-Zugriff (von localhost) anlegen
  3. Zope: Neu-Anlegen eines Zope-SQL-Connection-Objektes im oder über dem ZMS-Root-Folder
  4. ZMS: Import der ZMS-CommentBox-Libraries com.zms.commentbox, com.zms.simplecaptcha, com.zms.langdict (Import-Datei unten)
  5. ZMS: Konfiguration eines Meta-Attributes attr_commentbox mit fünf Vorgabewerten: Read-Only, Read-Write Public, Read Public,. Write Authenticated. Read-Write Authenticated (Import-Datei unten)
  6. ZMS: Import der Sprach-Dictionary-Werte (Import-Datei unten)
  7. ZMS: Einsetzen des Template-Aufrufes von pageelement_Commentbox das Standard-Template pageregionAfter-Template (betrifft den Bereich unmittelbar unter dem Inhalt-Strom)
  8. ZMS: Einsetzen der jquery-Script-Calls für jquery-Basisbibliothek und Plugin-Loading
zmscommentbox_allLibs.metaobj.xml
Die Konfigurationsdatei enthält alle drei Code-Libraries, Stand 03.06.2010
commentbox.metadict.xml
Importierbare XML-Konfigurationsdatei für die Einrichtung des Meta-Attributes attr_commentbox
zmscomment.langdict.xml
Sprach-Konfiguration Deutsch/Englisch für das ZMS CommentBox-GUI
# JavaSccript-Calls per headScript oder standard_html_header-Template #

<script type="text/javascript" charset="UTF-8" src="<dtml-var MISC_ZMS><dtml-var "getConfProperty('jquery.version','jquery-1.3.2.min.js')">"></script>
<script type="text/javascript" charset="UTF-8" src="<dtml-var "getConfProperty('jquery.plugin.version','/++resource++zms_/jquery/plugin/jquery.plugin.js')">?ts=<dtml-var ZopeTime>"></script>
<script type="text/javascript">
<!--
$(function(){
	$.plugin('zms',{
		files: ['/++resource++zms_/jquery/jquery.cookies.2.1.0.min.js',
			'/++resource++zms_/jquery/jquery.dimensions.1.2.0.min.js']
		});
	$.plugin('zms').get('body',function(){});
});
-->
</script>

Erstellt von: Dr. F. Hoffmann , SNTL Publishing , erstellt am:  03.06.2010 , zuletzt geändert: 17.11.2010