We have thought about the capability of having class heritage.. but it's
not so easy to implement..
Want to work on it ?
Ludovic
Pascal Voitot wrote:
ok I see
But do we agree that we shall have a class/mechanism deletion
somewhere? (in fact I agree with myself about that at least because
I'm frustrated not to be able to delete the classes I don't need
anymore :))
I'm not sure about something: did you intend to give to the concept of
"class" about the same "generic" extend as the concept of
"class" in
any OO language? Is a class a kind of descriptor of entities with
their own properties and relations to other entities? or is a class
only a convenience for gathering properties and creating objects with
these properties?
If XWiki classes are real classes (I think they are) then it would be
nice to push the concepts as far as possible... Moreover, with XE
(that I don't have installed yet), it would be nice to be able to
manage classes directly and to have refactoring features :)...
Pascal
On Tue, Mar 18, 2008 at 12:52 PM, Ludovic Dubost <ludovic(a)xwiki.org
<mailto:ludovic@xwiki.org>> wrote:
Yes but we need tons of warning in case properties are deleted.
If class are deleted this is even more problematic as this can make a
lot of deletion.
For versioning, what we do is we store in the XML of each object the
definition of the class at the time the object was saved. This
means we
can build the class as it was before we actually load the object.
Now I'm pretty sure we don't really make use of that.
Ludovic
Pascal Voitot wrote:
That's what I think...
In a ideal world, removing a class or a property should imply
removing
associated instances naturally...
Another idea...One question: are classes and properties versioned as
documents? I mean, if you modify a class, is it possible to keep the
previous version and keep existing objects as instantiations of the
older version and then new objects will be instantiations of the
newer
version of the class? We could also propose an
object to be
translated into the newer version with some risks.
In this case, it could be simple to modify or remove properties of a
class even if it would bring some complexity also...
Then the last problem would be class deletion which would be more
violent and would need some strong warnings because objects would be
deleted definitely... in this case, a kind of temporary bin
could be
interesting...
Pascal
On Tue, Mar 18, 2008 at 10:56 AM, Sergiu Dumitriu
<sergiu(a)xwiki.com
<mailto:sergiu@xwiki.com>
<mailto:sergiu@xwiki.com
<mailto:sergiu@xwiki.com>>> wrote:
Pascal Voitot wrote:
> This might seem stupid but what are the limitations in
class/object
deletion?
We don't know what to do with the data. Adding a property is
simple,
existing objects will not have a property and
it will be added
when the
object is saved. But when you delete a property, what do we do?
Leave it
there? Delete it from all the objects?
If we keep it there, it will be "shadowed", as the
persistence
layer
will not know that it exists. More, if we add
back that
property with
the same name and another type, we'll
have errors because we'll
have two
instances with the same identifier in two places (this is what
happened
when switching number types or the multiselect metaproperty
of a list
property).
If we remove it, then we'll completely remove a lot of data.
And is a
warning enough for that? Probably we need a
mass rollback
utility that
is able to revert bulk changes.
My take is that we should remove the data, but what do
others think?
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
<mailto:devs@xwiki.org
<mailto:devs@xwiki.org>>
------------------------------------------------------------------------
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
http://lists.xwiki.org/mailman/listinfo/devs
--
Ludovic Dubost
Blog:
http://blog.ludovic.org/
XWiki:
http://www.xwiki.com
Skype: ldubost GTalk: ldubost
_______________________________________________
devs mailing list
devs(a)xwiki.org <mailto:devs@xwiki.org>
http://lists.xwiki.org/mailman/listinfo/devs
------------------------------------------------------------------------
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs