Project

General

Profile

Actions

Feature #15634

open

QFQ Wiki: Advanced

Added by Carsten Rose 3 months ago. Updated 3 months ago.

Status:
New
Priority:
Normal
Assignee:
Support: Web
Target version:
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

Actions #1

Updated by Carsten Rose 3 months ago

  • Description updated (diff)
Actions #2

Updated by Carsten Rose 3 months ago

  • Tracker changed from Support to Feature
Actions #3

Updated by Carsten Rose 3 months ago

  • Inline Bilder / Codebloecke mit Namen und Anker versehen:
  • Code Bloecke mit Copoy to Clipboard

Actions #4

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
  • 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, ...

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

Also available in: Atom PDF