Benutzer-Werkzeuge

Webseiten-Werkzeuge


datenbank-schema

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
datenbank-schema [2017/02/07 16:11] – [storedquery] lwsystemsdatenbank-schema [2025/02/07 08:42] (aktuell) – [filter] lwsystems
Zeile 2: Zeile 2:
  
 ===== user  ===== ===== user  =====
-Diese Tabelle enthält die Benutzer-Daten. Das Passwort wird als MD5 Hash gespeichert. +Diese Tabelle enthält die Benutzer-Daten. Das Passwort wird als BCRYPT Hash gespeichert. 
  
 <code sql> <code sql>
Zeile 10: Zeile 10:
 | id       | varchar(64)  | NO   | PRI |               | Username | id       | varchar(64)  | NO   | PRI |               | Username
 | name     | varchar(256) | YES  |     | NULL    |       | Vor- und Nachname | name     | varchar(256) | YES  |     | NULL    |       | Vor- und Nachname
-| password | varchar(64)  | NO               |       MD5 Hash des Passworts+| password | varchar(64)  | NO       ''      |       BCRYPT Hash des Passworts
 | archive  | varchar(256) | YES  |     | NULL    |       | Container des Users | archive  | varchar(256) | YES  |     | NULL    |       | Container des Users
 | role     | varchar(32)  | NO       | USER    |       | Rolle | role     | varchar(32)  | NO       | USER    |       | Rolle
Zeile 23: Zeile 23:
 Diese Liste wird im Info-Feld des Web-UIs angezeigt.  Diese Liste wird im Info-Feld des Web-UIs angezeigt. 
  
-<code>+<code sql>
 +---------+-------------+------+-----+---------+-------+ +---------+-------------+------+-----+---------+-------+
 | Field   | Type        | Null | Key | Default | Extra | | Field   | Type        | Null | Key | Default | Extra |
 +---------+-------------+------+-----+---------+-------+ +---------+-------------+------+-----+---------+-------+
-| id      | varchar(64) | NO   | PRI |               | Username (-> user.id)+| id      | varchar(64) | NO   | PRI |               | Username (user.id)
 | address | varchar(64) | NO   | PRI |               | E-Mail Adresse für Filter | address | varchar(64) | NO   | PRI |               | E-Mail Adresse für Filter
 +---------+-------------+------+-----+---------+-------+ +---------+-------------+------+-----+---------+-------+
 </code> </code>
  
-===== storedquery  =====+===== appstate  =====
  
-Jeder Benutzer kann im Web-UI Suchanfragen mit einem Namen abspeichern. Diese Suchanfragen werden in dieserTabelle gespeichert. +Der Status des Web-UIs der Benutzer wird beim Abmelden hier gespeichert.
  
 <code sql> <code sql>
Zeile 40: Zeile 40:
 | Field  | Type         | Null | Key | Default | Extra | | Field  | Type         | Null | Key | Default | Extra |
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
-| id     | varchar(64)  | NO   | PRI |               Interne Id der Abfrage +| id     | varchar(64)  | NO   | PRI |               | 
-| userid | varchar(64) YES  |                   Benutzername (->user.id) dem diese Abfrage zugeordnet ist  +| userid | varchar(64) NO   |                   | 
-name   | varchar(255) | YES      |               Name der gespeicherten Abfrage +value  | varchar(254) | NO   PRI |               |
-| query  | text         | YES  |     | NULL    |       | Serialisiertes Objekt mit der gespeicherten Abfrage+
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
 </code> </code>
  
-===== filter  ===== +===== container  ===== 
-Die Tabelle "filter" enthält Filter für einzelne BenutzerDie Pflege der Filter ist im Web-UI noch nicht implementiert+ 
 +Die Tabelle "container" enthält die dem User zugeordneten Container und Subcontainer. 
 +Falls Subcontainer konfiguriert wurden, wird der Subcontainer im AUTH-Modul per "/" an den Conainer angehängt.
  
 <code sql> <code sql>
