brain-affairs

Home

Lehrtätigkeit

Partner

Kontakt

Zurück

.

Arbeitsergebnisse der Arbeitsgruppe CM-Server
  v0.2
  
  Anmeldung:
    //Desc: Anmeldung
    //Para: userid, passwort
    //Ret: Session_id
    + sid_t sid login(string userid, string pwd)
  
  Benutzerverwaltung:
    //Desc: Neuer Benutzer
    //Para: sid, Benutzername, Benutzervorname
    //Ret: User_id
    + uid_t new_user(sid_t sid, string name, string vorname)
  
    //Desc: Benutzer entfernen
    //Para: sid, User_id, Benutzername, Benutzervorname
    //Ret: Erfolg
    + bool change_user(sid_t sid, uid_t uid, string name, vorname)
  
  +  bool del_user(sid_t sid, uid_t uid)
  +  gid_t new_group(sid_t sid, string name)
  +  bool del_group(sid_t sid, gid_t gid)
  +  bool change_group(sid_t sid, uid_t gid, string name)
  +  bool group_add_user(sid_t sid, gid_t gid, uid_t uid)
  +  bool group_del_user(sid_t sid, gid_t gid, uid_t uid)
    
  
  Publikationsobjekt:
    //Desc: Publikationsobjekt anlegen, legt intern leere Inhaltobjekte und Versionen an
    //Para: sid, Titel, Typ der Seite
    //Ret: Publikationsobjekt_id
    + poid_t new_publ_obj(sid_t sid, string name, typ_t typ)
  
    //Desc: Publikationsobjekt ändern, ändert Name/Titel und Typ des Objekts 
      (bei Typänderung werden neue Inhaltsobjekte angelegt)
    //Para: sid, Publikationsobjekt_id, Titel, Typ der Seite
    //Ret: Erfolg
    + bool change_publ_obj(sid_t sid, poid_t id, string name, typ_t typ)
  
    //Desc: Publikationsobjekt löschen, setzt ein flag
    //Para: sid, Publikationsobjekt_id
    //Ret: Erfolg
    + bool delete_publ_obj(sid_t sid, poid_t id)
  
    //Desc: Liefert Daten des Publikationsobjekts
    //Para: sid, Publikationsobjekt_id
    //Ret: Klasse mit id, name, typ, parent, Liste mit Inhaltsobjekten
    + ret_t get_publ_obj(sid_t sid, poid_t id)
  
    //Desc: Liefert Liste der Publikationsobjekttypen (alle möglichen, nicht vorhandenen)
    //Para: sid
    //Ret: Liste mit (subobj_id, typ, name)
    + potlist_t get_publ_obj_type(sid_t sid)
  
    //Desc: Verschiebt ein Publikationsobjekt
    //Para: sid, Publikationsobjekt_id, neuen parent
    //Ret: Erfolg
    + bool move_publ_obj(sid_t sid, poid_t id, string parent)
  
    //Desc: Kopiert ein Publikationsobjekt
      (legt intern neue Inhaltesobjekte und Versionen an)
    //Para: sid, Publikationsobjekt_id, neuen parent
    //Ret: Erfolg
    + bool copy_publ_obj(sid_t sid, poid_t id, string parent)
  
    //Desc: Liefert geänderten Inhalt
    //Para: sid, Inhaltsobjekt_id
    //Ret: Liste mit Versionen (id) des Inhaltobjektes
    + ret_t get_edited_content (sid_t sid, coid_t coid)
  
    //Desc: Liefert veröffentlichter Inhalt
    //Para: sid, Inhaltsobjekt_id
    //Ret: Liste mit Versionen des Inhaltobjektes
    + ret_t get_released_content(sid_t sid, coid_t coid)
  
    
  Inhaltsobjekt:
    - coid_t new_content_object(sid_t sid, poid_t poid, string title)
  
  Version:
    - verid_t new_version(sid_t sid, coid_t, coid, string text)
  
    //Desc: Ändert Inhalt einer Version (Inhaltsobjekt)
    //Para: sid, Versions_id, Inhalt
    //Ret: Erfolg
    + bool change_version(sid_t sid, verid_t verid, string text)
  
    //Desc: Zeigt Inhalt einer Version (Inhaltsobjekt)
    //Para: sid, Versions_id
    //Ret: Inhalt
    + string show_version(sid_t sid, verid_t verid)
  
    //Funktionen, um Versionen per flag zu veröffentlichen, löschen, archivieren, etc.
    freigeben
    archivieren    
  
  
  legende:
  
  + = schnitstelle nach draussen
  - = interne funktion