Actions
Feature #15634
open
QFQ Wiki: Advanced
Start date:
25.02.2023
Due date:
% Done:
0%
Estimated time:
Discuss:
Prio Planung:
No
Description
- Pro Seite ein oder mehrere Records.
- Sollen die Records in der DB angelegt werden oder als Datei?
- Koennen Absaetze einzeln editiert werden (a la Redmine) oder immer nur die gesamte Seite? Wie traege wird TinyMCE bei vielen Bildern, viel Text?
- Markdown oder HTML via TinyMCE? Vermutlich TinyMCE.
- Wiki Export.
Features:
- Table of contents
- Table of pages: Hirachie, Last modified
- Wiki Pages koennen eine Hirachie haben.
- Zugriffsberechtigung: Public / Private / Lesen / Schreiben / Lock (Seite vor Veraenderung sperren)
- History.
- Diff um alte Versionen anzuzeigen / wiederherzustellen.
- Image: click on enlarge. Angabe size inline.
- Optional Rahmen um ein Bild (um beim Screenshot eine Grenze zwischen Bild- und Wiki Seiten-Hintergrung zu haben).
- Wiki interne Links - d.h. von einer Wikiseite zu einer anderen, inkl Anker innerhalb einer Seite.
- Seite loeschen / umbenennen / verschieben / duplizieren.
- Suchfunktion
- Seite umbenennen: alle Links auf diese Seite werden angepasst (ggfs. nicht noetig falls Referenz via page id).
Files
Updated by Carsten Rose 3 months ago
- File clipboard-202303131711-mny9k.png clipboard-202303131711-mny9k.png added
- File clipboard-202303131712-cnaxp.png clipboard-202303131712-cnaxp.png added
- Inline Bilder / Codebloecke mit Namen und Anker versehen:
- Code Bloecke mit Copoy to Clipboard
Updated by Carsten Rose 3 months ago
Konzept¶
- Systemtabellen als ERD in QFQ development
- Als Absatz sind alle Bereiche gemeint die ein <H?> Tag haben.
- Absaetze koennen editiert werden.
- Pro Absatz ein Record (keine Files).
- Wird ein H1 editiert, werden alle Child Elemente (einzelner Records) mit geladen, zusammen angezeigt, und beim speichern wieder in einzelne Records aufgeteilt.
- Content wird als HTML gespeichert.
- Option: TinyMCE so konfigurieren das nur HTML Attribute die auf einer Whitelist stehen vorkommen duerfen, alles andere wird gefiltert.
Features V1¶
- Wiki Export
- PDF, ggfs. als Office Dokument.
- Table of contents
- <Macro>
- Rendering
- QFQ intern (via QFQ Report, incl Links zu PDF-Export, Index, History, Last modified).
file=wiki - Optional gibt es noch eine Light Version (kein Export, Index, History): file=wiki_light
- QFQ intern (via QFQ Report, incl Links zu PDF-Export, Index, History, Last modified).
- 3-Point-Menu
- Im Report gibt es einen Button um a) Subpages anzulegen, b) Rename, c) Move, d)Delete
- Wiki Content bearbeiten
- Bestehender wc wird dupliziert und bearbeitet.
- Ursprünglicher wc wird archiviert.
- Neuer Wiki Content
- Wird ein neuer wc angelegt, und es existiert noch keine Page, wird die Page implizit angelegt.
- Zugriffsberechtigung
- Public / Private / Lesen / Schreiben / Lock (Seite vor Veraenderung sperren: page_lock=<fe_user> ... nur der User der sperrt, kann auch wieder aufheben, ist kein uer gesetzt ist die Seite editierbar).
- Attribute:
- ro_user: SET fe_uer
- ro_group: SET fe_group
- ro_public: on/off
- rw_user: SET fe_uer
- rw_group: SET fe_group
- rw_public: on/off
- page_lock: fe_user
- History
- Bei jeder Aenderung wird ein neuer Record angelegt. Der alte Record bekommt archive=true.
- Man kann alte Staende anschauen.
- Image
- Optional Rahmen um ein Bild (um beim Screenshot eine Grenze zwischen Bild- und Wiki Seiten-Hintergrung zu haben).
- Wiki interne Links - d.h. von einer Wikiseite zu einer anderen, inkl Anker innerhalb einer Seite.
- Suchen
- Suchfunktion im Report - wird die QFQWiki seite mit dem Paramter 'search' aufgerufen, erscheint ein Suchen Feld, ...
- Collapse
- Ausklappbarer Inhalt
- Beispiel Redmine
- Open: {{ collapse() }}
- Close: {{ collapse }}
Features V2¶
- Editor
- Fullscreen Edit
- Seite umbenennen
- Alle Links auf diese Seite werden angepasst (ggfs. nicht noetig falls Referenz via page id).
- History
- Man kann alte Staende vergleichen (rote/grüne Markierung).
- Image
- click on enlarge: Angabe size inline.
Mockup Eingabe TinyMCE¶
h1. Header 1 h2. Header 1.1 {{ collapse(more text) }} some content which is not shown by default. {{ collapse }} h3. Header 1.1.1 h1. Header 2
Mockup tt_content¶
10 { sql = SELECT m.title from Notiz AS n content = hide (alias = toc) } 20 { # TOC: {{ 10.content }} # Child Pages: {{ 11.content }} # Collapse: {{ collapse() }}, {{ collapse }} sql = SELECT m.body from Notiz AS n }
Rendering Optionen¶
notiz records
1) QFQ intern (via QFQ Report).
file=wiki
2) Via tt-content / report
10.sql = SELECT m.text from Notiz AS n
3) Via tt-content / report
# TOC (ggf. via MYSQL REPLACE) 10.sql = SELECT m.title from Notiz AS n # Body 20.sql = SELECT m.body from Notiz AS n
Actions