Project

General

Profile

Note Form » History » Revision 22

Revision 21 (Zhoujie Li, 06.03.2024 12:46) → Revision 22/25 (Zhoujie Li, 06.03.2024 12:48)

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* (wird mit geliefert als default table) 
 * id <int> 
 * pIdCreator <int> 
 * xId <int> Die ID des aktuellen Formulars, zu dem die Notiz gehört. 
 * formId <int> 
 * tableName <varchar> 
 * note <text> 
 * access <enum ('private','set 'private','set of group','all')> group','all'> Bestimmt die Sichtbarkeit der Notiz (privat, gruppenbasiert oder öffentlich). 
 * access <varchar(60)> 
 * reminderDate <datetime> 
 * isDone <enum('yes','no')> <boolean> 
 * formName <varchar> mailIdSet 

 Table *Ggroup* (wird *nicht* mit geliefert) 
 * id <int> 
 * grId <int> 
 * reference <varchar> "note_form_tag" (this is mendatory for tags) 
 * name <varchar> 

 Table *GroupMember* (wird *nicht* mit geliefert) 
 * id <int> 
 * grId <int> 
 * xId <int> 

 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. Funktionbeschreibung 

 *Mögliche Funktion* 
 * Falls keine Reminder gesetz wird wird dieser nicht in dashboad angezeigt? 
 * Es wäre gut 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 
 * Notiz Form mit 'tags' 
 * Bestehende Notizen editieren / loeschen 
 * Neue Browser fenster 


 *V.1.1* 
 * Typeahead nach 'tags' suchen 
 * Dashboard 
 * Reminder Email 


 *V.1.2* 
 * floating divs 
 * minimieren / resize 
 * oder Modal