Lenya 2.0: Proposal for an object model to support composed documents and plugins

(originally started by WolfgangKaltz - please add your comments with name)

Introduction

The premise of this proposal is that extending the core API with several additional explicit types (meaning interfaces, abstract classes) can provide a basis for implementing several key functionalities.

Note that

This proposal addresses the following issues:

General design goals

Content model

Class diagram:

Comments:

Relationship with plugins

This section contains some initial thoughts about plugin interface definitions - certainly requires more thinking.

Class diagram:

Comments:

Relationship with repository

It might be a good idea to have a sub-branch in the repository for each category of content: EditableXML, Asset, Link, Dynamic; plus a subbranch for documents. The site-tree will be constructed from the document nodes. The global asset manager will provide access to the Asset sub-branch, and so forth.

Open questions

Comments by AndreasHartmann