Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Loslegen und Spaces testen ↬ Jetzt testen!
Dieter Petereit 25. Juli 2012

HalloJS: InPage-Editing als Plugin für jQuery UI

Das beste Editing auf Websites ist doch stets dasjenige, das ohne separate Textareas funktioniert. Jeder Nutzer versteht sofort und ohne Einweisung, wenn man ihm sagt, er bräuchte Texte bloß anzuklicken, um Änderungen vorzunehmen. HalloJS will in der Endausbaustufe genau das erreichen. Dabei ist es schon jetzt recht funktionsreich. Mit kommenden Plugins lässt sich der Featureumfang noch deutlich erweitern.

Anzeige

EU-Topfschlagen: Fördermittel aus Steuergeldern fließen in erstaunliche Projekte

Haben Sie sich schon manchmal gefragt, was Sie mit 6,58 Millionen Euro Fördermittel der EU machen würden? Henri Bergius vom IKS Projekt hat für sich eine Antwort gefunden. Er entwickelte ein kleines Plugin für jQuery UI, mit dessen Hilfe beliebige DOM-Elemente editierbar gemacht werden können und stellte es unter die MIT-Lizenz. Das ist bezogen auf die Förderhöhe natürlich ein bisschen überspitzt ausgedrückt, wenn auch nicht ganz unwahr.

Anzeige

Das IKS-Projekt, in dessen Rahmen HalloJS entwickelt wird, insgesamt mit der genannten Summe von der EU co-gefördert, soll semantische Technologien für gängige CMS-Systeme verfügbar machen. Wer sich jetzt fragt, worin die zwingende Notwendigkeit der Förderung derartiger Projekte liegt, hat meine volle Sympathie. Es ist allerdings nicht unüblich, der Industrie über Fundraiser indirekt Steuermittel zuzuschustern, damit Projekte bearbeitet werden, an denen die Industrie an sich ein hinreichendes Eigeninteresse haben sollte. Mit anderen Worten: Die Bankenrettung lässt grüßen, nur in kleinerem Umfang und seit Jahrzehnten etabliert…

HalloJS: Modular entwickelt und ebenso erweiterbar

Die Idee hinter HalloJS ist, ungeachtet der dahinter stehenden Finanzierung, interessant. HalloJS, entwickelt in CoffeeScript, ist ein einzelnes JavaScript, das zur Funktionsfähigkeit jQuery und jQuery UI voraussetzt. Es soll beliebige DOM-Elemente selektiv editierbar machen. Da es auf einzelne Tags losgelassen werden kann, kann der Zugriff der Nutzer ganz gut auf diejenigen Bereiche begrenzt werden, die tatsächich bearbeitet werden können dürfen. Eine Rechteverwaltung darf man natürlich nicht erwarten.

Möchte man beispielsweise alle P-Elemente einer Seite editierbar machen, so lautet der Aufruf, nachdem die erforderlichen Skripte eingebunden sind:

jQuery('p').hallo();

Der vorstehende Aufruf sorgt nur für die Editierbarkeit der entsprechenden Elemente, Formatierungsmöglichkeiten sind damit nicht gegeben. Für diese Funktionalität setzt HalloJS auf sog. Plugins, die allerdings stark fragmentiert erscheinen. So gibt es derzeit sechs verschiedene dieser Plugins:

  • halloformat bringt die Formatierungen fett, kursiv, durchgestrichen und unterstrichen
  • halloheadings bringt H1, H2 und H3
  • hallojustify erlaubt das Setzen von links- und rechtsbündigen Texten, sowie Zentrierungen
  • hallolists unterstützt UL- und OL-Elemente
  • und so weiter

Mir ist nicht klar, wieso diese im Grunde essentiellen Möglichkeiten dermaßen zerstückelt hinterlegt sind und deshalb natürlich explizit zu jedem Element hinzugefügt werden müssen. Das sieht beispielsweise so aus:

jQuery('.editable').hallo({
  plugins: {
    'halloformat': {}
  }
});

Eine ausführlichere Dokumentation lässt sich den Kommentaren innerhalb der CoffeeScript-Quelltextdatei hallo.coffee abringen.

Nicht zuletzt in Anbetracht der Finanzkraft des Projekts lohnt es sich in jedem Falle, die Entwicklung von HalloJS im Auge zu behalten.

Dieter Petereit

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren in der IT daheim. Seit Anfang des neuen Jahrtausends schreibt er für diverse Medien, hauptsächlich zu den Themenfeldern Technik und Design.

3 Kommentare

  1. Das Konzept mit dem Bearbeiten einer Seite (einfach auf den zu ändernden Text klick), gibt es schon in einer besseren Variante, gpEasy sei hier erwähnt. Aber wie du meinstest in dem Kontext zu einem CMS kann ich mir das ganz gut vorstellen, ist aber auch nix so neues oder?
    Bei Joomla weiß ich das dann dort doch auch im Frontend editieren kann, basierend auf einer anderen Sprache vielleicht.

    Wir behalten unsere Steuergelder aufjeden Fall mal im Auge :D

  2. Hm, also ehrlich gesagt weiss ich nicht, wozu ich so ein Plugin jetzt nutzen sollte. Beliebige DOM-Elemente selektiv editierbar zu machen, ist in seiner Basis-Form sehr einfach:
    $(‚element‘).attr(‚contenteditable‘, ‚true‘);
    Okay, man kann mit dem Plugin den Text auszeichnen. Schön. Aber was bringt das, wenn das Plugin keine Möglichkeit bietet, den bearbeiteten Text auch so formatiert zu speichern? (Mal ganz von den bereits angesprochenen Rechten abgesehen.) Soll ich mir da etwa extra was zu basteln? Na danke, dann kann ich mir auch gleich mein eigenes Plug schreiben…
    Also für mich ist das Teil keine Zeile wert – jedenfalls nicht zum derzeitigen Zeitpunkt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.