History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: UP-820
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Nick Bolton
Reporter: Andreas Christoforides
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uPortal

Group Manager Servant does not complete when no selections are made

Created: 20/Jan/05 05:49 PM   Updated: 03/Jul/07 04:10 PM
Component/s: Groups
Affects Version/s: 2.1.4, 2.1.5, 2.2, 2.2.1, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.5.0 M1, 2.5.1 RC1, 2.5.0 RC1, 2.5.0 RC3, 2.5.0 RC2, 2.5.0 GA, 2.5.1 RC2, 2.5.2 RC1, 2.4.4, 2.5.1 RC3, 2.5.1 GA, 2.5.3 RC1, 2.5.2 GA, 2.5.3 RC2, 2.5.3 RC3, 2.5.3 GA
Fix Version/s: 2.6.0 M1

Original Estimate: 5 minutes Remaining Estimate: 5 minutes Time Spent: Unknown


 Description  « Hide
The problem occurs when the group manager is running in servant mode. Clicking on the "Add Members" button sets a parentId flag in the static data of the servant. The existance of that flag is used as part of the logic that determines if the servant has completed or not. However, the only action that clears out that flag is the DoneWithSelection command. If the servant user chooses to add members but cancels the selection later on, they get stuck in the servant since the flag was never cleared and the servant never reports that it has finished.

 All   Comments   Work Log   Change History      Sort Order:
Brad Johnson [25/Jan/05 10:44 AM]
Tried to reproduce this in 2.4.1. I went into the channel manager and edited the groups on an already published channel. I never got the Add Members button. When I tried out the groups manager in the stand alone channel I didn't run into the problem either.

Could you please explain how we can reproduce this problem? Can it be produced on the quickstart?


Andreas Christoforides [25/Jan/05 11:23 AM]
The issue refers only to the Group Servant life-cycle, there is no problem when the standalone channel is used. Also, the scenario that triggers the issue in the servant requires you to click on the "Add Members" button as I described above. The issue appeared while using the group servant in a custom channel. I was adding/removing members in a group. If I clicked on "Add Members", cancelled my selection and tried to exit the servant would not answer the isFinished() call correctly.

I looked at the code of the group servant and it looks like the CancelSelection command also requires to clear the parentId flag the same way the DoneWithSelection command does. I have already made a fix and tested it on my local box.


Andreas Christoforides [28/Feb/05 03:21 PM]
As I mentioned you need to both be in group manager servant mode and click on the add members button. The scenarios you mention do no satisfy these conditions, so I am not surprised you could not duplicate the issue.

Andrew Petro [07/Apr/05 05:00 PM]
Re-opening this issue because it does not appear that the reporter believes the issue is resolved.

Andrew Petro [07/Apr/05 05:00 PM]
Andreas, could you post a patch representing the fix you made on your local box?

Andreas Christoforides [08/Apr/05 12:52 PM]
I just added the following line in the CancelSelection class:

sessionData.staticData.remove("groupParentId");

The line was added at the end of the if clause where parentId is not null.

The DoneWithSelection command does the same when you run the group manager in servant mode (parentId not null). It seems that it was ommited for the CancelSelection command.


Andrew Petro [26/Sep/05 06:00 PM]
I'm confused.
> The DoneWithSelection command does the same when you run the group manager in servant mode (parentId not null).

But DoneWithSelection states:
/** Presence of parentID means the process is not in servant mode. That is,

  • the master channel is the Groups Manager channel and AddMembers had
  • been selected
    */
    if (hasParentId) {

Is AddMembers only supposed to appear when ChannelManager is the master channel?


Andreas Christoforides [27/Sep/05 03:17 PM]
When I mentioned the following:

> The DoneWithSelection command does the same when you run the group manager in servant mode (parentId not null).

I was referring to the following fix:

> sessionData.staticData.remove("groupParentId");

DoneWithSelection clears the flag but CancelSelection omits to do so.
The one line fix I proposed above simply does the same thing that the DoneWithSelection class
does.


Nick Bolton [21/Feb/07 02:52 PM]
I applied the fix that was given in the comments.