Bug 793639 (JBEPP-718)

Summary: Create additional portal objects for external groups
Product: [JBoss] JBoss Enterprise Portal Platform 5 Reporter: Martin Weiler <mweiler>
Component: PortalAssignee: mposolda
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.1.0.CR01, 5.1.0.GACC: boleslaw.dawidowicz, mvecera, theute, tkonishi
Target Milestone: ---   
Target Release: 5.2.1.ER02   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/JBEPP-718
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in <filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>, which imports the configuration stored in the initializer-configuration.xml file.
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:15:10 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 801424    

Description Martin Weiler 2010-12-09 14:27:34 UTC
Help Desk Ticket Reference: https://na7.salesforce.com/500A0000004UaFc
project_key: JBEPP

To address the limitation listed in Q4 of the GateIn identity FAQ
http://community.jboss.org/wiki/GateInIdentityandSecurityFAQ

the additional portal objects should be created for all external groups, as it is done when groups are created through the Organization API by the GroupPortalConfigListener. This would allow users to create pages for such external groups.

Comment 6 Thomas Heute 2011-04-04 08:48:51 UTC
I sent you by email the case and attachments.



Comment 10 Jared MORGAN 2011-11-17 03:26:44 UTC
Release Notes Docs Status: Added: Not Yet Documented


Comment 11 Jared MORGAN 2011-11-17 03:27:05 UTC
Primary SME: Added: theute


Comment 14 Thomas Heute 2011-12-15 11:05:15 UTC
Labels: Added: EPP_5_2_1_Candidate


Comment 15 boleslaw.dawidowicz 2012-02-16 09:16:03 UTC
Labels: Removed: EPP_5_2_1_Candidate 


Comment 16 Boleslaw Dawidowicz 2012-03-01 12:05:40 UTC
Other related HelpDesk Ticket: https://c.na7.visual.force.com/apex/Case_View?id=500A0000007su0S&sfdc.override=1

Comment 17 Boleslaw Dawidowicz 2012-03-08 09:20:48 UTC
This is implemented in https://github.com/gatein/gatein-toolbox/tree/master/CoreOrganizationInitializer. 

We agreed with Thomas and Honza to fork those classes into EPP (and not GateIn) so it is packaged together. I think it can go into component.identity. 

Configuration xml should be copied over and exposed in some easy to access place (idm-configuration.xml or some separate initializer-configuration.xml with import that is commented out by default).

Comment 18 mposolda 2012-03-08 14:07:49 UTC
I added new component exo.portal.component.initializer for this stuff and I copy all the sources from https://github.com/gatein/gatein-toolbox/tree/master/CoreOrganizationInitializer into this component. I added new configuration file web/portal/src/main/webapp/WEB-INF/conf/organization/initializer-configuration.xml, which is linked from web/portal/src/main/webapp/WEB-INF/conf/configuration.xml but it's commented by default. So initializer is commented by default and can be uncommented on demand when needed.

New Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=801424 has been created for Jared to add section about initializer into Reference guide.

Comment 19 mposolda 2012-03-08 14:14:05 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
CAUSE: When portal administrator adds user or group through EPP UI (Organization API) then all necessary objects are created for this user or group in JCR. But when he adds them directly into his database or ldap, then JCR objects are not created because some necessary listeners are not triggered.

CONSEQUENCE: It may lead to bugs and exceptions in some situations, because needed JCR objects for particular user or group are not correctly initialized.

FIX:
CoreOrganizationInitializer is plugin has been createdL.

Purpose of CoreOrganizationInitializer is to trigger all necessary listeners for objects, which were created externally. It's useful especially when you are using
EPP-SP but may be useful also for plain EPP.

RESULT: CoreOrganizationInitializer plugin bundled in EPP. This plugin is disabled by default but can be enabled by portal administrator in configuration when needed. Section into Reference guide has been added to document this new feature.

Comment 20 mposolda 2012-03-08 14:15:12 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -3,9 +3,9 @@
 CONSEQUENCE: It may lead to bugs and exceptions in some situations, because needed JCR objects for particular user or group are not correctly initialized.
 
 FIX:
-CoreOrganizationInitializer is plugin has been createdL.
+CoreOrganizationInitializer plugin has been created.
 
 Purpose of CoreOrganizationInitializer is to trigger all necessary listeners for objects, which were created externally. It's useful especially when you are using
 EPP-SP but may be useful also for plain EPP.
 
-RESULT: CoreOrganizationInitializer plugin bundled in EPP. This plugin is disabled by default but can be enabled by portal administrator in configuration when needed. Section into Reference guide has been added to document this new feature.+RESULT: CoreOrganizationInitializer plugin bundled in EPP. This plugin is disabled by default but can be enabled by portal administrator in configuration when needed. Section into Reference guide will be added to document this new feature.

Comment 22 Jared MORGAN 2012-03-14 04:31:50 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,11 +1 @@
-CAUSE: When portal administrator adds user or group through EPP UI (Organization API) then all necessary objects are created for this user or group in JCR. But when he adds them directly into his database or ldap, then JCR objects are not created because some necessary listeners are not triggered.
+If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in WEB-INF/conf/organization/initializer-configuration.xml.-
-CONSEQUENCE: It may lead to bugs and exceptions in some situations, because needed JCR objects for particular user or group are not correctly initialized.
-
-FIX:
-CoreOrganizationInitializer plugin has been created.
-
-Purpose of CoreOrganizationInitializer is to trigger all necessary listeners for objects, which were created externally. It's useful especially when you are using
-EPP-SP but may be useful also for plain EPP.
-
-RESULT: CoreOrganizationInitializer plugin bundled in EPP. This plugin is disabled by default but can be enabled by portal administrator in configuration when needed. Section into Reference guide will be added to document this new feature.

Comment 24 mposolda 2012-03-14 08:33:19 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in WEB-INF/conf/organization/initializer-configuration.xml.+If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in EPP_HOME/server/<PROFILE>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml to import file initializer-configuration.xml .

Comment 26 Jared MORGAN 2012-03-14 21:07:33 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in EPP_HOME/server/<PROFILE>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml to import file initializer-configuration.xml .+If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in JBOSS_HOME/server/[PROFILE]/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml, which imports the static configuration stored in the initializer-configuration.xml file .

Comment 28 Jared MORGAN 2012-03-21 04:41:14 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in JBOSS_HOME/server/[PROFILE]/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml, which imports the static configuration stored in the initializer-configuration.xml file .+If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in JBOSS_HOME/server/[PROFILE]/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml, which imports the  configuration stored in the initializer-configuration.xml file.

Comment 29 Jared MORGAN 2012-03-27 22:55:58 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in JBOSS_HOME/server/[PROFILE]/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml, which imports the  configuration stored in the initializer-configuration.xml file.+If a user manually added users or groups into a Java Content Repository or LDAP, the required objects were not created because some necessary listeners were not called as they would be if the Organization API was used. This could result in exceptions in some situations, because the required JCR objects for a particular user or group were not correctly initialized. The fix introduces the CoreOrganizationInitializer plugin (exo.portal.component.initializer), which monitors the JCR and LDAP for changes and initiates the listeners when required. The plugin is disabled by default, but can be enabled by a portal administrator by uncommenting the block in <filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>, which imports the  configuration stored in the initializer-configuration.xml file.

Comment 30 Michal Vanco 2012-04-12 11:05:08 UTC
Verified the issue when initializer is used/not used for scenario with ACME ldap user. (epp + sp + acme)

Comment 33 Red Hat Bugzilla 2025-02-10 03:15:10 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.