1 / 16

Phaidra Core - Design Overview

Phaidra Core - Design Overview. Thomas Wana, Zentraler Informatikdienst, Universität Wien. Objekte anlegen, editieren, suchen. Web- Frontend. Architektur - Übersicht. Storage. Oracle. LDAP. Repository Security.

miyo
Download Presentation

Phaidra Core - Design Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Phaidra Core - Design Overview • Thomas Wana, Zentraler Informatikdienst, Universität Wien

  2. Objekte anlegen, editieren, suchen Web- Frontend Architektur - Übersicht Storage Oracle LDAP

  3. Repository Security • Authentifikation über LDAP: Mitarbeiter/innen, Studierende, Externe.Zukünftig über Shibboleth • Autorisation über XACML: Wer darf welche API-(A|M)-Funktionen unter welchen Bedingungen aufrufen? • Phaidra: Alle User können (bestimmte) API-M-Funktionen aufrufen, nicht bloß Administratoren. XACML alleine reicht nicht aus!

  4. Repository Security: Fedora Hooks • SOAP-“Trigger” für API-M-Aufrufe • preCommit- und postCommit-Hooks • preCommit: wird als letzte Aktion in der Transaktion aufgerufen, Abbruch der Transaktion möglich: Validator • postCommit: wird nach erfolgreichem Abschluss der Transaktion aufgerufen: Generator

  5. Repository Security: Fedora Hooks II • Konfiguration per fedora.fcfg: <module role="fedora.server.hooks.APIHooks" class="fedora.server.hooks.APISOAPHooksImpl"> <comment>Configures callbacks that are triggered upon API calls.</comment> <param name="soapuri" value="http://hooks.phaidra.univie.ac.at/Phaidra::Hooks::APIHooks"/> <param name="soapproxy" value="http://hooks.phaidra.univie.ac.at/apihooks.cgi"/> <param name="soapmethodprecommit" value="phaidraHookPreCommit"/> <param name="soapmethodpostcommit" value="phaidraHookPostCommit"/> <param name="modifyDatastreamByValue_PreCommit" value="true"/> <param name="modifyDatastreamByValue_PostCommit" value="true"/> <param name="modifyDatastreamByReference_PreCommit" value="true"/> <param name="modifyDatastreamByReference_PostCommit" value="true"/> <param name="addDatastream_PreCommit" value="true"/> <param name="addDatastream_PostCommit" value="true"/> </module>

  6. Repository Security: Fedora Hooks III • Beispiele in Phaidra für preCommit-Validation:Metadata-ValidationsetStatus ‘A’ • Beispiele in Phaidra für postCommit-Generation:DC aus Metadaten generierenPOLICY aus RIGHTS generieren: <uwr:rights xmlns:uwr="http://phaidra.univie.ac.at/XML/V1.0/rights"> <uwr:allow> <uwr:username expires=”2008-01-01”>tw</uwr:username> </uwr:allow> </uwr:rights>

  7. Weitere Fedora-Erweiterungen • LDAP-Simplebind-ServletFilter • DB-Query-ServletFilter • AccessServlet: HTTP-Authentifizierung bei XACML-Deny • getDissemination: param0:/fedora/get/o:4711/bdef:Content/get/example1.html&foo=bar ->/fedora/get/o:4711/bdef:Content/get?param0=example1.html&foo=bar

  8. Metadaten-Schema • Entwickelt von einer Arbeitsgruppe der Universitätsbibliothek • Modifiziertes LOM-Schema (Learning Object Metadata) • Fakultäten können zusätzliche Metadaten zu ihren Objekten speichern • Klassifikation nach beliebigen Klassifikations-Datenbanken möglich • Wird als XML-Datastream mit jedem Objekt gespeichert • DC wird automatisch bei jeder Änderung generiert

  9. Single File Collection Container 1 Content-DS: Bild, Dokument, ... Kein Content, aber Mitglieder (RELS-EXT) Mehrere Content-DS Content Models - Objektgruppen

  10. Content Models - Objekte • Objektgruppen: Single File, Container, Collection • Objekttypen (“Content Model”): Bild, Dokument, Audio, Video, Ressource, aber auch Container und Collection • Aufbau eines typischen Phaidra-Objekts: bdef:Asset DC POLICY RELS-EXT OCTETS UWMETADATA RIGHTS STYLESHEET THUMBNAIL

  11. Content Models - Behaviour Definitions • Jedem Objekt gemeinsam: bdef:Asset:getUWMETADATA, getDC, getTHUMBNAIL, getSTYLESHEET, getObjectInfo, view • Zentral: bdef:Asset/view: erzeugt mittels XSLT aus getObjectInfo und getSTYLESHEET ein HTML-Dokument, das im Browser angezeigt wird.“Externe Ansicht” - http://phaidra.univie.ac.at/o:4711 • Stylesheet Benutzer-Änderbar

  12. Content Models - Behaviour Definitions II • Weitere BDefs:bdef:Content: get und download • Abhängig vom Objekttyp z.B.:bdef:ImageManipulator/resizeImage?width=640&height=480bdef:Audio/stream?format=mp3bdef:Video/stream?format=flvbdef:Document/getPDF... • Implementation maßgeschneidert abhängig vom Objekt- und MIME-Typ durch unterschiedliche Behaviour Mechanisms

  13. Features “Phaidra Core” • Maschinenschnittstelle • Suchmöglichkeiten: Volltext, Metadaten, “Google-Suche”, Browse • Metadaten: Schema für Fakultäten erweiterbar • User-Interface: vollständig lokalisiert in Deutsch und Englisch, Benutzerfreundlichkeit • Durchgehend Unicode (UTF-8) • Rechtemanagement: Vergabe von Rechten für einzelne Benutzer, Benutzergruppen, Institute und Fakultäten. Rechte können ablaufen. • Versionsverwaltung: über RELS-EXT, auch in der “externen Ansicht” verfügbar

  14. Status “Phaidra Core” • Entwicklung mit Ende November weitgehend abgeschlossen • Testphase mit Pilotpartnern ab Dezember 2007 • Regelbetrieb geplant ab März 2008

  15. Ausblick: "Anwendungen" • Image Viewer: Bildbetrachter für sehr große Bilder (> 100 MB) im Web-Browser • eBook-Viewer: Browser für Objekte vom Typ “Digitalisiertes Buch” • Weitere Ideen: Speichern und Wiedergabe von Molekülen in digitaler Form (Fakultät für Chemie), Speichern von bereits existierenden “Physlets” (Fakultät für Physik), ... Anwendungen Phaidra Core

  16. Abschließend: Erfahrungen mit eingesetzten Technologien • Web-Frontend: mod_perl-Anwendung • Catalyst: MVC-Framework für PerlModel: DBIx::Class als ORM, eigenes Model für Fedora (Facade)View: Template::Toolkit • Fedora 2.2.1 auf Linux 2.6, Tomcat 5.5.20, Apache 2.2.3 als Frontend-Server • Datenbanken: Oracle 10 und MySQL 5.0.32

More Related