Wissens- und Kommunikations-Management mit Drupal
Carsten Logemann
paratio.com
e.K.
(
Präsentation verlassen
)
1 Grundlagen
Elektronische Daten-Verarbeitung (EDV)
Zahlen > Rechner (Computer), Tabellen, Formeln, Datenbanken
Texte -> Text-Verarbeitung, Copy-and-Paste, Suchen-Ersetzen
digitalisierte audio-visuelle Inhalte (Content) in "Kontainern"
Datenbanken und Content-Management-Systeme (CMS)
Webbasierte CMS, direkt auf dem Servern gepflegt
Social Media (Web 2.0), kollaborative Inhalts-Bearbeitung (Wiki)
1.1 Kontext
Sprache
: Wortspiel, Satz und Text (Zeichen, Grammatik, Thema)
Hyper-Text
: Verweise/Links mit Beschreibung (>Enzyklopädie)
Assoziative Gruppierung
: Bookmarks, Tags, Referenz-Listen (>Memex)
Meta-Informationen
: Sematisches Web (RDF - Standard des W3C)
Text-Kontrolle
: Künstliche Sprachen und Ikorbo.net
1.2 Statische Informationen
Informations-Präsentation im WWW benötigt mindestens:
Webserver (z.B. Apache)
Daten z.B. als (X)HTML/CSS-Dateien
Informationens-Veränderung auf Datei-Ebene
Vorteil: Hohe Sicherheit und Stabilität
Nachteil: Daten und Layout schwierig zu ändern
Content-Management möglich
Offline (z.B. mit GoLive und FTP)
Online mit getrenntem Redaktions-System
1.3 Dynamische Webanwendungen
Dynamik oder Bequemlichkeit auf einer Website:
Gästebuch und Foren,
Blog-Funktionen oder
ausgewachsenes CMS
Eine Webanwendung auf einem Webserver benötigt
eine Programmiersprache (z.B. PHP) - und
meistens eine Datenbank (z.B. MySQL)
Informationen sammeln, speichern und verändern
Vorteil: Informationen können schnell geändert werden
Nachteil: Das kann unerwartet anders geschehen
1.4 Zeit und Kosten im Rahmen
Prinzip: Das Rad nicht immer neu erfinden!
Zeit-Ersparnis bei Zusammenbau und Pflege mit Standard-Bauteilen
Teilweise unflexibel und langsam bei sehr speziellen Aufgaben
Web-Application-Frameworks wie z.B. Ruby on Rails (RoR), Grails usw.
Javascript-Frameworks insbesondere für AJAX: jQuery und Co
YAML: (X)HTML/CSS-Framework für das Template:
Drupal: CMS- und Social-Media-Framework mit vielen fertigen Modulen
2 Kommunikation von Menschen und Maschinen
Kommunikation: Senden und Empfangen von Informationen
Menschen gestalten Kommunikations-Situationen und Zeichen
Computer sind Maschinen zur Zeichen-Verarbeitung
2.1 Individualität und Privatheit
Ziel der Informationen (zwischen Blog und Nutzerprofil)
die
Öffentlichkeit
(das eigentliche WWW)
an
geschlossene
Empfänger-Gruppen (Freunde, Teams)
privat
(persönliche Notizen, Nachrichten und Bookmarks)
Automatische Aufzeichnung von Benutzerverhalten
Systembedingt z.B. für Login
Statistiken aller Art von Server und Webanwendung
Konzeptionelle Kontrolle z.B. für Lernerfolg in Lernumgebungen
Gefahren der EDV insbesondere von Webanwendungen
Fehlendes Bewusstsein über die Veröffentlichung von Privatem
Fehlfunktionen oder Fehlbedienung der Software geben.
Erfolgreiche Manipulation durch Unbefugte.
2.2 Soziale Organisation
Website-Weite Rollen, Rechte und Zusammen-Arbeit
Basis: Gäste, Benutzer, Administratoren (user/1 ist root)
weitere Rollen frei definierbar und Rechte zuweisbar
Wiki-Funktionen und Checkout (Bearbeitungs-Sperre)
Core-Forum mit Kommentaren oder dieses erweitern
Individuelle Beziehungen
Beziehungen definieren oder nachbilden (z.B. mit Relationships)
individuelle Node-Rechte und private Mittteilungen
Gruppen mit Organic Groups
Rollen und Rechte - Unterverteilung
eigene Inhalte und Kommunikation
versteckte und offene Gruppen
2.3 Zugänglichkeit der Maschine
Zugänglichkeit der Web-Anwendung
Ausfall-Sicherheit von Hard- und Software (Sicherheits-Updates)
Kapazitäten der Rechenleistung und Bandbreite (Kompression)
Zugänglichkeit der Inhalte (Barrierefreiheit)
für Browser aller Art und Betriebssysteme (auch für Seh-Behinderte)
für Suchmaschinen
Zugänglichkeit von Funktionen: Usability und Interface-Gestaltung
für Benutzer ("Frontend")
für Administratoren, Moderatoren usw. ("Backend")
2.4 Aktion und Reaktion
Interne Abläufe (Hook- und Form-API für PHP-Entwickler)
Benutzer-Aktion (erstellen, blockieren, einloggen, ausloggen usw.)
Node-Aktionen (erstellen, laden, vorbereiten und ausgeben)
Kontakt-Formular erzeugt E-Mail (Messaging-Modul kann mehr)
Core: Trigger und Actions (z.B. Benutzer sperren)
Core: Update status informiert Admin über Sicherheits-Updates
Workflow-Modul (Arbeits-Abläufen, Status-Änderungen)
Rules-Modul (erweiterbares Automatisierungs-Framework)
Weitere Module z.B. zum automatisierten Twittern
Taktgeber: cron.php (intern Unix, extern über HTTP)
3 Ordnen und Erweitern mit Daten-Strukturen
Text, Nummern, Links und HTML-Code eingeben (HTML-Formulare)
Editoren für WYSIWYG-HTML und andere Auszeichnungen
Bei Bedarf Mehrfach-Eingaben verhindern
Inhalts-Versionen verwalten Core und Modul "revisioning"
Upload und Verwaltung von Dateien insbesonder Medien
Core: File-Verwaltung (Public und Private)
Modul: File-Framework (Bitcache, Webdav und Antivirus)
Massenupload von Bildern
3.1 Inhalts-IDs und Node-Typen
Node-Modell in Drupal mit eindeutige IDs auch für Revisionen
Meta-Informationen: Autor, Erstellungsdatum, Revision usw.
elementare Inhalts-Unterscheidung
durch definierbare
Node-Typen
Basis-Felder in Nodes: Titel, Text
Module erzeugen spezielle (oft funktionale) Node-Typen
z.B. eCard- oder FAQ-Beitrag
Tabellarische Inhalte wie z.B. Sheetnode oder Matrix
Felder mit
Content Construction Kit
(inkl. Option-Widgets)
Unterschiedliche Text-Felder, Node- und User-Referenzen
Nummern und mit Date-API: Datum und Uhrzeit
spezielle Felder anderer Module z.B. Geo-Location oder Links
Computed Field (mit PHP Know How): Ergebnisse in Datenbank
Felder in eigenen Blöcken anzeigen oder "bearbeitbar" lassen
3.2 Schlagwörter, Lesezeichen und Inhalts-Gruppen
Schlagwörter mit Drupals Taxonomie (Tagging-System)
Hierarchische und Nicht-Hierarchische Vokabulare
Geschlossene (definierte) und offene Vokabulare (free tagging)
Websiteweite-, Guppen- und individuelle Vokabulare
Tags/Terme können mehsprachig gepflegt werden
Mehrere Vokabulare ermöglichen
Facettenklassifikation
(
4.4
)
Mit CCK besondere Link-Felder erzeugen und ein Label geben
Node-Reference (zu Inhalts-Nodes)
User-Reference ( zu Benutzern)
Individuelle Bookmarks und Tags (z.B. mit dem Flag-Modul)
Nodes gruppieren
Core-Book-Funktion und diese Erweitern z.B. mit "Outline"
mit Modulen wie "Nodequeue" , "nodeorder" oder "dataset"
3.3 Semantik und Meta-Informationen
Überschriften, Listen und andere sinnvolle HTML-Auszeichnungen
Meta-Tags (Autor, Schlüsselwörter, Beschreibung usw.) in Dokumenten/Nodes
Bild-Informationen mit Zusatz-Informationen versehen
W3C-Standard "Resource Description Framework"
formale Beschreibung von Informationen über Objekte (Ressource)
Das RDF-Modul bereitet bestehende Informationen auf.
Diverse Module stellen wiederum für RDF entsprechende Informationen bereit, wie z.B. das File-Framework.
Die Nutzung bzw. die Konfiguration erfordert vor allem Verständnis des RDF-Konzepts des Sematic Web.
3.4 Elementare Annotation
Beispiel: Ikorbo-Konzept des Autors (siehe
Diplomarbeit
)
komplette, granulare Veränderung/Erweiterung von (Hyper-)Texten
automatische Filterung funktioniert nicht, da explizite Entscheidungen vom Autor nötig sind
manuelle Eingabe und Verlinkung ist möglich, aber nicht sinnvoll.
4 Suchen, Ersetzen und Anzeigen
Daten aufbereten, präsentieren und finden
4.1 Dynamischer Inhalt
Das Filter-System von Drupal hilft Inhalte dynamisch zu verändern:
Diverse Module nutzen Filter für verschiedene Aufgaben, z.B.:
HTML bereinigen und problematische Inhalte filtern
E-Mail-Adressen maskieren (Anti-Spam)
Links zu Glossar-Inhalten und URL-Icons für externe Links anzeigen
Überschriften-Listen, Fußnoten usw. erzeugen.
Mathematische Formeln darstellen
und vieles mehr
Filter erstellen ohne Programmierung
Modul "Flexifilter"
Modul "Custom Filter"
4.2 Volltext-Suche
Core: Indexierung und Gewichtung von Inhalten für die Volltext-Suche
Sprach-Indexierung mit speziellen Stemmer-Sprach-Modulen
HTML-Indexer basierend auf semantischen Tags (H1, a, strong, etc.)
Diverse Erweiterungen auch zum Indexieren (inkl. CCK-Feldern).
Indexierung von Upload-Text-Dokumenten (z.B. mit "Search Files")
Schnelle externe Volltext-Such-Technologien können integriert werden
Nachteil: Erfordert besondere Technologie auf Server
Sphinx (SQL Phrase Index)
Apache Solr (Lucene)
demnächst mit
RDF-Integration
Solr-Dienstleistung z.B. von Acquia
Suchen/Ersetzen von Content
mit "Search and Replace Scanner"
4.3 Datenbank-Ansichten und Massen-Berarbeitung
Informationen suchen, laden, filtern, sortieren und anzeigen
Datenbank-Layer des Drupal-Cores mit SQL-Befehlen
In Modulen oder sogar im Template realisierbar.
Einfacher Weg mit dem
Views-Modul
auch für Nicht-Programmierer:
Listen unterschiedlicher mit Argumenten und Filtern
Kalender mit Informationen der Date-API
Galerien mit Image-Modulen, TAG- und CCK-Clouds
Berechnungen und Export von Listen-Ergebnissen
Einfache Änderung innerhalb von "Such-Ergebnissen"
Mit "Edit-View" einzelne Inhalte direkt in Liste bearbeiten
Gruppen-Änderungen mit "Bulk-View" und anderen Modulen
4.4 Finde-Maschine
Erweiterte Suche (Core) nach Inhaltstypen u. Taxonomie
diverse Finde-Module als Alternative, bzw. Ergänzung zur Volltext-Suche
Automatische Suche, wenn Seite nicht vorhanden (Error 404)
Suche in Books (als Node-Gruppe)
Views veränderbaren Filtern als individueller Finde-Helfer. Suche z.B. nach:
Autoren,
Inhalts-Typen
Tags
CCK-Felder
Zustände,
Datum usw.
Facetten-Suche: Volltext mit manuellen Einschränkungen
5 Meta-Vernetzung von Websites, Web-Diensten und Desktops
RSS exportieren (Core und diverse Zusatzmodule)
iCal-Feeds erzeugen (Calendar-Modul)
Feeds-Importieren und weiter verarbeiten (z.B. mit Feeds-Modul)
Single-Sign-On und User Integrations-Lösungen z.B. mit LDAP
Diverse Daten-Schnittstellen u.a. auch über Services-Modul
XML-RPC (Core)
JSON
SOAP
REST
usw.