On 03/04/2012 08:23, Bob Lannoy wrote:
Hi,
I was thinking about using the console as an application to give to
not too technical people.
The problem with the console is that it contains way too much visible
functionality for that audience.
The creation of a user doesn't need to show tabs like "derived
attributes", "virtual attributes", "resources".
Same thing for the self registration process.
I guess I would need to write my own UI or is there a way to
parametrize the console?
Hi Bob,
provided that you have a bit of Apache Wicket know-how, you don't need
to rewrite your custom UI from scratch - even though this is possible,
indeed: a complete administration console for Syncope can be rewritten
even in PHP :-)
Anyway, Syncope core and console can be easily customized and extended
in your own project by empowering WAR overlays [1].
In your specific case, you have to put in your project's
console/src/main/java directory a copy of UserModalPage [2] (in its own
package), then customize it in order to meet your requirements.
I'd suggest to find a way to hide some panels (like
DerivedAttributesPanel, VirtualAttributesPanel and ResourcesPanel) under
certain conditions, for example when logged user does not have enough
entitlements (you can get the list of current user entitlements by
issuing SyncopeSession.get().getEntitlements()).
If you need to customize some HTML as well, place a copy of [3] in your
project's console/src/main/resources directory (including the full path)
and do it there.
As already remarked in the past, this extension mechanism is handful but
has some glitches: once you've "cloned" the original classes / resource
files, these are not any more in sync with the rest of console code. Any
future patch affecting such elements, in fact, will not be applied
automatically but will need some manual update in your own project.
This is definitely one of aspects to be discussed for our roadmap.
Hope this helps.
Regards.
[1] http://maven.apache.org/plugins/maven-war-plugin/overlays.html
[2]
http://svn.apache.org/repos/asf/incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/UserModalPage.java
[3]
http://svn.apache.org/repos/asf/incubator/syncope/trunk/console/src/main/resources/org/syncope/console/pages/UserModalPage.html
--
Francesco Chicchiriccò
Apache Cocoon PMC and Apache Syncope PPMC Member
http://people.apache.org/~ilgrosso/