Hi Joachim, Please see my comments below.
----- Original Message ---- > From: Joachim Müller <[email protected]> > To: Jetspeed Developers List <[email protected]> > 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: http://issues.apache.org/jira/browse/OJB-131 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, Woonsan > > 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: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
