-- ───────────────────────────────────────────────────────────────────────────── -- pc-live | Private, geteilte und oeffentliche Kalender -- -- Bisher gehoerte jeder Termin genau einer Person. Kalender sollen aber auch -- gemeinsam gefuehrt werden – Dienstplaene, Gerichtstermine, Veranstaltungen. -- -- Geteilt wird ueber dasselbe Mittel wie Postfaecher und Ordner: die Adresse. -- Wer das Postfach bedienen darf, fuehrt auch dessen Kalender. -- -- visibility address sieht bearbeitet -- ────────── ───────── ──────────────────────── ─────────────────────── -- private NULL nur die Person nur die Person -- shared Postfach wer das Postfach hat wer das Postfach hat -- public Postfach jeder auf dem Server wer das Postfach hat -- -- Ein oeffentlicher Termin haengt bewusst auch an einem Postfach: sonst gaebe -- es niemanden, der ihn spaeter noch aendern oder absagen koennte. -- -- Wiederholbar ausfuehrbar. -- ───────────────────────────────────────────────────────────────────────────── ALTER TABLE `pc_live_calendar` ADD COLUMN IF NOT EXISTS `address` VARCHAR(200) NULL DEFAULT NULL COMMENT 'Postfach, dessen Kalender das ist. NULL = privat'; ALTER TABLE `pc_live_calendar` ADD COLUMN IF NOT EXISTS `visibility` ENUM('private','shared','public') NOT NULL DEFAULT 'private'; ALTER TABLE `pc_live_calendar` ADD INDEX IF NOT EXISTS `idx_address` (`address`); ALTER TABLE `pc_live_calendar` ADD INDEX IF NOT EXISTS `idx_visibility` (`visibility`);