[Osr-101] Re: Neutron Sitetree response

Michael Wechner michael.wechner at wyona.com
Thu Jul 12 17:56:43 CEST 2007


Thomas Comiotto wrote:

> Hi all,
>
> Since we discussed the topic yesterday at the hackatlon - I'll  
> crosspost to this list.
>
>
> On Jul 12, 2007, at 12:39 AM, Michael Wechner wrote:
>
>> Hi
>>
>> As Joern has pointed out during the hackathon today the spec for  the 
>> Neutron Sitetree response was missing.
>>
>> I have added an example
>>
>> http://neutron.wyona.org/draft-neutron-protocol-v0.html#rfc.section. 5.2
>
>
>
> [Neutron specs]
>
> <introspection xmlns="http://www.wyona.org/neutron/1.0">
>   <navigation>
>     <sitetree href="sitetree.xml" method="GET"/>
>     <--
>     <sitetree href="/" method="PROPFIND"/>
>     -->
>   </navigation>
> </introspection>
>
>
> IIRC Neutron does not require the server to support webDAV. Therefore  
> the GET method in the above example.


right, that's the reasoning

>
> That's a good thing. This way people can do the I/O and sitetree  
> stuff with http servers that lack webDAV support simply by using  
> introspection files, GET/PUT or scripted POST'S. They even can use  
> different transport protocols for doing it - we once agreed that  
> Neutron should not depend on any given transport protocol, did we?


you mean like HTTP?

>
>
> But why adopt webDAV vocabulary and send a response that (when used  
> over http) implies that you deal with a webDAV server when in fact  
> you don't?


well, we didn't want to reinvent the wheel for something which seems to 
be ok.

Need to run ;-) but will answer your other questions later on and also 
will add an amendement to discuss your sitetree proposal.

Cheers

Michael

