Fórumok

Staging and Organizations in 5.1.1

thumbnail
Peter Mesotten, módosítva 15 év-val korábban

Staging and Organizations in 5.1.1

Junior Member Bejegyzések: 45 Csatlakozás dátuma: 2009.02.04. Legújabb bejegyzések
It appears that there are some problems with staging for organizations. While we got staging for communities to work just fine, the system doesn't seem to behave in the same manner for organizations.
We have done the following on a clean installation (Tomcat 5.5, Liferay 5.1.1):
  • created an organization with some content on it
  • created 3 users: Edith the Editor, Rudy the Reviewer and Pablo the Publisher
  • created 3 organization roles:
    • Content Editors: with permission to Manage Pages & Assign Reviewer
    • Content Reviewers: with permissions of Content Editors and additionally to Approve Proposal
    • Content Publishers: with permissions of Content Reviewers and additionally to Publish Staging
  • assigned each role to the organization, with the respective users as responsibles for the roles (Edith is an Editor, Rudy is a Reviewer and Pablo is a Publisher)
  • enabled Staging and Workflow in the organization. We created 3 stages and assigned Content Reviewers to the 2nd role and Content Publishers to the 3rd one.

We should have a working workflow now. To test this, we logged in as Edith the Editor. We added some content on a staged page and tried to Propose Publication. We can enter a description, but there is no possibility to select a reviewer. When we enter a description and continue, the page states an error "Manage Pages is temporarily unavailable" and an exception is thrown:
13:39:57,650 ERROR [jsp:52] com.liferay.portal.NoSuchUserException: No User exists with the primary key 0
        at com.liferay.portal.service.persistence.UserPersistenceImpl.findByPrimaryKey(UserPersistenceImpl.java:313)
        at com.liferay.portlet.tasks.service.impl.TasksReviewLocalServiceImpl.addReview(TasksReviewLocalServiceImpl.java:58)
        at com.liferay.portlet.tasks.service.impl.TasksProposalLocalServiceImpl.addProposal(TasksProposalLocalServiceImpl.java:123
)
        at com.liferay.portlet.tasks.service.impl.TasksProposalLocalServiceImpl.addProposal(TasksProposalLocalServiceImpl.java:57)
        at com.liferay.portlet.tasks.service.impl.TasksProposalServiceImpl.addProposal(TasksProposalServiceImpl.java:53)
        at com.liferay.portlet.tasks.service.TasksProposalServiceUtil.addProposal(TasksProposalServiceUtil.java:54)
        at com.liferay.portlet.communities.action.EditProposalAction.updateProposal(EditProposalAction.java:272)
        at com.liferay.portlet.communities.action.EditProposalAction.processAction(EditProposalAction.java:87)
        at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:178)
        at com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:197)
        at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:93)
        at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:57)
        at com.liferay.portlet.InvokerPortlet.invoke(InvokerPortlet.java:548)
        at com.liferay.portlet.InvokerPortlet.invokeAction(InvokerPortlet.java:577)
        at com.liferay.portlet.InvokerPortlet.processAction(InvokerPortlet.java:313)
        at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:618)
        at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:403)
        at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:188)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)

When we check the HTML source of the main page, we indeed see that the reviewers[]-array that is given as a parameter to the javascript popup is empty. We debugged in the code and noticed this code block:
userParams.put("usersGroups", new Long(liveGroup.getGroupId()));
userParams.put("userGroupRole", new Long[] {new Long(liveGroup.getGroupId()), new Long(role.getRoleId())});
List<user> reviewers = UserLocalServiceUtil.search(company.getCompanyId(), null, null, userParams, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);</user>

The reviewers-list is empty, but the parameters that are given to the search method are okay (we think):
  • usersGroups has the groupId of our organization (first column of the "group_" table)
  • userGroupRole has both the companyId and the roleId of our Content Reviewers role (first column of the "role_" table)
  • company.getCompanyId() returns the companyId of our organization (second column of the "group_" table)
We really wonder what the problem is here. Especially because we did the very same procedure for communities (with community roles instead of organization roles) and everything worked perfectly.
Any ideas? Your help is much appreciated! Thanks in advance.
thumbnail
Peter Mesotten, módosítva 15 év-val korábban

RE: Staging and Organizations in 5.1.1

Junior Member Bejegyzések: 45 Csatlakozás dátuma: 2009.02.04. Legújabb bejegyzések
*bump*

Can someone please help me with this?