Roundup - Dr. Ralf Schlatterbeck
Transcription
Roundup - Dr. Ralf Schlatterbeck
Inhalt Roundup: Einführung und Anwendungsbeispiele Roundup: Issue Tracking . . . . . . . . . Roundup Eigenschaften . . . . . . . . . . Rollen und Rechtevergabe . . . . . . . . Roundup Hyperdb . . . . . . . . . . . . . Trigger: Detector Interface . . . . . . . . . Beliebige Schnittstellen über Python-API Web-Interface . . . . . . . . . . . . . . . . Realisierte Roundup-Projekte . . . . . . . Dr. Ralf Schlatterbeck Open Source Consulting Email: Web: Tel. office@runtux.com http://www.runtux.com +43/650/621 40 17 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 1 Roundup: Issue Tracking . . . . . . . . . . . . . . . . . . . . . . . . . 3 . 4 . 6 . 7 . 9 . 11 . 12 . 14 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 2 Roundup Eigenschaften Standard Anwendung „Issue Tracking“ Nr. 1 Google Hit für „Issue Tracker“ • Läuft überall wo Python läuft • Web, Email, Kommandozeilen Schnittstelle • Trouble-Tickets • Software Bug-Tracking • Web-Interface als CGI, eigener Web-Server oder eingebettet in Zope • IT-Helpdesk • Email: Mailbox, IMAP, POP, sendmail pipe • Konferenz Einreichungen (Papers) • Eigene Mini-Mailingliste für jedes „Issue“ • Sales Opportunities • ... © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 3 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 4 Roundup Eigenschaften Rollen und Rechtevergabe • Anwender-Dokumentation (Issue Tracker) • Zuordnung von Rollen zu Benutzern • Entwickler-Dokumentation • Rechtevergabe nach Rollen auf Tabellen- oder Spaltenebene • Einfache Administration, Installation • Berechnete Rechte möglich • Python-API (Programmierschnittstelle) • Web: Log-In für jeden Benutzer → Statistiken, Reports, Erinnerungs-Email, . . . • Email: Authorisierung über Email Adresse • Import/Export Format und API • Optional Web- oder Email Registrierung → Datensicherung → Migration von anderen Systemen © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com • Mehrere Email-Adressen pro Benutzer 5 Roundup Hyperdb © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 6 Roundup Hyperdb History • Verschiedene Datenbank Backends (z. B. DBM, SQLite, MySQL, PostgreSQL) • Einfache Schema-Definition in Python → Backend-unabhängig • Änderung Datenbank-Schema im Betrieb • Automatische Attribute (creator, creation, . . . ) • Änderungshistorie (Journal) • Indizierung und Volltextsuche © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 7 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 8 Trigger: Detector Interface Detector (Auditor) Example • Detector: Auditor oder Reactor def audit_superseder (db, cl, nodeid, new_values) : """ * don’t set superseder on a new item * ensure that superseder gets not set to itself * automagically set status to closed """ new_sup = new_values.get ("superseder", None) if new_sup : if not nodeid : raise Reject, _ ("Don’t set %s on new issue") % _ for sup in new_sup : if sup == nodeid : raise Reject, _ ("Can’t set %s to itself") % _ new_values ["status"] = db.status.lookup (’closed’) # end def audit_superseder • Zugriff auf aktuellen Datensatz • Zugriff auf ganze Datenbank möglich • Auditor: „Veto“ auf Änderungen → Anwendungsspezifische Einschränkungen → Automatische Updates anderer Datensätze • Reactor: Aktionen nach Commit in Datenbank → Email-Versenden © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 9 Beliebige Schnittstellen über Python-API © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 10 Web-Interface • Schnittstelle zu OpenOffice.org (OOoPy) → Generierung von OOo Dokumenten • Zope Page Templates (ZPT) • Templates für Menu Auswertungen • i18n + l10n Reports • Hilfetexte für Maskenfelder Inhalte <tal:block metal:use-macro="templates/page/macros/issue"> <tal:block metal:fill-slot="issue_content"> <tr> <th tal:content="structure python:utils.fieldname (classname, ’category’)"/> <td tal:content="structure context/category/menu"/> • Erweiterungen z. B. Projektplanung Gantt Charts (PyGantt) © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 11 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 12 Timetracker Example Realisierte Roundup-Projekte • Software Bug-Tracker • IT-Helpdesk • Verwaltung von Rechnern, DNS-Einträgen usw. • Userverwaltung, Anbindung an LDAP, Generierung von LDIF • Dokumentenverwaltung • Projekt-Zeiterfassung, Urlaubsverwaltung • Abonnentenverwaltung für einen kleinen Verlag © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 13 © 2007 Dr. Ralf Schlatterbeck Open Source Consulting · www.runtux.com · office@runtux.com 14