>
> Also, is the Neutron variant of a webDAV multipart response bound to  
> the URI namespace rules the webDAV spec does enforce?
>
> Another question is if webDAV lingo is sufficient for what neutron  
> clients might want to provide users with. Suppose a client wants to  
> provide users with a tree view on a Lenya publication like the Lenya  
> site tab does: i.e. tabs for switching between different language  
> versions of a site where missing items are replaced by grayed out  
> placeholders pointing to a default language version. Can you give an  
> example of how this could be done in a nice way by using webDAV  
> vocabulary only - or possibly enriched webDAV?
>
>
> Here's what we use at UZH in our 1.2 publication to spit out sitetree  
> data. It's rdf that uses the following custom tags:
>
>  - map:navigation    A navigational structure
>  - map:node        A navigation node
>  - map:childNodes    Child nodes
>  - map:resources    Resources bound to a node (e.g. documents in  
> various langauges document)
>
> It seems to work for us but has very much room for improvement of  
> course!
>
> Best Regards
> Thomas
>
>
>
> ============
>
> <RDF>
> <Description dc:name="Unitemplate Sitemap" map:defaultLanguage="de"  
> map:root="http://localhost:8888/unitemplate/authoring/" about="http:// 
> localhost:8888/unitemplate/authoring/site.rdf"/>
> <map:resource dc:language="de" dc:name="UniTemplate" about="http:// 
> localhost:8888/unitemplate/authoring/index.html"/>
> <map:resource dc:language="en" dc:name="UniTemplate" about="http:// 
> localhost:8888/unitemplate/authoring/index_en.html"/>
> <map:resource dc:language="de" dc:name="Allgemeine Dokumenttypen"  
> about="http://localhost:8888/unitemplate/authoring/xhtml.html"/>
> <map:resource dc:language="de" dc:name="1 Spalte" about="http:// 
> localhost:8888/unitemplate/authoring/xhtml/1column.html"/>
> <map:resource dc:language="de" dc:name="2 Spalten" about="http:// 
> localhost:8888/unitemplate/authoring/xhtml/2columns.html"/>
> <map:resource dc:language="de" dc:name="3 Spalten" about="http:// 
> localhost:8888/unitemplate/authoring/xhtml/3columns.html"/>
> <map:resource dc:language="de" dc:name="Strukt. Dokumenttypen"  
> about="http://localhost:8888/unitemplate/authoring/custom.html"/>
> <map:resource dc:language="de" dc:name="News" about="http://localhost: 
> 8888/unitemplate/authoring/custom/News.html"/>
> <map:resource dc:language="de" dc:name="Lang" about="http://localhost: 
> 8888/unitemplate/authoring/custom/News/EintragLang.html"/>
> <map:resource dc:language="de" dc:name="Kurz" about="http://localhost: 
> 8888/unitemplate/authoring/custom/News/Kurz.html"/>
> <map:resource dc:language="de" dc:name="Team" about="http://localhost: 
> 8888/unitemplate/authoring/custom/Team.html"/>
> <map:resource dc:language="de" dc:name="Gret Muster" about="http:// 
> localhost:8888/unitemplate/authoring/custom/Team/Muster.html"/>
> <map:resource dc:language="de" dc:name="Impressum" about="http:// 
> localhost:8888/unitemplate/authoring/impressum.html"/>
> <map:resource dc:language="de" dc:name="Kontakt" about="http:// 
> localhost:8888/unitemplate/authoring/contact.html"/>
> <map:resource dc:language="en" dc:name="Contact" about="http:// 
> localhost:8888/unitemplate/authoring/contact_en.html"/>
> <map:resource dc:language="de" dc:name="Sitemap" about="http:// 
> localhost:8888/unitemplate/authoring/sitemap.html"/>
> <map:resource dc:language="en" dc:name="Sitemap" about="http:// 
> localhost:8888/unitemplate/authoring/sitemap_en.html"/>
> <map:resource dc:language="de" dc:name="Suche" about="http:// 
> localhost:8888/unitemplate/authoring/search.html"/>
> <map:resource dc:language="de" dc:name="Redirect" about="http:// 
> localhost:8888/unitemplate/authoring/redirect.html"/>
> <map:resource dc:language="de" dc:name="test" about="http://localhost: 
> 8888/unitemplate/authoring/test.html"/>
>>     <map:node dc:name="index" 
> about="http://localhost:8888/unitemplate/ authoring/index">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/index.html"/>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> index_en.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="xhtml" 
> about="http://localhost:8888/unitemplate/ authoring/xhtml">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/xhtml.html"/>
> </Bag>
> </map:resources>
>>     <map:childNodes>
>>     <Seq>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 1column"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 2columns"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 3columns"/>
> </Seq>
> </map:childNodes>
> </map:node>
>>     <map:node dc:name="1column" 
> about="http://localhost:8888/unitemplate/ authoring/xhtml/1column">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 1column.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="2columns" about="http://localhost:8888/ 
> unitemplate/authoring/xhtml/2columns">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 2columns.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="3columns" about="http://localhost:8888/ 
> unitemplate/authoring/xhtml/3columns">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/xhtml/ 
> 3columns.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="custom" 
> about="http://localhost:8888/unitemplate/ authoring/custom">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom.html"/>
> </Bag>
> </map:resources>
>>     <map:childNodes>
>>     <Seq>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom/ 
> News"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom/ 
> Team"/>
> </Seq>
> </map:childNodes>
> </map:node>
>>     <map:node dc:name="News" about="http://localhost:8888/unitemplate/ 
> authoring/custom/News">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom/ 
> News.html"/>
> </Bag>
> </map:resources>
>>     <map:childNodes>
>>     <Seq>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom/ 
> News/EintragLang"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom/ 
> News/Kurz"/>
> </Seq>
> </map:childNodes>
> </map:node>
>>     <map:node dc:name="EintragLang" about="http://localhost:8888/ 
> unitemplate/authoring/custom/News/EintragLang">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom/News/ 
> EintragLang.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="Kurz" about="http://localhost:8888/unitemplate/ 
> authoring/custom/News/Kurz">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom/News/ 
> Kurz.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="Team" about="http://localhost:8888/unitemplate/ 
> authoring/custom/Team">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom/ 
> Team.html"/>
> </Bag>
> </map:resources>
>>     <map:childNodes>
>>     <Seq>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom/ 
> Team/Muster"/>
> </Seq>
> </map:childNodes>
> </map:node>
>>     <map:node dc:name="Muster" 
> about="http://localhost:8888/unitemplate/ authoring/custom/Team/Muster">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/custom/Team/ 
> Muster.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="impressum" about="http://localhost:8888/ 
> unitemplate/authoring/impressum">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> impressum.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="contact" 
> about="http://localhost:8888/unitemplate/ authoring/contact">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> contact.html"/>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> contact_en.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="sitemap" 
> about="http://localhost:8888/unitemplate/ authoring/sitemap">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> sitemap.html"/>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> sitemap_en.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="search" 
> about="http://localhost:8888/unitemplate/ authoring/search">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/search.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="redirect" about="http://localhost:8888/ 
> unitemplate/authoring/redirect">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/ 
> redirect.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:node dc:name="test" about="http://localhost:8888/unitemplate/ 
> authoring/test">
>>     <map:resources>
>>     <Bag>
> <li resource="http://localhost:8888/unitemplate/authoring/test.html"/>
> </Bag>
> </map:resources>
> </map:node>
>>     <map:navigation about="http://localhost:8888/unitemplate/authoring/">
>>     <map:childNodes>
>>     <Seq>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/index"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/xhtml"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/custom"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/ 
> impressum"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/contact"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/sitemap"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/search"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/ 
> redirect"/>
> <li rdf:resource="http://localhost:8888/unitemplate/authoring/test"/>
> </Seq>
> </map:childNodes>
> </map:navigation>
> </RDF>
>
>
>
>
>
> ------------------------------------------------------------------------ 
> -----
>                         Thomas Comiotto              
> thomas.comiotto at id.uzh.ch
>
>                         Universitaet Zuerich
>                         Informatikdienste                Tel: +41 44  
> 63 54541
>                         Winterthurerstrasse 190               +41 44  
> 63 43333
>                         CH-8057 Zuerich                  Fax: +41 44  
> 63 54505
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe at lenya.apache.org
> For additional commands, e-mail: dev-help at lenya.apache.org
>
>


-- 
Michael Wechner
Wyona      -   Open Source Content Management - Yanel, Yulup
http://www.wyona.com
michael.wechner at wyona.com, michi at apache.org
+41 44 272 91 61




More information about the Osr-101 mailing list