Alexey Parshin wrote:
Ok, how do we call someone who created a version of the object for his ownneeds? He isn't an author, is he?
He is an author of the derivative.
The question is - who is defining what to do, when the object the version ismade from is updated?
Users decide whether they want the update to use, or not.
If I understand Ilya correctly, the object, the version was made from, defines that policy.
I think, that the new version defines that policy..
What is the policy here, anyway?
My understanding is - if the version is made, then itcan be edited by any way possible including change the connections.
What connections? To other UMOs? I think there, where THIS UMO is used all its connections are kept and its user decides only if he wants the update. If we are talking about a derivative by another author, he is a user of the original UMO and he gets notified, but not HIS users. The latter will get notified if the author of the derivative decides to switch to the updated original.
2006/10/22, Anatoly Volynets <firstname.lastname@example.org>:Folks, it is the same post as the previous one, slightly edited. Ilya A. Volynets-Evenbakh wrote: > Alexey Parshin wrote: > e >> 2) what do we do when the new version is produced. My idea is - to >> switch all the object connections to that new version ( edit) or >> to produce a new version disconnected, to be used in another parent >> object (clone). >> > From http://www.total-knowledge.com/wiki/index.php/UU_Tech > > When a new version is created, all objects linking to this one are > notified. Their action can be one of the following: >
> * Silently use new version * Use new version and notify owner * > Notify owner and keep old version * Silently stick with old version > First of all, there is no such term as "owner" in our specs, ideology, understanding and so forth. This is one out of few the most important points, which is essential for the smallest issues/decisions. We have Author and User. Let us keep it this way. What specs tell us about versioning thus far? 2.1.5 Object Versioning-O Let's say user X creates object O. The user Y uses O in his course. Now X changes O. Will the course include edited version of O, or original one? Ideally it should be up to Y to decide that. This leads us to the concept of object versioning. i.e. each change to an object creates a new version, and old one stays. When linking objects to each other (i.e. adding problem to topic) author decides which version to use. 1. Now, suppose the Author (X - here) creates a new version (say, it could be marked as draft or such like at the first stage, and in the end gets marked "Final") then all users (Y - here) of the object, EXCEPT the Author get notified that a new version of the UMO is created by its author. 2. Also, all users (X and Y - here), INCLUDING the author have to have option at the moment: to put the new version in or not. 3. If a user (it can be the author) chooses to put the new version in, he states so and: a) the new version replaces the old one in all THIS USER's UMOs it used in. OR, as the matter of our decision: b) he can do it UMO by UMO. In that (preferable) variant he has to have an option to "Select All", or "Select Marked", or something like this - UMOs to use the new version of the upgraded UMO. The important point here is that EACH user of the UMO decides for himself to use new version or not. Hopefully, it is more or less clear now, how it should work for UU users. If there is any vagueness in this respect, let's clarify it first and then proceed to the object and db design. -- Anatoly Volynets, Co-Founder total-knowledge.com culturedialogue.org
-- Anatoly Volynets, Co-Founder total-knowledge.com culturedialogue.org
Authoright © Total Knowledge: 2001-2008