Home   Was ist ot ?   Regeln   Mitglieder   Maintainer   Impressum   FAQ/Hilfe  

Re-Implementierung von open theory

Maintainer: Stefan Meretz, Version 2, 28.08.2006
Projekt-Typ:
Status: Archiv

Redesign von open theory

(1) In Version 1 dieses Textes habe ich eine kurze Geschichte von open theory und eine kurze Auswertung geschrieben. Anschließend skizzierte ich die Eckpunkte einer Neuentwicklung. Dazu habe ich viele hilfreiche Kommentare bekommen. In dieser Version will ich die Eckpunkte durch Anwendungsfälle erweitern. Nachfolgend zunächst noch einmal die (erweiterten) Eckpunkte, danach dann die Anwendungsfälle.

(1.1) Mail-Archiv, 21.11.2006, 09:50, Stefan Meretz: Das Mail-Archiv der Liste dev AT opentheory DOT org befindet sich hier: http://www.mail-archive.com/dev%40opentheory.org/

Seiten-Aufbau

(2) Durchgängiger dreispaltiger Aufbau mit Kopfbereich:
- Kopf: Titel, Brotkrümelpfad, Login
- links: Navigation
- Mitte: Content
- rechts: Funktionen (offen, welche das sind)

Nur noch eine Navigation links

(3) Mit diesen Punkten/Unterpunkten:
- open theory: Mission, Regeln, Mitglieder, Maintainer, FAQ, Suchen
- Meine Seite [login]
- Unterprojekt x: Unter-Unterprojekt ab, Unter-Unterprojekt cd etc.
- Unterprojekt y: Unter-Unterprojekt ef, Unter-Unterprojekt gh etc.
- Unterprojekt etc. [Anzeige von maximal drei Ebenen]
- Archiv
- Impressum [nur Startseite]

Projektseite

(4) Startseite eines Projektes
- Projektdaten (untereinander, nicht tabellarisch)
- Statistische Daten zum Projekt (Seitenaufrufe etc.)
- Mitmachen
- Lizenz
- NEU: Startseite zur Homepage machen
- NEU: Blog auf der Homepage

Mitgliedsseite

(5) Seite des Mitglieds (optional) oder Maintainers (obligatorisch), verlinkt vom Namen:
- Mitgliedsdaten (teilweise erst nach login sichtbar)
- Liste der Projekte als Mitglied und als Maintainer
- Daten für das Mitglied änderbar [login]
- Dateipool [login]
- Bilderpool [login]

Projekttext

(6) Struktur und Features:
- Metadaten wie bisher: Maintainer, Version, Datum, Typ, Status
- wie bisher Absatzlogik nummeriert
- Bearbeitungsoptionen (einstellbar vom Maintainer): Ändern, Kommentieren, Löschen, Einfügen, Archiv
- Ändern: der Absatz wird direkt editiert (Wiki-Prinzip), eine Archiv-Version wird erzeugt
- Kommentieren: Ein Kommentar wir an den Absatz gehängt (ot-Prinzip)
- Löschen: Ein Absatz wird gelöscht und eine Archiv-Version erzeugt
- Einfügen: Ein neuer Absatz wird eingefügt
- Archiv: Die Archiv-Versionen des Absatzes werden angezeigt
- NEU: Kurz-Beschreibung als (nicht löschbarer) erster Absatz
- NEU: Kommentarbäume können sowohl astweise (nicht hierarchiestufenweise wie bisher) wie auch insgesamt eingeklappt werden. Eingeklappt ist sichtbar, ob es Kommentare gibt.
- NEU: Nutzen des semantischen Netzwerkes vom CoForum
- NEU: Umstellen der Text-Auszeichnung auf CoForum-Syntax inkl. Verlinkung ins CoForum (alternativ RestructuredText und HMTL?)
- NEU: In versendeter Mail Autorin des kommentierten Absatzes nennen (bisher wird nur Autorin des Kommentars angegeben)
- NEU: Tag-On-Click - automatisches Tagging bei de.licio.us etc. per Klick auf einen Link

