morciuch 2002/11/15 09:27:18
Modified: docs/site changes.html
src/java/org/apache/jetspeed/modules/actions/controllers
MultiColumnControllerAction.java
src/java/org/apache/jetspeed/modules/parameters
RegistryEntryListBox.java
webapp/WEB-INF/conf admin.xreg controls.xreg
webapp/WEB-INF/templates/vm/controllers/html
multicolumn-customize.vm
webapp/WEB-INF/templates/vm/portlets/html
customizer-portletset-layout.vm
xdocs changes.xml
Log:
Allow to customize control for each portlet in the layout customizer (see Bugzilla
bug # 13252).
List of available controls is limited to ones with parameter "simple" set to "true"
in control registry. Currently, there are 3 available controls: TitlePortletControl,
BoxControl and ClearPortletControl.
Revision Changes Path
1.71 +3 -0 jakarta-jetspeed/docs/site/changes.html
Index: changes.html
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/docs/site/changes.html,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- changes.html 14 Nov 2002 22:43:32 -0000 1.70
+++ changes.html 15 Nov 2002 17:27:17 -0000 1.71
@@ -133,6 +133,9 @@
</li>
-->
<li>
+ Add - Bug # 13252 - 2002/11/15 - Allow to customize control for each portlet in
layout customizer (MO)
+</li>
+<li>
Add - 2002/11/14 - Jetspeed/Axis Integration, ChangeLanguagePortlet (DT)
</li>
<li>
1.24 +36 -0
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
Index: MultiColumnControllerAction.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- MultiColumnControllerAction.java 8 Nov 2002 23:13:44 -0000 1.23
+++ MultiColumnControllerAction.java 15 Nov 2002 17:27:17 -0000 1.24
@@ -58,6 +58,8 @@
import org.apache.jetspeed.om.registry.PortletEntry;
import org.apache.jetspeed.om.profile.IdentityElement;
import org.apache.jetspeed.om.profile.Entry;
+import org.apache.jetspeed.om.profile.psml.PsmlControl;
+import org.apache.jetspeed.services.PortalToolkit;
import org.apache.jetspeed.om.profile.MetaInfo;
import org.apache.jetspeed.om.profile.Layout;
import org.apache.jetspeed.om.profile.Parameter;
@@ -557,6 +559,40 @@
if ((col > -1) && (row > -1) && (row < columns[col].size() - 1))
{
move(columns, col, row, col, row + 1);
+ }
+ }
+
+ public void doControl(RunData data, Context context)
+ {
+ JetspeedRunData jdata = (JetspeedRunData) data;
+
+ String controlName = data.getParameters().getString("control");
+ String id = data.getParameters().getString("js_peid");
+
+ try
+ {
+ Entry entry =
jdata.getCustomizedProfile().getDocument().getEntryById(id);
+
+ if (entry != null)
+ {
+ if (controlName != null && controlName.trim().length() > 0)
+ {
+ PsmlControl control = new PsmlControl();
+ control.setName(controlName);
+ if (control != null)
+ {
+ entry.setControl(control);
+ }
+ }
+ else
+ {
+ entry.setControl(null);
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ Log.error(e);
}
}
1.2 +29 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/RegistryEntryListBox.java
Index: RegistryEntryListBox.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/RegistryEntryListBox.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RegistryEntryListBox.java 12 Nov 2002 22:19:00 -0000 1.1
+++ RegistryEntryListBox.java 15 Nov 2002 17:27:17 -0000 1.2
@@ -64,6 +64,7 @@
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.om.registry.PortletInfoEntry;
import org.apache.jetspeed.om.registry.RegistryEntry;
+import org.apache.jetspeed.om.registry.Parameter;
import org.apache.jetspeed.om.security.JetspeedUser;
import org.apache.jetspeed.services.JetspeedSecurity;
import org.apache.jetspeed.services.Registry;
@@ -83,6 +84,7 @@
* <LI><code>null-if-empty</code> [<strong>true</strong>|false] - do not return a
select control if item list is empty</LI>
* <LI><code>set-label</code> [<strong>false</strong>|true] - put label in front of
the list box based on the registry name</LI>
* <LI><code>disabled-if-wml</code> [<strong>false</strong>|true] - set disabled
attribute for the list box if using wml</LI>
+ * <LI><code>select-if-simple</code> [<strong>false</strong>|true] - select only
entries with parameter "simple" set to true</LI>
* </UL>
* @author <a href="[EMAIL PROTECTED]">Mark Orciuch</a>
* @version $Id$
@@ -96,6 +98,7 @@
public static final String OPTION_NULL_IF_EMPTY = "null-if-empty";
public static final String OPTION_SET_LABEL = "set-label";
public static final String OPTION_DISABLED_IF_WML = "disabled-if-wml";
+ public static final String OPTION_SELECT_IF_SIMPLE = "select-if-simple";
/**
* Put custom objects in the velocity context
@@ -117,6 +120,7 @@
String nullIfEmpty = (String)getParm(OPTION_NULL_IF_EMPTY, "true");
boolean setLabel = (new Boolean((String)getParm(OPTION_SET_LABEL,
"false"))).booleanValue();
boolean disabledIfWML = (new
Boolean((String)getParm(OPTION_DISABLED_IF_WML, "false"))).booleanValue();
+ boolean selectIfSimple = (new
Boolean((String)getParm(OPTION_SELECT_IF_SIMPLE, "false"))).booleanValue();
// Iterate thru entries from selected registry
List list = new ArrayList();
@@ -124,13 +128,31 @@
{
RegistryEntry entry = Registry.getEntry(regName, (String)i.next());
boolean selected = false;
- selected =
JetspeedSecurity.checkPermission((JetspeedUser)data.getUser(), new
PortalResource(entry), "customize");
+ selected = JetspeedSecurity.checkPermission((JetspeedUser)
data.getUser(), new PortalResource(entry), "customize");
if (selected && !selectHidden)
+ {
selected = !entry.isHidden();
+ }
if (selected && (entry instanceof PortletInfoEntry))
- selected = ((PortletInfoEntry)entry).hasMediaType(mediaType);
+ {
+ selected = ((PortletInfoEntry) entry).hasMediaType(mediaType);
+ }
+ if (selected && selectIfSimple)
+ {
+ Parameter simpleParam = ((PortletInfoEntry)
entry).getParameter("simple");
+ if (simpleParam != null)
+ {
+ selected = new Boolean(simpleParam.getValue()).booleanValue();
+ }
+ else
+ {
+ selected = false;
+ }
+ }
if (selected)
+ {
list.add(entry);
+ }
}
// Perform optional sort of list box items
@@ -172,6 +194,10 @@
else if (regName.equals(Registry.PORTLET_CONTROL))
{
label = Localization.getString("CUSTOMIZER_DECORATION");
+ }
+ else if (regName.equals(Registry.CLIENT))
+ {
+ label = "Client";
}
else
{
1.27 +8 -0 jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg
Index: admin.xreg
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- admin.xreg 12 Nov 2002 22:19:00 -0000 1.26
+++ admin.xreg 15 Nov 2002 17:27:17 -0000 1.27
@@ -47,6 +47,14 @@
<parameter name="skin.style.registry" value="Skin" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
<parameter name="skin.style.disabled-if-wml" value="true" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
<parameter name="skin.style.javascript:onchange"
value="document.skins.submit()" hidden="false" cachedOnName="true"
cachedOnValue="true"/>
+ <parameter name="control" value="" type="style" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style" value="RegistryEntryListBox" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.registry" value="PortletControl" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.disabled-if-wml" value="true" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.select-hidden" value="true" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.select-if-simple" value="true" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.set-label" value="true" hidden="false"
cachedOnName="true" cachedOnValue="true"/>
+ <parameter name="control.style.javascript:onchange" value="this.form.submit()"
hidden="false" cachedOnName="true" cachedOnValue="true"/>
<meta-info>
<title>Customize pane</title>
</meta-info>
1.7 +3 -0 jakarta-jetspeed/webapp/WEB-INF/conf/controls.xreg
Index: controls.xreg
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/controls.xreg,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- controls.xreg 23 Jul 2001 21:46:44 -0000 1.6
+++ controls.xreg 15 Nov 2002 17:27:18 -0000 1.7
@@ -5,6 +5,7 @@
<portlet-control-entry name="ClearPortletControl" hidden="true">
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
<parameter name="theme" value="clear.vm"/>
+ <parameter name="simple" value="true" hidden="false"/>
<meta-info>
<title>ClearPortletControl</title>
</meta-info>
@@ -26,6 +27,7 @@
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
<parameter name="theme" value="jetspeed-box.vm"/>
<parameter name="thickness" value="2"/>
+ <parameter name="simple" value="true" hidden="false"/>
<meta-info>
<title>Boxed titled control</title>
</meta-info>
@@ -35,6 +37,7 @@
<portlet-control-entry name="TitlePortletControl">
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
<parameter name="theme" value="jetspeed.vm"/>
+ <parameter name="simple" value="true" hidden="false"/>
<meta-info>
<title>Simple titled control</title>
</meta-info>
1.15 +37 -2
jakarta-jetspeed/webapp/WEB-INF/templates/vm/controllers/html/multicolumn-customize.vm
Index: multicolumn-customize.vm
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/controllers/html/multicolumn-customize.vm,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- multicolumn-customize.vm 2 Sep 2002 18:33:08 -0000 1.14
+++ multicolumn-customize.vm 15 Nov 2002 17:27:18 -0000 1.15
@@ -3,6 +3,7 @@
<br>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
+#set ($ndx = 0)
#set ($col = 0)
#foreach ( $column in $portlets )
#set ($row = 0)
@@ -110,10 +111,44 @@
</td>
</tr>
#end
+</form>
+#if ($portlet.Control.Name)
+ #set ($controlListBox = $jetspeed.getPortletParameter($data,
$data.User.getTemp("customizer"), "control", $portlet.Control.Name))
+ #else
+ #set ($controlListBox = $jetspeed.getPortletParameter($data,
$data.User.getTemp("customizer"), "control"))
+#end
+
+#if (!$portlet.Path && $controlListBox)
+
+ <tr>
+ <td#if(${skin.ContentStyleClass}) class="${skin.ContentStyleClass}"
#end #if(${skin.BackgroundColor}) style="background-color: ${skin.BackgroundColor}"
#end>
+ <table width="100%"> ## Including table to match alignment.
+ <tr>
+ <td>
+ #if ($!mtype)
+ <form name="decorations$ndx"
action="$jslink.Template.addQueryData('mtype', $mtype)" method="post">
+ #else
+ <form name="decorations$ndx" action="$jslink.Template"
method="post">
+ #end
+ #if ($action)
+ <input name="$jslink.ActionKey" type="hidden"
value="$action">
+ #end
+ <input name="js_peid" type="hidden"
value="$portlet.id">
+ <input type="hidden" name="eventSubmit_doControl"
value="doControl">
+ $controlListBox
+ </form>
+ #set ($ndx = $ndx + 1)
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+#end
+
</table>
</td></tr>
</table>
- </form>
+ ##</form>
</td>
</tr>
#set ($row = $row + 1)
1.12 +2 -0
jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-layout.vm
Index: customizer-portletset-layout.vm
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-layout.vm,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- customizer-portletset-layout.vm 12 Nov 2002 22:19:00 -0000 1.11
+++ customizer-portletset-layout.vm 15 Nov 2002 17:27:18 -0000 1.12
@@ -128,4 +128,6 @@
</tr>
</table>
</center>
+## Set reference to customizer for access from the individual controller customizers
+$data.User.setTemp("customizer",$customizer)
$!set.Controller.getContent($data)
1.92 +4 -1 jakarta-jetspeed/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- changes.xml 14 Nov 2002 22:43:09 -0000 1.91
+++ changes.xml 15 Nov 2002 17:27:18 -0000 1.92
@@ -23,6 +23,9 @@
</li>
-->
<li>
+ Add - Bug # 13252 - 2002/11/15 - Allow to customize control for each portlet in
layout customizer (MO)
+</li>
+<li>
Add - 2002/11/14 - Jetspeed/Axis Integration, ChangeLanguagePortlet (DT)
</li>
<li>
--
To unsubscribe, e-mail: <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>