[jboss-dev-forums] [Design of JBoss Portal] - Portlet instance Admin
Vishal Student 123
do-not-reply at jboss.com
Mon Aug 18 06:16:26 EDT 2008
Hi,
I'm trying to implement the admin preferences. Where the admin can change default values for a portlet instance that will be reflected for everyone viewing that page. Allowing administrators to easily tweak values such as the number of images to display in each column/row for a category portlet for example. This can be done in the admin portlet, but it can be difficult for non-programmers to understand how instances are configured and which instance is displayed on which page. Which is why I also want a admin GUI layout for portlets.
I have seen the thread: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=139028 but i also saw this in the API of 2.6.3:
anonymous wrote :
| There are two different types of preferences:
|
| modifiable preferences - these preferences can be changed by the portlet in any standard portlet mode (EDIT, HELP, VIEW). Per default every preference is modifiable.
| read-only preferences - these preferences cannot be changed by the portlet in any standard portlet mode, but may be changed by administrative modes. Preferences are read-only, if the are defined in the deployment descriptor with read-only set to true, or if the portlet container restricts write access.
|
|
So i went about making preferences read-only and set up a custom view:
| <portlet>
| .....
| <preference>
| <name>numberOfImages</name>
| <value>5</value>
| <read-only>true</read-only>
| </preference>
| <supports>
| <mime-type>text/html</mime-type>
| <portlet-mode>VIEW</portlet-mode>
| <portlet-mode>Admin</portlet-mode>
| </supports>
| </portlet>
| <custom-portlet-mode>
| <name>Admin</name>
| </custom-portlet-mode>
| </portlet-app>
|
allowed my "admin" to edit instance preferences:
| <instance>
| <instance-id>name</instance-id>
| <portlet-ref>name</portlet-ref>
| <security-constraint>
| <policy-permission>
| <action-name>admin</action-name>
| <role-name>Admin</role-name>
| </policy-permission>
| <policy-permission>
| <action-name>view</action-name>
| <unchecked/>
| </policy-permission>
| </security-constraint>
| </instance>
|
But when trying to write to the value i get a error:
| javax.portlet.ReadOnlyException: Key foo cannot be written
|
Also when i am looking at the admin portlet logged in as admin i cannot click on the value for a portlet varible where i can change it. Other preferences in other portlets not mark as "read-only" can be changed.
It's like the admin cannot write to the values. Is there something i am missing? I'm using the same default admin that was set when i downloaded it.
Is there something i need to for admin to write to read only values ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4171017#4171017
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4171017
More information about the jboss-dev-forums
mailing list