-
Notifications
You must be signed in to change notification settings - Fork 0
/
xml2006-handson-proposal.txt
34 lines (20 loc) · 4.1 KB
/
xml2006-handson-proposal.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<<<<<<< .mine
Neutron is a vendor-neutral, open, XML-based Content Management System interface, enabling client applications to access CMS in a programmatical way. Neutron offers introspection, file operations and workflow functionality.
=======
NEUTRON - Open Content Management User Interface
------------------------------------------------
>>>>>>> .r14417
Neutron is a vendor-neutral, open, XML-based Content Management User Interface, enabling client applications to access Content Management Systems in a programmatical way. Neutron offers introspection, resource operations and other content management functionality.
Via introspection, Neutron allows visitors of a document (e.g. a webpage) to find out about the various source documents (fragments) which make up its content. Introspection tells the client about the operations it can perform on a fragment, as well as about meta-data associated with that fragment. Neutron is agnostic to the type of data it describes, but offers additional support for XML-based dcouments like the ability to specify associated schemas or stylesheets.
For each document fragment, the Neutron protocol specifies resource operations like "open" and "save" (checking a fragment in and out without locking), "new", "checkout" and "checkin" (checking a fragment in and out using a lock), "versioning" (requesting a specific version of a fragment), "lock-breaking" (if a user checked out a document without checking it back in, and he never released the lock on it), "resource listing" (to browse the available fragments on the CMS) and "resource search" (to search for a fragment on the server based on name, type, and meta-data).
Neutron is connection-independent which means that you can operate on a document over time, during which you can go offline, change your IP address, etc., but your workflow will not break.
Access control is solved independent of Neutron. Nevertheless, a server can of course always choose to not reveal all available functionality to unauthorised users (e.g. based on HTTP authorisation or client-side certificates), or for instance requiring uploads to use a specific method which in turn implies a certain authentication and authorisation process.
In contrast to other protocols, servers and clients are free to expose whatever part of functionality they want, or actually implement. For example, a CMS which does not support locking may only expose "open" and "save" operations, and a CMS which does not support versioning may simply ignore that part of the protocol.
In constrast to WebDAV and APP (Atom Publishing Protocol), Neutron does not dictate a specific protocol to use for up- and downloading data. Instead, the server can list the various methods it supports, and the client can then pick the protocol which fits best. Therefore, a server may for instance require the client to use a simple HTTP GET request on a specific URI to checkout and lock a document, whereas requring the client to use WebDAV to store the document back to the CMS.
In the light of new revisions of the standard, Neutron specifies how clients and servers negotiate the supported protocol versions, such that they can make sure they always use the latest version both client and server support.
The development of Neutron is based on the extensive experience of developers from various
Open Source Content Management projects and is thought as a consolidation of common patterns
found within the content management space.
More information can be found at http://www.wyona.org/osr-101/index.html
As hands on we will present Phoenix (working title), a Mozilla-based Neutron client to edit fragments managed by a CMS. It is specifically tailord towards the Neutron specification, and offers complete support for the protocol. It can edit plain-text and XML fragments in source mode, as well as XML fragments with associated XSLT stylesheets and (X)HTML fragments in WYSIWYG mode. Furthermore, Phoenix performs validation of document fragments based on RelaxNG or XML Schemas. Phoenix is Open Source and makes editing "the web" seamless.
More information can be found at http://www.wyona.org/osr-101/clients/phoenix/index.html