Project

General

Profile

Note Form » History » Revision 15

Revision 14 (Zhoujie Li, 21.02.2024 11:32) → Revision 15/25 (Zhoujie Li, 21.02.2024 11:33)

h1. Note Form 

 h3. Motivation 

 Das Note soll dazu dienen auf beliebige Formular einer Notiz aufzumachen. Und ganz einfach für sich selber oder für anderen als toDo zu tagen.  

 h3. Datenstruktur 

 Table *NoteForm* 
 * id <int> 
 * pIdCreator <int> 
 * xId <int> Die ID des aktuellen Formulars, zu dem die Notiz gehört. 
 * nIdTopics <int> zeigt die Aktuelle formmular (CR: sollte das 'nidThread' sein?) 
 * tableName 
 * note <text> 
 * access <enum 'private','set of group','all'> Bestimmt die Sichtbarkeit der Notiz (privat, gruppenbasiert oder öffentlich). 
 * nIdTag 
 * arguments <varchar(150)> 
 * access <varchar(60)> 
 * reminderDate <datetime> 
 * isDone <boolean> 
 * mailIdSet 

 h3. Interface 

 * 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* 

 !clipboard-202401291353-oc8zv.png! 


 *Mock up* 

 !clipboard-202402211132-bwgkj.png! 

 !clipboard-202402211133-v2kfe.png! 

 h3. Save 

 *    Falls die Daten nicht erfolgreich gespeichert werden, werden sie im lokalen Speicher (LocalStorage) gesichert, um Datenverlust zu vermeiden. 


 h2. noteForm 

 h3. Use-Cases 

 *Topic: QFQ Branch newFeature* 

 [1] CR: 
  ich schreibe hier ein Protokoll 
  ich schreibe hier ein Protokoll 
  ich schreibe hier ein Protokoll 
  ich schreibe hier ein Protokoll 
  ich schreibe hier ein Protokoll 
  ich schreibe hier ein Protokoll 
 TAG: 'project x', 'protokoll' 
 ACCESS: All 

 [2] CR: 
 ich mache mir hier eine notizt mit Reminder: bitte Fenster oeffnen 
 Reminder: +24h 
 ACCESS: All 

 [3] ZL:  
 Es wird kalt, Fenster bitte schliessen 
 ACCESS: All 

 [4] CR: Ruecksprache mit Institutsleitung (IL) 
 TAG: 'projekt x', 'IL',  
 GROUP: IT-IL, BB-ZL-CR 
 ACCESS: All|Private 
 Reminder: +24h 
 DONE: wird durch CR gesetzt wenn Aufgabe abgeschlossen ist 

 ---------------- 

 * 'ACCESS: All' 
   * Dashboard: nicht anzeigen 
   * Detailansicht: anzeigen 

 * 'ACCESS: All,<group>' (ich bin member of '<group>') 
   * Dashboard: anzeigen 
   * Detailansicht: anzeigen 
    
 * 'ACCESS: Private'     
   * Dashboard: anzeigen wenn ich der Owner bin 
   * Detailansicht: anzeigen wenn ich der Owner bin 

 ----------------- 

 *Roadmap* 

 *V.1.0* 
 * Notiz Form mit 'text', 'done' 
 * Speichern via regulaerem QFQ Save 
 * Bestehende Notizen im Form anzeigen 

 *V.1.1* 
 * Notiz Form mit 'tags', 'group' 
 * Bestehende Notizen editieren / loeschen 


 *V.1.2* 
 * Typeahead nach 'tags' suchen 
 * Reminder 
 * filter my/all 


 *V.1.3* 
 * floating divs 
 * minimieren / resize