Zeile 54: Zeile 55:
 | Field  | Type         | Null | Key | Default | Extra | | Field  | Type         | Null | Key | Default | Extra |
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
-id     | varchar(64)  | NO   | PRI |               Interne Id des Filters +userid | varchar(64)  | NO   | PRI |               Benutzer-Id 
-userid | varchar(64 YES      |               Benutzername (-> user.id), dem dieser Filter zugeordnet wird +cid    | varchar(128) | NO   PRI |               Container 
-name   | varchar(255) | YES      |               Name des Filters in der Anzeige. +scid   | varchar(128) | NO   PRI |               Subcontainer
-| filter | text         | YES  |     | NULL    |       | Lucene Filter String+
 +--------+--------------+------+-----+---------+-------+ +--------+--------------+------+-----+---------+-------+
 </code> </code>
 +
 +
 +===== filter =====
 +
 +In der Tabelle "filter" können Lucene Query Filter gespeichert werden. Bei der Anmeldung werden die Filter des Benutzers
 +mit dem Benutzernamen "userid" geladen und bei jeder Suche per //AND// verknüpft.
 +
 +<code sql>
 ++--------+--------------+------+-----+---------+-------+
 +| Field  | Type         | Null | Key | Default | Extra |
 ++--------+--------------+------+-----+---------+-------+
 +| id     | varchar(64)  | NO   | PRI |               | eindeutige Id des Filters
 +| userid | varchar(128) | YES  |                   | Anmeldename
 +| name   | varchar(255) | YES  |                   | Name des Filters zur Anzeige im [i] Fenster
 +| filter | text         | YES  |     | NULL    |       | Lucene Query String
 ++--------+--------------+------+-----+---------+-------+
 +</code>
 +
 +===== storedquery  =====
 +
 +Jeder Benutzer kann im Web-UI Suchanfragen mit einem Namen abspeichern. Diese Suchanfragen werden in dieserTabelle gespeichert. 
 +
 +<code sql>
 ++--------+--------------+------+-----+---------+-------+
 +| Field  | Type         | Null | Key | Default | Extra |
 ++--------+--------------+------+-----+---------+-------+
 +| id     | varchar(64)  | NO   | PRI |               | Interne Id der Abfrage
 +| userid | varchar(64)  | YES  |                   | Benutzername (user.id) dem dieser Abfrage 
 +| name   | varchar(255) | YES  |                   | Name der gespeicherten Abfrage
 +| query  | text         | YES  |     | NULL    |       | Serialisiertes Objekt mit der gespeicherten Abfrage
 ++--------+--------------+------+-----+---------+-------+
 +</code>
 +
 +
  
  
 ====== MySQL Datenbank ====== ====== MySQL Datenbank ======
  
-Beispiel der SQL Queries zum Erstellen der Benutzerdatenbank in MySQL.+Beispiel der SQL Queries zum Erstellen der Benutzerdatenbank in MySQL: {{ :benno.sql |}}
  
 <code sql> <code sql>
Zeile 71: Zeile 105:
   `address` varchar(64) NOT NULL DEFAULT '',   `address` varchar(64) NOT NULL DEFAULT '',
   PRIMARY KEY (`id`,`address`)   PRIMARY KEY (`id`,`address`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 + 
 +CREATE TABLE `appstate` ( 
 +  `id` varchar(64) NOT NULL DEFAULT '', 
 +  `userid` varchar(64) NOT NULL DEFAULT '', 
 +  `value` varchar(254) NOT NULL DEFAULT '', 
 +  PRIMARY KEY (`id`,`value`) 
 +) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 + 
 +CREATE TABLE `container` ( 
 +  `userid` varchar(64) NOT NULL DEFAULT '', 
 +  `cid` varchar(128) NOT NULL DEFAULT '', 
 +  `scid` varchar(128) NOT NULL DEFAULT '', 
 +  PRIMARY KEY (`userid`,`cid`,`scid`) 
 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
  
 CREATE TABLE `filter` ( CREATE TABLE `filter` (
Zeile 79: Zeile 127:
   `filter` text,   `filter` text,
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
 CREATE TABLE `storedquery` ( CREATE TABLE `storedquery` (
Zeile 87: Zeile 135:
   `query` text,   `query` text,
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
 CREATE TABLE `user` ( CREATE TABLE `user` (
Zeile 96: Zeile 144:
   `role` varchar(32) NOT NULL DEFAULT 'USER',   `role` varchar(32) NOT NULL DEFAULT 'USER',
   PRIMARY KEY (`id`)   PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;+) ENGINE=InnoDB DEFAULT CHARSET=utf8
 +</code> 
 + 
 +===== imapuser ===== 
 + 
 +Diese Tabelle wird nur benötigt, wenn der Import mittels benno-imapsync erfolgen soll. 
 +Hier werden die IMAP-Benutzer gespeichert. Das Passwort wird für die Authentisierung am IMAP-Server benötigt. 
 +Es wird reversibel (3DES) verschlüsselt gespeichert und kan mit dem bei der installation von //[[:benno-imap]]// erstellten privaten Schlüssel entschlüsselt werden. 
 + 
 +<code sql> 
 +CREATE TABLE `imapuser` ( 
 +  `id` varchar(64) NOT NULL DEFAULT '', 
 +  `imapuser` varchar(64) NOT NULL DEFAULT '', 
 +  `imaphost` varchar(64) NOT NULL DEFAULT '', 
 +  `imapstatus` longtext, 
 +  `password` text, 
 +  `status` int(11) DEFAULT '0', 
 +  PRIMARY KEY (`imapuser`,`imaphost`) 
 +);
 </code> </code>
datenbank-schema.1486483903.txt.gz · Zuletzt geändert: 2017/02/07 16:11 von lwsystems