Tuesday, August 22, 2006

Roma Framework: finally the Users Module working


Today I've finished the first tests about the new Users module in ROMA Framework. What is the Users Module? It contains all domain POJO to manage login, accounts and profiles in the most classic fashion.

Yes, since most often applications handle User and authentication in the same way, why don't implement a flexible POJOs in ROMA? That is the Users Module. It depends by JPOX persistence module (JDO 2.0) to store user information in the database.

The most powerful thing, IMHO, is the profiling system. I tried to implement the most flexible system to define profiles:
  • Each profile defines the mode, namely the way functions play:
    • allow all but: you can define the exception. Use this when exception are less than all functionalities
    • deny all but: you can define only what the profile can access. Use this when functions are much less than the total.
  • Each profile can define a parent profile where to inherit the functionalities allowed and denied.
  • Functionalities are expressed as a simple name in the format below:
    • ClassName
    • ClassName.field
    • ClassName.action
  • In this way you can profile from the Class level until each field/action!
How to use it?

If you want to disable the Control Panel item from the main menu, just insert the function with name "MainMenu.controlPanel" (that is the action name that call the submenu) and with allow equals to false.

If you'd like to hide the employee's salary field to the "Visitor" profile, then set it with mode "Allow all but" and insert the function "Employee.salary" with allow equals to false. That is.

Roma controller will check for each POJO's fields and actions if the current user profile is allowed to display.

Simple, powerful and easy!

Users module contain also an Activity Log manager, a default implementation for the AuthenticationAspect using BaseAccount and BaseProfile POJOs, generic useful objects such as Info and GenericValue, and more.

To use it download the latest SVN revision and type:
roma addModule domain-users

Follow the link to know more: http://romaframework.xwiki.com/xwiki/bin/view/Doc/Domain+Users

Monday, August 21, 2006

Back to my PC

Holidays ended and I'm in Rome again in front to my PC to resolve some issues about Roma Framework and to implement some new cool features.

Rome city is too much beautiful on August, since there is zero traffic and very few people around the city. Yesterday it was a very hot day, but in the evening I've tested my brand new Roller Blade on bicycle path near Rome. Very cool!

Thursday, August 10, 2006

Roma Framework community and vacation

After a while I write on my tech blog... Now I'm on vacation (Tuscany, Italy) but sometime I connect to the Internet to read mails and messages. I'm very happy to see the community reply to the Roma Framework forum in my absence! ;-)

I'll return in the mid of august with a lot of feature requests and some (!) bugs to resolve.

And in the air I can feel a wind of changes...

Ciao, Luca