You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Nicolas Dufour <nr...@gmail.com> on 2007/06/12 19:48:40 UTC

Reregistering node types

Hello list

I have a little problem : If I try to reregister the same node type but with
a added property I received a nice message such as : not implemented !
I'm using 1.2.3. Does 1.3 solve this problem ? If not how to workaround ?

Thanks

Nicolas

RE: Reregistering node types

Posted by Paco Avila <pa...@git.es>.
El mié, 13-06-2007 a las 17:50 +0200, Frédéric Esnault escribió:
> Actually there is a big problem with non trivial changes.
> 
> The thing is the involved method (checkForConflictingContent), called whenever you want to make a non-trivial modification, is not implemented. The only way to safely change your types would be to implement this method.
> 
> The export/import process you talk about implies that YOU do the check for conflicting content when you update your exported data....and good luck to update the system view.
> 
> I think you'll have to :
> a/ implement the method;
> b/ wait for someone to implement it;
> c/ don't make non-trivial changes...
> 

I our DMS proyect (OpenKM) we have made some non-trivial changes in the
repo. The solution was to implement an importer/exporter to manage these
node modifications. A sort of "repository converter".

-- 
Paco Avila <pa...@git.es>


RE: Reregistering node types

Posted by Frédéric Esnault <fe...@legisway.com>.
Actually there is a big problem with non trivial changes.

The thing is the involved method (checkForConflictingContent), called whenever you want to make a non-trivial modification, is not implemented. The only way to safely change your types would be to implement this method.

The export/import process you talk about implies that YOU do the check for conflicting content when you update your exported data....and good luck to update the system view.

I think you'll have to :
a/ implement the method;
b/ wait for someone to implement it;
c/ don't make non-trivial changes...

Frédéric Esnault 

-----Message d'origine-----
De : Nicolas Dufour [mailto:nrdufour@gmail.com] 
Envoyé : mercredi 13 juin 2007 17:41
À : users@jackrabbit.apache.org
Objet : Re: Reregistering node types

Ok so I can change the repository gently, like a slow evolution.

And I imagine that if I need to include a non trivial change, I will have to
create a kind of migration process with export and reimport.

Any ideas for the long term of a repository ?

Nicolas

On 6/13/07, Christoph Kiehl <ch...@sulu3000.de> wrote:
>
> Frédéric Esnault wrote:
>
> > Adding a property may cause this problem if the property is mandatory.
> > What is possible now is to make a 'trivial' modification of a node type.
>
> Oh yes, you're right! I forgot about mandatory properies.
>
> BR,
> Christoph
>
>

Re: Reregistering node types

Posted by Nicolas Dufour <nr...@gmail.com>.
Ok so I can change the repository gently, like a slow evolution.

And I imagine that if I need to include a non trivial change, I will have to
create a kind of migration process with export and reimport.

Any ideas for the long term of a repository ?

Nicolas

On 6/13/07, Christoph Kiehl <ch...@sulu3000.de> wrote:
>
> Frédéric Esnault wrote:
>
> > Adding a property may cause this problem if the property is mandatory.
> > What is possible now is to make a 'trivial' modification of a node type.
>
> Oh yes, you're right! I forgot about mandatory properies.
>
> BR,
> Christoph
>
>

Re: Reregistering node types

Posted by Christoph Kiehl <ch...@sulu3000.de>.
Frédéric Esnault wrote:

> Adding a property may cause this problem if the property is mandatory.
> What is possible now is to make a 'trivial' modification of a node type.

Oh yes, you're right! I forgot about mandatory properies.

BR,
Christoph


RE: Reregistering node types

Posted by Frédéric Esnault <fe...@legisway.com>.
Adding a property may cause this problem if the property is mandatory.
What is possible now is to make a 'trivial' modification of a node type.

Here is what is considered trivial and minor changes :

TRIVIAL :
    * changing node type orderableChildNodes flag;
    * changing node type primaryItemName value;
    * adding non-mandatory property/child node;
    * changing property/child node protected flag;
    * changing property/child node onParentVersion value;
    * changing property/child node mandatory flag to false;
    * changing property/child node autoCreated flag;
    * changing child node defaultPrimaryType;
    * changing child node sameNameSiblings flag to true;
    * weaken property valueConstraints (e.g. by removing completely or by adding to 	existing or by making a single constraint less restrictive);
    * changing property defaultValues. 

MINOR:

    * changing specific property/child node name to *;
    * weaken child node requiredPrimaryTypes (e.g. by removing);
    * changing specific property requiredType to undefined;
    * changing property multiple flag to true.

Every other change is major. Currently, only trivial modifications work.

Frédéric Esnault - Ingénieur R&D
Legisway
60 boulevard de la mission Marchand
92400 Courbevoie La Défense
 

-----Message d'origine-----
De : news [mailto:news@sea.gmane.org] De la part de Christoph Kiehl
Envoyé : mercredi 13 juin 2007 10:53
À : users@jackrabbit.apache.org
Objet : Re: Reregistering node types

Nicolas Dufour wrote:

> I have a little problem : If I try to reregister the same node type but 
> with
> a added property I received a nice message such as : not implemented !
> I'm using 1.2.3. Does 1.3 solve this problem ? If not how to workaround ?

Most probably you change more than just adding a property. Most of the times 
this message occurs if you remove a property or a child node from the nodetype 
definition, because removal of those is not supported yet.
If you use 1.3 you will at least get a better error message pointing out which 
change is unsupported.

Cheers,
Christoph


Re: Reregistering node types

Posted by Christoph Kiehl <ch...@sulu3000.de>.
Nicolas Dufour wrote:

> I have a little problem : If I try to reregister the same node type but 
> with
> a added property I received a nice message such as : not implemented !
> I'm using 1.2.3. Does 1.3 solve this problem ? If not how to workaround ?

Most probably you change more than just adding a property. Most of the times 
this message occurs if you remove a property or a child node from the nodetype 
definition, because removal of those is not supported yet.
If you use 1.3 you will at least get a better error message pointing out which 
change is unsupported.

Cheers,
Christoph