Home Projects Jobs Clientele Contact


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Database schema

> sergey@total-knowledge.com wrote:
>> Events that cause a timeout to end and make the UMO available for
>> others:
> Available for editing by other, you mean, right?

Yes, it becomes available for other potential editors, but can be edited
one user per time only.

>> 1. Timeout is expired.
> But lock is still held. It just becomes breakable - i.e. another person
> trying
> to edit the object will be prompted if they want to break the lock.

Yes, I remember this part.

>> 2. Author publishes the UMO.
>> 3. Author closes his browser.
> Cannot handle this.

I think it's possible. Here is the scenario:
1. Set cookie "EditorTimeout" to the user's browser once he starts object
editing with expiration interval = "the value that UU or admin sets for
lock timeouts". Use UMO attributes in cookie value.
2. Catch "close browser" event using javascript and delete "EditorTimeout"
cookie from the browser.
3. Check if "EditorTimeout" exists for this UMO.
4. If not, update the DB for this UMO to make it available(if in DB it's
still marked as locked).

>> 4. Author clicks on "End Edit Mode" button.
> What would that do? Cancel changes or what?

Well, I was thinking that maybe responsible Authors would cancel "lock" by
themself if, for example, the change that they made to the UMO was very
quick and there was no need to keep the lock any more. It's in their best
interest to make their work available, I assume.

>> 5. Author selects "Versioned" radio button and clicks "Save" button.
>> 6. Author tries to link this UMO to others or link any other UMO to this
>> UMO.
> Umm... Not quite like that. New versions aren't created even if object
> links
> are changed, until object is published. I know we didn't think through
> this
> part of editing scenario 100% yet.

Ok, then point 2. "Author publishes the UMO." should suffice.

>> Events that do not cause timeout to end:
>> 1. Author hits "back" button in his browser.
>> 2. Author clicks on any link other than "Publish", "End Edit Mode".
>> I'm not sure about scenario 3. Please give me your feedback, add other
>> scenarios. It will help me to figure out which functionality will be
>> available for users in "edit mode" and which parts will be hidden from
>> editors(if any).
>>> There was a bit of confusion as to what this lock is going to affect,
>>> and what its purpose, which we resolved with Alexey on IRC.
>>> To repeat that for benefit of all others:
>>> 1. Purpose of this lock is to avoid two authors modifying same
>>> object at the same time, thus introducing conflicting changes.
>>> 2. Effect of locking UMO is to prevent any other author from
>>> opening said UMO for editing.
>>> 3. Purpose of timeout on the lock is to ensure that object does
>>> not get accidentally locked forever.
>>> --
>>> Ilya A. Volynets-Evenbakh
>>> Total Knowledge. CTO
>>> http://www.total-knowledge.com
> --
> Ilya A. Volynets-Evenbakh
> Total Knowledge. CTO
> http://www.total-knowledge.com

Authoright © Total Knowledge: 2001-2008