Page History
Wiki Markup |
---|
{rate} {status:implemented|3.6}Solved by using Solution C{status} h1. Changing the node types h2. A) Change node type definition The bad thing is that every node extends mgnl:content. But we need the mix:versionable only only on website pages and not on users, configuration, ... h2. B) Add mixins dynamically {code} Index: /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java =================================================================== --- /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java (revision 14777) +++ /Users/philipp/checkout/magnolia/magnolia-core/src/main/java/info/magnolia/cms/core/DefaultContent.java (working copy) @@ -168,7 +168,12 @@ this.setRootNode(rootNode); this.node = this.rootNode.addNode(this.path, contentType); this.setAccessManager(manager); - this.addMixin(ItemType.MIX_VERSIONABLE); + if(this.getItemType().equals(ItemType.CONTENT)){ + this.addMixin(ItemType.MIX_VERSIONABLE); + } + else{ + this.addMixin(ItemType.MIX_REFERENCEABLE); + } // add mix:lockable as default for all nodes created using this manager // for version 3.5 we cannot change node type definitions because of compatibility reasons // MAGNOLIA-1518 {code} h2. C) Add mixin when we create the first version (/) I add the mixin only in the mgnlVersion workspace. This is currently the only place we use it h1. Bootstrapfiles We have to clean up the bootstrap files. Depending on solution A or B we have to clean the files differently: A) remove all version related properties B) keep mix:versionable for contentNode C) remove all version related properties (/) Possible approaches - import, call update tasks, export - xml based cleanup code / script (/) h1. Update For that we must write some test |
Overview
Content Tools