Extension persistence is certainly a possibility, but I was thinking of juste dumping the presets in XML as is done for the rest of the theme.

Florent

On 8 Mar 2007, at 09:38, Jean-Marc Orliaguet wrote:

Bogdan Stefanescu wrote:
Jean-Marc Orliaguet wrote:
Florent Guillaume wrote:
Very nice!

So there will also eventually be an interface to modify the presets themselves I assume?

Thanks,
Florent

Hi,

presets are currently registered as runtime extensions (located on the file-system). So the question is whether nxruntime components can be persisted. Of course if it possible to register new presets programmatically and export them to the file-system, but that's not persistence really.

thinking about it, w.r.t. nxruntime, I think there is a need for:

- local extensions (local presets specific to a site). If deployment is isolated, that's by default. - shared extensions (i.e. common presets shared between sites), using nxruntime remoting.
- persistable extensions?
Yes we could envisage extension persistence - I think we will have use cases for this (for example defining a new document type from the web client). But there are several problems that need to be clarified in order to be able to do this:

For example you have an extension A contributed by jar J in the persistence storage and jboss is restarted - how extension A should be deployed from jar J? It will overwrite the extension A from the persistent storage? But what if you remove the jar J from the system? You restart jboss but the extension A is still in the persistent storage. So we need a mechanism to synchronize the persistent storage with extensions declared inside bundles. Or may be even an extension versioning system to be able rollback to a previous extension or things like this.

Extensions already have an ID that could be used to uniquely identify an extension (but the id is optional and it is not used by existing extensions) Components also have a version attribute that could be used for versioning. These may be used to synchronize persistent storage with bundle extensions.

Bogdan

I was thinking more about persisting the "content", the values of the extensions, i.e. when you define your extension, you also specify that the storage is persistent, but the object that represents the extension in Java needs not be persisted.

so if your have extension A by jar J, it is a serialized version of A that is persisted and not J itself, using something like a storage adapter that intercepts getters and setters.

if you remove the jar from the system, what is left in the system is the content of A, not A itself.

that's just for brainstorming, but definitely I have a use case for persisting themes.

/JM







--
Florent Guillaume, Director of R&D, Nuxeo
Open Source Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87



_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm

Reply via email to