Oberste Startseite

(7) Die Startseite von open theory selbst
- Aufbau im Prinzip wie jetzt auch, nur Navigation links
- Allerdings: neues Layout (gilt für alle Seiten)
- Neueste Projekte auch als RSS-Feed

Weiteres

(8) Notizen aus der Liste der Wünsche
- Multi-Maintainerschaft
- Eintragung mit Double-Opt-In
- Seite mit Recent-Changes über alle Projekte
- Option: Kommentare per RSS-Feed oder/und per Mail
- Funktionsmodule: Umfragen, Bewertung
- Statistikseite mit allen Projekten
- Exportschnittstelle (ODT, PDF, RTF, ASCII)
- Überarbeiten der Aktivitätsfunktion: Die Projekte "altern" zu langsam
- Garbage-Collector: Löschen von nicht aktivierten Projekten, Archivieren von inaktiven Projekten
- Offline-Version: Möglichkeit, einen Text offline zu kommentieren und anschließend zu synchronisieren
- Referenzieren von Absätzen, Registrieren von Backlinks
- Semantischer Browser: Surfen auf der semantischen Topologie
- ot als Package inkl. Installer

(8.1) Re: Weiteres, 05.12.2006, 14:15, Benni Bärmann: Mich nervt besonders bei lebendigen Debatten - die wir uns ja wünschen - die Funktion, dass die Mail immer erst um Mitternacht verschickt wird, wenn man es nicht selber macht. Dadurch ergibt sich oft ein Abbremmsen der Diskussion auf Tagesrhythmus. Besser fände ich es, wenn das nach einer festen Zeit nach dem letzten editieren des Kommentars passieren würde (zB 2 Stunden). Es dürfte doch eher die Ausnahme sein, dass man einen Kommentar nach mehr als 2 Stunden noch mal anfasst.

Technik

(9) Software/Kodierung:
- Programmiersprache: Python statt PHP (TurboGears-Framework)
- Datenbank: MySQL bleibt, Schnittstelle aber DB-unabhängig
- MTA: Postfix bleibt
- Mailinglists: Mailman (statt eigener Perl-Schnittstelle), erstmal ohne Archiv (später evtl. optional nach restriktivem Verfahren)
- Schnittstelle zum CoForum (Austausch der semantischen Netzwerkdaten und Liste der Seiten) via JSON
- In-Place-Editing mit AJAX: Wenn eingeloggt, können Daten am Ort editiert werden
- Seitenkodierung in UTF-8

Sonstige Eckpunkte

(10) Weitere Ideen/Vorschläge hier anfügen.

(10.1) Re: Sonstige Eckpunkte, 15.01.2007, 19:16, Matthias Schulz: Wie wäre es denn, die Texte in Beziehung zueinander setzen zu können, sie in eine Struktur einzubetten. Diese Struktur müsste natürlich inhaltlich entwickelt und angepasst werden. Denn imho wird der Inhalt eines Textes erst aus seinem Verhältnis zu anderen Texten bzw. aus seiner Position innerhalb einer Gesamtstruktur richtig verständlich. So wären die Texte nicht mehr einzeln, für sich, sondern würden sich aufeinander beziehen.
Ich habe nämlich momentan das Problem, das ich nicht alles in einen Text reinschreiben möchte, sondern auf mehrere aufteile. Nur wie stelle ich am besten deren Beziehung zueinander dar?

