portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Woonsan Ko <woon_...@yahoo.com>
Subject Re: New User/Group/Role Management Portlet
Date Fri, 15 Jan 2010 15:01:03 GMT
Hi Joachim,

Please see my comments below.

----- Original Message ----
> From: Joachim Müller <joachim@wemove.com>
> To: Jetspeed Developers List <jetspeed-dev@portals.apache.org>
> Sent: Wed, January 13, 2010 12:39:52 AM
> Subject: New User/Group/Role Management Portlet
> Hi,
> I want to create new User/Group/Role Management portlets that are easier
> to use/understand. The main requirements are:
> - easy to understand UI
> - simple but powerful query interface
> - paging for the principal results list
> - be able to work with 10.000+ users in terms of memory/performance
> To accomplish the requirements I would like to introduce a
> JetspeedPrincipalLookupManager with the method:
> JetspeedPrincipalResultList getPrincipals(JetspeedPrincipalQueryContext
> queryContext);
> The JetspeedPrincipalQueryContext holds all possible query parameters
> (principal name, attributes, asscoiatedRoles, asscoiatedGroups,
> asscoiatedUsers, sort order, paging parameters, etc.).
> The JetspeedPrincipalResultList encapsulates the actual list of detached
> JetspeedPrincipals and the total number of results.
> The JetspeedPrincipalLookupManager will be implemented using plain JDBC
> because paging the result set is not/poorly supported by OJB. Database
> specific LookupManager implementations can be plugged in via Spring and
> can handle database supported paging (like MySqls LIMIT) but there is a
> default implementation that uses plain JDBC for paging the result set.
> The DB platform is derived from OJB, there is no extra config parameter
> to take care of.

I tried to search any framework level support for the DBMS-side pagination queries.
OJB seems now ready to support that feature since 1.0.5. It has been added with this issue:
Also, I had a look at some source codes such as PlatformOracleImpl [1], PlatformMySQLImpl
and PlatformPostgreSQLImpl (in the package, org.apache.ojb.broker.platforms). Each one seems
to use its own platform specific ones: rownum/rnum for oracle, LIMIT for MySQL, etc.
You could have a look at those in addLimitSql() method and addPagingSql() method in each class.
I think we can ask OJB team to make a release of 1.0.5 and we'd better use new OJB or any
other framework having same features.

[1] https://svn.eu.apache.org/repos/asf/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/platforms/PlatformOracleImpl.java

Kind regards,


> I am planing to plug the JetspeedPrincipalLookupManager into the
> JetspeedSecurityPersistenceManager via Spring.
> Any comments on that plan? Anything I have to be aware of?
> Thanks for any comment,
> Joachim
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
> For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org

View raw message