incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ksch...@apache.org
Subject svn commit: r1206884 [4/4] - in /incubator/ooo/ooo-site/trunk/content/ucb/docs: ./ ucp-ref/
Date Sun, 27 Nov 2011 22:36:59 GMT
Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/odma-ucp.html
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/odma-ucp.html?rev=1206884&view=auto
==============================================================================
--- incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/odma-ucp.html (added)
+++ incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/odma-ucp.html Sun Nov 27 22:36:56 2011
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+	<TITLE></TITLE>
+	<META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
+	<META NAME="AUTHOR" CONTENT="Ocke Janssen">
+	<META NAME="CREATED" CONTENT="20020304;14253800">
+	<META NAME="CHANGEDBY" CONTENT="Ocke Janssen">
+	<META NAME="CHANGED" CONTENT="20020322;13284473">
+	<STYLE>
+	<!--
+		@page { margin: 2cm }
+		P { margin-bottom: 0.21cm }
+		H1 { margin-bottom: 0.21cm }
+		H1.western { font-family: "Albany", sans-serif; font-size: 16pt }
+		H1.cjk { font-size: 16pt }
+		H1.ctl { font-size: 16pt }
+		H2 { margin-bottom: 0.21cm }
+		H2.western { font-family: "Albany", sans-serif; font-size: 14pt; font-style: italic }
+		H2.cjk { font-size: 14pt; font-style: italic }
+		H2.ctl { font-size: 14pt; font-style: italic }
+		TD P { margin-bottom: 0.21cm }
+		TH P { margin-bottom: 0.21cm; font-style: italic }
+		P.code-western { margin-bottom: 0.1cm; font-size: 8pt }
+		P.code-cjk { margin-bottom: 0.1cm }
+		P.code-ctl { margin-bottom: 0.1cm }
+	-->
+	</STYLE>
+</HEAD>
+<BODY LANG="de-DE">
+<H1 CLASS="western">The ODMA Provider</H1>
+<H2 CLASS="western">Preface</H2>
+<P>The ODMA Content Provider (OCP) implements a Content Provider for
+the Universal Content Broker (UCB). It provides access to a document
+structure stored in a Document Management System (DMS).</P>
+<H2 CLASS="western">OCP Content</H2>
+<P>The OCP Content provides two types of content; the document and
+the <B>Root Folder</B>.</P>
+<OL>
+	<LI><P>The document Content corresponds to a document stored in the
+	DMS.</P>
+	<LI><P>The Root Folder exists at any time and is used to show all
+	documents avaible at that time. All other OCP contents are children
+	of this folder. The OCP Root Folder can only contain OCP Documents.
+	It has the URL &bdquo;<B>vnd.sun.star.odma:/</B>&ldquo;.</P>
+</OL>
+<H2 CLASS="western"><SPAN ID="Frame1" STYLE="float: left; width: 7cm; height: 5.5cm; border: none; padding: 0cm; background: #ffffff">
+	<P STYLE="margin-top: 0.21cm"><IMG SRC="./odma-ucp.gif" NAME="Graphic1" ALIGN=LEFT WIDTH=100% BORDER=0><BR CLEAR=LEFT><BR><BR>
+	</P>
+</SPAN><BR CLEAR=LEFT>Creation of new OCP Contents
+</H2>
+<P>OCP Folders implement the interface XContentCreator. OCP Root
+Folder supports the command &bdquo;insert&ldquo;. That's why the OCP
+Root Folder can create new OCP Streams. To create a new OCP Streams:</P>
+<OL>
+	<LI><P>Let the root folder create a new content by calling its
+	createNewContent-method. The content type to use for new streams is
+	<B>application/vnd.sun.star.odma</B>.</P>
+	<LI><P STYLE="font-weight: medium">Set a title at the new stream. (
+	Let the new child execute a setPropertyValues &ndash; command, which
+	sets at least the property &bdquo;Title&ldquo; to a non-empty value
+	).</P>
+	<LI><P STYLE="font-weight: medium">Other properties which may be set
+	are 
+	</P>
+</OL>
+<UL>
+	<LI><P STYLE="font-weight: medium">Author,</P>
+	<LI><P STYLE="font-weight: medium">Subject and</P>
+	<LI><P STYLE="font-weight: medium">Keywords</P>
+</UL>
+<OL START=4>
+	<LI><P STYLE="font-weight: medium">Let the new child ( not the
+	parent! ) execute the command &bdquo;transfer&ldquo;. This will
+	commit the creation process. You need to supply the implementation
+	of an XInputStream with the command's parameters, that provides
+	access to the stream data. 
+	</P>
+</OL>
+<H2 CLASS="western">URL Scheme for OCP Contents</H2>
+<P>Each OCP content has an identifier corresponding to the following
+scheme:</P>
+<P>vnd.sun.star.odma:/&lt;name&gt;</P>
+<P>where &lt;name&gt; is the DocumentID given by the DMS.</P>
+<P STYLE="font-weight: medium">Examples:</P>
+<P><B>vnd.sun.star.odma:/ </B><SPAN STYLE="font-weight: medium">( The
+URL of the OCP Root Folder )</SPAN></P>
+<P STYLE="font-weight: medium"><B>vnd.sun.star.odma:/</B> a document
+id given by the DMS</P>
+<P><B>vnd.sun.star.odma:/</B><SPAN STYLE="font-weight: medium">::ODMA\DMS_ID\DM_SPECIFIC_INFO</SPAN></P>
+<H2 CLASS="western">Appendix</H2>
+<P STYLE="font-weight: medium">The following table gives an overview
+of the different OCP contents.</P>
+<P STYLE="font-weight: medium"><BR><BR>
+</P>
+<TABLE WIDTH=642 BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
+	<COL WIDTH=48>
+	<COL WIDTH=168>
+	<COL WIDTH=120>
+	<COL WIDTH=128>
+	<COL WIDTH=136>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TH WIDTH=48>
+				<P><BR>
+				</P>
+			</TH>
+			<TH WIDTH=168>
+				<P>UCB Type</P>
+				<P>(returned by XContent::getContentType )</P>
+			</TH>
+			<TH WIDTH=120>
+				<P>Properties</P>
+			</TH>
+			<TH WIDTH=128>
+				<P>Commands</P>
+			</TH>
+			<TH WIDTH=136>
+				<P>Interfaces</P>
+			</TH>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=48>
+				<P>Document</P>
+			</TD>
+			<TD WIDTH=168>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">application/vnd.sun.star.odma</P>
+			</TD>
+			<TD WIDTH=120>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] DateCreated</P>
+				<P>[readonly] DateModified</P>
+				<P>[readonly] IsDocument</P>
+				<P>[readonly] IsFolder</P>
+				<P STYLE="font-style: normal; font-weight: medium">Title</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">Author</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">Subject</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">Keywords</P>
+			</TD>
+			<TD WIDTH=128>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>delete</P>
+				<P>open</P>
+				<P>close</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium"><BR>
+				</P>
+			</TD>
+			<TD WIDTH=136>
+				<P>lang::<B>XTypeProvider</B>,</P>
+				<P>lang::<B>XServiceInfo</B></P>
+				<P>lang::<B>XComponent</B></P>
+				<P>ucb::<B>XContent</B></P>
+				<P>ucb::<B>XCommandProcessor</B></P>
+				<P>beans::<B>XPropertiesChangeNotifier</B></P>
+				<P>beans::<B>XPropertyContainer</B></P>
+				<P>beans::<B>XPropertySetInfoChangeNotifier</B></P>
+				<P>ucb::<B>XCommandInfoChangeNotifier</B></P>
+				<P>container::<B>XChild</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TH WIDTH=48>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">Root
+				Folder</P>
+			</TH>
+			<TD WIDTH=168>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">application/vnd.sun.star.odma</P>
+			</TD>
+			<TD WIDTH=120>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] DateCreated</P>
+				<P>[readonly] DateModified</P>
+				<P>[readonly] IsDocument</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">[readonly]
+				IsFolder</P>
+			</TD>
+			<TD WIDTH=128>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>transfer</P>
+				<P>delete</P>
+				<P>open</P>
+				<P ALIGN=LEFT STYLE="font-style: normal; font-weight: medium">close</P>
+			</TD>
+			<TD WIDTH=136>
+				<P><B>same as OCP Folder</B>, plus 
+				</P>
+				<P>ucb::<B>XContentCreator</B></P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P><BR><BR>
+</P>
+<P>More information about ODMA can be found at
+<A HREF="http://www.infonuovo.com/odma/">www.infonuovo.com/odma/</A></P>
+<P>To enable ODMA the following basic macro has to executed to insert
+the settings needed in the Configuration.</P>
+<pre>
+EM  *****  BASIC  *****
+
+' Option Explicit
+
+Sub RegisterUcpOdma
+	Dim aConfigProvider As Object
+	Dim aConfiguration As Object
+	Dim aFilters as Object
+	Dim aNewNode as Object
+	Dim nResponse as Integer
+	Dim bAddNode as Boolean
+
+	' access the global configuration provider
+	aConfigProvider = createUnoService( "com.sun.star.configuration.ConfigurationProvider" )
+	
+	' create an access object for TypeDetection module
+	Dim aParams(0) As new com.sun.star.beans.PropertyValue
+	aParams(0).Name = "nodepath"
+	aParams(0).Value = "/org.openoffice.ucb.Configuration"
+	aConfiguration = aConfigProvider.createInstanceWithArguments( _
+		"com.sun.star.configuration.ConfigurationUpdateAccess", _
+		aParams() )
+
+	' open the set node for the types
+	aContentProviders = aConfiguration.getByName( "ContentProviders" )
+	aContentProvidersDataPrimaryKeys = aContentProviders.getByName( "Local" )
+	aSecondaryKeys = aContentProvidersDataPrimaryKeys.getByName( "SecondaryKeys" )
+	aContentProvidersDataSecondaryKeys = aSecondaryKeys.getByName( "Office" )
+	aProviderData =  aContentProvidersDataSecondaryKeys.getByName( "ProviderData" )
+
+	' existence check
+	bAddNode = TRUE
+	dim xx() as string
+	xx() = aProviderData.getElementNames
+	for i=LBOUND(xx) to UBOUND(xx)
+		aContentProviderData = aProviderData.getByName( xx(i) )
+		if ( aContentProviderData.ServiceName = "com.sun.star.ucb.OdmaContentProvider" ) Then
+			nResponse = MsgBox( "The type is already present in the configuration! Overwrite?", 4 )
+			if ( 6 = nResponse ) Then
+				aProviderData.removeByName( xx(i) )
+			Else
+				bAddNode = FALSE
+			End If
+		End If
+	next i
+
+	if ( bAddNode ) Then
+		' create a new node for the new type
+		aContentProviderData = aProviderData.createInstance( )
+		' fill this new type node
+		aContentProviderData.ServiceName = "com.sun.star.ucb.OdmaContentProvider"
+		aContentProviderData.URLTemplate = "vnd.sun.star.odma"
+		' insert this new type
+		aProviderData.insertByName( "Provider" + (UBOUND(xx) - LBOUND(xx) + 2), aContentProviderData )
+	End If
+
+
+	' commit the changes done
+	aConfiguration.commitChanges( )
+
+	' register the component implementing the filter
+' 	RegisterFilterComponent( )
+End Sub
+
+Sub RegisterFilterComponent
+	Dim oRegistry as Object
+	Dim oImplReg as Object
+	oRegistry = createUnoService( "com.sun.star.registry.SimpleRegistry" )
+	oImplReg = createUnoService( "com.sun.star.registry.ImplementationRegistration" )
+	if ( IsNull( oRegistry ) Or IsNull( oImplReg ) ) Then
+		MsgBox "could not create the components necessary for registering the component!"
+		Exit Sub
+	End If
+
+	On Local Error Resume Next
+	oRegistry.open( "applicat.rdb", FALSE, FALSE )
+	if ( Not oRegistry.IsValid() ) Then
+		MsgBox "could not open the registry!"
+		Exit Sub
+	End If
+	On Local Error Goto 0
+
+	oImplReg.registerImplementation( "com.sun.star.loader.SharedLibrary", "ucpodma1.dll", oRegistry )
+End Sub
+
+</pre>
+</P>
+</BODY>
+</HTML>

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/odma-ucp.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-contents.gif
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-contents.gif?rev=1206884&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-contents.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-ucp.html
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-ucp.html?rev=1206884&view=auto
==============================================================================
--- incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-ucp.html (added)
+++ incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-ucp.html Sun Nov 27 22:36:56 2011
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
+	<TITLE></TITLE>
+	<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Win32)">
+	<META NAME="AUTHOR" CONTENT="Kai Sommerfeld">
+	<META NAME="CREATED" CONTENT="20000714;12280562">
+	<META NAME="CHANGEDBY" CONTENT="Kai Sommerfeld">
+	<META NAME="CHANGED" CONTENT="20010516;11055191">
+	<STYLE>
+	<!--
+		@page { size: 21cm 29.7cm; margin: 2cm }
+		H1 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 16pt }
+		TH P { margin-bottom: 0.21cm; font-style: italic }
+		TD P { margin-bottom: 0.21cm }
+		H2 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic }
+		P { margin-bottom: 0.21cm }
+		A.sdfootnoteanc { font-size: 57% }
+	-->
+	</STYLE>
+</HEAD>
+<BODY>
+<H1>The Package Content Provider</H1>
+<H2>Preface</H2>
+<P>The Package Content Provider ( PCP ) implements a Content Provider
+for the Universal Content Broker (UCB). It provides access to the
+content of ZIP/JAR archive files. Possibly it will be extended to
+support other packages ( like OLE storages ) in the future.</P>
+<H2>PCP Contents</H2>
+<P>The PCP provides two different types of contents: <B>Stream </B><SPAN STYLE="font-weight: medium">and
+</SPAN><B>Folder</B>.</P>
+<OL>
+	<LI><P>A PCP Stream is a content which represents a file inside a
+	package. It is always contained in a PCP Folder. A PCP Stream has no
+	children.</P>
+	<LI><P>A PCP Folder is a container for other PCP Folders and PCP
+	Streams.</P>
+</OL>
+<H2><IMG SRC="package-contents.gif" NAME="Object1" ALIGN=LEFT WIDTH=533 HEIGHT=276 BORDER=0><BR CLEAR=LEFT>Creation
+Of New PCP Contents</H2>
+<P>PCP Folders implement the interface XContentCreator. PCP Streams
+and PCP Folders support the command &#132;insert&#147;. That's why
+all PCP Folders can create new PCP Folders and PCP Streams. To create
+a new child of a PCP Folder:</P>
+<OL>
+	<LI><P>Let the parent folder create a new content by calling its
+	createNewContent-method. The content type to use for new folders is
+	<B>application/vnd.sun.star.pkg-folder</B><SPAN STYLE="font-weight: medium">.
+	To create a new stream, use the type string
+	</SPAN><B>application/vnd.sun.star.pkg-stream</B><SPAN STYLE="font-weight: medium">.</SPAN></P>
+	<LI><P STYLE="font-weight: medium">Set a title at the new
+	folder/stream. ( Let the new child execute a setPropertyValues &#150;
+	command, which sets at least the property &#132;Title&#147; to a
+	non-empty value ).</P>
+	<LI><P STYLE="font-weight: medium">Let the new child ( not the
+	parent! ) execute the command &#132;insert&#147;. This will commit
+	the creation process. For Streams, you need to supply the
+	implementation of an XInputStream with the command's parameters,
+	that provides access to the stream data. 
+	</P>
+</OL>
+<P><BR><BR>
+</P>
+<P STYLE="font-weight: medium">Another, <B>more convenient way for
+creating streams</B> is simply to assemble the URL for the new
+content ( last part of the path will become the title of the new
+stream ) and to obtain a Content object for that URL from the UCB.
+Then let the content execute the command &quot;insert&quot;. The
+command will fail, if you set the command's parameter
+&quot;ReplaceExisting&quot; to false and there is already a stream
+with the title given by the content's URL.</P>
+<H2>URL Scheme for PCP Contents</H2>
+<P>Each PCP content has an identifier corresponding to the following
+scheme:</P>
+<P><FONT FACE="Courier New, monospace">package-URL =
+&quot;vnd.sun.star.pkg://&quot; orig-URL [ abs-path ]</FONT></P>
+<P><FONT FACE="Courier New, monospace">abs-path = &quot;/&quot;
+path-segments</FONT></P>
+<P><FONT FACE="Courier New, monospace">path-segements = segment *(
+&quot;/&quot; segment )</FONT></P>
+<P><FONT FACE="Courier New, monospace">segment = pchar</FONT></P>
+<P><FONT FACE="Courier New, monospace">pchar = unreserved | escaped |
+&quot;:&quot; | &quot;@&quot; | &quot;&amp;&quot; | &quot;=&quot; |
+&quot;+&quot; | &quot;$&quot; | &quot;,&quot;</FONT></P>
+<P><FONT FACE="Courier New, monospace">unreserved = alphanum | mark</FONT></P>
+<P><FONT FACE="Courier New, monospace">mark = &quot;-&quot; | &quot;_&quot;
+| &quot;.&quot; | &quot;!&quot; | &quot;~&quot; | &quot;*&quot; | &quot;'&quot;
+| &quot;(&quot; | &quot;)&quot;</FONT></P>
+<P><FONT FACE="Courier New, monospace">escaped = &quot;%&quot; hex
+hex</FONT></P>
+<P><FONT FACE="Courier New, monospace">orig-URL = 1 *( unreserved |
+escaped | &quot;$&quot; | &quot;,&quot; | &quot;;&quot; | &quot;:&quot;
+| &quot;@&quot; | &quot;&amp;&quot; | &quot;&amp;&quot; | &quot;=&quot;
+| &quot;+&quot;</FONT></P>
+<P><B>Examples:</B></P>
+<P><SPAN STYLE="font-weight: medium"><B>vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/
+</B>( The root folder of the package located at <A HREF="../../../../../my.xsw">file:///e:/my.xsw</A>
+)</SPAN></P>
+<P><SPAN STYLE="font-weight: medium"><B>vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content</B>
+( The folder/stream named &quot;Content&quot; that is contained in
+the root folder of the located at <A HREF="../../../../../my.xsw">file:///e:/my.xsw</A>
+)</SPAN></P>
+<P><SPAN STYLE="font-weight: medium"><B>vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/Content%20A</B>
+( The folder/stream named &quot;Content A&quot; that is contained in
+the root folder of the located at <A HREF="../../../../../my.xsw">file:///e:/my.xsw</A>
+)</SPAN></P>
+<H2 STYLE="page-break-before: always">Appendix</H2>
+<P>The following table gives an overview of the different PCP
+contents.</P>
+<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
+	<COL WIDTH=23*>
+	<COL WIDTH=64*>
+	<COL WIDTH=67*>
+	<COL WIDTH=51*>
+	<COL WIDTH=51*>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TH WIDTH=9%>
+				<P><BR>
+				</P>
+			</TH>
+			<TH WIDTH=25%>
+				<P>UCB Type</P>
+				<P>(returned by XContent::getContentType )</P>
+			</TH>
+			<TH WIDTH=26%>
+				<P>Properties</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P>Commands</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P>Interfaces</P>
+			</TH>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=9%>
+				<P>Stream</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P>application/vnd.sun.star.pkg-stream</P>
+			</TD>
+			<TD WIDTH=26%>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] IsDocument</P>
+				<P>[readonly] IsFolder</P>
+				<P>MediaType</P>
+				<P>[readonly] Size</P>
+				<P>Title</P>
+				<P>Compressed<A CLASS="sdfootnoteanc" NAME="sdfootnote1anc" HREF="#sdfootnote1sym"><SUP>1</SUP></A></P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>insert</P>
+				<P>delete</P>
+				<P>open</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>lang::<B>XTypeProvider</B>,</P>
+				<P>lang::<B>XServiceInfo</B>,</P>
+				<P>lang::<B>XComponent</B>,</P>
+				<P>ucb::<B>XContent</B>,</P>
+				<P>ucb::<B>XCommandProcessor</B>,</P>
+				<P>beans::<B>XPropertiesChangeNotifier</B>,</P>
+				<P>beans::<B>XPropertyContainer</B>,</P>
+				<P>beans::<B>XPropertySetInfoChangeNotifier</B>,</P>
+				<P>ucb::<B>XCommandInfoChangeNotifier</B>,</P>
+				<P>container::<B>XChild</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=9%>
+				<P>Folder</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P>application/vnd.sun.star.pkg-folder</P>
+			</TD>
+			<TD WIDTH=26%>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] IsDocument</P>
+				<P>[readonly] IsFolder</P>
+				<P>MediaType</P>
+				<P>[readonly] Size</P>
+				<P>Title 
+				</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>insert</P>
+				<P>delete</P>
+				<P>open</P>
+				<P>transfer<A CLASS="sdfootnoteanc" NAME="sdfootnote2anc" HREF="#sdfootnote2sym"><SUP>2</SUP></A></P>
+				<P>flush<A CLASS="sdfootnoteanc" NAME="sdfootnote3anc" HREF="#sdfootnote3sym"><SUP>3</SUP></A></P>
+			</TD>
+			<TD WIDTH=20%>
+				<P><B>same as PCP Stream</B></P>
+				<P>plus ucb::<B>XContentCreator</B></P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P><BR><BR>
+</P>
+<DIV ID="sdfootnote1">
+	<P STYLE="font-weight: medium"><A CLASS="sdfootnotesym" NAME="sdfootnote1sym" HREF="#sdfootnote1anc">1</A>The
+	property &quot;Compressed&quot; is introduced by package streams. It
+	allows you to explecitly state whether you want a stream to be
+	compressed or not. The default value of this property will be
+	determined according to the value suggested by the underlying
+	packager implementation.</P>
+</DIV>
+<DIV ID="sdfootnote2">
+	<P STYLE="font-weight: medium"><A CLASS="sdfootnotesym" NAME="sdfootnote2sym" HREF="#sdfootnote2anc">2</A>The
+	&#132;transfer&#147; command only transfers PCP-folders/-streams to
+	other PCP folders. It does not handle contents with a URL scheme
+	other then the PCP-URL-scheme.</P>
+</DIV>
+<DIV ID="sdfootnote3">
+	<P STYLE="font-weight: medium"><A CLASS="sdfootnotesym" NAME="sdfootnote3sym" HREF="#sdfootnote3anc">3</A>&quot;flush&quot;
+	is a command introduced by the PCP Folder. It takes a void-argument
+	and returns void. This command is used to write unsaved changes to
+	the underlying package file. Note that the current implementation of
+	PCP <B>contents never flush automatically</B>! Operations, which
+	require a flush to get persistent, are: &quot;setPropertyValues(
+	Title | MediaType ) &quot;, &quot;delete&quot;, &quot;insert&quot;.</P>
+</DIV>
+</BODY>
+</HTML>
\ No newline at end of file

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/package-ucp.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-contents.gif
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-contents.gif?rev=1206884&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-contents.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-ucp.html
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-ucp.html?rev=1206884&view=auto
==============================================================================
--- incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-ucp.html (added)
+++ incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-ucp.html Sun Nov 27 22:36:56 2011
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
+	<TITLE></TITLE>
+	<META NAME="GENERATOR" CONTENT="StarOffice 7  (Win32)">
+	<META NAME="AUTHOR" CONTENT="Kai Sommerfeld">
+	<META NAME="CREATED" CONTENT="20000714;12280500">
+	<META NAME="CHANGED" CONTENT="20040219;9184776">
+	<STYLE>
+	<!--
+		@page { size: 21cm 29.7cm; margin: 2cm }
+		P { margin-bottom: 0.21cm }
+		H1 { margin-bottom: 0.21cm }
+		H1.western { font-family: "Arial", sans-serif; font-size: 16pt }
+		H1.cjk { font-family: "Andale Sans UI"; font-size: 12pt; font-weight: medium }
+		H1.ctl { font-family: "Tahoma"; font-size: 12pt; font-weight: medium }
+		H2 { margin-bottom: 0.21cm }
+		H2.western { font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic }
+		H2.cjk { font-family: "Andale Sans UI"; font-size: 12pt; font-weight: medium }
+		H2.ctl { font-family: "Tahoma"; font-size: 12pt; font-weight: medium }
+		TD P { margin-bottom: 0.21cm }
+		TH P { margin-bottom: 0.21cm }
+		TH P.western { font-style: italic }
+		TH P.cjk { font-weight: medium }
+		TH P.ctl { font-weight: medium }
+	-->
+	</STYLE>
+</HEAD>
+<BODY LANG="de-DE" DIR="LTR">
+<H1 LANG="en-US" CLASS="western">The Transient Document Content
+Provider</H1>
+<P LANG="en-US"><BR><BR>
+</P>
+<H2 LANG="en-US" CLASS="western">Preface</H2>
+<P LANG="en-US">The Transient Document Content Provider (TDCP)
+implements a Content Provider for the Universal Content Broker (UCB).
+It provides access to the hierachical structure of the documents that
+are active in a running OpenOffice.org process. As long as a document
+was not closed, the TDCP can access it. All documents that have been
+loaded &ndash; regardless of their persistent document format--- or
+that have been created but not yet saved to any storage medium, are
+supported. The TDCP is not able to load any documents itself. This is
+exclusively done by the OpenOffice.org document handling framework.
+The document contents provided by the TDCP represent live data, which
+may differ from any persistent representation of the document, for
+instance, because the user modified the document after loading, but
+did not yet save it.</P>
+<H2 LANG="en-US" CLASS="western">TDCP Contents</H2>
+<P LANG="en-US">The TDCP provides four different types of contents:
+<B>Stream</B>, <B>Folder, Document </B>and <B>Root</B>.</P>
+<OL>
+	<LI><P LANG="en-US">A TDCP Stream is a content which represents a
+	data stream of an Office document. It is  contained in a TDCP Folder
+	or TDCP Document. A TDCP Stream has no children.</P>
+	<LI><P LANG="en-US">A TDCP Folder is a container for other TDCP
+	Folders and TDCP Streams. It may be contained in another TDCP Folder
+	or in a TDCP Document.</P>
+	<LI><P LANG="en-US">A TDCP Document represents the root folder of a
+	transient document. It is a container for other TDCP Folders and
+	TDCP Streams. It is always a child of the TDCP Root.</P>
+	<LI><P LANG="en-US">There is at most one instance of a TDCP Root at
+	a time. All other TDCP contents are children of  this folder. The
+	TDCP Root Folder can contain only TDCP Documents. It has the fixed
+	URL &bdquo;<B>vnd.sun.star.tdoc:/</B><SPAN STYLE="font-weight: medium">&ldquo;.</SPAN></P>
+</OL>
+<P LANG="en-US"><BR><BR>
+</P>
+<P LANG="en-US"><IMG SRC="tdoc-contents.gif" NAME="DrawObject" ALT="DrawObject" ALIGN=LEFT><BR><BR>
+</P>
+<P LANG="en-US"><BR><BR>
+</P>
+<P LANG="en-US"><BR><BR>
+</P>
+<P LANG="en-US"><BR><BR>
+</P>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western"><BR><BR>
+</H2>
+<H2 LANG="en-US" CLASS="western">Creation Of New TDCP Contents</H2>
+<P LANG="en-US">TDCP Folders and TDCP Documents implement the
+interface XContentCreator. TDCP Streams and TDCP Folders support the
+command &bdquo;insert&ldquo;; the TDCP Root and TDCP Documents do
+not. TDCP Folders and TDCP Documents can create new TDCP Folders and
+TDCP Streams. To create a new child of a  TDCP Folder or TDCP
+Document:</P>
+<OL>
+	<LI><P LANG="en-US">Let the parent folder create a new content by
+	calling its createNewContent-method. The content type to use for new
+	folders is <B>application/vnd.sun.star.tdoc-folder</B><SPAN STYLE="font-weight: medium">.
+	To create a new stream, use the type string
+	</SPAN><B>application/vnd.sun.star.tdoc-stream</B><SPAN STYLE="font-weight: medium">.</SPAN></P>
+	<LI><P LANG="en-US" STYLE="font-weight: medium">Set a title at the
+	new folder/stream. ( Let the new child execute a setPropertyValues &ndash;
+	command, which sets at least the property &bdquo;Title&ldquo; to a
+	non-empty value ).
+	</P>
+	<LI><P LANG="en-US" STYLE="font-weight: medium">Let the new child (
+	not the parent! ) execute the command &bdquo;insert&ldquo;. This
+	will commit the creation process. For streams, you need to supply
+	the implementation of an XInputStream with the command's parameters,
+	that provides access to the stream data.</P>
+</OL>
+<P LANG="en-US"><BR><BR>
+</P>
+<P LANG="en-US" STYLE="font-weight: medium">Another, <B>more
+convenient way for creating streams</B> is simply to assemble the URL
+for the new content ( last part of the path will become the title of
+the new stream ) and to obtain a Content object for that URL from the
+UCB. Then let the content execute the command &quot;insert&quot;. The
+command will fail, if you set the command's parameter
+&quot;ReplaceExisting&quot; to false and there is already a stream
+with the title given by the content's URL.</P>
+<P LANG="en-US" STYLE="font-weight: medium"><BR><BR>
+</P>
+<H2 LANG="en-US" CLASS="western">URL Scheme for TDCP Contents</H2>
+<P LANG="en-US">Each TDCP content has an identifier corresponding to
+the following scheme:</P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">tdcp-URL      =
+&quot;vnd.sun.star.tdoc:&quot; abs-path</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">abs-path      =
++( &quot;/&quot; segment )</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">segment       =
+*( pchar )</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">pchar         =
+unreserved | escaped | &quot;:&quot; | &quot;@&quot; | &quot;&amp;&quot;
+| &quot;=&quot; </FONT>
+</P>
+<P LANG="en-US">                <FONT FACE="Courier New, monospace">|
+&quot;+&quot; | &quot;$&quot; | &quot;,&quot;</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">unreserved    =
+alphanum | mark</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">mark          =
+&quot;-&quot; | &quot;_&quot; | &quot;.&quot; | &quot;!&quot; | &quot;~&quot;
+| &quot;*&quot; | &quot;'&quot; | &quot;(&quot;</FONT></P>
+<P LANG="en-US">                <FONT FACE="Courier New, monospace">|
+&quot;)&quot;</FONT></P>
+<P LANG="en-US"><FONT FACE="Courier New, monospace">escaped       =
+&quot;%&quot; hex hex</FONT></P>
+<P LANG="en-US"><BR><BR>
+</P>
+<P LANG="en-US" STYLE="font-weight: medium">Examples:</P>
+<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
+	<COL WIDTH=159*>
+	<COL WIDTH=97*>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TH WIDTH=62%>
+				<P CLASS="western">URL</P>
+			</TH>
+			<TH WIDTH=38%>
+				<P CLASS="western">Comment</P>
+			</TH>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The TDCP Root
+				</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/22</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The document with the
+				id 22</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/22/</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The document with the
+				id 22</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/42/folder/subfolder</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The folder/stream
+				named subfolder contained in folder named folder, which is
+				contained in the document with the id 42</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/42/folder/subfolder/</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The folder named
+				subfolder contained in folder named folder, which is contained in
+				the document with the id 42 (final slash identifies that resource
+				is a folder)</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=62%>
+				<P LANG="en-US" STYLE="font-weight: medium"><FONT FACE="Courier New, sans-serif">vnd.sun.star.tdoc:/1/content.xml</FONT></P>
+			</TD>
+			<TD WIDTH=38%>
+				<P LANG="en-US" STYLE="font-weight: medium">The stream/folder
+				named content.xml contained in the document with the id 1</P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P LANG="en-US" STYLE="font-weight: medium"><BR><BR>
+</P>
+<H2 CLASS="western">Appendix</H2>
+<P LANG="en-US">The following table gives an overview of the
+different TDCP contents.</P>
+<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
+	<COL WIDTH=35*>
+	<COL WIDTH=54*>
+	<COL WIDTH=64*>
+	<COL WIDTH=51*>
+	<COL WIDTH=51*>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TH WIDTH=14%>
+				<P LANG="en-US" CLASS="western"><BR>
+				</P>
+			</TH>
+			<TH WIDTH=21%>
+				<P LANG="en-US" CLASS="western">UCB Type</P>
+				<P LANG="en-US" CLASS="western">(returned by
+				XContent::getContentType )</P>
+			</TH>
+			<TH WIDTH=25%>
+				<P LANG="en-US" CLASS="western">Properties</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P LANG="en-US" CLASS="western">Commands</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P LANG="en-US" CLASS="western">Interfaces</P>
+			</TH>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P LANG="en-US">Stream
+				</P>
+			</TD>
+			<TD WIDTH=21%>
+				<P LANG="en-US">application/vnd.sun.star.tdoc-stream</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P LANG="en-US">[readonly] string ContentType</P>
+				<P LANG="en-US">[readonly] boolean IsDocument</P>
+				<P LANG="en-US">[readonly] boolean IsFolder</P>
+				<P LANG="en-US">string Title</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US">getCommandInfo</P>
+				<P LANG="en-US">getPropertySetInfo</P>
+				<P LANG="en-US">getPropertyValues</P>
+				<P LANG="en-US">setPropertyValues</P>
+				<P LANG="en-US">insert</P>
+				<P LANG="en-US">delete</P>
+				<P LANG="en-US">open
+				</P>
+				<P LANG="en-US"><BR>
+				</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US">lang::<B>XTypeProvider</B>,</P>
+				<P LANG="en-US">lang::<B>XServiceInfo</B>,</P>
+				<P LANG="en-US">lang::<B>XComponent</B>,</P>
+				<P LANG="en-US">ucb::<B>XContent</B>,</P>
+				<P LANG="en-US">ucb::<B>XCommandProcessor</B>,</P>
+				<P LANG="en-US">beans::<B>XPropertiesChangeNotifier</B>,</P>
+				<P LANG="en-US">beans::<B>XPropertyContainer</B>,</P>
+				<P LANG="en-US">beans::<B>XPropertySetInfoChangeNotifier</B>,</P>
+				<P LANG="en-US">ucb::<B>XCommandInfoChangeNotifier</B>,</P>
+				<P LANG="en-US">container::<B>XChild</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P LANG="en-US">Folder</P>
+			</TD>
+			<TD WIDTH=21%>
+				<P LANG="en-US">application/vnd.sun.star.tdoc-folder</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P LANG="en-US">[readonly] string ContentType</P>
+				<P LANG="en-US">[readonly] boolean IsDocument</P>
+				<P LANG="en-US">[readonly] boolean IsFolder</P>
+				<P LANG="en-US">string Title</P>
+        <P LANG="en-US">[readonly] embed::XStorage Storage**</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US">getCommandInfo</P>
+				<P LANG="en-US">getPropertySetInfo</P>
+				<P LANG="en-US">getPropertyValues</P>
+				<P LANG="en-US">setPropertyValues</P>
+				<P LANG="en-US">insert</P>
+				<P LANG="en-US">delete</P>
+				<P LANG="en-US">open</P>
+				<P LANG="en-US">transfer*</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US"><B>same as TDCP Stream </B>
+				</P>
+				<P LANG="en-US">plus ucb::<B>XContentCreator</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P LANG="en-US">Document</P>
+			</TD>
+			<TD WIDTH=21%>
+				<P LANG="en-US">application/vnd.sun.star.tdoc-document</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P LANG="en-US">[readonly] string ContentType</P>
+				<P LANG="en-US">[readonly] boolean IsDocument</P>
+				<P LANG="en-US">[readonly] boolean IsFolder</P>
+				<P LANG="en-US">[readonly] string Title</P>
+        <P LANG="en-US">[readonly] frame::XModel DocumentModel</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US">getCommandInfo</P>
+				<P LANG="en-US">getPropertySetInfo</P>
+				<P LANG="en-US">getPropertyValues</P>
+				<P LANG="en-US">setPropertyValues</P>
+				<P LANG="en-US">open</P>
+				<P LANG="en-US">transfer*</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US"><B>same as TDCP Stream </B>
+				</P>
+				<P LANG="en-US">plus ucb::<B>XContentCreator</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P LANG="en-US">Root</P>
+			</TD>
+			<TD WIDTH=21%>
+				<P LANG="en-US">application/vnd.sun.star.tdoc-root</P>
+			</TD>
+			<TD WIDTH=25%>
+				<P LANG="en-US">[readonly] string ContentType</P>
+				<P LANG="en-US">[readonly] boolean IsDocument</P>
+				<P LANG="en-US">[readonly] boolean IsFolder</P>
+				<P LANG="en-US">[readonly] string Title (value: always an empty
+				string)</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US">getCommandInfo</P>
+				<P LANG="en-US">getPropertySetInfo</P>
+				<P LANG="en-US">getPropertyValues</P>
+				<P LANG="en-US">setPropertyValues</P>
+				<P LANG="en-US">open</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P LANG="en-US"><B>same as TDCP Stream (not Folder!)</B></P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P LANG="en-US" STYLE="font-weight: medium">*) The  &bdquo;transfer&ldquo;
+command only transfers TDCP documents, TDCP folders and TDCP streams
+to TDCP folders or TDCP documents. It does not handle contents with a
+URL scheme other than the TDOC URL scheme.</P>
+<P LANG="en-US" STYLE="font-weight: medium">**) always a reference to
+a storage opened in read-only mode. No write operations are possible.
+UCB content must be used for operations that modify the storage (if
+equivalent functionality is available) or a writable storage must be
+obtained from somewhere else.</P>
+</BODY>
+</HTML>

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/tdoc-ucp.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-contents.gif
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-contents.gif?rev=1206884&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-contents.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-ucp.html
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-ucp.html?rev=1206884&view=auto
==============================================================================
--- incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-ucp.html (added)
+++ incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-ucp.html Sun Nov 27 22:36:56 2011
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
+	<TITLE></TITLE>
+	<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Win32)">
+	<META NAME="AUTHOR" CONTENT="Kai Sommerfeld">
+	<META NAME="CREATED" CONTENT="20000714;12280562">
+	<META NAME="CHANGEDBY" CONTENT="Kai Sommerfeld">
+	<META NAME="CHANGED" CONTENT="20010516;12043631">
+	<STYLE>
+	<!--
+		@page { size: 21cm 29.7cm; margin: 2cm }
+		H1 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 16pt }
+		TH P { margin-bottom: 0.21cm; font-style: italic }
+		TD P { margin-bottom: 0.21cm }
+		H2 { margin-bottom: 0.21cm; font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic }
+		P { margin-bottom: 0.21cm }
+		P.sdfootnote { margin-left: 0.5cm; text-indent: -0.5cm; margin-bottom: 0cm; font-size: 10pt }
+		A.sdfootnoteanc { font-size: 57% }
+	-->
+	</STYLE>
+</HEAD>
+<BODY>
+<H1>The WebDAV Provider</H1>
+<H2>Preface</H2>
+<P>The WebDAV<A CLASS="sdfootnoteanc" NAME="sdfootnote1anc" HREF="#sdfootnote1sym"><SUP>1</SUP></A>
+Content Provider (DCP) implements a Content Provider for the
+Universal Content Broker (UCB). It provides access to WebDAV and
+standard HTTP servers. The DCP communicates with the server using the
+WebDAV protocol which is an extention to the HTTP protocol or using
+the plain HTTP protocol in case the server is not WebDAV enabled. 
+</P>
+<H2>DCP Contents</H2>
+<P>The DCP provides two types of content: a <B>Folder</B> or <B>Document</B>
+which corresponds to a collection or non-collection (nodes and leafs)
+in WebDAV respectively.</P>
+<OL>
+	<LI><P>A DCP Folder is a container for other DCP Folders or
+	Documents.</P>
+	<LI><P>A DCP Document is a container for Document data/content<SPAN STYLE="font-weight: medium">.
+	The data/content may be anything, a WebDAV server, like an HTTP
+	server, does not necessarily mandate what type of data/content may
+	be contained within Documents. The type of data/content is defined
+	by the <I><FONT FACE="Courier, monospace">MediaType</FONT></I>
+	property which is different from the content type returned from the
+	<FONT FACE="Courier, monospace">getContentType</FONT> method.</SPAN>
+	The <I><FONT FACE="Courier, monospace">MediaType</FONT></I> property
+	is mapped to the equivalent WebDAV property and the WebDAV server
+	calculates the value.</P>
+</OL>
+<P><IMG SRC="webdav-contents.gif" NAME="Graphic1" ALIGN=LEFT WIDTH=446 HEIGHT=199 BORDER=0><BR><BR>
+</P>
+<P><BR><BR>
+</P>
+<H2><BR><BR>
+</H2>
+<H2><BR><BR>
+</H2>
+<H2><BR><BR>
+</H2>
+<H2><BR><BR>
+</H2>
+<H2>Creation Of New DCP Contents</H2>
+<P>DCP Folders implement the interface <FONT FACE="Courier, monospace">XContentCreator</FONT>.
+DCP Documents and DCP Folders support the command&#132;<I><FONT FACE="Courier, monospace">insert</FONT></I>.
+To create a new child of a DCP Folder:</P>
+<OL>
+	<LI><P>Let the parent folder create a new content by calling its
+	<FONT FACE="Courier, monospace">createNewContent</FONT> method. The
+	content type to use for new folders is
+	<B>application/vnd.sun.star.webdav-collection</B><SPAN STYLE="font-weight: medium">.
+	To create a new document, use the type string
+	</SPAN><B>application/http-content</B><SPAN STYLE="font-weight: medium">.</SPAN></P>
+	<LI><P STYLE="font-weight: medium">Set a title at the new
+	folder/document. ( Let the new child execute a <FONT FACE="Courier, monospace">setPropertyValues</FONT>
+	&#150; command, which sets at least the property&#132;<I><FONT FACE="Courier, monospace">Title</FONT></I>
+	to a non-empty value ).</P>
+	<LI><P><SPAN STYLE="font-weight: medium">Let the new child ( not the
+	parent! ) execute the command &#132;<I><FONT FACE="Courier, monospace">insert</FONT></I>&#147;.
+	This will commit the creation process and persist the newly created
+	content on the WebDAV server</SPAN></P>
+</OL>
+<H2>Authentication</H2>
+<P>DAV resources that require authentication can be accessed using
+the interaction handler mechanism of the UCB. This means, the DAV
+content will call an interaction handler supplied by the client in
+order to let it handle an authentication request. The implementation
+of the interaction handler should be able to collect the user name /
+password from somewhere (i.e. Login Dialog ) and can supply this data
+as an interaction response.</P>
+<H2>Property Handling</H2>
+<P>In addition to the manadatory UCB properties, the DCP supports
+reading and writing all DAV &quot;live&quot; and &quot;dead&quot;
+properties. Some DAV &quot;live&quot; properties are mapped
+additionally to UCB properties and vice versa (i.e. <I>DAV:creationdate</I>
+is mapped to <I>DateCreated</I><SPAN STYLE="font-style: normal">)</SPAN>.
+Adding and removing dead properties is also supported by the
+implementation of  the XPropertyContainer interface of  a DCP
+Content.</P>
+<P><B>Property Values:</B></P>
+<P STYLE="font-weight: medium">The DCP cannot determine the semantics
+of unknown properties. Thus the values of such properties will always
+be presented as plain text ( as they were returned from the server).</P>
+<P><B>Namespaces:</B></P>
+<P>The following namespaces are well-known to the DCP:</P>
+<UL>
+	<LI><P>DAV:</P>
+	<LI><P><A HREF="http://apache.org/dav/props/">http://apache.org/dav/props/</A></P>
+</UL>
+<P>Properties with these namespaces can be addresssed using a UCB
+property name which is the concatenation of namespace and name (i.e.
+DAV:getcontentlength)</P>
+<P>Dead proprties with namespaces that are not well-known to the DCP
+can be addressed using a special UCB property name string, that
+contains both the namespace and the property name. Such a special
+property name string must look as follows:</P>
+<P><B>&lt;prop:the_propname xmlns:prop=&quot;the_namespace&quot;&gt; </B>
+</P>
+<P STYLE="font-weight: medium">The DCP internally applies the
+namespace &quot;<A HREF="http://ucb.openoffice.org/dav/props/">http://ucb.openoffice.org/dav/props/</A>&quot;
+to all UCB property names:</P>
+<UL>
+	<LI><P STYLE="font-weight: medium">that  are not predefined by the
+	UCB API.</P>
+	<LI><P STYLE="font-weight: medium">that do not start with a
+	well-known namespace.</P>
+	<LI><P STYLE="font-weight: medium">that do not use the special
+	property name string to encode namespace and name.</P>
+</UL>
+<P>For example, a client can do an addProperty( ....
+&quot;MyAdditionalProperty&quot; ... ). The resulting DAV property
+will have the name &quot;MyAdditionalProperty&quot;, its namespace
+will be &quot;<A HREF="http://ucb.openoffice.org/dav/props/">http://ucb.openoffice.org/dav/props/</A>&quot;.
+However, the DCP client will never see that namespace. He can always
+use the &quot;simple&quot; name &quot;MyAdditionalProperty&quot;.</P>
+<P STYLE="font-weight: medium"><BR><BR>
+</P>
+<P><B>DAV / UCB Property Mapping:</B></P>
+<TABLE WIDTH=350 BORDER=1 CELLPADDING=4 CELLSPACING=3>
+	<COL WIDTH=164>
+	<COL WIDTH=159>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TD WIDTH=164>
+				<P STYLE="font-weight: medium">DAV:creationdate</P>
+			</TD>
+			<TD WIDTH=159>
+				<P STYLE="font-weight: medium">DateCreated</P>
+			</TD>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=164>
+				<P STYLE="font-weight: medium">DAV:getlastmodified</P>
+			</TD>
+			<TD WIDTH=159>
+				<P STYLE="font-weight: medium">DateModified</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=164>
+				<P STYLE="font-weight: medium">DAV:getcontenttype</P>
+			</TD>
+			<TD WIDTH=159>
+				<P STYLE="font-weight: medium">MediaType</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=164>
+				<P STYLE="font-weight: medium">DAV:getcontentlength</P>
+			</TD>
+			<TD WIDTH=159>
+				<P STYLE="font-weight: medium">Size</P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=164>
+				<P STYLE="font-weight: medium">DAV:resourcetype</P>
+			</TD>
+			<TD WIDTH=159>
+				<P STYLE="font-weight: medium">(used to set IsFolder, IsDocument,
+				ContentType)</P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P STYLE="font-weight: medium"> 
+</P>
+<H2>URL Scheme for DCP Contents</H2>
+<P>Each DCP content has an identifier corresponding to the following
+scheme:</P>
+<P>vnd.sun.star.webdav://host:port/&lt;path&gt;</P>
+<P>where &lt;path&gt; is a hierarchical path of the form</P>
+<P>&lt;name&gt;/&lt;name&gt;/.../&lt;name&gt;</P>
+<P>where &lt;name&gt; is a string encoded according to the URL
+conventions.</P>
+<P><B>It is also possible to use standard HTTP-URLs. </B><SPAN STYLE="font-weight: medium">In
+this case the implementation will determine by itself, if the
+requested resource is DAV enabled.</SPAN></P>
+<P><BR><BR>
+</P>
+<P><B>Examples:</B></P>
+<P><B>vnd.sun.star.webdav://localhost/davhome/</B></P>
+<P><B>vnd.sun.star.webdav://davserver.com/Documents/report.sdw</B></P>
+<P><B>http://davserver.com/Documents/report.sdw</B></P>
+<P><BR><BR>
+</P>
+<P STYLE="font-weight: medium">Note the that WebDAV URL namespace
+model is the same as the HTTP URL namespace model.</P>
+<P><BR><BR>
+</P>
+<H2 STYLE="page-break-before: always">Appendix</H2>
+<P>The following table gives an overview of the different DCP
+contents.</P>
+<TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0>
+	<COL WIDTH=35*>
+	<COL WIDTH=48*>
+	<COL WIDTH=71*>
+	<COL WIDTH=51*>
+	<COL WIDTH=51*>
+	<THEAD>
+		<TR VALIGN=TOP>
+			<TH WIDTH=14%>
+				<P><BR>
+				</P>
+			</TH>
+			<TH WIDTH=19%>
+				<P>UCB Type</P>
+				<P>(returned by XContent::getContentType )</P>
+			</TH>
+			<TH WIDTH=28%>
+				<P>Properties</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P>Commands</P>
+			</TH>
+			<TH WIDTH=20%>
+				<P>Interfaces</P>
+			</TH>
+		</TR>
+	</THEAD>
+	<TBODY>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P>Document</P>
+			</TD>
+			<TD WIDTH=19%>
+				<P>application/http-content</P>
+			</TD>
+			<TD WIDTH=28%>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] DateCreated</P>
+				<P>[readonly] DateModified</P>
+				<P>[readonly] IsDocument</P>
+				<P>[readonly] IsFolder</P>
+				<P>[readonly] MediaType</P>
+				<P>[readonly] Size</P>
+				<P>Title</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>insert</P>
+				<P>delete</P>
+				<P>open</P>
+				<P><BR><BR>
+				</P>
+				<P><BR>
+				</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>lang::<B>XTypeProvider</B>,</P>
+				<P>lang::<B>XServiceInfo</B></P>
+				<P>lang::<B>XComponent</B></P>
+				<P>ucb::<B>XContent</B></P>
+				<P>ucb::<B>XCommandProcessor</B></P>
+				<P>beans::<B>XPropertiesChangeNotifier</B></P>
+				<P>beans::<B>XPropertyContainer</B></P>
+				<P>beans::<B>XPropertySetInfoChangeNotifier</B></P>
+				<P>ucb::<B>XCommandInfoChangeNotifier</B></P>
+				<P>container::<B>XChild</B></P>
+			</TD>
+		</TR>
+		<TR VALIGN=TOP>
+			<TD WIDTH=14%>
+				<P>Folder</P>
+			</TD>
+			<TD WIDTH=19%>
+				<P>application/vnd.sun.star.webdav-collection</P>
+			</TD>
+			<TD WIDTH=28%>
+				<P>[readonly] ContentType</P>
+				<P>[readonly] DateCreated</P>
+				<P>[readonly] DateModified</P>
+				<P>[readonly] IsDocument</P>
+				<P>[readonly] IsFolder</P>
+				<P>[readonly] MediaType</P>
+				<P>[readonly] Size</P>
+				<P>Title 
+				</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P>getCommandInfo</P>
+				<P>getPropertySetInfo</P>
+				<P>getPropertyValues</P>
+				<P>setPropertyValues</P>
+				<P>insert</P>
+				<P>delete</P>
+				<P>open</P>
+				<P>transfer</P>
+			</TD>
+			<TD WIDTH=20%>
+				<P><B>same as DCP Folder</B>, plus 
+				</P>
+				<P>ucb::<B>XContentCreator</B></P>
+			</TD>
+		</TR>
+	</TBODY>
+</TABLE>
+<P><BR><BR>
+</P>
+<P><BR><BR>
+</P>
+<DIV ID="sdfootnote1">
+	<P CLASS="sdfootnote" STYLE="margin-bottom: 0.5cm"><A CLASS="sdfootnotesym" NAME="sdfootnote1sym" HREF="#sdfootnote1anc">1</A>Refer
+	to <A HREF="http://www.webdav.org/">http://www.webdav.org</A> and
+	<A HREF="http://www.fileangel.org/docs/DAV_2min.htm">http://www.fileangel.org/docs/DAV_2min.html</A>
+	for an overview.</P>
+</DIV>
+</BODY>
+</HTML>
\ No newline at end of file

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/webdav-ucp.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/wfs.gif
URL: http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/wfs.gif?rev=1206884&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/ooo-site/trunk/content/ucb/docs/ucp-ref/wfs.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif



Mime
View raw message