(10.1.1) Beziehungen von Texten / Wikilinks, 17.01.2007, 15:01, Stefan Meretz: Was du möchtest, ist die Idee des Hypertextes, klassisch umgesetzt durch das Verlinken: Du erklärst einen Begriff oder eine Aussage nicht im Text, sondern verlinkst einen weiteren Text. Die entstehende Textsammlung ist nicht mehr "sequenziell", sondern "netzartig" organisiert. Für stark vernetzte Texte eignet sich ein Wiki eher als opentheory, weil es dort einfacher ist, Links/Seiten zu erzeugen. Mit dem jetzt laufenden Redesign wird opentheory "wikiähnlicher", etwa durch die geplante direkte Bearbeitbarkeit vorhandener Absätze. Die (für mich offene) Frage lautet: Sollen wir jetzt noch "Wikilinks" dazunehmen?

(10.1.1.1) Re: Beziehungen von Texten / Wikilinks, 21.01.2007, 12:52, Matthias Schulz: Naja, ich weiß nicht, ob ich das vor Augen habe. Ich möchte ja nicht, dass die Struktur automatisch, quasi hinterrücks sich bildet. Deshalb sind mir die Wikis auch häufig zu wildwüchsig. Sondern die Gesamtstruktur muß selbst Gegenstand sein und separat entwickelt werden.

(10.1.1.1.1) Re: Beziehungen von Texten / Wikilinks, 21.01.2007, 15:44, Stefan Meretz: Das stört mich an Standard-Wikis auch (einige Wikis haben Ansätze zu Strukturierung). Bei ot könnte es ja anders laufen, zum Beispiel so: Ein Wort (oder mehrere) werden als potenzielle Referenz gekennzeichnet, etwa mit eckigen Klammern. Solange es keine entsprechende Seite gibt, erscheint wikiüblich ein Fragezeichen. Klickt man das Fragezeichen gelangt man zum Neuanlegen eines Projekts mit voreingestelltem ot-Namen. Erst wenn das Projekt angelegt, der Ort in der Projekte-Hierarchie festgelegt (default: direkt unterhalb des gg. Projektes), der Text eingegeben/hochgeladen und das Projekt insgesamt freigegeben wurde, erscheint der komplette Link.

(10.1.1.2) Re: Beziehungen von Texten / Wikilinks, 21.01.2007, 12:54, Matthias Schulz: Wahrscheinlich ergibt das aber erst richtig Sinn, wenn ich mich daran mache, ein Gesamtsystem auszuarbeiten, eine konkrete Utopie aufzustellen. Und damit sind wir dann wieder bei inhaltlichen Fragen, ob das überhaupt möglich ist usw.

Anwendungsfälle

(11) Mit den Anwendungsfällen wird die Benutzung einer grundsätzlich neuen Version ot-Software aus Sicht der vier Haupt-Usergruppen beschreiben:
- Allgemeine/r anonyme/r Besucher/in (kurz: Surfer)
- Angemeldete/r Benutzer/in (kurz: Mitglied)
- Betreuer/in von Projekten (kurz: Maintainer)
- Entwickler/innen von open theory (kurz: Entwickler)

Surfer

(12) Generelles Anwendungsfeld: Anonym durch die Seiten klicken.

(13) Orientierung: Ich will mich orientieren und verstehen, was "open theory" ist. Ich suche nach einem einführenden Text.

(14) Struktur: Ich "scanne" die Homepage und Projekt-Startseiten und will den Grundaufbau der Seitenstruktur verstehen.

(15) Überblick: Ich will einen Überblick über vorhandenen Projekte bekommen. Ich will ein Überblick über Maintainer und die von ihnen angebotenen Projekte haben.

(16) Änderungen: Ich will im Überblick sehen, welche Projekte neu sind und bei welchen Projekten sich zuletzt etwas verändert hat.

(17) Schnell-Suche: Ich will die Projekte finden, die ein Suchwort enthalten. Ich will auf jeder Seite ein Suchwort eingeben können (oder mehrere), um eine Schnellsuche zu starten.

(18) Detail-Suche: Eine differenzierte Eingabe von Suchkriterien muss ebenfalls möglich sein (Maintainer, Publikationsdatum etc:). Ich will auch in den Kommentaren suchen können.

(19) Hilfe: Ich will wissen, wie open theory funktioniert. Ich suche nach dem Stichwort "Hilfe" oder "FAQ".

