Solprovider Lenya Kongregate Registration for Free Flash Games and Chat with solprovider

Protocols

Content is being moved to JCR (Jackrabbit). Modules handle all inheritance of functionality, so "Fallback" in any of its forms is obsolete. Lenya needs new protocols to allow easy access to Content and Module files.

The "cocoon:" and "http:" protocols are unchanged. The "file:" protocol is has not changed much, but use should be extremely reduced because of the new "module:" protocol, which should be the new default. Access to Content is through the "content:" protocol; this handles the immediate issue of how to retrieve Content from the Repository, and allows future version to store Content in other forms as long as the three possibilities are rewritten.

Module Protocol


module:///filepath/filename.ext (Default protocol)
- retrieves specified file for the current Module. File is discovered by checking current Publication, then following inheritance through Templates and Global.

module://moduleID/filepath/filename.ext
- retrieves specified file for the specified Module. File is discovered by checking current Publication, then following inheritance through Templates and Global.

module:/publication/moduleID/filepath/filename.ext
- retrieves specified file for the specified Module in another Publication. File is discovered by checking the specified Publication, then following inheritance through Templates and Global. This would be very difficult to implement, so use cocoon: protocol.

Content Protocol


The "!revision" is optional, defaulting to the live version "!live". "!edit" retrieves the latest edited version. "!submit" retrieves the latest version submitted for approval. "!ready" retrieves the latest version marked ready for publishing. "!revisionID" retrieves a specific revision. We have not designed how the revisions are identified, either sequentially or with an time-based identifier. Both could be implemented: "!#1" retrieves the oldest version, and "!200602101445" retrieves one saved this minute. The primary use of the revision identifiers would be the computer-generated list of all available revisions.

Language is placed after an underscore as in Lenya 1.2. Moving it would require a long thread on the Dev ML. Another character could replace the exclamation mark; again the Dev ML will have fun discussing it.

content:/resourceUNID_language!revision
- retrieves the specified version of the Resource specified from "content" using its UNID

content://structureName/ancestorsPath/resourceID_language!revision
- retrieves the specified version of the Resource by checking only the specified Structure in the relationsTable for the specified path to get the UNID, then retrieves it from "content" using its UNID.

content:///ancestorsPath/resourceID_language!revision
- retrieves the specified version of the Resource by checking the relationsTable for the specified path to get the UNID, then retrieves it from "content" using its UNID. Publication configuration should prioritze Structures for predictability in result, such as "live" or "default" before "mySpecialTree".

The "content:" protocol cannot retrieve data from another Publication. To access Content in another Publication:
- The other Publication includes the "content" Module for easy retrieval of Content using the "module:///" protocol,
- The "cocoon://" is used to access a pipeline in another Publication.
- The "http://" protocol is used.

Cocoon Protocol


cocoon:/something
- Finds a match for "something" in the current XMAP.

cocoon://publication/module/something
- Finds a match as if it was a request.

HTTP Protocol


http://something
- Retrieves something using http.

File Protocol


file:/filepath/filename.ext
Retrieves a file starting from the current Publication directory. Should not be used for Content or files in Modules. Probably only used for publication.xconf, caching, and security files (until security is moved to a Module).

file://filepath/filename.ext
Retrieves a file starting from the Lenya's "webapp" directory.

<< GlossaryModules >>

Contact Solprovider
Paul Ercolino