Lost work. Simultaneous users

Having trouble installing RationalPlan? Got a bug to report? Post it all here.

Lost work. Simultaneous users

Postby coach01 » Tue Jun 26, 2012 8:34 pm

I've recently setup and installed a Ubuntu Linux multi-project server. I have 7 users creating and managing projects. I have had two instances where users adding new projects have Saved new work with the "update latest from server" option checked, and had their work lost. Each of these uses were working from a "core" set of tasks that they copied from an existing project and pasted into a new project, made changes (usually resource assignments), and then Saved the project (with the update switch on). Review of the server side repository shows upload events, but when reviewing the content files, no changes can be identified. The same Copy/modify/paste to new project work flow has successfully created several projects in the repository. I've not been able to repeat the issue by following the steps above. This has happened to users that have some restrictions on their accounts such that they can only see their own work or work that they are "interested" in.

Related to this post, possibly, I am interested in simultaneous modification which appear to be possible. The way I see the software work, which of course may be wrong, is: Users signs into server, Manages projects, a file and if necessary the application are downloaded to the users hard drive; the user modifies several line items, saves and a file uploads the changes to the server. That file appears to become latest.

So what happens if two people are working simultaneously on the same project and the same line items? Is there conflict resolution performed by the server? are separate portions of the uploaded files written into a larger server side database? Should there be specific workflows for users to follow to avoid such conflicts?

Anyone else come across these issues?
Posts: 12
Joined: Tue May 29, 2012 8:17 pm

Re: Lost work. Simultaneous users

Postby lucian » Wed Jun 27, 2012 10:54 am

#1 using Planner+
First things first, how simultaneously work over the same tasks is performed when using the Planner+ (assume two users are working on the same task)
- assume one user is changing the name of the task while the other is changing a different thing, let's say the duration of the task. In this case both changes are performed into the server upon save. That means, if someone is getting the latest version from the server he will get both the new name and the new duration. That is possible because server won't work at "file/project level" but rather "atomically" where the operations sent to the server are something like "new name for task having ID xxxx is now "new Name", respectively "new duration for task having ID xxxx is now "mmmm milliseconds"
#1.b - assume both users are changing the task name for the same task. In this case operations are serialized (the first name will be set then the second name will override the first). History will retain both changes so you will be able to revert to either one.

Some nasty things could occur while working in parallel on the same tasks like: assume one user is completely deleting a task/phase while the second user is trying to create a subtask of exactly this task (so the second users is creating a subtask for the deleted task). In this case, while creation of the subtask is attempted into the server, it will find out the "parent task" no longer exists which means it can not create the task as requested. As a result, it will no longer create the subtask. Of course this can propagate further, new subtasks of that subtaks will also not be created, etc.
Situations like these are reported back by the server but it could still unpleasant to find out you have carefully plan an entire subtree and none can be saved because some other user have deleted the parent tasks ...

To avoid such situations we recommend that a dedicated project manager will perform serious structural changes (by that we are mainly referring to task deletion) while the other can change durations/assignments/etc.

#2 using the web interface
When using the web interface, each small update is sent to the server which in his turn will replicate the update to all web users connected at that moment. That means, all web users will notice the updates in real time so situations like in #1 case won't happen (at least one will notice in real time a certain subtree was deleted, etc. so work is not lost). While web interfaces are updated in real time, the desktop clients are not so a user using the Planner+ must be aware of this
Posts: 243
Joined: Fri Mar 26, 2010 3:09 pm

Re: Lost work. Simultaneous users

Postby coach01 » Wed Jun 27, 2012 1:49 pm

Thanks for the explaination. I like the work "atomically". . . appropriate to what you explained. I also like the development approach allowing different aspects of the updates to occur on the same tasks.
I'll continue to post any additional occurances if they happen.
Posts: 12
Joined: Tue May 29, 2012 8:17 pm

Return to Common Problems

Who is online

Users browsing this forum: No registered users and 3 guests