(20) Weitere Anwendungsfälle für "Surfer" hier anfügen.

Mitglied

(21) Generelles Anwendungsfeld: Angemeldet sein und erweiterte Features nutzen

(22) Eintragen: Ich will mich bei open theory einfach eintragen können. Die Eintragung muss vor Missbrauch geschützt sein. Ich erwarte, dass ich meine Eintragung nochmals bestätigen muss.

(23) Austragen: Ich will mich mit einem Klick komplett aus allen Projekten und insgesamt aus open theory austragen können. Die Austragung muss von mir nochmals bestätigt werden.

(24) Login: Ich will mich auf jeder Seite einloggen können. Ich will wählen können, ob mein Login-Status gespeichert wird, so dass ich beim nächsten Besuch automatisch angemeldet werde.

(25) Persönliche Daten: Ich will die von mir gespeicherten Daten sehen und ändern können.

(26) Abonnierte Projekte: Ich will meine Liste der abonnierten Projekte verwalten (Projekte sehen, abonnieren, löschen) können.

(27) E-Mailadresse: Ich habe mein Passwort vergessen und will mir ein neues Passwort zusenden lassen. Das Verfahren muss sicher sein.

(28) Infos: Ich will bestimmen können, welche Infos (Newsletter, Ankündigungen neuer Projekte/Versionen) ich bekomme, und ich will das Format bestimmen können (Mail, RSS).

(29) Unerwünschte Mails: Ich will Filter einstellen können, um mich vor Aussendungen unerwünschter Projekte, Mailinglisten oder Mitgliedern zu schützen. Ich will die Filter online verwalten können.

(30) Kommentieren: Ich will Kommentare zu Absätzen schreiben können.

(31) Kommentar-Bezug: Ich will die Kommentare zielgenau auf bestimmte Teile des Absatzes beziehen können. Dieser Abzug soll sichtbar sein.

(31.1) 28.08.2006, 14:55, Stefan Meretz: Ähm: s/Abzug/Bezug/ (hieran sieht man, wie nützlich "korrgieren" wäre...)
Sowas gibt's schon, den Hinweis bekam ich von Thomas: http://gplv3.fsf.org/comments/

(32) Korrigieren: Ich will Absätze auch direkt bearbeiten können, um zum Beispiel Tippfehler zu korrigieren. Ein Kommentar wäre hierfür zu aufwändig.

(33) Absatz-Versionierung: Bei veränderten Absätzen will ich die alte Version und die Veränderung in der neuen Version anzeigen können.

(34) Download: Ich will den Projekttext auch downloaden können (in verschiedenen Formaten).

(35) Projekttext-Versionierung: Die alten Versionen des Projekttextes sollen zugänglich sein. Ich will die Veränderungen in nachfolgenden gegenüber früheren Versionen anzeigen können.

(36) Offline kommentieren: Ich will offline einen Projekttext kommentieren können, um die Kommentare dann später per Synchronisation zu übertragen.

(37) Weitere Anwendungsfälle für "Mitglieder" hier anfügen.

Maintainer

(38) Generelles Anwendungsfeld: Eigene Projekte erstellen und publizieren

(39) Projekte-Übersicht: Ich will eine filterbare Liste meiner Projekte einsehen können. Die Ansicht soll zwischen "Hierachie" und "Liste" umschaltbar sein.

(40) Neue Projekte: Ich will neue Projekte auf einfache Weise anlegen können. Beim Anlegen will die das neue Projekt direkt einem vorhandenen Projekt als Unterprojekt zuordnen können.

(41) Projekttyp: Ich will den Typ meines Projektes festlegen können. Es soll möglich sein, dass alle (auch anonyme) User Texte verändern oder kommentieren, dass nur eingetragene Mitglieder dies können und dass ich die Eintragung der Mitglieder annehmen oder ablehnen kann.

