WebDAV - Apache.org

Transcription

WebDAV - Apache.org
<Cocoon Day="2003-Nov-18" />
Cocoon & WebDAV
Guido Casper
Competence Center Open Source
S&N AG
Open Source
WebDAV
Agenda
Einführung WebDAV / History
Anwendungsfälle / Funktionalitäten
Technische Vorteile
Anwendungsfälle für Cocoon
Komponenten
24.11.2003
2
Open Source
WebDAV
WebDAV History
Tom Berners-Lee‘s Vision: das WWW ein
gemeinschaftlich genutztes lesbares und
schreibbares Medium
1990 Prototyp eines Web Editors/Browsers
“WorldWideWeb“ (später Nexus)
Editieren im Filesystem
NCSA Mosaic “Browse“
1995/1996 Netscape Navigator Gold
Edit/Publish von Webseiten
24.11.2003
3
Open Source
WebDAV
WebDAV History
Formierung einer Working Group der IETF
Erweiterungen des HTTP Protokolls
WebDAV
RFC 2518 – HTTP Extensions for distributed
Authoring – WebDAV
Keine Versionierung
Separate Working Group für Versionierung
Weitere Working Groups
24.11.2003
4
WebDAV
Open Source
Anwendungsfälle
Gemeinschaftliches Bearbeiten von Dokumenten im
Web (verteiltes Editieren)
Software-Entwicklung
Web-basiertes Netzwerk-Dateisystem
Folder-Strukturen im zentralen Repsitory
Metadaten
Content Management
WebDAV als zentrales Content-Repository
WebDAV als verteiltes Content-Repository
Verteiltes Dokumenten-Management
“We cannot emphasize enough that the consolidation of all data repositories
into a single enterprise directory within even the smallest of organizations is not
likely to happen in our lifetimes“
Clayton Donley
24.11.2003
5
Open Source
WebDAV
Funktionen
WebDAV
Locking
Namespace Operationen
Verwaltung beliebiger XML-basierter Metadaten
DeltaV
Checkout/Checkin
Auto-Versionierung
Versionshistorie
WebDAV ACL
Zugriffskontrolle
24.11.2003
6
Open Source
WebDAV
Funktionen
DASL
Server-seitige Suche
Binding
Ähnlich wie hardlinks in Unix-Dateisystemen
Quotas
Volumen-Beschränkungen
Advanced Collections
Server-seitige Sortierung
24.11.2003
7
WebDAV
Open Source
Funktionen
DeltaV
DASL
ACL
11 methods
SEARCH
ACL,REPORT
...
WebDAV (Distributed Authoring Protocol)
PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE
HTTP (HyperText Transfer Protocol)
GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS
24.11.2003
8
Open Source
WebDAV
WebDAV Server
Apache 2.0
Subversion
Apache Slide
Tamino WebDAV Server
Oracle Internet File System
Microsoft
Internet Information Server
Exchange Server
Sharepoint Portal Server
Xythos Webfile Server
Catacomb
Zope
Cocoon
24.11.2003
9
Open Source
WebDAV
WebDAV Clients
XML Spy
XMetal
Microsoft
Office
Internet Explorer
Windows Explorer
Adobe
GoLive
Photoshop
Macromedia Dreamweaver
WebDrive
DAVfs
Cocoon
24.11.2003
10
Open Source
24.11.2003
WebDAV
11
Open Source
WebDAV
Vorteile
Einfach
Erweiterbar
Properties verwenden und erweitern
Wiederverwendung der HTTP Infrastruktur
Authentisierung
Verschlüsselung
Firewalls/Proxies
Betrieb im Intranet oder Internet
Weitverbreitete Unterstützung
Medien-neutral
Verfügbares Know-How
Interoperabel !!!
Austauschbar
24.11.2003
12
Open Source
WebDAV
Cocoon und WebDAV
Cocoon als Basis für ein XML-basiertes Content
Management System
Cocoon als Publishing Engine und WebDAV als
Content Repository
Cocoon als WebDAV Server
24.11.2003
13
Open Source
WebDAV
Cocoon und WebDAV
Content Erfassung:
WebDAV Server
per WebDAV
Preview
Cocoon
Staging
per Browser
Cocoon
Release
Publish
Live
Cocoon
Cocoon
Cocoon
24.11.2003
14
Open Source
WebDAV
Pseudo-Protokolle
file:
<map:match pattern="contentA">
<map:generate src="content/contentA.xml"/>
<map:transform src="styles/2html.xsl"/>
<map:serialize type="html"/>
</map:match>
http:
<map:match pattern="contentA">
<map:generate src="http://webserver/content/contentA.xml"/>
<map:transform src="http://webserver/styles/2html.xsl"/>
<map:serialize type="html"/>
</map:match>
webdav:
<map:match pattern="contentA">
<map:generate src="webdav://webdavserver/content/contentA.xml"/>
<map:transform src="webdav://webdavserver/styles/2html.xsl"/>
<map:serialize type="html"/>
</map:match>
24.11.2003
15
Open Source
WebDAV
Content schreiben
24.11.2003
16
Open Source
WebDAV
Content schreiben
Die Pipeline:
<map:match pattern="write/contentA">
<map:generate type="request"/>
<map:transform src="styles/request2writesource.xsl"/>
<map:transform type="write-source"/>
<map:serialize type="xml"/>
</map:match>
Der SourceWritingTransformer:
<source:write create="true">
<source:source>content/contentA.xml</source:source>
<source:fragment>
<page>
<title>Titel</title>
<content>
Inhalt des Paragraphen
</content>
</page>
</source:fragment>
</source:write>
24.11.2003
17
Open Source
WebDAV
Cocoon-Komponenten für WebDAV
WebDAVSource
SourceWritingTransformer
SourcePropsWritingTransformer
(Traversable)SourceDescriptionGenerator
DASLTransformer
24.11.2003
18
Open Source
WebDAV
Referenzen
> cocoon servlet
http://localhost:8888/samples/webdav/
http://wiki.cocoondev.org/Wiki.jsp?page=WebDAVBlock
http://httpd.apache.org/docs-2.0/mod/mod_dav.html
http://www.webdav.org
24.11.2003
19
Open Source
WebDAV
Fragen ?
24.11.2003
20