Project

General

Profile

Actions

Feature #17412

open

Per Form: note, tag, reminder date, done flag

Added by Carsten Rose 3 months ago. Updated about 1 month ago.

Status:
In Progress
Priority:
High
Assignee:
Zhoujie Li
Target version:
Start date:
05.12.2023
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No
Vote:

Description

In unseren QFQ Applikationen fuer die Benutzer aber auch fuer die Applikationsentwickler waere folgende Funktion nett:

  • Auf einem Formular gibt es einen Button via dem man sich Notizen zum aktuellen Record (Antrag, ...) macht (entweder als Popup oder Modal).
  • Die Option kann an/abgeschaltet werden (auch dynamisch je nach eingeloggtem User)
  • Die Logik soll fix in QFQ mittels form/qfqr Files hinterlegt sein.
  • Durch toolspezifische Formulare/Reports kann es an das Tool angepasst werden.
  • Titel sollte veränderbar sein.

Details:

  • Eine Notiz kann private, <group> oder public sein.
    • Welche <group's> es gibt kann konfiguriert werden. Bsp: admin, developer, dekanat, ...
    • Es stehen nur solche Gruppen zur Verfuegung in der man selbst Member ist.
  • Der Button zeigt die Anzahl Notizen an. Symbol: Blatt Papier mit der Anzahl Notizen als kleine Zahl in einer Ecke. Sobald es min. eine Notiz gibt hat das Blatt eine Farbe.
  • Hover/Tooltip zeigt die letzten 5 Notizen an (Note, Tag, Author, Created, Reminder, Resubmission).
  • Die Tags sollen dazu verwendet werden die Notizen zu klassifizieren: todo / feedback / hold / not yet / ...
    • Pro Notizen koennen beliebig viele Tags vergeben werden.
    • Neue Tags koennen on the fly erzeugt werden.
    • Die Tags werden mit Typeahead erfasst.
  • Auf dem allgemeinen Dashboard werden die eigenen/group/all Notizen als Summe angezeigt - ein Klick darauf fuehrt in die Listenansicht.
  • In der Listenansicht werden die eigenen/<group>/alle Notizen angezeigt werden.
    • Sortiert nach 'last modified', Filter auf a) 'user'/'group', b) Inhalt, c) Tags
    • In der Listenansicht kann von der Notiz direkt zum Antrag / Form / ... gesprungen werden.
      • Damit das funktioniert muessen im Hintergrund weitere Informationen bei der Notiz abgelegt werden (Formular, detail Parameter, ...).
    • Es koennen Notizen angelegt werden, die keinem Form/Record zugeordnet sind. Anwendung: persoenliche Todo Liste, Bsp: 'morgen unbedingt nach Urlaub fragen'.
  • Im Dashboard und in der Listenansicht werden Notizen mit abgelaufenem Reminder besonders hervorgehoben.
  • Ist das reminder date abgelaufen wird eine Mail versendet.
  • Pro Notiz kann das Flag 'done' gesetzt werden (dann wird kein Reminder versendet).

Anmerkungen:

  • Eine Notiz kann als 'Ticket' gesehen werden (erscheint im Dashboard, kann auf 'done' gesetzt werden, kann tags zur Klassifizierung enthalten).
  • In dem aktuellen Konzept hat die Notiz mehr einen 'History' Character als Ticket.
  • Zukunft: zu einer Notiz koennten weitere Informationen abgelegt werden (Assignee, Due Date, ...), damit waere dann ein Ticketsystem moeglich.
  • Im jetzigen Konzept werden die Notizen i.d.R. einem Table/Record zugeordnet.
  • Bei z.B. Rueckfragen oder Diskussion waere zusaetzlich eine Thread-ID interressant.
  • Mit dem Thread Konzept waere das eine interessante Moeglichkeit eine 'minimale Chat Logik' mit QFQ auszuliefern. Das koennte direkt in BEF fuer die Rueckfragen verwendet werden.

Files

Actions #1

Updated by Carsten Rose 3 months ago

  • Description updated (diff)
Actions #3

Updated by Carsten Rose about 1 month ago

  • Tracker changed from Support to Feature
  • Priority changed from Normal to High
Actions #4

Updated by Carsten Rose about 1 month ago

  • Target version changed from 24.1.2 to 24.1.1
Actions #5

Updated by Zhoujie Li about 1 month ago

  • Assignee set to Zhoujie Li
Actions #6

Updated by Zhoujie Li about 1 month ago

  • Status changed from New to In Progress
Actions #7

Updated by Zhoujie Li about 1 month ago

  • Description updated (diff)
Actions #8

Updated by Zhoujie Li about 1 month ago

Konzept

Datenstruktur:

Table NoteForm
  • id <int>
  • pIdCreator <int>
  • xId <int> Die ID des aktuellen Formulars, zu dem die Notiz gehört.
  • note <text>
  • access <enum 'private','group','public'> Bestimmt die Sichtbarkeit der Notiz (privat, gruppenbasiert oder öffentlich).
  • tags <varchar(60)>
  • arguments <varchar(150)>
  • access <varchar(60)>
  • reminderDate <datetime>
  • isDone <boolean>
  • tableName <varchar(50)> Alternative Methode, um anzugeben, auf welches Formular sich die Notiz bezieht.
Notizen Anlegen
  • Nutzer können Notizen an beliebigen Formularen anlegen.
  • Die ID des aktuellen Records und der Formularname werden in tableName gespeichert, um die zuordenung zu indentifizieren.
  • Die Datenerfassung erfolgt über QFQ.
    • pIdCreator={{pId}}

Interface/Modal-Fenster

  • Ein Notiz-Button zeigt die Anzahl vorhandener Notizen an.
  • Ein Modal-Fenster listet alle zugehörigen Notizen auf, inklusive einer Scrollbar für lange Listen.
  • Die Benutzeroberfläche reagiert dynamisch auf Änderungen, die über AJAX-Requests durchgeführt werden.
  • Funktionen im Modal-Fenster:
    • Done-Button zum Markieren von Notizen als erledigt.
    • Frei erstellbare Tags für spätere Filterung im Dashboard.
    • Löschen-Button zum Entfernen von Notizen.
    • Bearbeitungsmöglichkeit für ausgewählte Notizen.

Skizze

Integration als QFQ-Report
  • Die Modal-Logik wird als QFQ-Report implementiert.
  • Möglichkeit zur Auslieferung von Form und Report als ein TT-Content-Element.
Access
  • Notizen können als public oder private gekennzeichnet werden. Standardmässig sind sie private.
  • Eine Gruppenzugriffssteuerung ist vorgesehen, aber noch nicht zu implementieren.
Default-Tags
  • Done-Tag: Es führt dazu, dass die Notiz ausgegraut wird und Reminder deaktiviert werden.
  • ToDo-Tag: Zuweisung dieses Tags markiert die Notiz als priorisiert.
Reminder
  • Der Nutzer kann das Reminder-Datum selbst festlegen.
  • Reminder werden im Dashboard angezeigt.
Show-Button
  • Entscheidung per Checkbox im FormElement, ob der Notiz-Button gerendet werden soll.
Argument
  • Es werden Argumenten für das öffnen von die Notizen wie zum Beispiel: "?form=request&grId=12&...."

Mögliche Parameter
form.parameter:
noteTitle = ... falls es nicht gesetz ist gilt der Standart Form Title zb Edit Form.

Actions

Also available in: Atom PDF