(41.1) stabile Versionen /Entwicklungsversionen, 29.11.2006, 11:31, Benni Bärmann: Ich bin mir nicht ganz sicher, ob dieser Fall schon vorkommt, ich schreibs sicherhaltshalber nochmal auf:

Ideal wäre doch eigentlich, wenn man Entwicklerversionen hätte, die sich eher Wiki-mässig verhalten und stabile Versionen, die eher das Absatzweise diskutieren erlauben. Vielleicht kann man dafür einen eigenen Projekttyp bauen, der das ermöglicht, damit man das nicht auf unterschiedliche Projekte aufteilen muß.

(42) Versteckte Projekte: Ich will versteckte Projekte anlegen, die nur für eingetragene Mitglieder nach Login sichtbar sind.

(43) Trolls: Ich will Trolls aus meinen Projekten austragen können - unabhängig vom Projekttyp.

(44) Projekttext: Ich will einen Projekttext in der gleichen Syntax verfassen können wie die Kommentare. Schön wäre, wenn ich mehrere Formate zur Auswahl hätte (CoForum-Wiki, RestructuredText, HTML).

(45) Eingabe/Upload: Ich will den Text online eingeben oder als Datei hochladen können. In einer Vorschau kann ich das Aussehen nach Veröffentlichung überprüfen.

(46) Download: Ich will einen vorhandenen Text im gewählten Format auch wieder herunterladen können, um die Texte lokal für die Erstellung neuer Versionen speichern zu können.

(47) Bearbeitungsoptionen: Ich will die Bearbeitungsmöglichkeiten für meinen Text festlegen können. Dabei will ich die Optionen aus dem "Wiki-Mode" (Ändern, Löschen, Einfügen) und dem "ot-Mode" (Kommentieren) einzeln kombinieren können.

(48) Bilder: Ich will Bilder hochladen, in einem Bilderpool verwalten und in Projekttexten benutzen können.

(49) Dateien: Ich will Dateien hochladen, in einem Dateipool verwalten und in Projekttexten zum Download anbieten können.

(50) Kollektiv-Maintainer: Ich möchte ein Mitglied zum gleichberechtigten Maintainer des Projektes machen.

(51) Weitere Anwendungsfälle für "Maintainer" hier anfügen.

Entwickler

(52) Generelles Anwendungsfeld: open theory testen und weiterentwickeln

(53) Testen: Ich will open theory leicht installieren und deinstallieren können, um es zu testen.

(54) Entwickeln: Ich erwarte eine gute Dokumentation über Installation, Systemaufbau und Programmierung, um mir den Einstieg in die Programmierung zu erleichtern.

(55) Weitere Anwendungsfälle für "Entwickler" hier anfügen.

Sonstige Zielgruppen

(56) Anwendungsfälle für sonstige Zielgruppen hier anfügen.

(56.1) Re: Sonstige Zielgruppen, 28.08.2006, 15:36, Benni Bärmann: Vielleicht gibt es noch eine weitere Zielgruppe, nämlich sowas wie "Leser". Das sind die Leute, die garnicht groß mit Opentheory was zu tun haben, sondern die eigentlich nur die Texte lesen wollen, weil sie von wo anders als Quelle genannt wurden z.B.

Anwendungsfälle wären dann vielleicht:

- Ich will mir einen Text ausdrucken und offline in angenehmer Gestaltung lesen können.

- Ich will den Text (fast) ohne verwirrende Links und Kommentare online lesen können.

- Ich will aber trotzdem die Möglichkeit haben tiefer einzusteigen wenn mir danach ist.

(56.1.1) Re: Sonstige Zielgruppen, 01.11.2006, 15:28, Stefan Meretz: "Leser" würde ich als Teil von "Surfer" ansehen, halt Surfer, die genau eine Seite ansteuern und ggf. opentheory sonst nicht kennen. Die Anwendungsfälle sind auf jeden Fall wichtig.


Valid HTML 4.01 Transitional