You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(48) |
Dec
(31) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(22) |
Feb
(68) |
Mar
(185) |
Apr
(11) |
May
(21) |
Jun
(23) |
Jul
(46) |
Aug
(69) |
Sep
(211) |
Oct
(26) |
Nov
(51) |
Dec
(52) |
| 2006 |
Jan
(13) |
Feb
(13) |
Mar
(8) |
Apr
(21) |
May
(17) |
Jun
(100) |
Jul
(34) |
Aug
(23) |
Sep
(26) |
Oct
(16) |
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(66) |
Oct
(10) |
Nov
(1) |
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(31) |
Aug
(8) |
Sep
(11) |
Oct
(6) |
Nov
|
Dec
|
| 2012 |
Jan
(13) |
Feb
(2) |
Mar
(9) |
Apr
(6) |
May
(24) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(120) |
| 2013 |
Jan
(6) |
Feb
(35) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <pb...@fe...> - 2012-12-12 17:54:48
|
Author: pboy Date: 2012-12-12 17:54:38 +0000 (Wed, 12 Dec 2012) New Revision: 2362 Added: contrib/camden/ccm-ldn-camden-consultation/.classpath contrib/camden/ccm-ldn-camden-consultation/.project contrib/camden/ccm-ldn-camden-consultation/application.xml contrib/camden/ccm-ldn-camden-consultation/pdl/ contrib/camden/ccm-ldn-camden-consultation/sql/ contrib/camden/ccm-ldn-camden-consultation/src/ contrib/camden/ccm-ldn-camden-consultation/web/ Removed: contrib/camden/ccm-ldn-camden-consultation/trunk/.classpath contrib/camden/ccm-ldn-camden-consultation/trunk/.project contrib/camden/ccm-ldn-camden-consultation/trunk/application.xml contrib/camden/ccm-ldn-camden-consultation/trunk/pdl/ contrib/camden/ccm-ldn-camden-consultation/trunk/sql/ contrib/camden/ccm-ldn-camden-consultation/trunk/src/ contrib/camden/ccm-ldn-camden-consultation/trunk/web/ Log: Code reorganized according to directory structure convention. Copied: contrib/camden/ccm-ldn-camden-consultation/.classpath (from rev 2359, contrib/camden/ccm-ldn-camden-consultation/trunk/.classpath) =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/.classpath (rev 0) +++ contrib/camden/ccm-ldn-camden-consultation/.classpath 2012-12-12 17:54:38 UTC (rev 2362) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-core"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-navigation"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-rss"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-util"/> + <classpathentry kind="output" path="build/Eclipse"/> +</classpath> Copied: contrib/camden/ccm-ldn-camden-consultation/.project (from rev 2359, contrib/camden/ccm-ldn-camden-consultation/trunk/.project) =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/.project (rev 0) +++ contrib/camden/ccm-ldn-camden-consultation/.project 2012-12-12 17:54:38 UTC (rev 2362) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>ccm-ldn-camden-consultation</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> Copied: contrib/camden/ccm-ldn-camden-consultation/application.xml (from rev 2359, contrib/camden/ccm-ldn-camden-consultation/trunk/application.xml) =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/application.xml (rev 0) +++ contrib/camden/ccm-ldn-camden-consultation/application.xml 2012-12-12 17:54:38 UTC (rev 2362) @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" + name="ccm-ldn-camden-consultation" + prettyName="Red Hat CCM Content Types" + version="1.1.0" + release="9" + webapp="ROOT"> + <ccm:dependencies> + <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> + <ccm:requires name="ccm-cms" version="6.1.1" relation="ge"/> + <ccm:requires name="ccm-ldn-aplaws" version="1.9.1" relation="ge"/> + <ccm:requires name="ccm-ldn-navigation" version="1.4.4" relation="ge"/> + <ccm:requires name="ccm-ldn-util" version="1.4.1" relation="ge"/> + <ccm:requires name="ccm-ldn-rss" version="1.4.2" relation="ge"/> + </ccm:dependencies> + <ccm:directories> + <ccm:directory name="pdl"/> + <ccm:directory name="sql"/> + <ccm:directory name="src"/> + </ccm:directories> + <ccm:contacts> + <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> + <ccm:contact uri="mailto:rh...@re..." type="support"/> + </ccm:contacts> + <ccm:description> + The Camden Consultation Content Type for the Red Hat CCM CMS. + </ccm:description> +</ccm:application> Deleted: contrib/camden/ccm-ldn-camden-consultation/trunk/.classpath =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/trunk/.classpath 2012-12-12 17:52:13 UTC (rev 2361) +++ contrib/camden/ccm-ldn-camden-consultation/trunk/.classpath 2012-12-12 17:54:38 UTC (rev 2362) @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-core"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-navigation"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-rss"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-util"/> - <classpathentry kind="output" path="build/Eclipse"/> -</classpath> Deleted: contrib/camden/ccm-ldn-camden-consultation/trunk/.project =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/trunk/.project 2012-12-12 17:52:13 UTC (rev 2361) +++ contrib/camden/ccm-ldn-camden-consultation/trunk/.project 2012-12-12 17:54:38 UTC (rev 2362) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>ccm-ldn-camden-consultation</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> Deleted: contrib/camden/ccm-ldn-camden-consultation/trunk/application.xml =================================================================== --- contrib/camden/ccm-ldn-camden-consultation/trunk/application.xml 2012-12-12 17:52:13 UTC (rev 2361) +++ contrib/camden/ccm-ldn-camden-consultation/trunk/application.xml 2012-12-12 17:54:38 UTC (rev 2362) @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" - name="ccm-ldn-camden-consultation" - prettyName="Red Hat CCM Content Types" - version="1.1.0" - release="9" - webapp="ROOT"> - <ccm:dependencies> - <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/> - <ccm:requires name="ccm-cms" version="6.1.1" relation="ge"/> - <ccm:requires name="ccm-ldn-aplaws" version="1.9.1" relation="ge"/> - <ccm:requires name="ccm-ldn-navigation" version="1.4.4" relation="ge"/> - <ccm:requires name="ccm-ldn-util" version="1.4.1" relation="ge"/> - <ccm:requires name="ccm-ldn-rss" version="1.4.2" relation="ge"/> - </ccm:dependencies> - <ccm:directories> - <ccm:directory name="pdl"/> - <ccm:directory name="sql"/> - <ccm:directory name="src"/> - </ccm:directories> - <ccm:contacts> - <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> - <ccm:contact uri="mailto:rh...@re..." type="support"/> - </ccm:contacts> - <ccm:description> - The Camden Consultation Content Type for the Red Hat CCM CMS. - </ccm:description> -</ccm:application> |
|
From: <pb...@fe...> - 2012-12-12 17:52:25
|
Author: pboy Date: 2012-12-12 17:52:13 +0000 (Wed, 12 Dec 2012) New Revision: 2361 Removed: contrib/camden/ccm-ldn-aplaws-camden/trunk/ Log: Code reorganized according to directory structure convention (part 2). |
|
From: <pb...@fe...> - 2012-12-12 17:31:37
|
Author: pboy
Date: 2012-12-12 17:31:21 +0000 (Wed, 12 Dec 2012)
New Revision: 2360
Added:
contrib/camden/ccm-ldn-aplaws-camden/OldChanges
contrib/camden/ccm-ldn-aplaws-camden/application.xml
contrib/camden/ccm-ldn-aplaws-camden/bundles/
contrib/camden/ccm-ldn-aplaws-camden/src/
contrib/camden/ccm-ldn-aplaws-camden/web/
Removed:
contrib/camden/ccm-ldn-aplaws-camden/trunk/OldChanges
contrib/camden/ccm-ldn-aplaws-camden/trunk/application.xml
contrib/camden/ccm-ldn-aplaws-camden/trunk/bundles/
contrib/camden/ccm-ldn-aplaws-camden/trunk/src/
contrib/camden/ccm-ldn-aplaws-camden/trunk/web/
Log:
Code reorganized according to directory structure convention.
Copied: contrib/camden/ccm-ldn-aplaws-camden/OldChanges (from rev 2359, contrib/camden/ccm-ldn-aplaws-camden/trunk/OldChanges)
===================================================================
--- contrib/camden/ccm-ldn-aplaws-camden/OldChanges (rev 0)
+++ contrib/camden/ccm-ldn-aplaws-camden/OldChanges 2012-12-12 17:31:21 UTC (rev 2360)
@@ -0,0 +1,677 @@
+------------------------------------------------------------------------
+=== Changes from lbc repository ===
+------------------------------------------------------------------------
+r59 | fmounier | 2007-03-06 12:48:45 +0100 (Tue, 06 Mar 2007) | 1 line
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-ict-diary.jsp
+
+Initial version with .setFilterCategory(1709107) corresponding to the production Camden Essentials site navigation setup. Terms admin changes have already been made in production and a holding page added for the ICT Diary page until this JSP template is available in production.
+------------------------------------------------------------------------
+r58 | apevec | 2007-01-26 00:32:10 +0100 (Fri, 26 Jan 2007) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/Foi.pdl
+ M /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiList.java
+
+replace PGism LIMIT with a limited loop in Java
+
+------------------------------------------------------------------------
+r57 | apevec | 2007-01-25 23:56:07 +0100 (Thu, 25 Jan 2007) | 2 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-foi
+ A /trunk/ccm-ldn-camden-foi/application.xml
+ A /trunk/ccm-ldn-camden-foi/pdl
+ A /trunk/ccm-ldn-camden-foi/pdl/com
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/Foi.pdl
+ A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/FoiApp.pdl
+ A /trunk/ccm-ldn-camden-foi/sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.0-1.0.1
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.0-1.0.1/cam_consultations.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.1-1.0.2
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.1-1.0.2/authoring_kits.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se-create.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/postgres-create.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.0-1.0.1.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.1-1.0.2.sql
+ A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.2-1.0.3.sql
+ A /trunk/ccm-ldn-camden-foi/src
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms/contenttypes
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms/contenttypes/Foi.xml
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes
+ A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Foi.xml
+ A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.config
+ A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.load
+ A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.upgrade
+ A /trunk/ccm-ldn-camden-foi/src/com
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/AvailableFormatFormatter.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/CategoryFormatter.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ContactDetailFormatter.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/Foi.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiApp.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiConfig.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiConfig_parameter.properties
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiInitializer.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiLoader.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiResources.properties
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiUtil.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiCreate.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiFilter.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiList.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiNavigationModel.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPropertiesForm.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPropertiesStep.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPublicationSchemeForm.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPublicationSchemeStep.java
+ A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiTable.java
+ A /trunk/ccm-ldn-camden-foi/web
+ A /trunk/ccm-ldn-camden-foi/web/packages
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/templates
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/templates/foi-index.jsp
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/www
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin/deleted.jsp
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin/index.jsp
+ A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/index.jsp
+ A /trunk/ccm-ldn-camden-foi/web/static
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms/contenttypes
+ A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms/contenttypes/Foi.xsl
+
+Initial vendor import from InfoAxon
+
+------------------------------------------------------------------------
+r56 | apevec | 2007-01-09 17:16:58 +0100 (Tue, 09 Jan 2007) | 3 lines
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden/cfg/applications.cfg
+
+update the list of apps in Camden website bundle
+
+
+------------------------------------------------------------------------
+r55 | apevec | 2007-01-04 23:45:20 +0100 (Thu, 04 Jan 2007) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/application.xml
+ M /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden/bundle.in
+
+bump version number
+
+------------------------------------------------------------------------
+r54 | fmounier | 2006-11-16 12:26:47 +0100 (Thu, 16 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+
+Renamed old "About You" top level menu to "Working at Camden".
+------------------------------------------------------------------------
+r53 | fmounier | 2006-11-16 11:01:10 +0100 (Thu, 16 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+Added new Publishers login link to footer to be consistent with rest of site.
+------------------------------------------------------------------------
+r52 | fmounier | 2006-11-16 10:58:55 +0100 (Thu, 16 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+
+Forgot to remove the Eric link from search options - now removed
+------------------------------------------------------------------------
+r51 | fmounier | 2006-11-14 18:18:19 +0100 (Tue, 14 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+Added CINDEX to right of search area
+------------------------------------------------------------------------
+r50 | fmounier | 2006-11-13 13:23:55 +0100 (Mon, 13 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+Navigation menu labels updated to match latest on production. Eric search option removed. A_list search URL updated.
+------------------------------------------------------------------------
+r49 | fmounier | 2006-11-13 13:23:22 +0100 (Mon, 13 Nov 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+
+Navigation menu labels updated to match latest on production. Eric search option removed. A_list search URL updated.
+------------------------------------------------------------------------
+r48 | apevec | 2006-10-31 16:39:02 +0100 (Tue, 31 Oct 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/application.xml
+
+bump release number
+
+------------------------------------------------------------------------
+r47 | fmounier | 2006-10-12 19:02:30 +0200 (Thu, 12 Oct 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/packages/navigation/templates/camden-portal.jsp
+
+remove the itemList SimpleObjectList form the portal pages
+------------------------------------------------------------------------
+r46 | apevec | 2006-09-21 21:42:58 +0200 (Thu, 21 Sep 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.load
+
+unnecessary table requirement, this table is provided by ccm-ldn-navigation which already required via its initializer
+
+------------------------------------------------------------------------
+r45 | fmounier | 2006-07-21 17:12:19 +0200 (Fri, 21 Jul 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+updated 404 page (contact the webteam link)
+------------------------------------------------------------------------
+r44 | sskracic | 2006-07-19 14:18:18 +0200 (Wed, 19 Jul 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+ New error files (IT #98214).
+
+------------------------------------------------------------------------
+r43 | apevec | 2006-05-24 15:09:58 +0200 (Wed, 24 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/integration.properties
+
+Camden intranet requirement for "Edit this page" - redirect to the login page when not logged in
+
+------------------------------------------------------------------------
+r42 | apevec | 2006-05-23 14:13:15 +0200 (Tue, 23 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredCMSDataCollectionDefinition.java
+
+set parameters only once, to avoid WARN persistence.Filter - The existing filter already contains a parameter named ...
+
+------------------------------------------------------------------------
+r41 | apevec | 2006-05-23 13:40:28 +0200 (Tue, 23 May 2006) | 3 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+
+Diary time horizon is one year, don't show @next after that
+NB: styling needs to add <xsl:if test="@next"> around "next" link
+
+------------------------------------------------------------------------
+r40 | apevec | 2006-05-22 22:54:00 +0200 (Mon, 22 May 2006) | 2 lines
+Changed paths:
+ D /trunk/bundle
+ A /trunk/ccm-ldn-aplaws-camden/bundles
+ A /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden (from /trunk/bundle:39)
+
+move aplaws-plus-camden bundle to the correct location
+
+------------------------------------------------------------------------
+r39 | apevec | 2006-05-22 15:01:09 +0200 (Mon, 22 May 2006) | 2 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/bundles
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/AUTHORS
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/ChangeLog
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/NEWS
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/README
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/bundle.in
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/applications.cfg
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/integration.properties
+ A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/web.xml
+
+initial Camden essentials aka new Camden intranet bundle
+
+------------------------------------------------------------------------
+r38 | apevec | 2006-05-18 20:16:58 +0200 (Thu, 18 May 2006) | 5 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+error page modification by Francois:
+ modified the body class in order to get the "generic" styling
+ added on <a href tag
+
+
+------------------------------------------------------------------------
+r37 | apevec | 2006-05-16 18:47:58 +0200 (Tue, 16 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+Intranet error pages refresh
+
+------------------------------------------------------------------------
+r36 | fmounier | 2006-05-16 12:08:01 +0200 (Tue, 16 May 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+uses the {9} for authoring URL
+------------------------------------------------------------------------
+r35 | apevec | 2006-05-15 18:19:17 +0200 (Mon, 15 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
+
+sorting is optional ...&sort=PROPERTY&dir=up|down (up ie ASC is default)
+
+------------------------------------------------------------------------
+r34 | fmounier | 2006-05-12 19:47:13 +0200 (Fri, 12 May 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+updated template for workflow emails. Only necessary choices are filled
+------------------------------------------------------------------------
+r33 | apevec | 2006-05-12 17:13:22 +0200 (Fri, 12 May 2006) | 2 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.config
+
+.config is required even though there isn't any config parameter yet
+
+------------------------------------------------------------------------
+r32 | fmounier | 2006-05-11 18:48:37 +0200 (Thu, 11 May 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+updated template for workflow emails. Only necessary choices are filled
+------------------------------------------------------------------------
+r31 | fmounier | 2006-05-10 14:58:40 +0200 (Wed, 10 May 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+updated template for workflow emails.
+------------------------------------------------------------------------
+r30 | apevec | 2006-05-04 17:58:37 +0200 (Thu, 04 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
+
+optional column sorting in Filtered Item List portlet
+
+------------------------------------------------------------------------
+r29 | apevec | 2006-05-03 23:37:55 +0200 (Wed, 03 May 2006) | 3 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/ContentItemPortletMPA.pdl
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Initializer.java
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Loader.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/ContentItemPortletMPA.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/ContentItemPortletRendererMPA.java
+
+Content Item portlet subclass for MPA
+1st section only (same as GreetingItemMPA)
+
+------------------------------------------------------------------------
+r28 | apevec | 2006-05-03 23:31:07 +0200 (Wed, 03 May 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/AddPortletType.java
+
+implement arguments
+
+------------------------------------------------------------------------
+r27 | apevec | 2006-05-02 09:48:13 +0200 (Tue, 02 May 2006) | 2 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/web/WEB-INF
+ A /trunk/ccm-ldn-camden-intranet/web/WEB-INF/web.xml-intranet
+ A /trunk/ccm-ldn-camden-intranet/web/error
+ A /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
+ A /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
+
+custom error pages for Intranet
+
+------------------------------------------------------------------------
+r26 | apevec | 2006-04-27 22:04:43 +0200 (Thu, 27 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-default.jsp
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-room.jsp
+
+navigation templates
+
+------------------------------------------------------------------------
+r25 | apevec | 2006-04-27 01:04:02 +0200 (Thu, 27 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/FileMetadataForm.java
+
+rename parameter, was in conflict with DC FormSection
+
+------------------------------------------------------------------------
+r24 | apevec | 2006-04-27 00:25:04 +0200 (Thu, 27 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/FileMetadataForm.java
+
+reuse Asset description for Title metadata
+
+------------------------------------------------------------------------
+r23 | apevec | 2006-04-26 10:58:59 +0200 (Wed, 26 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+
+correct attribute name
+
+------------------------------------------------------------------------
+r22 | apevec | 2006-04-26 10:48:56 +0200 (Wed, 26 Apr 2006) | 3 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+
+add @prev @next for browsing by month
+show @day when the current month is selected
+
+------------------------------------------------------------------------
+r21 | apevec | 2006-04-26 00:46:19 +0200 (Wed, 26 Apr 2006) | 2 lines
+Changed paths:
+ D /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jsp (from /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps:20)
+
+a typo
+
+------------------------------------------------------------------------
+r20 | apevec | 2006-04-26 00:37:13 +0200 (Wed, 26 Apr 2006) | 3 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/GreetingItemMPA.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedFile.java
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-default.jsp
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps
+
+render first MPA section when used as an index item
+fileDetail component (SelectedFile) for doclib
+
+------------------------------------------------------------------------
+r19 | apevec | 2006-04-25 16:34:31 +0200 (Tue, 25 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/query-SelectedMonth.pdl
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+ M /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-diary.jsp
+
+apply category filter for nav:marked
+
+------------------------------------------------------------------------
+r18 | apevec | 2006-04-24 05:45:45 +0200 (Mon, 24 Apr 2006) | 5 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/application.xml
+ A /trunk/ccm-ldn-camden-intranet/pdl
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/FilteredItemListPortlet.pdl
+ A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/query-SelectedMonth.pdl
+ A /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.load
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Initializer.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Loader.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/AddPortletType.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredCMSDataCollectionDefinition.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortletEditor.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortletRenderer.java
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
+ A /trunk/ccm-ldn-camden-intranet/web
+ A /trunk/ccm-ldn-camden-intranet/web/packages
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates
+ A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-diary.jsp
+
+SelectedMonth component
+Filtered Item List Portlet
+intranet-diary.jsp Navigation Template
+
+
+------------------------------------------------------------------------
+r17 | apevec | 2006-04-18 16:03:33 +0200 (Tue, 18 Apr 2006) | 3 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/application.xml
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/FileMetadataForm.java
+
+File asset metadat edit form
+com.arsdigita.cms.contentassets.file_edit_form
+
+------------------------------------------------------------------------
+r16 | apevec | 2006-04-11 23:29:29 +0200 (Tue, 11 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/MigrateERIC.java
+
+map subcategories during the migration
+
+------------------------------------------------------------------------
+r15 | apevec | 2006-04-10 00:49:38 +0200 (Mon, 10 Apr 2006) | 2 lines
+Changed paths:
+ M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/MigrateERIC.java
+
+fixed queries, more logging
+
+------------------------------------------------------------------------
+r14 | apevec | 2006-04-08 05:35:28 +0200 (Sat, 08 Apr 2006) | 2 lines
+Changed paths:
+ A /trunk/ccm-ldn-camden-intranet
+ A /trunk/ccm-ldn-camden-intranet/application.xml
+ A /trunk/ccm-ldn-camden-intranet/src
+ A /trunk/ccm-ldn-camden-intranet/src/uk
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet
+ A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/MigrateERIC.java
+
+ERIC to Aplaws+ migration
+
+------------------------------------------------------------------------
+r13 | apevec | 2006-03-27 23:06:52 +0200 (Mon, 27 Mar 2006) | 2 lines
+Changed paths:
+ A /trunk/bundle
+ A /trunk/bundle/AUTHORS
+ A /trunk/bundle/ChangeLog
+ A /trunk/bundle/NEWS
+ A /trunk/bundle/README
+ A /trunk/bundle/bundle.in
+ A /trunk/bundle/cfg
+ A /trunk/bundle/cfg/applications.cfg
+ A /trunk/bundle/cfg/integration.properties
+ A /trunk/bundle/cfg/web.xml
+
+aplaws-plus-camden RPM bundle
+
+------------------------------------------------------------------------
+r12 | fmounier | 2006-03-07 12:10:59 +0100 (Tue, 07 Mar 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+copy changes, . added
+------------------------------------------------------------------------
+r11 | fmounier | 2006-03-07 12:04:33 +0100 (Tue, 07 Mar 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+copy changes, ! removed
+------------------------------------------------------------------------
+r10 | fmounier | 2006-02-20 11:51:16 +0100 (Mon, 20 Feb 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+copy changes
+------------------------------------------------------------------------
+r9 | fmounier | 2006-02-17 11:23:30 +0100 (Fri, 17 Feb 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+includes SiteCensus tracking
+------------------------------------------------------------------------
+r8 | fmounier | 2006-02-16 18:05:41 +0100 (Thu, 16 Feb 2006) | 1 line
+Changed paths:
+ M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
+
+Updated version of the homepage
+------------------------------------------------------------------------
+=== Changes from aplaws-internal repository ===
+------------------------------------------------------------------------
+r83 | apevec | 2006-01-26 09:29:10 +0100 (Thu, 26 Jan 2006) | 3 lines
+Changed paths:
+ M /camden/trunk/web/packages/navigation/templates/camden-50.jsp
+ M /camden/trunk/web/packages/navigation/templates/camden-all.jsp
+ M /camden/trunk/web/packages/navigation/templates/camden-default.jsp
+ M /camden/trunk/web/packages/navigation/templates/camden-portal.jsp
+
+Issue 85136 terms assinged not showing in XML
+add CategoryIndexAssignedTerms to Camden Navigation templates
+
+------------------------------------------------------------------------
+r82 | sshinde | 2006-01-24 17:22:35 +0100 (Tue, 24 Jan 2006) | 5 lines
+Changed paths:
+ M /camden/trunk/web/error/404.jsp
+
+Change as requested in
+https://enterprise.redhat.com/issue-tracker/?module=issues&action=view&tid=86632
+Basically changing the Search Page URL to search.camden.gov.uk from www.camden.gov.uk
+
+
+------------------------------------------------------------------------
+r81 | apevec | 2005-12-14 17:44:44 +0100 (Wed, 14 Dec 2005) | 3 lines
+Changed paths:
+ M /camden/trunk/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+even escaped, single quotes still quota {0} avoiding replacement with args
+-> replacing them with double quotes "
+
+------------------------------------------------------------------------
+r80 | apevec | 2005-11-26 01:14:06 +0100 (Sat, 26 Nov 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+correct properties ( ' must be escaped )
+
+------------------------------------------------------------------------
+r77 | apevec | 2005-11-15 13:18:18 +0100 (Tue, 15 Nov 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/application.xml
+
+bump release
+
+------------------------------------------------------------------------
+r76 | apevec | 2005-11-15 13:12:38 +0100 (Tue, 15 Nov 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/src/uk/gov/camden/aplaws/CamdenResources.properties
+
+corrections to email texts, replace UTF-8 smart-quotes with ASCII equivalents
+
+------------------------------------------------------------------------
+r75 | apevec | 2005-11-14 19:06:13 +0100 (Mon, 14 Nov 2005) | 4 lines
+Changed paths:
+ M /camden/trunk/application.xml
+ M /camden/trunk/src/ccm-ldn-aplaws-camden.load
+ A /camden/trunk/src/uk/gov/camden/aplaws/CamdenResourceBundle.java
+ A /camden/trunk/src/uk/gov/camden/aplaws/CamdenResources.properties
+ A /camden/trunk/src/uk/gov/camden/aplaws/Initializer.java
+
+custom workflow notification emails
+NB: ccm load ccm-ldn-aplaws-camden --init
+to insert newly added Initializer to INITS/INIT_REQUIREMENTS
+
+------------------------------------------------------------------------
+r66 | apevec | 2005-10-20 02:08:55 +0200 (Thu, 20 Oct 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/application.xml
+ D /camden/trunk/etc
+ D /camden/trunk/sql
+
+empty folders cleanup
+
+------------------------------------------------------------------------
+r65 | apevec | 2005-10-20 01:20:25 +0200 (Thu, 20 Oct 2005) | 2 lines
+Changed paths:
+ D /camden/trunk/sql/.cvsignore
+ D /camden/trunk/sql/oracle-se/.cvsignore
+ D /camden/trunk/sql/oracle-se/upgrade/.cvsignore
+ D /camden/trunk/src/.cvsignore
+ D /camden/trunk/web/.cvsignore
+
+remove .cvsignore
+
+------------------------------------------------------------------------
+r13 | sshinde | 2005-09-07 15:55:35 +0200 (Wed, 07 Sep 2005) | 2 lines
+Changed paths:
+ A /camden/trunk/web/error
+ A /camden/trunk/web/error/404.jsp
+
+Adding the customized error jsp file into camden application.
+
+------------------------------------------------------------------------
+r12 | sshinde | 2005-09-07 13:55:52 +0200 (Wed, 07 Sep 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/application.xml
+
+Fix a typo.
+
+------------------------------------------------------------------------
+r11 | sshinde | 2005-09-06 18:58:14 +0200 (Tue, 06 Sep 2005) | 2 lines
+Changed paths:
+ M /camden/trunk/application.xml
+ D /camden/trunk/project.xml
+
+Build changes after import.
+
+------------------------------------------------------------------------
+r10 | root | 2005-09-06 15:46:03 +0200 (Tue, 06 Sep 2005) | 1 line
+Changed paths:
+ A /camden
+ A /camden/release
+ A /camden/trunk
+ A /camden/trunk/.svnignore
+ A /camden/trunk/application.xml
+ A /camden/trunk/etc
+ A /camden/trunk/etc/enterprise.init.in
+ A /camden/trunk/project.xml
+ A /camden/trunk/sql
+ A /camden/trunk/sql/.cvsignore
+ A /camden/trunk/sql/oracle-se
+ A /camden/trunk/sql/oracle-se/.cvsignore
+ A /camden/trunk/sql/oracle-se/upgrade
+ A /camden/trunk/sql/oracle-se/upgrade/.cvsignore
+ A /camden/trunk/src
+ A /camden/trunk/src/.cvsignore
+ A /camden/trunk/src/WEB-INF
+ A /camden/trunk/src/WEB-INF/resources
+ A /camden/trunk/src/WEB-INF/resources/domain-camden-themes.xml
+ A /camden/trunk/src/WEB-INF/resources/hierarchy-camden-themes.xml
+ A /camden/trunk/src/ccm-ldn-aplaws-camden.load
+ A /camden/trunk/src/ccm-ldn-aplaws-camden.upgrade
+ A /camden/trunk/src/uk
+ A /camden/trunk/src/uk/gov
+ A /camden/trunk/src/uk/gov/camden
+ A /camden/trunk/src/uk/gov/camden/aplaws
+ A /camden/trunk/src/uk/gov/camden/aplaws/Loader.java
+ A /camden/trunk/src/uk/gov/camden/aplaws/upgrades
+ A /camden/trunk/src/uk/gov/camden/aplaws/upgrades/Upgrade100to101.java
+ A /camden/trunk/web
+ A /camden/trunk/web/.cvsignore
+ A /camden/trunk/web/packages
+ A /camden/trunk/web/packages/content-section
+ A /camden/trunk/web/packages/content-section/templates
+ A /camden/trunk/web/packages/content-section/templates/default
+ A /camden/trunk/web/packages/content-section/templates/default/camden-item.jsp
+ A /camden/trunk/web/packages/navigation
+ A /camden/trunk/web/packages/navigation/templates
+ A /camden/trunk/web/packages/navigation/templates/camden-50.jsp
+ A /camden/trunk/web/packages/navigation/templates/camden-all.jsp
+ A /camden/trunk/web/packages/navigation/templates/camden-default.jsp
+ A /camden/trunk/web/packages/navigation/templates/camden-portal.jsp
+
+Initial Import Release 1.0.2 with Sources from their staging
+------------------------------------------------------------------------
Copied: contrib/camden/ccm-ldn-aplaws-camden/application.xml (from rev 2359, contrib/camden/ccm-ldn-aplaws-camden/trunk/application.xml)
===================================================================
--- contrib/camden/ccm-ldn-aplaws-camden/application.xml (rev 0)
+++ contrib/camden/ccm-ldn-aplaws-camden/application.xml 2012-12-12 17:31:21 UTC (rev 2360)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
+ name="ccm-ldn-aplaws-camden"
+ prettyName="ccm-ldn-aplaws-camden"
+ version="1.0.4"
+ release="9"
+ webapp="ROOT">
+
+ <ccm:dependencies>
+ <ccm:requires name="ccm-core" version="6.1.1" relation="ge"/>
+ <ccm:requires name="ccm-cms" version="6.1.1" relation="ge"/>
+ <ccm:requires name="ccm-ldn-navigation" version="1.4.4" relation="ge"/>
+ <ccm:requires name="ccm-ldn-portal" version="1.4.2" relation="ge"/>
+ <ccm:requires name="ccm-ldn-aplaws" version="1.9.1" relation="ge"/>
+ <ccm:requires name="ccm-ldn-camden-intranet" version="1.0.1" relation="ge"/>
+ </ccm:dependencies>
+
+ <ccm:directories>
+ <ccm:directory name="src"/>
+ <ccm:directory name="web"/>
+ </ccm:directories>
+
+ <ccm:contacts>
+ <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/>
+ <ccm:contact uri="mailto:rh...@re..." type="support"/>
+ </ccm:contacts>
+
+ <ccm:description>
+ The aplaws-camden package does....
+ </ccm:description>
+
+</ccm:application>
+
Deleted: contrib/camden/ccm-ldn-aplaws-camden/trunk/OldChanges
===================================================================
--- contrib/camden/ccm-ldn-aplaws-camden/trunk/OldChanges 2012-12-12 12:32:14 UTC (rev 2359)
+++ contrib/camden/ccm-ldn-aplaws-camden/trunk/OldChanges 2012-12-12 17:31:21 UTC (rev 2360)
@@ -1,677 +0,0 @@
-------------------------------------------------------------------------
-=== Changes from lbc repository ===
-------------------------------------------------------------------------
-r59 | fmounier | 2007-03-06 12:48:45 +0100 (Tue, 06 Mar 2007) | 1 line
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-ict-diary.jsp
-
-Initial version with .setFilterCategory(1709107) corresponding to the production Camden Essentials site navigation setup. Terms admin changes have already been made in production and a holding page added for the ICT Diary page until this JSP template is available in production.
-------------------------------------------------------------------------
-r58 | apevec | 2007-01-26 00:32:10 +0100 (Fri, 26 Jan 2007) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/Foi.pdl
- M /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiList.java
-
-replace PGism LIMIT with a limited loop in Java
-
-------------------------------------------------------------------------
-r57 | apevec | 2007-01-25 23:56:07 +0100 (Thu, 25 Jan 2007) | 2 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-foi
- A /trunk/ccm-ldn-camden-foi/application.xml
- A /trunk/ccm-ldn-camden-foi/pdl
- A /trunk/ccm-ldn-camden-foi/pdl/com
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/Foi.pdl
- A /trunk/ccm-ldn-camden-foi/pdl/com/arsdigita/camden/cms/contenttypes/FoiApp.pdl
- A /trunk/ccm-ldn-camden-foi/sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.0-1.0.1
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.0-1.0.1/cam_consultations.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.1-1.0.2
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se/upgrade/1.0.1-1.0.2/authoring_kits.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/oracle-se-create.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/postgres-create.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.0-1.0.1.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.1-1.0.2.sql
- A /trunk/ccm-ldn-camden-foi/sql/ccm-ldn-camden-foi/upgrade/oracle-se-1.0.2-1.0.3.sql
- A /trunk/ccm-ldn-camden-foi/src
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms/contenttypes
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/content-types/com/arsdigita/camden/cms/contenttypes/Foi.xml
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes
- A /trunk/ccm-ldn-camden-foi/src/WEB-INF/traversal-adapters/com/arsdigita/cms/contenttypes/Foi.xml
- A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.config
- A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.load
- A /trunk/ccm-ldn-camden-foi/src/ccm-ldn-camden-foi.upgrade
- A /trunk/ccm-ldn-camden-foi/src/com
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/AvailableFormatFormatter.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/CategoryFormatter.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ContactDetailFormatter.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/Foi.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiApp.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiConfig.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiConfig_parameter.properties
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiInitializer.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiLoader.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiResources.properties
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/FoiUtil.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiCreate.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiFilter.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiList.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiNavigationModel.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPropertiesForm.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPropertiesStep.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPublicationSchemeForm.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiPublicationSchemeStep.java
- A /trunk/ccm-ldn-camden-foi/src/com/arsdigita/camden/cms/contenttypes/ui/FoiTable.java
- A /trunk/ccm-ldn-camden-foi/web
- A /trunk/ccm-ldn-camden-foi/web/packages
- A /trunk/ccm-ldn-camden-foi/web/packages/foi
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/templates
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/templates/foi-index.jsp
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/www
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin/deleted.jsp
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/admin/index.jsp
- A /trunk/ccm-ldn-camden-foi/web/packages/foi/www/index.jsp
- A /trunk/ccm-ldn-camden-foi/web/static
- A /trunk/ccm-ldn-camden-foi/web/static/content-types
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms/contenttypes
- A /trunk/ccm-ldn-camden-foi/web/static/content-types/com/arsdigita/camden/cms/contenttypes/Foi.xsl
-
-Initial vendor import from InfoAxon
-
-------------------------------------------------------------------------
-r56 | apevec | 2007-01-09 17:16:58 +0100 (Tue, 09 Jan 2007) | 3 lines
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden/cfg/applications.cfg
-
-update the list of apps in Camden website bundle
-
-
-------------------------------------------------------------------------
-r55 | apevec | 2007-01-04 23:45:20 +0100 (Thu, 04 Jan 2007) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/application.xml
- M /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden/bundle.in
-
-bump version number
-
-------------------------------------------------------------------------
-r54 | fmounier | 2006-11-16 12:26:47 +0100 (Thu, 16 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
-
-Renamed old "About You" top level menu to "Working at Camden".
-------------------------------------------------------------------------
-r53 | fmounier | 2006-11-16 11:01:10 +0100 (Thu, 16 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-Added new Publishers login link to footer to be consistent with rest of site.
-------------------------------------------------------------------------
-r52 | fmounier | 2006-11-16 10:58:55 +0100 (Thu, 16 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
-
-Forgot to remove the Eric link from search options - now removed
-------------------------------------------------------------------------
-r51 | fmounier | 2006-11-14 18:18:19 +0100 (Tue, 14 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-Added CINDEX to right of search area
-------------------------------------------------------------------------
-r50 | fmounier | 2006-11-13 13:23:55 +0100 (Mon, 13 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-Navigation menu labels updated to match latest on production. Eric search option removed. A_list search URL updated.
-------------------------------------------------------------------------
-r49 | fmounier | 2006-11-13 13:23:22 +0100 (Mon, 13 Nov 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
-
-Navigation menu labels updated to match latest on production. Eric search option removed. A_list search URL updated.
-------------------------------------------------------------------------
-r48 | apevec | 2006-10-31 16:39:02 +0100 (Tue, 31 Oct 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/application.xml
-
-bump release number
-
-------------------------------------------------------------------------
-r47 | fmounier | 2006-10-12 19:02:30 +0200 (Thu, 12 Oct 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/web/packages/navigation/templates/camden-portal.jsp
-
-remove the itemList SimpleObjectList form the portal pages
-------------------------------------------------------------------------
-r46 | apevec | 2006-09-21 21:42:58 +0200 (Thu, 21 Sep 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.load
-
-unnecessary table requirement, this table is provided by ccm-ldn-navigation which already required via its initializer
-
-------------------------------------------------------------------------
-r45 | fmounier | 2006-07-21 17:12:19 +0200 (Fri, 21 Jul 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/web/error/404.jsp
-
-updated 404 page (contact the webteam link)
-------------------------------------------------------------------------
-r44 | sskracic | 2006-07-19 14:18:18 +0200 (Wed, 19 Jul 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
- New error files (IT #98214).
-
-------------------------------------------------------------------------
-r43 | apevec | 2006-05-24 15:09:58 +0200 (Wed, 24 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/integration.properties
-
-Camden intranet requirement for "Edit this page" - redirect to the login page when not logged in
-
-------------------------------------------------------------------------
-r42 | apevec | 2006-05-23 14:13:15 +0200 (Tue, 23 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredCMSDataCollectionDefinition.java
-
-set parameters only once, to avoid WARN persistence.Filter - The existing filter already contains a parameter named ...
-
-------------------------------------------------------------------------
-r41 | apevec | 2006-05-23 13:40:28 +0200 (Tue, 23 May 2006) | 3 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
-
-Diary time horizon is one year, don't show @next after that
-NB: styling needs to add <xsl:if test="@next"> around "next" link
-
-------------------------------------------------------------------------
-r40 | apevec | 2006-05-22 22:54:00 +0200 (Mon, 22 May 2006) | 2 lines
-Changed paths:
- D /trunk/bundle
- A /trunk/ccm-ldn-aplaws-camden/bundles
- A /trunk/ccm-ldn-aplaws-camden/bundles/aplaws-plus-camden (from /trunk/bundle:39)
-
-move aplaws-plus-camden bundle to the correct location
-
-------------------------------------------------------------------------
-r39 | apevec | 2006-05-22 15:01:09 +0200 (Mon, 22 May 2006) | 2 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/bundles
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/AUTHORS
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/ChangeLog
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/NEWS
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/README
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/bundle.in
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/applications.cfg
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/integration.properties
- A /trunk/ccm-ldn-camden-intranet/bundles/camden-essentials/cfg/web.xml
-
-initial Camden essentials aka new Camden intranet bundle
-
-------------------------------------------------------------------------
-r38 | apevec | 2006-05-18 20:16:58 +0200 (Thu, 18 May 2006) | 5 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-error page modification by Francois:
- modified the body class in order to get the "generic" styling
- added on <a href tag
-
-
-------------------------------------------------------------------------
-r37 | apevec | 2006-05-16 18:47:58 +0200 (Tue, 16 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- M /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-Intranet error pages refresh
-
-------------------------------------------------------------------------
-r36 | fmounier | 2006-05-16 12:08:01 +0200 (Tue, 16 May 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
-
-uses the {9} for authoring URL
-------------------------------------------------------------------------
-r35 | apevec | 2006-05-15 18:19:17 +0200 (Mon, 15 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
-
-sorting is optional ...&sort=PROPERTY&dir=up|down (up ie ASC is default)
-
-------------------------------------------------------------------------
-r34 | fmounier | 2006-05-12 19:47:13 +0200 (Fri, 12 May 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
-
-updated template for workflow emails. Only necessary choices are filled
-------------------------------------------------------------------------
-r33 | apevec | 2006-05-12 17:13:22 +0200 (Fri, 12 May 2006) | 2 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.config
-
-.config is required even though there isn't any config parameter yet
-
-------------------------------------------------------------------------
-r32 | fmounier | 2006-05-11 18:48:37 +0200 (Thu, 11 May 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
-
-updated template for workflow emails. Only necessary choices are filled
-------------------------------------------------------------------------
-r31 | fmounier | 2006-05-10 14:58:40 +0200 (Wed, 10 May 2006) | 1 line
-Changed paths:
- M /trunk/ccm-ldn-aplaws-camden/src/uk/gov/camden/aplaws/CamdenResources.properties
-
-updated template for workflow emails.
-------------------------------------------------------------------------
-r30 | apevec | 2006-05-04 17:58:37 +0200 (Thu, 04 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
-
-optional column sorting in Filtered Item List portlet
-
-------------------------------------------------------------------------
-r29 | apevec | 2006-05-03 23:37:55 +0200 (Wed, 03 May 2006) | 3 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/ContentItemPortletMPA.pdl
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Initializer.java
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Loader.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/ContentItemPortletMPA.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/ContentItemPortletRendererMPA.java
-
-Content Item portlet subclass for MPA
-1st section only (same as GreetingItemMPA)
-
-------------------------------------------------------------------------
-r28 | apevec | 2006-05-03 23:31:07 +0200 (Wed, 03 May 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/AddPortletType.java
-
-implement arguments
-
-------------------------------------------------------------------------
-r27 | apevec | 2006-05-02 09:48:13 +0200 (Tue, 02 May 2006) | 2 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/web/WEB-INF
- A /trunk/ccm-ldn-camden-intranet/web/WEB-INF/web.xml-intranet
- A /trunk/ccm-ldn-camden-intranet/web/error
- A /trunk/ccm-ldn-camden-intranet/web/error/404.jsp
- A /trunk/ccm-ldn-camden-intranet/web/error/500.jsp
-
-custom error pages for Intranet
-
-------------------------------------------------------------------------
-r26 | apevec | 2006-04-27 22:04:43 +0200 (Thu, 27 Apr 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-default.jsp
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-room.jsp
-
-navigation templates
-
-------------------------------------------------------------------------
-r25 | apevec | 2006-04-27 01:04:02 +0200 (Thu, 27 Apr 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/FileMetadataForm.java
-
-rename parameter, was in conflict with DC FormSection
-
-------------------------------------------------------------------------
-r24 | apevec | 2006-04-27 00:25:04 +0200 (Thu, 27 Apr 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/FileMetadataForm.java
-
-reuse Asset description for Title metadata
-
-------------------------------------------------------------------------
-r23 | apevec | 2006-04-26 10:58:59 +0200 (Wed, 26 Apr 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
-
-correct attribute name
-
-------------------------------------------------------------------------
-r22 | apevec | 2006-04-26 10:48:56 +0200 (Wed, 26 Apr 2006) | 3 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
-
-add @prev @next for browsing by month
-show @day when the current month is selected
-
-------------------------------------------------------------------------
-r21 | apevec | 2006-04-26 00:46:19 +0200 (Wed, 26 Apr 2006) | 2 lines
-Changed paths:
- D /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jsp (from /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps:20)
-
-a typo
-
-------------------------------------------------------------------------
-r20 | apevec | 2006-04-26 00:37:13 +0200 (Wed, 26 Apr 2006) | 3 lines
-Changed paths:
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/GreetingItemMPA.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedFile.java
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-default.jsp
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-doclib.jps
-
-render first MPA section when used as an index item
-fileDetail component (SelectedFile) for doclib
-
-------------------------------------------------------------------------
-r19 | apevec | 2006-04-25 16:34:31 +0200 (Tue, 25 Apr 2006) | 2 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/query-SelectedMonth.pdl
- M /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
- M /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-diary.jsp
-
-apply category filter for nav:marked
-
-------------------------------------------------------------------------
-r18 | apevec | 2006-04-24 05:45:45 +0200 (Mon, 24 Apr 2006) | 5 lines
-Changed paths:
- M /trunk/ccm-ldn-camden-intranet/application.xml
- A /trunk/ccm-ldn-camden-intranet/pdl
- A /trunk/ccm-ldn-camden-intranet/pdl/uk
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/FilteredItemListPortlet.pdl
- A /trunk/ccm-ldn-camden-intranet/pdl/uk/gov/camden/aplaws/intranet/query-SelectedMonth.pdl
- A /trunk/ccm-ldn-camden-intranet/src/ccm-ldn-camden-intranet.load
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Initializer.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/Loader.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/AddPortletType.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredCMSDataCollectionDefinition.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortlet.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortletEditor.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/FilteredItemListPortletRenderer.java
- A /trunk/ccm-ldn-camden-intranet/src/uk/gov/camden/aplaws/intranet/portal/SelectedMonth.java
- A /trunk/ccm-ldn-camden-intranet/web
- A /trunk/ccm-ldn-camden-intranet/web/packages
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates
- A /trunk/ccm-ldn-camden-intranet/web/packages/navigation/templates/intranet-diary.jsp
-
-SelectedMonth component
-Filtered Item List Portlet
-intranet-diary.jsp Navigation Template
-
-
--------------------------...
[truncated message content] |
|
From: <pb...@fe...> - 2012-12-12 12:32:28
|
Author: pboy Date: 2012-12-12 12:32:14 +0000 (Wed, 12 Dec 2012) New Revision: 2359 Removed: contrib/camden/ccm-ldn-camden-intranet/trunk/ Log: Code reorganized according to directory structure convention (part 2). |
|
From: <pb...@fe...> - 2012-12-12 12:28:27
|
Author: pboy Date: 2012-12-12 12:28:19 +0000 (Wed, 12 Dec 2012) New Revision: 2358 Added: contrib/camden/ccm-ldn-camden-intranet/.classpath contrib/camden/ccm-ldn-camden-intranet/.project contrib/camden/ccm-ldn-camden-intranet/application.xml contrib/camden/ccm-ldn-camden-intranet/bundles/ contrib/camden/ccm-ldn-camden-intranet/pdl/ contrib/camden/ccm-ldn-camden-intranet/src/ contrib/camden/ccm-ldn-camden-intranet/web/ Removed: contrib/camden/ccm-ldn-camden-intranet/trunk/.classpath contrib/camden/ccm-ldn-camden-intranet/trunk/.project contrib/camden/ccm-ldn-camden-intranet/trunk/application.xml contrib/camden/ccm-ldn-camden-intranet/trunk/bundles/ contrib/camden/ccm-ldn-camden-intranet/trunk/pdl/ contrib/camden/ccm-ldn-camden-intranet/trunk/src/ contrib/camden/ccm-ldn-camden-intranet/trunk/web/ Log: Code reorganized according to directory structure convention. Copied: contrib/camden/ccm-ldn-camden-intranet/.classpath (from rev 2357, contrib/camden/ccm-ldn-camden-intranet/trunk/.classpath) =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/.classpath (rev 0) +++ contrib/camden/ccm-ldn-camden-intranet/.classpath 2012-12-12 12:28:19 UTC (rev 2358) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-assets-fileattachment"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-types-event"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-types-mparticle"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-dublin"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-navigation"/> + <classpathentry kind="output" path="build/Eclipse"/> +</classpath> Copied: contrib/camden/ccm-ldn-camden-intranet/.project (from rev 2357, contrib/camden/ccm-ldn-camden-intranet/trunk/.project) =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/.project (rev 0) +++ contrib/camden/ccm-ldn-camden-intranet/.project 2012-12-12 12:28:19 UTC (rev 2358) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>ccm-ldn-camden-intranet</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> Copied: contrib/camden/ccm-ldn-camden-intranet/application.xml (from rev 2357, contrib/camden/ccm-ldn-camden-intranet/trunk/application.xml) =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/application.xml (rev 0) +++ contrib/camden/ccm-ldn-camden-intranet/application.xml 2012-12-12 12:28:19 UTC (rev 2358) @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" + name="ccm-ldn-camden-intranet" + prettyName="ccm-ldn-camden-intranet" + version="1.0.1" + release="6" + webapp="ROOT"> + + <ccm:dependencies> + <ccm:requires name="ccm-cms-types-mparticle" version="6.3.0" relation="ge"/> + <ccm:requires name="ccm-cms-types-event" version="6.3.0" relation="ge"/> + <ccm:requires name="ccm-cms-assets-fileattachment" version="6.3.1" relation="ge"/> + <ccm:requires name="ccm-ldn-navigation" version="6.3.0" relation="ge"/> + <ccm:requires name="ccm-ldn-dublin" version="6.3.1" relation="ge"/> + </ccm:dependencies> + + <ccm:directories> + <ccm:directory name="src"/> + <ccm:directory name="pdl"/> + <ccm:directory name="web"/> + </ccm:directories> + + <ccm:contacts> + <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> + <ccm:contact uri="mailto:rh...@re..." type="support"/> + </ccm:contacts> + + <ccm:description> + Camden Intranet customization + </ccm:description> + +</ccm:application> + Deleted: contrib/camden/ccm-ldn-camden-intranet/trunk/.classpath =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/trunk/.classpath 2012-12-12 09:26:19 UTC (rev 2357) +++ contrib/camden/ccm-ldn-camden-intranet/trunk/.classpath 2012-12-12 12:28:19 UTC (rev 2358) @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-assets-fileattachment"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-types-event"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms-types-mparticle"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-dublin"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-ldn-navigation"/> - <classpathentry kind="output" path="build/Eclipse"/> -</classpath> Deleted: contrib/camden/ccm-ldn-camden-intranet/trunk/.project =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/trunk/.project 2012-12-12 09:26:19 UTC (rev 2357) +++ contrib/camden/ccm-ldn-camden-intranet/trunk/.project 2012-12-12 12:28:19 UTC (rev 2358) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>ccm-ldn-camden-intranet</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> Deleted: contrib/camden/ccm-ldn-camden-intranet/trunk/application.xml =================================================================== --- contrib/camden/ccm-ldn-camden-intranet/trunk/application.xml 2012-12-12 09:26:19 UTC (rev 2357) +++ contrib/camden/ccm-ldn-camden-intranet/trunk/application.xml 2012-12-12 12:28:19 UTC (rev 2358) @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> - -<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" - name="ccm-ldn-camden-intranet" - prettyName="ccm-ldn-camden-intranet" - version="1.0.1" - release="6" - webapp="ROOT"> - - <ccm:dependencies> - <ccm:requires name="ccm-cms-types-mparticle" version="6.3.0" relation="ge"/> - <ccm:requires name="ccm-cms-types-event" version="6.3.0" relation="ge"/> - <ccm:requires name="ccm-cms-assets-fileattachment" version="6.3.1" relation="ge"/> - <ccm:requires name="ccm-ldn-navigation" version="6.3.0" relation="ge"/> - <ccm:requires name="ccm-ldn-dublin" version="6.3.1" relation="ge"/> - </ccm:dependencies> - - <ccm:directories> - <ccm:directory name="src"/> - <ccm:directory name="pdl"/> - <ccm:directory name="web"/> - </ccm:directories> - - <ccm:contacts> - <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> - <ccm:contact uri="mailto:rh...@re..." type="support"/> - </ccm:contacts> - - <ccm:description> - Camden Intranet customization - </ccm:description> - -</ccm:application> - |
|
From: <pb...@fe...> - 2012-12-12 09:26:32
|
Author: pboy Date: 2012-12-12 09:26:19 +0000 (Wed, 12 Dec 2012) New Revision: 2357 Removed: contrib/camden/ccm-ldn-camden-retention/trunk/ Log: Code reorganized according to directory structure convention (part 2). |
|
From: <pb...@fe...> - 2012-12-12 09:24:08
|
Author: pboy Date: 2012-12-12 09:23:56 +0000 (Wed, 12 Dec 2012) New Revision: 2356 Added: contrib/camden/ccm-ldn-camden-retention/application.xml contrib/camden/ccm-ldn-camden-retention/pdl/ contrib/camden/ccm-ldn-camden-retention/sql/ contrib/camden/ccm-ldn-camden-retention/src/ contrib/camden/ccm-ldn-camden-retention/web/ Removed: contrib/camden/ccm-ldn-camden-retention/trunk/application.xml contrib/camden/ccm-ldn-camden-retention/trunk/pdl/ contrib/camden/ccm-ldn-camden-retention/trunk/sql/ contrib/camden/ccm-ldn-camden-retention/trunk/src/ contrib/camden/ccm-ldn-camden-retention/trunk/web/ Log: Code reorganized according to directory structure convention. Copied: contrib/camden/ccm-ldn-camden-retention/application.xml (from rev 2355, contrib/camden/ccm-ldn-camden-retention/trunk/application.xml) =================================================================== --- contrib/camden/ccm-ldn-camden-retention/application.xml (rev 0) +++ contrib/camden/ccm-ldn-camden-retention/application.xml 2012-12-12 09:23:56 UTC (rev 2356) @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" + name="ccm-ldn-camden-retention" + prettyName="Red Hat CCM Content Types" + version="1.0.4" + release="1" + webapp="ROOT"> + <ccm:dependencies> + <ccm:requires name="ccm-core" version="6.3.3" relation="ge"/> + <ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/> + <ccm:requires name="ccm-ldn-aplaws" version="1.9.1" relation="ge"/> + <ccm:requires name="ccm-ldn-navigation" version="1.4.4" relation="ge"/> + <ccm:requires name="ccm-ldn-util" version="1.4.1" relation="ge"/> + <ccm:requires name="ccm-ldn-rss" version="1.4.2" relation="ge"/> + </ccm:dependencies> + <ccm:directories> + <ccm:directory name="pdl"/> + <ccm:directory name="sql"/> + <ccm:directory name="src"/> + </ccm:directories> + <ccm:contacts> + <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> + <ccm:contact uri="mailto:rh...@re..." type="support"/> + </ccm:contacts> + <ccm:description> + The Camden Retention Content Type for the Red Hat CCM CMS. + </ccm:description> +</ccm:application> \ No newline at end of file Deleted: contrib/camden/ccm-ldn-camden-retention/trunk/application.xml =================================================================== --- contrib/camden/ccm-ldn-camden-retention/trunk/application.xml 2012-12-10 23:51:37 UTC (rev 2355) +++ contrib/camden/ccm-ldn-camden-retention/trunk/application.xml 2012-12-12 09:23:56 UTC (rev 2356) @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" - name="ccm-ldn-camden-retention" - prettyName="Red Hat CCM Content Types" - version="1.0.4" - release="1" - webapp="ROOT"> - <ccm:dependencies> - <ccm:requires name="ccm-core" version="6.3.3" relation="ge"/> - <ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/> - <ccm:requires name="ccm-ldn-aplaws" version="1.9.1" relation="ge"/> - <ccm:requires name="ccm-ldn-navigation" version="1.4.4" relation="ge"/> - <ccm:requires name="ccm-ldn-util" version="1.4.1" relation="ge"/> - <ccm:requires name="ccm-ldn-rss" version="1.4.2" relation="ge"/> - </ccm:dependencies> - <ccm:directories> - <ccm:directory name="pdl"/> - <ccm:directory name="sql"/> - <ccm:directory name="src"/> - </ccm:directories> - <ccm:contacts> - <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> - <ccm:contact uri="mailto:rh...@re..." type="support"/> - </ccm:contacts> - <ccm:description> - The Camden Retention Content Type for the Red Hat CCM CMS. - </ccm:description> -</ccm:application> \ No newline at end of file |
|
From: <pb...@fe...> - 2012-12-10 23:51:47
|
Author: pboy Date: 2012-12-10 23:51:37 +0000 (Mon, 10 Dec 2012) New Revision: 2355 Added: contrib/camden/ccm-ldn-camden-decisiontree/.classpath contrib/camden/ccm-ldn-camden-decisiontree/.project contrib/camden/ccm-ldn-camden-decisiontree/application.xml contrib/camden/ccm-ldn-camden-decisiontree/etc/ contrib/camden/ccm-ldn-camden-decisiontree/pdl/ contrib/camden/ccm-ldn-camden-decisiontree/sql/ contrib/camden/ccm-ldn-camden-decisiontree/src/ contrib/camden/ccm-ldn-camden-decisiontree/web/ Removed: contrib/camden/ccm-ldn-camden-decisiontree/trunk/.classpath contrib/camden/ccm-ldn-camden-decisiontree/trunk/.project contrib/camden/ccm-ldn-camden-decisiontree/trunk/application.xml contrib/camden/ccm-ldn-camden-decisiontree/trunk/etc/ contrib/camden/ccm-ldn-camden-decisiontree/trunk/pdl/ contrib/camden/ccm-ldn-camden-decisiontree/trunk/sql/ contrib/camden/ccm-ldn-camden-decisiontree/trunk/src/ contrib/camden/ccm-ldn-camden-decisiontree/trunk/web/ Log: Relocate module code. Copied: contrib/camden/ccm-ldn-camden-decisiontree/.classpath (from rev 2354, contrib/camden/ccm-ldn-camden-decisiontree/trunk/.classpath) =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/.classpath (rev 0) +++ contrib/camden/ccm-ldn-camden-decisiontree/.classpath 2012-12-10 23:51:37 UTC (rev 2355) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms"/> + <classpathentry combineaccessrules="false" kind="src" path="/ccm-core"/> + <classpathentry kind="output" path="build/Eclipse"/> +</classpath> Copied: contrib/camden/ccm-ldn-camden-decisiontree/.project (from rev 2354, contrib/camden/ccm-ldn-camden-decisiontree/trunk/.project) =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/.project (rev 0) +++ contrib/camden/ccm-ldn-camden-decisiontree/.project 2012-12-10 23:51:37 UTC (rev 2355) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>cm-ldn-camden-decisiontree</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> Copied: contrib/camden/ccm-ldn-camden-decisiontree/application.xml (from rev 2354, contrib/camden/ccm-ldn-camden-decisiontree/trunk/application.xml) =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/application.xml (rev 0) +++ contrib/camden/ccm-ldn-camden-decisiontree/application.xml 2012-12-10 23:51:37 UTC (rev 2355) @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" + name="ccm-ldn-camden-decisiontree" + prettyName="Red Hat CCM Content Types" + version="1.0.3" + release="3" + webapp="ROOT"> + <ccm:dependencies> + <ccm:requires name="ccm-core" version="6.2.0" relation="ge"/> + <ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/> + </ccm:dependencies> + <ccm:directories> + <ccm:directory name="pdl"/> + <ccm:directory name="sql"/> + <ccm:directory name="src"/> + </ccm:directories> + <ccm:contacts> + <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> + <ccm:contact uri="mailto:rh...@re..." type="support"/> + </ccm:contacts> + <ccm:description> + The Camden Decision Tree Content Type for the Red Hat CCM CMS. + </ccm:description> +</ccm:application> Deleted: contrib/camden/ccm-ldn-camden-decisiontree/trunk/.classpath =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/trunk/.classpath 2012-12-09 15:17:35 UTC (rev 2354) +++ contrib/camden/ccm-ldn-camden-decisiontree/trunk/.classpath 2012-12-10 23:51:37 UTC (rev 2355) @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-cms"/> - <classpathentry combineaccessrules="false" kind="src" path="/ccm-core"/> - <classpathentry kind="output" path="build/Eclipse"/> -</classpath> Deleted: contrib/camden/ccm-ldn-camden-decisiontree/trunk/.project =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/trunk/.project 2012-12-09 15:17:35 UTC (rev 2354) +++ contrib/camden/ccm-ldn-camden-decisiontree/trunk/.project 2012-12-10 23:51:37 UTC (rev 2355) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>cm-ldn-camden-decisiontree</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> Deleted: contrib/camden/ccm-ldn-camden-decisiontree/trunk/application.xml =================================================================== --- contrib/camden/ccm-ldn-camden-decisiontree/trunk/application.xml 2012-12-09 15:17:35 UTC (rev 2354) +++ contrib/camden/ccm-ldn-camden-decisiontree/trunk/application.xml 2012-12-10 23:51:37 UTC (rev 2355) @@ -1,24 +0,0 @@ -<?xml version="1.0"?> -<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" - name="ccm-ldn-camden-decisiontree" - prettyName="Red Hat CCM Content Types" - version="1.0.3" - release="3" - webapp="ROOT"> - <ccm:dependencies> - <ccm:requires name="ccm-core" version="6.2.0" relation="ge"/> - <ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/> - </ccm:dependencies> - <ccm:directories> - <ccm:directory name="pdl"/> - <ccm:directory name="sql"/> - <ccm:directory name="src"/> - </ccm:directories> - <ccm:contacts> - <ccm:contact uri="http://www.redhat.com/software/rhea" type="website"/> - <ccm:contact uri="mailto:rh...@re..." type="support"/> - </ccm:contacts> - <ccm:description> - The Camden Decision Tree Content Type for the Red Hat CCM CMS. - </ccm:description> -</ccm:application> |
|
From: <pb...@fe...> - 2012-12-09 15:17:45
|
Author: pboy
Date: 2012-12-09 15:17:35 +0000 (Sun, 09 Dec 2012)
New Revision: 2354
Modified:
releases/2.0.0/ccm-cms/src/ccm-cms.upgrade
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java
releases/2.0.0/ccm-core/src/com/arsdigita/packaging/Upgrade.java
releases/2.0.0/ccm-core/src/com/arsdigita/util/cmd/Program.java
releases/2.0.0/ccm-core/src/log4j.properties
Log:
Fixed upgrade scripts (backport r2347, r2348).
Modified: releases/2.0.0/ccm-cms/src/ccm-cms.upgrade
===================================================================
--- releases/2.0.0/ccm-cms/src/ccm-cms.upgrade 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/ccm-cms.upgrade 2012-12-09 15:17:35 UTC (rev 2354)
@@ -52,10 +52,7 @@
<script sql="ccm-cms/upgrade/::database::-6.6.3-6.6.4.sql"/>
</version>
<version from="6.6.4" to="6.6.5">
- <script class="com.arsdigita.cms.contenttypes.upgrades.CreateContactBundles"/>
- <script class="com.arsdigita.cms.contenttypes.upgrades.CreatePersonBundles"/>
- <script class="com.arsdigita.cms.contenttypes.upgrades.GenericContactGenericPersonAssocUpgrade"/>
- <script sql="ccm-cms/upgrade::database::-6.6.4-6.6.5.sql"/>
+ <script class="com.arsdigita.cms.contenttypes.upgrades.Upgrade664to665"/>
</version>
<version from="6.6.5" to="6.6.6">
<!-- ContentSection now loaded as legacy free application -->
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-09 15:17:35 UTC (rev 2354)
@@ -1100,3 +1100,4 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=This category can't be deleted.
cms.ui.item_search.flat.filter.submit=Filter
+cms.ui.item_search.selected=Selected content item (id)
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-09 15:17:35 UTC (rev 2354)
@@ -1091,3 +1091,4 @@
cms.ui.item_search.flatBrowse=Item ausw\u00e4hlen
cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden.
cms.ui.item_search.flat.filter.submit=Filtern
+cms.ui.item_search.selected=Ausgew\u00e4hlten Content Item (id)
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-09 15:17:35 UTC (rev 2354)
@@ -39,3 +39,5 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
cms.ui.item_search.flat.filter.submit=
+cms.ui.item_search.search=
+cms.ui.item_search.selected=
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-09 15:17:35 UTC (rev 2354)
@@ -570,3 +570,5 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
cms.ui.item_search.flat.filter.submit=
+cms.ui.item_search.search=
+cms.ui.item_search.selected=
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -1,7 +1,6 @@
package com.arsdigita.cms.contenttypes.upgrades;
import com.arsdigita.runtime.RuntimeConfig;
-import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
import java.sql.Connection;
@@ -13,17 +12,16 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.cli.CommandLine;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
-public abstract class AbstractAssocUpgrade extends Program {
+public abstract class AbstractAssocUpgrade {
- public AbstractAssocUpgrade(final String name, final String version, final String usage) {
- super(name, version, usage);
+ public AbstractAssocUpgrade() {
+ //Nothing
}
protected abstract String getTableName();
@@ -43,9 +41,8 @@
protected abstract String getOwnerTableName();
protected abstract String getMemberTableName();
-
- @Override
- protected void doRun(final CommandLine cmdLine) {
+
+ protected void doUpgrade() {
System.out.println("Starting upgrade...");
final List<AssocEntry> oldData = new ArrayList<AssocEntry>();
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -1,25 +1,19 @@
package com.arsdigita.cms.contenttypes.upgrades;
import com.arsdigita.runtime.RuntimeConfig;
-import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.jdbc.Connections;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import org.apache.commons.cli.CommandLine;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
-public abstract class AbstractBundleUpgrade extends Program {
-
- public AbstractBundleUpgrade(final String name, final String version, final String usage) {
- super(name, version, usage);
- }
-
+public abstract class AbstractBundleUpgrade {
+
protected abstract String getBundleTableName();
protected abstract String getContentItemTableName();
@@ -35,9 +29,8 @@
protected String getSuperBundleTable() {
return "cms_bundles";
}
-
- @Override
- public void doRun(final CommandLine cmdLine) {
+
+ public void doUpgrade() {
System.out.println("Starting upgrade...");
System.out.println("Trying to get JDBC connection...");
@@ -137,6 +130,7 @@
private void rollback(final Connection conn) {
try {
+ System.err.println("WARNING: Rollback.");
conn.rollback();
} catch (SQLException ex1) {
System.err.println("Rollback failed.");
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -8,15 +8,7 @@
* @version $Id$
*/
public class CreateContactBundles extends AbstractBundleUpgrade {
-
- public CreateContactBundles() {
- super("CreateContactBundles", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new CreateContactBundles().run(args);
- }
-
+
@Override
protected String getBundleTableName() {
return "cms_contact_bundles";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -8,15 +8,7 @@
* @version $Id$
*/
public class CreateOrgaUnitBundles extends AbstractBundleUpgrade {
-
- public CreateOrgaUnitBundles() {
- super("CreateOrgaUnitBundles", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new CreateOrgaUnitBundles().run(args);
- }
-
+
@Override
protected String getBundleTableName() {
return "cms_orgaunit_bundles";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class CreatePersonBundles extends AbstractBundleUpgrade {
-
- public CreatePersonBundles() {
- super("CreatePersonBundles", "1.0.0", "");
- }
- public static void main(final String args[]) {
- new CreatePersonBundles().run(args);
- }
-
@Override
protected String getBundleTableName() {
return "cms_person_bundles";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericContactGenericPersonAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericContactGenericPersonAssocUpgrade() {
- super("GenericContactGenericPersonAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String[] args) {
- new GenericContactGenericPersonAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_person_contact_map";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericContactAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericContactAssocUpgrade() {
- super("GenericOrgaUnitGenericContactAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericOrgaUnitGenericContactAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_contact_map";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericOrgaUnitAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericOrgaUnitAssocUpgrade() {
- super("GenericOrgaUnitGenericOrgaUnitAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericOrgaUnitGenericOrgaUnitAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_hierarchy_map";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericPersonAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericPersonAssocUpgrade() {
- super("GenericOrgaUnitGenericPersonAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericContactGenericPersonAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_person_map";
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -78,10 +78,9 @@
import java.util.Locale;
/**
- * This class contains the component which displays the information for a
- * particular lifecycle, with the ability to edit and delete. This information
- * also includes the associated phases for this lifecycle, also with the ability
- * to add, edit, and delete.
+ * This class contains the component which displays the information for a particular lifecycle, with the ability to edit
+ * and delete. This information also includes the associated phases for this lifecycle, also with the ability to add,
+ * edit, and delete.
*
* @author Michael Pih
* @author Jack Chung
@@ -116,11 +115,16 @@
final ContentItem item = m_item.getContentItem(state).
getLiveVersion();
final Label label = (Label) event.getTarget();
- final String dateStr =
- DateFormat.getDateTimeInstance(DateFormat.LONG,
- DateFormat.SHORT,
- GlobalizationHelper.
- getNegotiatedLocale()).format(item.getLastModifiedDate());
+ final String dateStr;
+ if ((item == null) || item.getLastModifiedDate() == null) {
+ dateStr = "";
+ } else {
+ dateStr =
+ DateFormat.getDateTimeInstance(DateFormat.LONG,
+ DateFormat.SHORT,
+ GlobalizationHelper.getNegotiatedLocale()).format(item.
+ getLastModifiedDate());
+ }
final String msg = String.format(
"%s %s",
new GlobalizedMessage(
@@ -129,6 +133,7 @@
dateStr);
label.setLabel(msg);
}
+
});
m_detailPane.add(lastPublishedLabel);
m_detailPane.add(new PhaseSection());
@@ -163,8 +168,8 @@
final DateFormat format =
DateFormat.getDateTimeInstance(DateFormat.FULL,
- ContentSection.
- getConfig().getHideTimezone() ? DateFormat.SHORT
+ ContentSection.getConfig().getHideTimezone()
+ ? DateFormat.SHORT
: DateFormat.FULL);
props.add(new Property(gz("cms.ui.name"),
@@ -184,6 +189,7 @@
return props;
}
+
}
}
@@ -223,6 +229,7 @@
s_log.debug("User cannot publish " + item.getOID());
}
}
+
}
private class UnpublishLink extends PublishLink {
@@ -241,12 +248,13 @@
item.unpublish();
- final String target = URL.getDispatcherPath() + ContentItemPage.
- getItemURL(item,
- ContentItemPage.AUTHORING_TAB);
+ final String target = URL.getDispatcherPath()
+ + ContentItemPage.getItemURL(item,
+ ContentItemPage.AUTHORING_TAB);
throw new RedirectSignal(target, true);
}
+
}
}
@@ -276,8 +284,7 @@
final ContentItem item = m_item.getContentItem(state);
/*
- * jensp 2011-12-14: Check is threaded publishing is active. If
- * yes, execute publishing in a thread.
+ * jensp 2011-12-14: Check is threaded publishing is active. If yes, execute publishing in a thread.
*/
if (CMSConfig.getInstance().getThreadedPublishing()) {
final Republisher republisher = new Republisher(item);
@@ -301,20 +308,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -346,6 +350,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -367,6 +372,7 @@
}
}
}
+
}
/**
@@ -375,11 +381,10 @@
private class Republisher implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -388,12 +393,12 @@
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
republish(item, false);
PublishLock.getInstance().unlock(item);
}
+
}
}
@@ -416,8 +421,7 @@
final ContentItem item = m_item.getContentItem(state);
/**
- * jensp 2011-12-14: Execute is a thread if threaded publishing
- * is active.
+ * jensp 2011-12-14: Execute is a thread if threaded publishing is active.
*/
if (CMSConfig.getInstance().getThreadedPublishing()) {
final Republisher republisher = new Republisher(item);
@@ -441,20 +445,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -486,6 +487,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -507,6 +509,7 @@
}
}
}
+
}
/**
@@ -515,11 +518,10 @@
private class Republisher implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -528,12 +530,12 @@
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
republish(item, true);
PublishLock.getInstance().unlock(item);
}
+
}
}
@@ -547,6 +549,7 @@
group.setSubject(new PhaseTable());
}
+
}
private class PhaseTable extends Table {
@@ -560,11 +563,11 @@
lz("cms.ui.item.lifecycle.end_date")
});
}
+
}
/**
- * New style pane. Uses a select box for the action to avoid wrong clicks on
- * unpublish.
+ * New style pane. Uses a select box for the action to avoid wrong clicks on unpublish.
*
* @author Jens Pelzetter
*/
@@ -638,8 +641,7 @@
final ContentItem item = m_item.getContentItem(state);
/**
- * Republish/Republish and Reset are executed in the thread if
- * threaded publishing is active.
+ * Republish/Republish and Reset are executed in the thread if threaded publishing is active.
*/
if (REPUBLISH.equals(selected)) {
if (CMSConfig.getInstance().getThreadedPublishing()) {
@@ -664,20 +666,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -709,6 +708,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -752,20 +752,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -797,6 +794,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -825,11 +823,10 @@
private class RepublishRunner implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -838,28 +835,26 @@
}
private void doRepublish() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
republish(item, false);
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
doRepublish();
PublishLock.getInstance().unlock(item);
}
+
}
private class RepublishAndResetRunner implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -868,18 +863,17 @@
}
private void doRepublishAndReset() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
republish(item, true);
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
doRepublishAndReset();
PublishLock.getInstance().unlock(item);
}
+
}
}
}
Modified: releases/2.0.0/ccm-core/src/com/arsdigita/packaging/Upgrade.java
===================================================================
--- releases/2.0.0/ccm-core/src/com/arsdigita/packaging/Upgrade.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-core/src/com/arsdigita/packaging/Upgrade.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -166,11 +166,13 @@
System.out.println("Number of scripts: " + m_scripts.size() );
}
- Iterator iter = m_scripts.iterator();
- while (iter.hasNext()) {
+ //Iterator iter = m_scripts.iterator();
+ //while (iter.hasNext()) {
+ for(int k = 0; k < m_scripts.size(); k++) {
+
+ System.out.printf("Running script %d/%d\n", (k + 1), m_scripts.size());
+ final String[] parts = (String[]) m_scripts.get(k); //(String[]) iter.next();
- final String[] parts = (String[]) iter.next();
-
final String classname = parts[0];
final String sql = parts[1];
@@ -201,14 +203,14 @@
}
}
- try {
- method.invoke(null, new Object[] {ll.toArray(new String[] {})});
- } catch (IllegalAccessException iae) {
+ try {
+ method.invoke(null, new Object[] {ll.toArray(new String[] {})});
+ } catch (IllegalAccessException iae) {
throw new UncheckedWrapperException(iae);
- } catch (InvocationTargetException ite) {
+ } catch (InvocationTargetException ite) {
throw new UncheckedWrapperException(ite);
}
-
+
} else if (sql != null) {
final SchemaLoader loader = new SchemaLoader(sql);
@@ -227,8 +229,7 @@
}
} else {
throw new IllegalStateException();
- }
-
+ }
}
return true;
Modified: releases/2.0.0/ccm-core/src/com/arsdigita/util/cmd/Program.java
===================================================================
--- releases/2.0.0/ccm-core/src/com/arsdigita/util/cmd/Program.java 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-core/src/com/arsdigita/util/cmd/Program.java 2012-12-09 15:17:35 UTC (rev 2354)
@@ -270,6 +270,7 @@
doRun(cmdLine);
if(!m_concatenate) {
+ System.out.println("exiting");
System.exit(0);
}
} catch (Throwable t) {
Modified: releases/2.0.0/ccm-core/src/log4j.properties
===================================================================
--- releases/2.0.0/ccm-core/src/log4j.properties 2012-12-09 15:09:40 UTC (rev 2353)
+++ releases/2.0.0/ccm-core/src/log4j.properties 2012-12-09 15:17:35 UTC (rev 2354)
@@ -35,7 +35,7 @@
# For seeing progress of main runtime initialization process
log4j.logger.com.arsdigita.runtime.CCMResourceManager=INFO
-log4j.logger.com.arsdigita.runtime.Runtime=INFO
+#log4j.logger.com.arsdigita.runtime.Runtime=INFO
log4j.logger.com.arsdigita.bundle.Loader=INFO
|
Author: pboy
Date: 2012-12-09 15:09:40 +0000 (Sun, 09 Dec 2012)
New Revision: 2353
Added:
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
Removed:
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/CCMInsertImage/
releases/2.0.0/ccm-cms/web/assets/xinha/plugins/CCMInsertLink/
Modified:
releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java
releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Navigation.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/cms/CMSDataCollectionDefinition.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java
Log:
Integrated CCM Xinha Plugin, image gallery (r2341, r2344), fault tolerant object list.
Modified: releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -13,7 +13,7 @@
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter",
"ContextMenu","DefinitionList","FindReplace","ListType","QuickTag",
- "SmartReplace","Stylist","TableOperations","UnFormat","Equation"];
+ "SmartReplace","Stylist","TableOperations","UnFormat","Equation","OpenCCM"];
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
return;
}
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,115 @@
+/** xinha editor plugin for OpenCCM **/
+
+OpenCCM._pluginInfo = {
+ name : "OpenCCM",
+ version : "0.3",
+ developer : "Sören Bernstein",
+ developer_url : "http://",
+ sponsor : "",
+ sponsor_url : "",
+ license : "htmlArea"
+}
+
+function OpenCCM(editor)
+{
+ this.editor = editor;
+ this.dialogs = new Array();
+
+ var cfg = editor.config;
+ var self = this;
+
+ var hasLinkButton = false;
+ var hasImageButton = false;
+
+ cfg.registerButton(
+ {
+ id : "createlink",
+ tooltip : this._lc("OpenCCMInsertLink"),
+ image : ["ed_buttons_main.png", 6, 1],
+ textMode : false,
+ action : function(e, objname, obj) { self.showLinkDialog(self._getSelectedAnchor()); }
+ }
+ );
+/*
+ cfg.registerButton(
+ {
+ id : "insertimage",
+ tooltip : this._lc("OpenCCMInsertImage"),
+ image : ["ed_buttons_main.png", 6, 3],
+ textMode : false,
+ action : function(e, objname, obj) { self.showImageDialog(); }
+ }
+ );
+*/
+ if(this.findButton("createlink"))
+ {
+ hasLinkButton = true;
+ cfg.addToolbarElement("createlink", "createlink", 0);
+ } else {
+ cfg.addToolbarElement("createlink", "undo", -1);
+ }
+/*
+ if(this.findButton("insertimage"))
+ {
+ hasImageButton = true;
+ cfg.addToolbarElement("insertimage", "insertimage", 0);
+ }
+ else
+ {
+ cfg.addToolbarElement("insertimage", "createlink", 1);
+ }
+
+ if(!hasLinkButton && !hasImageButton)
+ {
+ cfg.addToolbarElement(["separator"], "insertimage", 1);
+ }
+*/
+ // Register double click action
+ cfg.dblclickList["a"][0] = function(e, target) { self.showLinkDialog(self._getSelectedAnchor()); };
+}
+
+OpenCCM.prototype.findButton = function(string) {
+ var toolbar = this.editor.config.toolbar;
+
+ for(i = 0; i < toolbar.length; i++)
+ {
+ for(j = 0; j < toolbar[i].length; j++)
+ {
+ if(toolbar[i][j] == string)
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+OpenCCM.prototype._lc = function(string) {
+ return Xinha._lc(string, 'OpenCCM');
+}
+
+OpenCCM.prototype.onGenerateOnce = function ()
+{
+ this.loadAssets();
+}
+
+OpenCCM.prototype.loadAssets = function() {
+ var self = OpenCCM;
+
+ if (self.loading)
+ {
+ return;
+ }
+ self.loading = true;
+
+ // Link
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/links/links.js', function(getback) { eval(getback); self.linksMethodsReady = true; });
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/links/links.html', function(getback) { OpenCCM.linksHtml = getback; self.linksDialogReady = true; } );
+/*
+ // Image
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/images/images.js', function(getback) { eval(getback); self.imagesMethodsReady = true; } );
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/images/images.html', function(getback) { OpenCCM.imagesHtml = getback; self.imagesDialogReady = true; } );
+*/
+}
+
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,163 @@
+<style>
+ .common {
+ margin: 0.4em;
+ }
+ fieldset {
+ margin: 0.6em 0.3em;
+ }
+
+ label.key {
+ clear: left;
+ float: left;
+ width: 5em;
+ padding: 0.25em 0.2em;
+ }
+
+ fieldset label.key {
+ width: 8em;
+ }
+
+ .value {
+ margin-left: 5.5em;
+ margin-right: 1em;
+ }
+
+ fieldset .value {
+ margin-left: 8.5em;
+ }
+
+ .withButton {
+ margin: 0em 0.2em 0em 12em;
+ }
+
+ .withButton input[type="text"] {
+ float: left;
+ margin-left: -6em;
+ }
+
+ .withButton input[type="button"] {
+ position: relative;
+ width: 5em !important;
+ }
+
+ input {
+ width: auto !important;
+ }
+
+ input[type="text"] {
+ width: 100% !important;
+ }
+
+
+ .itemname {
+ margin: 0.1em;
+ border: none;
+ border-radius: 0.3em;
+ padding: 0.2em;
+ font-style: italic;
+ color: #4a4a4a;
+ background-color: #dddddd;
+ }
+
+ .buttons {
+ text-align: center;
+ }
+</style>
+<h1 id="[h1]">
+ <l10n>Insert/Modify Image</l10n>
+</h1>
+<div style="position:relative">
+ <div id="[options]">
+ <div class="common">
+ <label class="key" for="[name]">
+ <l10n>Name:</l10n>
+ </label>
+ <div class="value withButton">
+ <input class="itemname" type="text" name="[name]" id="[name]" disabled="disabled"/>
+ <input type="button"" name="[browse]" id="[browse]" value="_(Browse)">
+ </div>
+ <label class="key" for="[alt]">
+ <l10n>Alternate:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[alt]" id="[alt]" title="_(Insert image alternate text)" />
+ </div>
+ <label class="key" for="[title]">
+ <l10n>Title:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[title]" id="[title]" title="_(Insert image title)" />
+ </div>
+ <label class="key" for="[context]">
+ <l10n>Context:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[context]" id="[context]" title="_(Insert context)" />
+ </div>
+ </div>
+ <input type="hidden" name="[src]" id="[src]"/>
+
+ <fieldset>
+ <legend>
+ <l10n>Layout</l10n>
+ </legend>
+ <label class="key" for="[alignment]">
+ <l10n>Alignment:</l10n>
+ </label>
+ <div class="value">
+ <select size="1" name="[alignment]" id="[alignment]" title="_(Positioning of this image)">
+ <option value="" ><l10n>Not set</l10n></option>
+ <option value="left" ><l10n>Left</l10n></option>
+ <option value="center"><l10n>Center</l10n></option>
+ <option value="right" ><l10n>Right</l10n></option>
+ </select>
+ </div>
+ <label class="key" for="[caption]">
+ <l10n>Show Caption:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[caption]" id="[caption]" title="_(Show caption)" checked="checked"/>
+ </div>
+ <label class="key" for="[zoom]">
+ <l10n>Enable Zoom:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[zoom]" id="[zoom]" title="_(Enable zoom)" checked="checked"/>
+ </div>
+ <label class="key" for="[gallery]">
+ <l10n>Enable Gallery:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[gallery]" id="[gallery]" title="_(Enable gallery)"/>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>
+ <l10n>Dimension</l10n>
+ </legend>
+ <label class="key" for="[width]">
+ <l10n>Width:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[width]" id="[width]" title="_(Resize to width)"/>
+ </div>
+ <label class="key" for="[height]">
+ <l10n>Height:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[height]" id="[height]" title="_(Resize to height)"/>
+ </div>
+ </fieldset>
+ </div>
+
+ <div>
+ <l10n>Image Preview:</l10n><br />
+ <iframe id="[ipreview]" frameborder="0" style="border : 1px solid gray;" height="200" width="100%" src="about:blank"></iframe>
+ </div>
+
+ <div class="buttons" id="[buttons]">
+ <input type="button" id="[ok]" value="_(OK)" />
+ <input type="button" id="[cancel]" value="_(Cancel)" />
+ </div>
+</div>
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,209 @@
+OpenCCM.prototype.showImageDialog = function(image)
+{
+ if (!this.dialogs["images"])
+ {
+ this.prepareImageDialog();
+ }
+
+ var editor = this.editor;
+ this.image = image;
+
+ var data =
+ {
+ src : "",
+ name : "",
+ alt : "",
+ title : "",
+ width : "",
+ height : "",
+ caption : "",
+ zoom : "",
+ gallery : "",
+ aspect : ""
+ };
+
+/*
+ if (typeof image == "undefined" )
+ {
+ image = editor.getParentElement();
+ if ( image && image.tagName.toLowerCase() != 'img' )
+ {
+ image = null;
+ }
+ }
+*/
+ if(image && image.tagName.toLowerCase == "img")
+ {
+ var src = this.editor.fixRelativeLinks(image.getAttribute('src'));
+
+ data.src = src;
+ data.name = image.name;
+ data.alt = image.alt;
+ data.title = image.title;
+ data.width = image.width;
+ data.height = image.height;
+
+ data.caption = ""/*image.next.tagName=="span"*/;
+ data.zoom = "" /*image.parent.rel == "zoom"*/;
+ data.gallery = "" /*image.parent.rel == "imageGallery"*/;
+
+ data.context = image.parent.rel;
+
+ data.alignment = "" /*image.parent.parent.class*/;
+
+// aspect = "";
+ }
+
+ // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
+ this.dialogs["images"].show(data);
+};
+
+OpenCCM.prototype.prepareImageDialog = function()
+{
+ var self = this;
+ var editor = this.editor;
+
+ var dialog = this.dialogs["images"] = new Xinha.Dialog(editor, OpenCCM.imagesHtml, 'Xinha',{width:410})
+
+ // Connect the OK and Cancel buttons
+ dialog.getElementById('ok').onclick = function() {self.imageApply();}
+// dialog.getElementById('clear').onclick = function() { self.imageRemove(); };
+ dialog.getElementById('cancel').onclick = function() { self.dialogs["images"].hide()};
+
+ // Connect the Select button
+ dialog.getElementById('browse').onclick = function() { self.imageBrowse(window); };
+
+ this.imageDialogReady = true;
+};
+
+//
+OpenCCM.prototype.imageApply = function()
+{
+
+ var values = this.dialogs["images"].hide();
+ var image = this.image;
+ var editor = this.editor;
+
+ var imgAttr =
+ {
+ src : "",
+ name : "",
+ alt : "",
+ title : "",
+ id : "",
+ width : "",
+ height : ""
+ };
+
+ var linkAttr =
+ {
+
+ };
+
+ var divAttr =
+ {
+ class : ""
+ };
+
+ // If not all mandatory informations are set
+ if (!values.src)
+ {
+ // don't do anything at all
+ return false;
+ }
+
+ // Modify Image
+ if(image && image.tagName.toLowerCase() == "img")
+ {
+ alert("Modifying image");
+ }
+
+ // Add Image
+ else
+ {
+ alert("Adding image");
+ }
+
+
+ if ( !img )
+ {
+ if ( Xinha.is_ie )
+ {
+ var sel = editor.getSelection();
+ var range = editor.createRange(sel);
+ editor._doc.execCommand("insertimage", false, param.f_url);
+ img = range.parentElement();
+ // wonder if this works...
+ if ( img.tagName.toLowerCase() != "img" )
+ {
+ img = img.previousSibling;
+ }
+ }
+ else
+ {
+ img = document.createElement('img');
+ img.src = param.f_url;
+ editor.insertNodeAtSelection(img);
+ if ( !img.tagName )
+ {
+ // if the cursor is at the beginning of the document
+ img = range.startContainer.firstChild;
+ }
+ }
+ }
+ else
+ {
+ img.src = param.f_url;
+ }
+
+ for ( var field in param )
+ {
+ var value = param[field];
+ switch (field)
+ {
+ case "f_alt":
+ if (value)
+ img.alt = value;
+ else
+ img.removeAttribute("alt");
+ break;
+ case "f_border":
+ if (value)
+ img.border = parseInt(value || "0");
+ else
+ img.removeAttribute("border");
+ break;
+ case "f_align":
+ if (value.value)
+ img.align = value.value;
+ else
+ img.removeAttribute("align");
+ break;
+ case "f_vert":
+ if (value != "")
+ img.vspace = parseInt(value || "0");
+ else
+ img.removeAttribute("vspace");
+ break;
+ case "f_horiz":
+ if (value != "")
+ img.hspace = parseInt(value || "0");
+ else
+ img.removeAttribute("hspace");
+ break;
+ case "f_width":
+ if (value)
+ img.width = parseInt(value || "0");
+ else
+ img.removeAttribute("width");
+ break;
+ case "f_height":
+ if (value)
+ img.height = parseInt(value || "0");
+ else
+ img.removeAttribute("height");
+ break;
+ }
+ }
+
+};
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+{
+ "OpenCCMInsertLink" : "Link einfügen / bearbeiten",
+ "OpenCCMInsertImage" : "Bild einfügen / bearbeiten",
+}
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+{
+ "OpenCCMInsertLink" : "Create / modify link",
+ "OpenCCMInsertImage" : "Insert / modify image",
+}
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,155 @@
+<style>
+ .common {
+ margin: 0.4em;
+ }
+ fieldset {
+ margin: 0.6em 0.3em;
+ }
+
+ label.key {
+ clear: left;
+ float: left;
+ width: 5em;
+ padding: 0.25em 0.2em;
+ }
+
+ .value {
+ margin-left: 5.5em;
+ margin-right: 1em;
+ }
+
+ .withButton {
+ margin: 0em 0.2em 0em 12em;
+ }
+
+ .withButton input[type="text"] {
+ float: left;
+ margin-left: -6em;
+ }
+
+ .withButton input[type="button"] {
+ position: relative;
+ width: 5em !important;
+ }
+
+ input {
+ width: auto !important;
+ }
+
+ input[type="text"] {
+ width: 100% !important;
+ }
+
+
+ .itemname {
+ margin: 0.1em;
+ border: none;
+ border-radius: 0.3em;
+ padding: 0.2em;
+ font-style: italic;
+ color: #4a4a4a;
+ background-color: #dddddd;
+ }
+
+ .buttons {
+ text-align: center;
+ }
+</style>
+<h1 id="[h1]">
+ <l10n>Insert/Modify Link</l10n>
+</h1>
+<div style="position:relative">
+ <div id="[options]">
+ <div class="common">
+ <label class="key" for="[title]">
+ <l10n>Title:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[title]" id="[title]"/>
+ </div>
+ </div>
+ <fieldset id="[fieldset_internal]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_internal]" value="internal" checked="checked"/>
+ <l10n>Internal Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[ci_name]">
+ <l10n>Item:</l10n>
+ </label>
+ <div class="value withButton">
+<!-- Ausgeblendet, bis es eine spezielle JSP / Java-Klasse gibt.
+ <input class="itemname" type="text" name="[ci_name]" id="[ci_name]" disabled="disabled" value="_(No item selected)"/>
+-->
+<!-- Die folgende Zeile muß entfernt werden, wenn eine bessere JSP / Java-Klasse vorhanden ist -->
+ <input type="text" disabled="disabled" name="[ci_href]" id="[ci_href]" value=""/>
+ <input type="button" name="[ci_browse]" id="[ci_browse]" value="_(Browse)"/>
+ </div>
+<!-- Ausblenden, bis es eine spezielle JSP / Java-Klasse gibt, die besser mit externen Parametern arbeitet
+ <div class="value withButton">
+ <input type="text" name="[ci_searchfield]" id="[ci_searchfield]" value=""/>
+ <input type="button" name="[ci_search]" id="[ci_search]" value="_(Search)"/>
+ </div>
+ <input type="hidden" name="[ci_href]" id="[ci_href]" value=""/>
+-->
+ </fieldset>
+ <fieldset id="[fieldset_external]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_external]" value="external"/>
+ <l10n>External Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[href]">
+ <l10n>URL:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[href]" id="[href]" value=""/>
+ </div>
+ </fieldset>
+
+<!-- Evt. für spätere Erweiteung, aber eigentlich sollten Links auf Contact-Items verwendet werden -->
+<!--
+ <fieldset id="[fieldset_mailto]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_mailto]" value="mailto"/>
+ <l10n>Email Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[to]">
+ <l10n>Email Address:</l10n>
+ </label>
+ <div class="value">
+ <input "type="text" name="[to]" id="[to]" value=""/>
+ </div>
+ </fieldset>
+-->
+<!-- Für spätere Erweiterung. Scanne nach Anchor und trage sie ein -->
+<!--
+ <fieldset id="[fieldset_anchor]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_anchor]" value="anchor"/>
+ <l10n>Anchor Link</l10n>
+ </label>
+ </legend>
+ <label class="key" "for="[anchor]">
+ <l10n>Anchor:</l10n>
+ </label>
+ <div class="value">
+ <select name="[anchor]" id="[anchor]">
+ </select>
+ </div>
+ </fieldset>
+-->
+ <div class="buttons">
+ <input type="button" id="[ok]" value="_(OK)" />
+ <input type="button" id="[clear]" value="_(Remove Link)" />
+ <input type="button" id="[cancel]" value="_(Cancel)" />
+ </div>
+ </div>
+</div>
+
+
Added: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js (rev 0)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js 2012-12-09 15:09:40 UTC (rev 2353)
@@ -0,0 +1,238 @@
+OpenCCM.prototype.showLinkDialog = function(link)
+{
+ if (!this.dialogs["links"])
+ {
+ this.prepareLinkDialog();
+ }
+
+ if(!link && this.editor.selectionEmpty(this.editor.getSelection()))
+ {
+ alert(this._lc("You need to select some text before creating a link"));
+ return false;
+ }
+
+ var editor = this.editor;
+ this.link = link;
+
+ var data =
+ {
+ title : '',
+ type : 'internal',
+ ci_name : '',
+ ci_href : '',
+ href : ''
+ };
+
+ if(link && link.tagName.toLowerCase() == 'a')
+ {
+ var href =this.editor.fixRelativeLinks(link.getAttribute('href'));
+ var internal = href.match(/^(\/.*)$/);
+ var external = href.match(/^http(.*)$/);
+/*
+ var mailto = href.match(/^mailto:(.*@[^?&]*)(\?(.*))?$/);
+ var anchor = href.match(/^#(.*)$/);
+*/
+ data.title = link.title;
+
+ if(internal)
+ {
+ data.type = 'internal';
+ data.ci_name = link.alt;
+ data.ci_href = href;
+ }
+
+ if(external)
+ {
+ data.type = 'external';
+ data.href = href;
+ }
+
+ }
+
+ // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
+ this.dialogs["links"].show(data);
+
+};
+
+// Prepare the link dialog
+OpenCCM.prototype.prepareLinkDialog = function()
+{
+ var self = this;
+ var editor = this.editor;
+
+ var dialog = this.dialogs["links"] = new Xinha.Dialog(editor, OpenCCM.linksHtml, 'Xinha',{width:400})
+
+ // Connect the OK and Cancel buttons
+ dialog.getElementById('ok').onclick = function() { self.linkApply(); };
+ dialog.getElementById('clear').onclick = function() { self.linkRemove(); };
+ dialog.getElementById('cancel').onclick = function() { self.dialogs["links"].hide()};
+
+ // Connect the Browse and Search button
+ dialog.getElementById('ci_browse').onclick = function() { self.linkBrowse(window); };
+/* Suche deaktivert, bis eine bessere JSP / Java-Klasse vorhanden ist
+ dialog.getElementById('ci_search').onclick = function() { alert("Das geht auch noch nicht.");};
+*/
+
+ this.linkDialogReady = true;
+};
+
+//
+OpenCCM.prototype.linkApply = function()
+{
+
+ var values = this.dialogs["links"].hide();
+ var link = this.link;
+ var editor = this.editor;
+
+ var linkAttr =
+ {
+ href : '',
+ alt : '',
+ title : '',
+ class : ''
+ };
+
+ // Read needed form values
+ switch(values.type)
+ {
+ case "internal": //alert("Internal");
+ linkAttr.href = values.ci_href;
+ /* Deaktiviert bis es eine bessere JSP / Java-Klasse gibt
+ linkAttr.alt = values.ci_name;
+ */
+ linkAttr.title = values.title;
+ linkAttr.class = "linkInternal";
+ break;
+
+ case "external": //alert("External");
+ linkAttr.href = values.href;
+ linkAttr.title = values.title;
+ linkAttr.class = "linkExternal";
+
+ // Make absolute url
+
+ break;
+
+ default: //alert("Mist");
+ return false;
+ }
+
+ // If not all mandatory informations are set
+ if(linkAttr.href == "" || linkAttr.title == "")
+ {
+ // don't do anything at all
+ return false;
+ }
+
+ // Modify Link
+ if(link && link.tagName.toLowerCase() == "a")
+ {
+
+ for(var i in linkAttr)
+ {
+ link.setAttribute(i, linkAttr[i]);
+ }
+
+/* from Linker-Plugin
+ // If we change a mailto link in IE for some hitherto unknown
+ // reason it sets the innerHTML of the link to be the
+ // href of the link. Stupid IE.
+ if(Xinha.is_ie)
+ {
+ if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(link.innerHTML))
+ {
+ link.innerHTML = RegExp.$1;
+ }
+ }
+*/
+
+ }
+ // Add Link
+ else
+ {
+
+ // Insert a link, we let the editor do this, we figure it knows best
+ var tmp = Xinha.uniq("http://www.example.com/Link");
+ editor._doc.execCommand("createlink", false, tmp);
+
+ // Fix it up
+ var anchors = editor._doc.getElementsByTagName('a');
+ for(var i = 0; i < anchors.length; i++)
+ {
+ var anchor = anchors[i];
+ if(anchor.href == tmp)
+ {
+ // Found one.
+ if (!link) link = anchor;
+ for(var j in linkAttr)
+ {
+ anchor.setAttribute(j, linkAttr[j]);
+ }
+ }
+ }
+
+ }
+
+ editor.selectNodeContents(link);
+ editor.updateToolbar();
+};
+
+// Remove a link
+OpenCCM.prototype.linkRemove = function()
+{
+
+ var values = this.dialogs["links"].hide();
+ var link = this.link;
+ var editor = this.editor;
+
+ if(link && link.tagName.toLowerCase() == 'a')
+ {
+ if(confirm(this._lc('Are you sure you wish to remove this link?')))
+ {
+ var parent = link.parentNode;
+ while(link.hasChildNodes())
+ {
+ parent.insertBefore(link.removeChild(link.childNodes[0]), link);
+ }
+
+ parent.removeChild(link);
+ editor.updateToolbar();
+ return true;
+ }
+ }
+};
+
+OpenCCM.prototype.linkBrowse = function(window)
+{
+ baseURL = window.location.href;//.pathname;
+ offset = baseURL.lastIndexOf("/");
+ destURL = baseURL.slice(0, offset+1) + "search.jsp?useURL=true&widget=getElementById('" + this.dialogs["links"].id["ci_href"] + "')";
+
+// var searchDialog = new Xinha.Dialog(this.editor, destURL, '');//,{width:800, height:600}, {'closable':true});
+// searchDialog.show();
+ window.open(destURL, "_blank", "directories=no,toolbar=no,width=600,height=400,status=no,menubar=no");
+
+ return false;
+}
+
+// Get selected anchor
+OpenCCM.prototype._getSelectedAnchor = function()
+{
+ var sel = this.editor.getSelection();
+ var rng = this.editor.createRange(sel);
+ var link = this.editor.activeElement(sel);
+
+ if(link != null && link.tagName.toLowerCase() == 'a')
+ {
+ return link;
+ }
+ else
+ {
+ link = this.editor._getFirstAncestor(sel, 'a');
+ if(link != null)
+ {
+ return link;
+ }
+ }
+ return null;
+};
Modified: releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java
===================================================================
--- releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -21,6 +21,8 @@
import com.arsdigita.cms.contentassets.ItemImageAttachment;
import com.arsdigita.bebop.AbstractSingleSelectionModel;
+import com.arsdigita.bebop.ActionLink;
+import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.RequestLocal;
@@ -29,6 +31,7 @@
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.ImageChooser;
import com.arsdigita.cms.ui.SecurityPropertyEditor;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
@@ -93,6 +96,7 @@
});
}
+ @Override
public void register( Page p ) {
super.register( p );
@@ -132,9 +136,12 @@
extends AbstractSingleSelectionModel
{
private final RequestLocal m_attachment = new RequestLocal() {
+ @Override
protected Object initialValue( PageState ps ) {
OID oid = (OID) getSelectedKey( ps );
- if( null == oid ) return null;
+ if( null == oid ) {
+ return null;
+ }
return DomainObjectFactory.newInstance( oid );
}
@@ -142,7 +149,9 @@
public Object getSelectedKey( PageState ps ) {
OID oid = (OID) ps.getValue( m_attachmentOID );
- if( null == oid ) return null;
+ if( null == oid ) {
+ return null;
+ }
return oid;
}
Modified: releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
===================================================================
--- releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -18,8 +18,6 @@
package com.arsdigita.cms.contentassets.ui;
-import com.arsdigita.cms.contentassets.ItemImageAttachment;
-
import com.arsdigita.bebop.ActionLink;
import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Component;
@@ -39,26 +37,25 @@
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.ParameterEvent;
import com.arsdigita.bebop.event.ParameterListener;
+import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.form.TextField;
-import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
+import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.StringLengthValidationListener;
-import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.StringParameter;
-import com.arsdigita.domain.DataObjectNotFoundException;
-import com.arsdigita.persistence.DataCollection;
-import com.arsdigita.util.Assert;
-import com.arsdigita.util.StringUtils;
-
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ImageAsset;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ReusableImageAsset;
+import com.arsdigita.cms.contentassets.ItemImageAttachment;
import com.arsdigita.cms.ui.FileUploadSection;
import com.arsdigita.cms.ui.ImageBrowser;
import com.arsdigita.cms.ui.ImageChooser;
-
+import com.arsdigita.domain.DataObjectNotFoundException;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.util.Assert;
+import com.arsdigita.util.StringUtils;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
@@ -143,8 +140,9 @@
private void setImageComponent( PageState ps, final String activeKey ) {
m_imageComponent.setSelectedKey( ps, activeKey );
- if( s_log.isDebugEnabled() )
+ if( s_log.isDebugEnabled() ) {
s_log.debug( "Selected component: " + activeKey );
+ }
Map componentsMap = m_imageComponent.getComponentsMap();
Iterator i = componentsMap.keySet().iterator();
@@ -167,17 +165,18 @@
PageState ps = event.getPageState();
ItemImageAttachment attachment = m_imageStep.getAttachment( ps );
- if( null == attachment ) return;
-
- // XXX: Do something
+ if( null == attachment ) {
+ // XXX: Do something
+ }
}
public void process( FormSectionEvent event ) throws FormProcessException {
PageState ps = event.getPageState();
ImageComponent component = getImageComponent( ps );
- if( !component.getSaveCancelSection().getSaveButton().isSelected( ps ) )
+ if( !component.getSaveCancelSection().getSaveButton().isSelected( ps ) ) {
return;
+ }
ContentItem item = m_imageStep.getItem( ps );
if( null == item ) {
@@ -270,7 +269,8 @@
add(new Label("Use Context"));
m_useContext = new TextField("useContext");
m_useContext.setSize(40);
- m_useContext.addValidationListener( new UniqueUseContextListener() );
+// Removed to use multiple images with fancyBox
+// m_useContext.addValidationListener( new UniqueUseContextListener() );
add(m_useContext);
m_saveCancel = new SaveCancelSection();
@@ -417,7 +417,8 @@
m_form.add(new Label("Use Context"));
m_useContext = new TextField("useContext");
m_useContext.setSize(40);
- m_useContext.addValidationListener( new UniqueUseContextListener() );
+// Removed to use multiple images with fancyBox
+// m_useContext.addValidationListener( new UniqueUseContextListener() );
m_form.add(m_useContext);
m_saveCancel = new SaveCancelSection();
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -5,12 +5,12 @@
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
@@ -66,8 +66,8 @@
public final void setObjectType(String objectType) {
Assert.isUnlocked(this);
+ m_objectType = objectType;
validateObjectType(objectType);
- m_objectType = objectType;
}
public final void setSpecificObjectType(String specificObjectType) {
@@ -86,6 +86,12 @@
}
public void setDateAttribute(DataCollectionRenderer renderer) {
+
+ // Stop here, if the set object type is invalid a.k.a. not installed
+ if(this.hasInvalidObjectType()) {
+ return;
+ }
+
ObjectType type = SessionManager.getMetadataRoot().getObjectType(
m_objectType);
s_log.debug("set date attribute for collection of " + type.
@@ -124,10 +130,21 @@
private final void validateObjectType(String objectType) {
ObjectType type = SessionManager.getMetadataRoot().getObjectType(
objectType);
- Assert.exists(type, ObjectType.class);
- validateObjectType(type);
+
+ // WTF: I don't need an exception if the requested objecttype doesn't exists
+ // That will only ruin your website
+ //Assert.exists(type, ObjectType.class);
+ if(type == null) {
+ m_objectType = "";
+ } else {
+ validateObjectType(type);
+ }
}
+ public boolean hasInvalidObjectType() {
+ return m_objectType.isEmpty();
+ }
+
protected void validateObjectType(ObjectType type) {
// Nada
}
@@ -153,7 +170,7 @@
}
/**
- * Activates a filter for content types which are blacklisted
+ * Activates a filter for content types which are blacklisted
* in the AtoZ module.
*/
public void setBlackListTypes(boolean blackListTypes) {
@@ -181,6 +198,11 @@
public final DataCollection getDataCollection(NavigationModel model) {
Assert.isLocked(this);
+ // Stop here, if the set object type is invalid a.k.a. not installed
+ if(this.hasInvalidObjectType()) {
+ return null;
+ }
+
DataCollection objects = SessionManager.getSession().retrieve(
m_objectType);
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -123,7 +123,7 @@
}
/**
- * @param objects
+ * @param objects
* @param pageNumber current page, starting from 1
* @return
*/
@@ -132,15 +132,15 @@
Assert.isLocked(this);
// Quasimodo: Begin
- // If objects is empty, do not insert objectList-element but do insert noContent-element
- // and return immediately
- if (objects.isEmpty()) {
+ // If objects is null or empty, do not insert objectList-element
+ // but do insert noContent-element and return immediately
+ if (objects == null || objects.isEmpty()) {
return Navigation.newElement("noContent");
}
// Quasimodo: End
Element content = Navigation.newElement("objectList");
-
+
//Return the empty nav:item & nav:paginator tags.
// Quasimodo: Why should I??? There is no need for a paginator if there aren't any elements
if (!m_navItems) {
@@ -203,9 +203,9 @@
paginator.addAttribute("objectCount", new Long(objectCount).toString());
content.addContent(paginator);
-
+
int index = 0;
- while (objects.next()) {
+ while (objects.next()) {
DataObject dobj = objects.getDataObject();
ACSObject object = null;
if (m_specializeObjects) {
@@ -214,35 +214,34 @@
s_log.error(String.format("Failed to specialize object with with id %s. Skiping object.", dobj.getOID().toString()));
continue;
} else {
- s_log.error("Specializing successful.");
+ s_log.debug("Specializing successful.");
}
- }
+ }
+ Element item = Navigation.newElement(content, "item");
- Element item = Navigation.newElement("item");
-
Iterator attributes = m_attributes.iterator();
while (attributes.hasNext()) {
String name = (String) attributes.next();
String[] paths = StringUtils.split(name, '.');
outputValue(item, dobj, name, paths, 0);
}
-
+
Iterator properties = m_properties.iterator();
while (properties.hasNext()) {
DataCollectionPropertyRenderer property = (DataCollectionPropertyRenderer) properties.next();
property.render(objects, item);
}
-
- Element path = Navigation.newElement("path");
+
+ Element path = Navigation.newElement(item, "path");
path.setText(getStableURL(dobj, object));
- item.addContent(path);
+ //item.addContent(path);
generateItemXML(item, dobj, object, index);
index++;
- content.addContent(item);
+ //content.addContent(item);
}
-
+
return content;
}
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -15,6 +15,7 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
package com.arsdigita.navigation;
import com.arsdigita.kernel.Kernel;
@@ -41,6 +42,7 @@
import org.apache.log4j.Logger;
+
/**
* Loader.
*
@@ -51,16 +53,17 @@
/** Creates a s_logging category with name = full name of class */
private static final Logger s_log = Logger.getLogger(Loader.class);
+
private StringParameter m_templatesFile = new StringParameter(
- "com.arsdigita.navigation.templates_file",
- Parameter.REQUIRED,
- "WEB-INF/navigation/templates.txt");
+ "com.arsdigita.navigation.templates_file",
+ Parameter.REQUIRED,
+ "WEB-INF/navigation/templates.txt");
/**
* Constructor
*/
public Loader() {
- register(m_templatesFile);
+ register( m_templatesFile );
}
/**
@@ -70,7 +73,6 @@
*/
public void run(final ScriptContext ctx) {
new KernelExcursion() {
-
public void excurse() {
setEffectiveParty(Kernel.getSystemParty());
@@ -83,11 +85,10 @@
try {
setupTemplates();
- } catch (IOException ex) {
- throw new UncheckedWrapperException(ex);
+ } catch( IOException ex ) {
+ throw new UncheckedWrapperException( ex );
}
}
-
}.run();
}
@@ -96,6 +97,7 @@
// S e t u p o f a p p l i c a t i o n t y p e s
//
// ////////////////////////////////////////////////////////////////////////
+
/**
* Creates a Navigation ApplicationType as a legacy-free type of application,
* ie loads the class definition into persistent storage (application_types).
@@ -106,20 +108,22 @@
// name to determine the location of xsl files (by url-izing it). So
// DON'T modify it without synchronizing web directory tree accordingly!
ApplicationType type =
- new ApplicationType("Navigation",
- Navigation.BASE_DATA_OBJECT_TYPE);
+ new ApplicationType( "Navigation",
+ Navigation.BASE_DATA_OBJECT_TYPE );
type.setDescription("A category based navigation system.");
}
+
/**
* Creates ItemListPortlet portlet type, ie loads the class definition
* into persistent storage (table application_types).
*/
public static void loadItemListPortlet() {
- PortletType type = PortletType.createPortletType("Navigation Content Item List",
- PortletType.WIDE_PROFILE,
- ItemListPortlet.BASE_DATA_OBJECT_TYPE);
+ PortletType type = PortletType
+ .createPortletType("Navigation Content Item List",
+ PortletType.WIDE_PROFILE,
+ ItemListPortlet.BASE_DATA_OBJECT_TYPE);
type.setDescription("Displays a list of content items");
}
@@ -128,91 +132,97 @@
* into persistent storage (table application_types).
*/
public static void loadObjectListPortlet() {
- PortletType type = PortletType.createPortletType("Navigation Object List",
- PortletType.WIDE_PROFILE,
- ObjectListPortlet.BASE_DATA_OBJECT_TYPE);
+ PortletType type = PortletType
+ .createPortletType("Navigation Object List",
+ PortletType.WIDE_PROFILE,
+ ObjectListPortlet.BASE_DATA_OBJECT_TYPE);
type.setDescription("Displays a list of objects");
}
+
// ////////////////////////////////////////////////////////////////////////
//
// S e t u p o f N A V I G A T I O N i n s t a n c e s
//
// ////////////////////////////////////////////////////////////////////////
+
/**
* Creating a default navigation instance at address /navigation/
*
*/
public void setupNavigation() {
- /*
- ApplicationSetup setup = new ApplicationSetup(s_log);
+/*
+ ApplicationSetup setup = new ApplicationSetup(s_log);
- setup.setApplicationObjectType(
- Navigation.BASE_DATA_OBJECT_TYPE);
- setup.setKey("navigation");
- setup.setTitle("Navigation");
- setup.setDescription("Category navigation");
- setup.setSingleton(true);
- setup.setInstantiator(new ACSObjectInstantiator() {
- public DomainObject doNewInstance(DataObject dataObject) {
- return new Navigation(dataObject);
- }
- });
- ApplicationType type = setup.run();
- type.save();
- */
- Navigation app = (Navigation) Application.createApplication(Navigation.BASE_DATA_OBJECT_TYPE,
- "navigation",
- "Navigation Control Center",
- null);
+ setup.setApplicationObjectType(
+ Navigation.BASE_DATA_OBJECT_TYPE);
+ setup.setKey("navigation");
+ setup.setTitle("Navigation");
+ setup.setDescription("Category navigation");
+ setup.setSingleton(true);
+ setup.setInstantiator(new ACSObjectInstantiator() {
+ public DomainObject doNewInstance(DataObject dataObject) {
+ return new Navigation(dataObject);
+ }
+ });
+ ApplicationType type = setup.run();
+ type.save();
+*/
+ Navigation app = (Navigation)
+ Application.createApplication(Navigation.BASE_DATA_OBJECT_TYPE,
+ "navigation",
+ "Navigation Control Center",
+ null);
app.setDescription("The default ccm-navigation instance.");
app.save();
}
public void setupTemplates() throws IOException {
-
- String templatesFile = (String) get(m_templatesFile);
- InputStream file = Thread.currentThread().getContextClassLoader().getResourceAsStream(templatesFile);
+
+ String templatesFile = (String)get(m_templatesFile);
+ InputStream file = Thread.currentThread().getContextClassLoader()
+ .getResourceAsStream(templatesFile);
if (file == null) {
throw new UncheckedWrapperException(String.format("Failed to open templates files %s.", templatesFile));
}
BufferedReader templates =
- new BufferedReader(new InputStreamReader(file));
+ new BufferedReader( new InputStreamReader( file ) );
String template = templates.readLine();
- while (null != template) {
- StringTokenizer tok = new StringTokenizer(template, ",");
+ while ( null != template ) {
+ StringTokenizer tok = new StringTokenizer( template, "," );
String title = null;
String desc = null;
String path = null;
- for (int i = 0; tok.hasMoreTokens(); i++) {
- if (0 == i) {
+ for ( int i = 0; tok.hasMoreTokens(); i++ ) {
+ if ( 0 == i ) {
title = tok.nextToken();
- } else if (1 == i) {
+ } else if ( 1 == i ) {
desc = tok.nextToken();
- } else if (2 == i) {
+ } else if ( 2 == i ) {
path = tok.nextToken();
} else {
path = null;
}
}
- if (null == path) {
- throw new UncheckedWrapperException("Template should have 3 comma seperated fields: " + template);
+ if ( null == path ) {
+ throw new UncheckedWrapperException
+ ( "Template should have 3 comma seperated fields: " +
+ template );
}
if (s_log.isDebugEnabled()) {
- s_log.debug("Title=\"" + title + "\"");
- s_log.debug("Description=\"" + desc + "\"");
- s_log.debug("Path=\"" + path + "\"");
+ s_log.debug( "Title=\"" + title + "\"" );
+ s_log.debug( "Description=\"" + desc + "\"" );
+ s_log.debug( "Path=\"" + path + "\"" );
}
Template.create(title, desc, path);
template = templates.readLine();
}
-
+
}
-
}
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Navigation.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Navigation.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Navigation.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -63,6 +63,11 @@
NavigationConstants.NAV_NS);
}
+ public static Element newElement(final Element parent, final String name) {
+ return parent.newChildElement(String.format("%s:%s", NavigationConstants.NAV_PREFIX, name),
+ NavigationConstants.NAV_NS);
+ }
+
public static String redirectURL(OID oid) {
ParameterMap map = new ParameterMap();
map.setParameter( NavigationConstants.OID, oid.toString() );
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/cms/CMSDataCollectionDefinition.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/cms/CMSDataCollectionDefinition.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/cms/CMSDataCollectionDefinition.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -5,12 +5,12 @@
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
@@ -22,18 +22,16 @@
import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.SecurityManager;
-import com.arsdigita.navigation.DataCollectionDefinition;
-import com.arsdigita.navigation.NavigationModel;
import com.arsdigita.kernel.ACSObject;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.Party;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
+import com.arsdigita.navigation.DataCollectionDefinition;
+import com.arsdigita.navigation.NavigationModel;
import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.Filter;
-
import com.arsdigita.persistence.metadata.ObjectType;
-
import com.arsdigita.util.Assert;
@@ -42,6 +40,7 @@
private boolean m_filterSection = false;
private String m_filterVersion = ContentItem.LIVE;
+ @Override
protected void validateObjectType(ObjectType type) {
Assert.isTrue(type.isSubtypeOf(ContentItem.BASE_DATA_OBJECT_TYPE),
"object type is a content item");
@@ -51,12 +50,13 @@
Assert.isUnlocked(this);
m_filterSection = filterSection;
}
-
+
public final void setFilterVersion(String version) {
Assert.isUnlocked(this);
m_filterVersion = version;
}
+ @Override
protected void applyFilters(DataCollection objects,
NavigationModel model) {
super.applyFilters(objects, model);
@@ -71,18 +71,19 @@
CMS.getContext().getContentSection()
);
}
-
+
if (m_filterVersion != null) {
- objects.addEqualsFilter(ContentItem.VERSION,
+ objects.addEqualsFilter(ContentItem.VERSION,
m_filterVersion);
}
-
+
objects.addPath("masterVersion.id");
// Can remove once bz 104102 is fixed
objects.addPath("masterVersion.objectType");
}
+ @Override
protected void checkPermissions(DataCollection objects) {
// parties are assigned the cms_read_item privilege on content items
// rather than the primitive READ
@@ -97,6 +98,7 @@
party.getOID());
}
+ @Override
protected String getCategorizedObjectPath(String fragment) {
return "parent." + fragment;
}
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -5,12 +5,12 @@
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
@@ -60,8 +60,14 @@
protected DataCollection getObjects(HttpServletRequest request,
HttpServletResponse response) {
- // definition needs to know if the renderer is rendering a date
- // attribute so that it can decide whether to order by date for
+
+ // Stop here, if the set object type is invalid a.k.a. not installed
+ if (m_definition.hasInvalidObjectType()) {
+ return null;
+ }
+
+ // definition needs to know if the renderer is rendering a date
+ // attribute so that it can decide whether to order by date for
// a date order category
m_definition.setDateAttribute(m_renderer);
@@ -103,8 +109,7 @@
addFilter(ff.equals("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())).
addFilter(ff.and().
addFilter(ff.equals("language", GlobalizationHelper.LANG_INDEPENDENT)).
- addFilter(ff.notIn("parent", "com.arsdigita.navigation.getParentIDsOfMatchedItems")
- .set("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())));
+ addFilter(ff.notIn("parent", "com.arsdigita.navigation.getParentIDsOfMatchedItems").set("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())));
objects.addFilter(filter);
} else {
objects.addEqualsFilter("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage());
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java 2012-12-09 15:00:26 UTC (rev 2352)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java 2012-12-09 15:09:40 UTC (rev 2353)
@@ -39,7 +39,7 @@
protected String m_filter = null;
protected Map m_filterParameters = new HashMap();
protected Map<String, String> m_customAttributes =
- new HashMap<String, String>();
+ new HashMap<String, String>();
public void setCustomName(String name) {
m_customName = name;
@@ -83,47 +83,50 @@
HttpServletResponse response) {
DataCollection objects = super.getObjects(request, response);
- // Setze den Filter
- if (m_filter != null) {
+ // Don't try do anything with a null object
+ if (objects != null) {
- FilterFactory fact = objects.getFilterFactory();
- Filter sql = fact.simple(m_filter);
+ // Setze den Filter
+ if (m_filter != null) {
- // Setze die Parameter
- Iterator params = m_filterParameters.entrySet().iterator();
- while (params.hasNext()) {
+ FilterFactory fact = objects.getFilterFactory();
+ Filter sql = fact.simple(m_filter);
- Map.Entry entry = (Map.Entry) params.next();
- String param = (String) entry.getKey();
- Object value = (Object) entry.getValue();
- if (value != null) {
- sql.set(param, value);
+ // Setze die Parameter
+ Iterator params = m_filterParameters.entrySet().iterator();
+ while (params.hasNext()) {
+
+ Map.Entry entry = (Map.Entry) params.next();
+ String param = (String) entry.getKey();
+ Object value = (Object) entry.getValue();
+ if (value != null) {
+ sql.set(param, value);
+ }
+
}
+ objects.addFilter(sql);
+
}
-
- objects.addFilter(sql);
-
}
-
return objects;
}
/* Diese Methode wird vom Servlet aufgerufen */
public Element generateXML(HttpServletRequest request,
- HttpServletResponse response) {
+ HttpServletResponse res...
[truncated message content] |
|
From: <pb...@fe...> - 2012-12-09 15:00:36
|
Author: pboy
Date: 2012-12-09 15:00:26 +0000 (Sun, 09 Dec 2012)
New Revision: 2352
Modified:
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java
Log:
Hide Create New Context in content center, fixed link to delete categories, Enhanced service servlet (R2341, r2342, r2343).
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-09 15:00:26 UTC (rev 2352)
@@ -40,23 +40,11 @@
import com.arsdigita.cms.ui.authoring.ItemCategoryForm;
import com.arsdigita.runtime.AbstractConfig;
import com.arsdigita.util.StringUtils;
-import com.arsdigita.util.parameter.BooleanParameter;
-import com.arsdigita.util.parameter.EnumerationParameter;
-import com.arsdigita.util.parameter.ErrorList;
-import com.arsdigita.util.parameter.IntegerParameter;
-import com.arsdigita.util.parameter.Parameter;
-import com.arsdigita.util.parameter.ResourceParameter;
-import com.arsdigita.util.parameter.SpecificClassParameter;
-import com.arsdigita.util.parameter.StringArrayParameter;
-import com.arsdigita.util.parameter.StringParameter;
+import com.arsdigita.util.parameter.*;
+
import java.io.InputStream;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
import org.apache.log4j.Logger;
/**
@@ -102,7 +90,7 @@
*/
private static Map s_skipAssetSteps = null;
/**
- * Item category add form speciofies Subclass of ItemCategoryForm to use for
+ * Item category add form specifies Subclass of ItemCategoryForm to use for
* the assign categories step. Used in
* c.ad.cms.ui.authoring.ItemCategoryStep
*/
@@ -439,6 +427,19 @@
Parameter.OPTIONAL,
Category.SORT_KEY);
/**
+ * Allow creation of a new Use Context in category tab of content sections.
+ * "Use Context" is the construct to constitute a category hierarchy
+ * implementet in core. It is superseded by the construct "Category Domain"
+ * in Terms (ccm-ldn-terms).
+ * Global parameter for all content sections. Default is false because all
+ * installation bundles use Terms.
+ */
+ private final Parameter m_allowCategoryCreateUseContext =
+ new BooleanParameter(
+ "com.arsdigita.cms.allow_category_create_use_context",
+ Parameter.REQUIRED,
+ Boolean.FALSE);
+ /**
* Allow content creation in Workspace (content center) section listing.
* Allows you to turn off the ability to create content in the section
* listing
@@ -451,7 +452,7 @@
/**
* Hide the legacy public site link in Workspace (content center) section
* listing. Legacy public site display is replaced by navigation based
- * presentation (or by portlets) and should be hidden in the admin ui be
+ * presentation (or by portlets) and should be hidden in the admin ui by
* default now.
*/
private final Parameter m_hideLegacyPublicSiteLink =
@@ -570,9 +571,6 @@
//Actives threaded publishing. If active, the publish process for
//content items will run in a separate thread. May useful if you have
//large objects.
- //
- //WARNING: Not tested very much. Use at your own risk.
- //
////////////////////////////////////////////////////
private final Parameter m_threadPublishing = new BooleanParameter(
"com.arsdigita.cms.lifecycle.threaded_publishing",
@@ -664,6 +662,7 @@
register(m_categoryTreeOrdering);
register(m_hasContactsAuthoringStep);
register(m_hideTextAssetUploadFile);
+ register(m_allowCategoryCreateUseContext);
register(m_allowContentCreateInSectionListing);
register(m_hideLegacyPublicSiteLink);
@@ -1081,6 +1080,20 @@
return ((Boolean) get(m_hideTextAssetUploadFile)).booleanValue();
}
+ /**
+ * Retrieve whether to allow creation of a new Use Context in category tab
+ * of content sections. "Use Context" is used to constitute a category
+ * hierarchy in core. It is superseded by the construct "Category Domain"
+ * in Terms (ccm-ldn-terms).
+ * Global parameter for all content sections. Default is false because all
+ * installation bundles use Terms.
+ * @return TRUE if creation is allowed, otherwise FALSE (default)
+ */
+ public final boolean getAllowCategoryCreateUseContext() {
+ return ((Boolean) get(m_allowCategoryCreateUseContext)).
+ booleanValue();
+ }
+
public final boolean getAllowContentCreateInSectionListing() {
return ((Boolean) get(m_allowContentCreateInSectionListing)).
booleanValue();
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-09 15:00:26 UTC (rev 2352)
@@ -229,6 +229,11 @@
com.arsdigita.cms.hide_text_asset_upload_file.example=false
com.arsdigita.cms.hide_text_asset_upload_file.format=[boolean]
+com.arsdigita.cms.allow_category_create_use_context.title=Allow Use Context creation in content sections
+com.arsdigita.cms.allow_category_create_use_context.purpose=In Categories tab show the option to create a new Use Context. False by default because Terms should be used.
+com.arsdigita.cms.allow_category_create_use_context.example=false
+com.arsdigita.cms.allow_category_create_use_context.format=[boolean]
+
com.arsdigita.cms.allow_content_create_in_section_listing.title=Allow content creation in section listing
com.arsdigita.cms.allow_content_create_in_section_listing.purpose=Allows you to turn off the ability to create content in the section listing
com.arsdigita.cms.allow_content_create_in_section_listing.example=true
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-09 15:00:26 UTC (rev 2352)
@@ -1092,3 +1092,11 @@
cms.ui.lifecycle.publish.error=An error occured while publishing this item.The system administrator has been notified about this problem. This item will stay locked until the lock is removed by the system administrator manually.
cms.ui.delete_confirmation=Permanently delete this item?
cms.ui.lifecycle.details.last_published=Item last (re-)published
+cms.ui.item_search.flat.filter=Filter list
+cms.ui.item_search.flat.no_items=No items matching the filter found
+cms.ui.item_search.flat.title=Title
+cms.ui.item_search.flat.place=Place
+cms.ui.item_search.flat.type=Type
+cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=This category can't be deleted.
+cms.ui.item_search.flat.filter.submit=Filter
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-09 15:00:26 UTC (rev 2352)
@@ -530,7 +530,7 @@
cms.ui.item.invalid_start_date_please_try_again=Un\u00fcltiges Anfangsdatum, bitte erneut versuchen
cms.ui.item.language.add=Sprache hinzuf\u00fcgen
cms.ui.item.language.change=Sprache \u00e4ndern
-cms.ui.item.languages=Sprachen
+cms.ui.item.languages=Sprachen
cms.ui.item.lifecycle.apply=Anzuwendenden Lebenszyklus ausw\u00e4hlen
cms.ui.item.lifecycle.end_date=Enddatum
@@ -1083,3 +1083,11 @@
cms.ui.lifecycle.publish.error=W\u00e4hrend des Publizierens ist ein Fehler aufgetreten. Der System-Administrator wurde per \u00fcber das Problem informiert. Dieses Item bleibt besperrt, bis der Administrator die Sperre manuell entfernt.
cms.ui.delete_confirmation=Wollen Sie dieses Content-Item l\u00f6schen?
cms.ui.lifecycle.details.last_published=Das Item wurde zuletzt republiziert am
+cms.ui.item_search.flat.filter=Liste filtern
+cms.ui.item_search.flat.no_items=Kein Item entspricht dem Filter
+cms.ui.item_search.flat.title=Titel
+cms.ui.item_search.flat.place=Ort
+cms.ui.item_search.flat.type=Typ
+cms.ui.item_search.flatBrowse=Item ausw\u00e4hlen
+cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden.
+cms.ui.item_search.flat.filter.submit=Filtern
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-09 15:00:26 UTC (rev 2352)
@@ -31,3 +31,11 @@
cms.ui.lifecycle.publish.error=
cms.ui.delete_confirmation=
cms.ui.lifecycle.details.last_published=
+cms.ui.item_search.flat.filter=
+cms.ui.item_search.flat.no_items=
+cms.ui.item_search.flat.title=Title
+cms.ui.item_search.flat.place=Place
+cms.ui.item_search.flat.type=Type
+cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=
+cms.ui.item_search.flat.filter.submit=
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-09 15:00:26 UTC (rev 2352)
@@ -562,3 +562,11 @@
cms.ui.lifecycle.publish.error=
cms.ui.delete_confirmation=
cms.ui.lifecycle.details.last_published=
+cms.ui.item_search.flat.filter=
+cms.ui.item_search.flat.no_items=
+cms.ui.item_search.flat.title=Title
+cms.ui.item_search.flat.place=Place
+cms.ui.item_search.flat.type=Type
+cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=
+cms.ui.item_search.flat.filter.submit=
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java 2012-12-09 15:00:26 UTC (rev 2352)
@@ -124,6 +124,11 @@
/**
* Implements the (abstract) doService method of BaseApplicationServlet to
* perform the services.
+ * @param sreq
+ * @param sresp
+ * @param app
+ * @throws ServletException
+ * @throws IOException
* @see com.arsdigita.web.BaseApplicationServlet#doService
* (HttpServletRequest, HttpServletResponse, Application)
*/
@@ -146,7 +151,7 @@
// An empty remaining URL or a URL which doesn't end in trailing slash:
// probably want to redirect.
if ( m_trailingSlashList.contains(url) && !originalUrl.endsWith("/") ) {
- DispatcherHelper.sendRedirect(sresp, originalUrl + "/");
+ DispatcherHelper.sendRedirect(sreq, sresp, originalUrl + "/");
return;
}
@@ -155,6 +160,19 @@
/* checkUserAccess(request, response, actx); */
ResourceHandler page = getResource(url);
+
+ if (page == null) {
+ //Retry without last part
+ final String[] tokens = url.split("/");
+
+ final StringBuilder altUrlBuilder = new StringBuilder('/');
+ for(int i = 0; i < tokens.length - 1; i++) {
+ altUrlBuilder.append(tokens[i]);
+ altUrlBuilder.append('/');
+ }
+ page = getResource(altUrlBuilder.toString());
+ }
+
if ( page != null ) {
// Serve the page.
page.init();
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java 2012-12-09 15:00:26 UTC (rev 2352)
@@ -20,11 +20,7 @@
package com.arsdigita.cms.contentsection;
import com.arsdigita.runtime.AbstractConfig;
-import com.arsdigita.util.parameter.BooleanParameter;
-import com.arsdigita.util.parameter.IntegerParameter;
-import com.arsdigita.util.parameter.Parameter;
-import com.arsdigita.util.parameter.StringArrayParameter;
-import com.arsdigita.util.parameter.StringParameter;
+import com.arsdigita.util.parameter.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -671,7 +667,7 @@
/**
- * Retrieve weather to use section specific categories. If true they are
+ * Retrieve whether to use section specific categories. If true they are
* loaded using the next parameters file list {@see getUseSectionCategories()}
*
* Default value is false, so standard navigation is used.
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java 2012-12-09 10:42:02 UTC (rev 2351)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java 2012-12-09 15:00:26 UTC (rev 2352)
@@ -18,24 +18,8 @@
*/
package com.arsdigita.cms.ui.category;
-import com.arsdigita.bebop.ActionLink;
-import com.arsdigita.bebop.Form;
-import com.arsdigita.bebop.FormProcessException;
-import com.arsdigita.bebop.Label;
-import com.arsdigita.bebop.List;
-import com.arsdigita.bebop.Page;
-import com.arsdigita.bebop.PageState;
-import com.arsdigita.bebop.ParameterSingleSelectionModel;
-import com.arsdigita.bebop.SimpleContainer;
-import com.arsdigita.bebop.SingleSelectionModel;
-import com.arsdigita.bebop.Tree;
-import com.arsdigita.bebop.event.ActionEvent;
-import com.arsdigita.bebop.event.ActionListener;
-import com.arsdigita.bebop.event.ChangeEvent;
-import com.arsdigita.bebop.event.ChangeListener;
-import com.arsdigita.bebop.event.FormSectionEvent;
-import com.arsdigita.bebop.event.PrintEvent;
-import com.arsdigita.bebop.event.PrintListener;
+import com.arsdigita.bebop.*;
+import com.arsdigita.bebop.event.*;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.categorization.CategorizedCollection;
@@ -51,12 +35,15 @@
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.persistence.Session;
+import com.arsdigita.persistence.SessionManager;
import com.arsdigita.toolbox.ui.ActionGroup;
+import com.arsdigita.toolbox.ui.DataQueryBuilder;
import com.arsdigita.toolbox.ui.Section;
import com.arsdigita.xml.Element;
-
import java.math.BigDecimal;
-
+import java.util.TooManyListenersException;
import org.apache.log4j.Logger;
/**
@@ -67,16 +54,12 @@
*/
public final class CategoryAdminPane extends BaseAdminPane {
- public static final String CONTEXT_SELECTED="sel_context";
+ public static final String CONTEXT_SELECTED = "sel_context";
private static final String DEFAULT_USE_CONTEXT =
- CategoryUseContextModelBuilder.DEFAULT_USE_CONTEXT;
-
- private static final Logger s_log = Logger.getLogger
- (CategoryAdminPane.class);
-
+ CategoryUseContextModelBuilder.DEFAULT_USE_CONTEXT;
+ private static final Logger s_log = Logger.getLogger(CategoryAdminPane.class);
private final SingleSelectionModel m_contextModel;
private final Tree m_categoryTree;
-
private final SingleSelectionModel m_model;
private final CategoryRequestLocal m_parent;
private final CategoryRequestLocal m_category;
@@ -93,7 +76,7 @@
List list = new List(new CategoryUseContextModelBuilder());
list.setSelectionModel(m_contextModel);
list.addChangeListener(new ContextSelectionListener());
-
+
/* Category tree section */
m_categoryTree = new BaseTree(new CategoryTreeModelBuilder(m_contextModel));
m_categoryTree.addChangeListener(new SelectionListener());
@@ -102,20 +85,23 @@
setSelectionModel(m_model);
setSelector(m_categoryTree);
-
+
/* setup use context form */
final Section contextSection = new Section();
contextSection.setHeading(new Label(gz("cms.ui.category.use_contexts")));
ActionGroup contextGroup = new ActionGroup();
contextSection.setBody(contextGroup);
contextGroup.setSubject(list);
- ActionLink addContextAction = new ActionLink(new Label(gz("cms.ui.category.add_use_context")));
- Form addContextForm = new AddUseContextForm(m_contextModel);
- getBody().add(addContextForm);
- getBody().connect(addContextAction,addContextForm);
- contextGroup.addAction(new VisibilityComponent(addContextAction,
- SecurityManager.CATEGORY_ADMIN));
+ if (CMS.getConfig().getAllowCategoryCreateUseContext()) {
+ ActionLink addContextAction = new ActionLink(new Label(gz("cms.ui.category.add_use_context")));
+ Form addContextForm = new AddUseContextForm(m_contextModel);
+ getBody().add(addContextForm);
+ getBody().connect(addContextAction, addContextForm);
+ contextGroup.addAction(new VisibilityComponent(addContextAction,
+ SecurityManager.CATEGORY_ADMIN));
+ }
+
final Section categorySection = new Section();
categorySection.setHeading(new Label(gz("cms.ui.categories")));
ActionGroup categoryGroup = new ActionGroup();
@@ -136,10 +122,9 @@
setEdit(gz("cms.ui.category.edit"),
new CategoryEditForm(m_parent, m_category));
+
+ setDelete(new DeleteLink(new Label(gz("cms.ui.category.delete"))), new DeleteForm(new SimpleContainer()));
- setDelete(new DeleteLink(new Label(gz("cms.ui.category.delete"))),
- new DeleteForm(new SimpleContainer()));
-
setIntroPane(new Label(gz("cms.ui.category.intro")));
setItemPane(new CategoryItemPane(m_model, m_category,
getAddLink(), getEditLink(),
@@ -151,7 +136,7 @@
}
-
+ @Override
public void register(final Page page) {
super.register(page);
@@ -159,62 +144,78 @@
}
private final class DeleteLink extends ActionLink {
+
private final Label m_alternativeLabel;
DeleteLink(Label label) {
super(label);
- m_alternativeLabel = new Label("Can't be deleted");
+ m_alternativeLabel = new Label(gz("cms.ui.category.undeletable"));
}
+ @Override
public void generateXML(PageState state, Element parent) {
- if (!isVisible(state)) { return; }
+ if (!isVisible(state)) {
+ return;
+ }
Category cat = m_category.getCategory(state);
String context = getUseContext(state);
boolean isDefaultContext =
- (context==null) || DEFAULT_USE_CONTEXT.equals(context);
-
- if (isDefaultContext && cat.isRoot() ) {
+ (context == null) || DEFAULT_USE_CONTEXT.equals(context);
+
+
+ final Session session = SessionManager.getSession();
+ final DataCollection collection = session.retrieve("com.arsdigita.london.terms.Term");
+ collection.addPath("model.id");
+ collection.addPath("model.name");
+
+ collection.addFilter(String.format("model.id = %s", cat.getID().toString()));
+
+ if ((isDefaultContext && cat.isRoot()) || !collection.isEmpty()) {
m_alternativeLabel.generateXML(state, parent);
} else {
super.generateXML(state, parent);
}
}
+
}
private final class DeleteForm extends BaseDeleteForm {
+
DeleteForm(SimpleContainer prompt) {
super(prompt);
prompt.add(new Label(gz("cms.ui.category.delete_prompt")));
Label catLabel = new Label();
catLabel.addPrintListener(new PrintListener() {
- public void prepare(PrintEvent pe) {
- Label label = (Label) pe.getTarget();
- Category cat =
- m_category.getCategory(pe.getPageState());
- CategoryCollection descendants = cat.getDescendants();
- final long nDescendants = descendants.size() - 1;
- descendants.close();
- CategorizedCollection descObjects =
- cat.getDescendantObjects();
- final long nDescObjects = descObjects.size();
- descObjects.close();
- StringBuffer sb = new StringBuffer(" ");
- if (nDescendants > 0) {
- sb.append("This category has ");
- sb.append(nDescendants);
- sb.append(" descendant category(ies). ");
- }
- if (nDescObjects > 0) {
- sb.append("It has ").append(nDescObjects);
- sb.append(" descendant object(s). ");
- }
- if (nDescendants>0 || nDescObjects>0) {
- sb.append("Descendants will be orphaned, if this category is removed.");
- }
- label.setLabel(sb.toString());
+
+ public void prepare(PrintEvent pe) {
+ Label label = (Label) pe.getTarget();
+ Category cat =
+ m_category.getCategory(pe.getPageState());
+ CategoryCollection descendants = cat.getDescendants();
+ final long nDescendants = descendants.size() - 1;
+ descendants.close();
+ CategorizedCollection descObjects =
+ cat.getDescendantObjects();
+ final long nDescObjects = descObjects.size();
+ descObjects.close();
+ StringBuffer sb = new StringBuffer(" ");
+ if (nDescendants > 0) {
+ sb.append("This category has ");
+ sb.append(nDescendants);
+ sb.append(" descendant category(ies). ");
}
- });
+ if (nDescObjects > 0) {
+ sb.append("It has ").append(nDescObjects);
+ sb.append(" descendant object(s). ");
+ }
+ if (nDescendants > 0 || nDescObjects > 0) {
+ sb.append("Descendants will be orphaned, if this category is removed.");
+ }
+ label.setLabel(sb.toString());
+ }
+
+ });
prompt.add(catLabel);
}
@@ -222,22 +223,21 @@
throws FormProcessException {
final PageState state = e.getPageState();
final Category category = m_category.getCategory(state);
- if (category == null ) { return; }
+ if (category == null) {
+ return;
+ }
- PermissionService.assertPermission
- (new PermissionDescriptor
- (PrivilegeDescriptor.DELETE,
- category,
- Kernel.getContext().getParty()));
+ PermissionService.assertPermission(new PermissionDescriptor(PrivilegeDescriptor.DELETE,
+ category,
+ Kernel.getContext().getParty()));
if (category.isRoot()) {
Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (category.equals(root)) {
- Category.clearRootForObject
- (CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.clearRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
}
m_contextModel.setSelectedKey(state, DEFAULT_USE_CONTEXT);
} else {
@@ -247,9 +247,12 @@
category.deleteCategoryAndOrphan();
}
+
}
private final class SelectionRequestLocal extends CategoryRequestLocal {
+
+ @Override
protected final Object initialValue(final PageState state) {
final String id = m_model.getSelectedKey(state).toString();
@@ -259,53 +262,63 @@
return new Category(new BigDecimal(id));
}
}
+
}
private final class ParentRequestLocal extends CategoryRequestLocal {
+
+ @Override
protected final Object initialValue(final PageState state) {
return m_category.getCategory(state).getDefaultParentCategory();
}
+
}
private final class RootListener implements ActionListener {
+
public final void actionPerformed(final ActionEvent e) {
final PageState state = e.getPageState();
if (!m_model.isSelected(state)) {
final Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (root != null) {
m_model.setSelectedKey(state, root.getID());
}
}
}
+
}
private class UseContextSelectionModel extends ParameterSingleSelectionModel {
+
public UseContextSelectionModel(ParameterModel m) {
super(m);
}
+
+ @Override
public Object getSelectedKey(PageState state) {
Object val = super.getSelectedKey(state);
if (val == null || ((String) val).length() == 0) {
val = DEFAULT_USE_CONTEXT;
- state.setValue(getStateParameter(),val);
+ state.setValue(getStateParameter(), val);
fireStateChanged(state);
}
return val;
}
+
}
+
public String getUseContext(PageState state) {
String selected = (String) m_contextModel.getSelectedKey(state);
- return (DEFAULT_USE_CONTEXT).equals(selected) ?
- (String) null : selected;
+ return (DEFAULT_USE_CONTEXT).equals(selected) ? (String) null : selected;
}
- public class ContextSelectionListener implements ChangeListener {
+ public class ContextSelectionListener implements ChangeListener {
+
public final void stateChanged(final ChangeEvent e) {
- s_log.debug("Selection state changed; I may change " +
- "the body's visible pane");
+ s_log.debug("Selection state changed; I may change " + "the body's visible pane");
final PageState state = e.getPageState();
@@ -313,8 +326,8 @@
if (m_contextModel.isSelected(state)) {
final Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (root != null) {
m_model.setSelectedKey(state, root.getID());
@@ -323,12 +336,11 @@
}
if (m_model.isSelected(state)) {
- s_log.debug("The selection model is selected; displaying " +
- "the item pane");
+ s_log.debug("The selection model is selected; displaying " + "the item pane");
getBody().push(state, getItemPane());
}
}
+
}
-
}
|
Author: pboy Date: 2012-12-09 10:42:02 +0000 (Sun, 09 Dec 2012) New Revision: 2351 Added: releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade Removed: releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade Modified: releases/2.0.0/ releases/2.0.0/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java releases/2.0.0/ccm-cms-assets-notes/application.xml releases/2.0.0/ccm-cms-types-article/application.xml releases/2.0.0/ccm-cms-types-event/application.xml releases/2.0.0/ccm-cms-types-newsitem/application.xml releases/2.0.0/ccm-ldn-types-esdservice/application.xml releases/2.0.0/ccm-simplesurvey/application.xml Log: Fixed various version numberings. Property changes on: releases/2.0.0 ___________________________________________________________________ Modified: svn:ignore - runtime build-projects.xml local.**.properties build.xml packages nbproject .ant-targets-build.xml .local.ccm.properties.swp .tmp.project.xml .tmp.applications.list .tmp.applications.list.swp .README.swp README Project:* *.war + conf runtime build-projects.xml local.**.properties build.xml packages nbproject .ant-targets-build.xml .local.ccm.properties.swp .tmp.project.xml .tmp.applications.list .tmp.applications.list.swp .local.runtime.properties.swp .local.build.properties.swp Modified: releases/2.0.0/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java =================================================================== --- releases/2.0.0/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java 2012-12-09 10:42:02 UTC (rev 2351) @@ -28,9 +28,8 @@ import com.arsdigita.runtime.ScriptContext; import com.arsdigita.util.parameter.Parameter; import com.arsdigita.util.parameter.StringParameter; -import com.arsdigita.web.ApplicationType; import com.arsdigita.web.Application; - +import com.arsdigita.web.ApplicationType; import org.apache.log4j.Logger; /** Modified: releases/2.0.0/ccm-cms-assets-notes/application.xml =================================================================== --- releases/2.0.0/ccm-cms-assets-notes/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-cms-assets-notes/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,8 +2,8 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-cms-assets-notes" prettyName="Red Hat CMS Content Asset Notes" - version="6.6.0" - release="2" + version="6.6.1" + release="1" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.6.0" relation="ge"/> Modified: releases/2.0.0/ccm-cms-types-article/application.xml =================================================================== --- releases/2.0.0/ccm-cms-types-article/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-cms-types-article/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,7 +2,7 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-cms-types-article" prettyName="Red Hat CCM Content Types" - version="6.6.0" + version="6.6.1" release="1" webapp="ROOT"> <ccm:dependencies> Modified: releases/2.0.0/ccm-cms-types-event/application.xml =================================================================== --- releases/2.0.0/ccm-cms-types-event/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-cms-types-event/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,8 +2,8 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-cms-types-event" prettyName="Red Hat CCM Content Types" - version="6.6.0" - release="2" + version="6.6.1" + release="1" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.6.0" relation="ge"/> Modified: releases/2.0.0/ccm-cms-types-newsitem/application.xml =================================================================== --- releases/2.0.0/ccm-cms-types-newsitem/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-cms-types-newsitem/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,8 +2,8 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-cms-types-newsitem" prettyName="Red Hat CCM Content Types" - version="6.6.0" - release="2" + version="6.6.1" + release="1" webapp="ROOT"> <ccm:dependencies> <ccm:requires name="ccm-core" version="6.6.0" relation="ge"/> Modified: releases/2.0.0/ccm-ldn-types-esdservice/application.xml =================================================================== --- releases/2.0.0/ccm-ldn-types-esdservice/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-ldn-types-esdservice/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,7 +2,7 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-ldn-types-esdservice" prettyName="Red Hat CCM Content Types" - version="6.6.0" + version="6.6.1" release="1" webapp="ROOT"> <ccm:dependencies> Added: releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade =================================================================== --- releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade (rev 0) +++ releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade 2012-12-09 10:42:02 UTC (rev 2351) @@ -0,0 +1,5 @@ +<upgrade> + <version from="6.6.0" to="6.6.1"> + <script sql="ccm-ldn-types-esdservice/upgrade/::database::-6.6.0-6.6.1.sql"/> + </version> +</upgrade> \ No newline at end of file Deleted: releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade =================================================================== --- releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade 2012-12-09 10:42:02 UTC (rev 2351) @@ -1,5 +0,0 @@ -<upgrade> - <version from="6.6.0" to="6.6.1"> - <script sql="ccm-ldn-types-esdservice/upgrade/::database::-6.6.0-6.6.1.sql"/> - </version> -</upgrade> \ No newline at end of file Modified: releases/2.0.0/ccm-simplesurvey/application.xml =================================================================== --- releases/2.0.0/ccm-simplesurvey/application.xml 2012-12-08 22:50:26 UTC (rev 2350) +++ releases/2.0.0/ccm-simplesurvey/application.xml 2012-12-09 10:42:02 UTC (rev 2351) @@ -2,7 +2,7 @@ <ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project" name="ccm-simplesurvey" prettyName="Simple Survey" - version="6.6.0" + version="6.6.1" release="1" webapp="ROOT"> <ccm:dependencies> |
|
From: <pb...@fe...> - 2012-12-08 22:50:34
|
Author: pboy
Date: 2012-12-08 22:50:26 +0000 (Sat, 08 Dec 2012)
New Revision: 2350
Modified:
trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
Log:
Improved UI
Modified: trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
===================================================================
--- trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-08 22:46:56 UTC (rev 2349)
+++ trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-08 22:50:26 UTC (rev 2350)
@@ -113,7 +113,7 @@
Object key = i.next();
Component component = (Component) componentsMap.get( key );
- p.setVisibleDefault( component, UPLOAD.equals( key ) );
+ p.setVisibleDefault( component, LIBRARY.equals( key ) );
}
p.addComponentStateParam( this, m_imageComponentKey );
@@ -276,6 +276,10 @@
m_saveCancel = new SaveCancelSection();
add(m_saveCancel);
+ /* Removed by Quasimodo: Changed editing workflow, so that library comes first
+ * Also, library mode has now a link to upload images whixh will link to this
+ * form. Consequently, this link will create a loop, which isn't fatal but
+ * confusing
ActionLink library = new ActionLink( "Select an existing image" );
library.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent ev ) {
@@ -283,6 +287,7 @@
}
} );
add( library, ColumnPanel.FULL_WIDTH );
+ */
}
public SaveCancelSection getSaveCancelSection() {
|
Author: pboy
Date: 2012-12-08 22:46:56 +0000 (Sat, 08 Dec 2012)
New Revision: 2349
Modified:
trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
Log:
CCM Xinha plugin insert image:
* Fixed insertion of image
* Delete image still incomplete
* Selection of image requires a jsp which sets by javascript
* name (filename rsp. internal name)
* src (url)
* width
* height
Improvements:
* Aspect ratio calculated and used automatically in case of changes
* Fixed reading of various values
* image cam be modified
* Added remove button
Modified: trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java 2012-12-08 22:46:56 UTC (rev 2349)
@@ -168,14 +168,10 @@
e.toString());
return;
}
- if (imageId == null && oid == null) {
+ if ((imageId == null && oid == null) || (imageId != null && oid != null)) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST,
"either " + IMAGE_ID + " or " + OID_PARAM + " is required.");
return;
- } else if (imageId != null && oid != null) {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST,
- "either " + IMAGE_ID + " or " + OID_PARAM + " is required.");
- return;
}
if (oid == null) {
oid = new OID(ImageAsset.BASE_DATA_OBJECT_TYPE, imageId);
@@ -228,6 +224,18 @@
// response.setContentType(image.getMimeType().getMimeType());
+/* Quasimodo: on demand resizing of images
+ int width;
+ int height;
+
+ width = Integer.parseInt(request.getParameter("width"));
+ height = Integer.parseInt(request.getParameter("height"));
+
+ if(width || height) {
+
+ }
+*/
+
setHeaders(response, image);
send(response, image);
}
Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js 2012-12-08 22:46:56 UTC (rev 2349)
@@ -64,6 +64,12 @@
cfg.addToolbarElement(["separator"], "insertimage", 1);
}
+ if(typeof editor._insertImage == 'undefined')
+ {
+ editor._insertImage = function() { self.showImageDialog(); };
+ // editor.config.btnList.insertimage[3] = function() { self.show(); }
+ }
+
// Register double click action
cfg.dblclickList["a"][0] = function(e, target) { self.showLinkDialog(self._getSelectedAnchor()); };
}
Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-08 22:46:56 UTC (rev 2349)
@@ -1,83 +1,167 @@
-<h1 id="[h1]"><l10n>Insert Image</l10n></h1>
-<!--- new stuff --->
-<form action="" method="get" style="padding-top:10px" id="[inputs]">
-<table border="0" width="95%" style="padding: 0px; margin: 0px">
- <tbody>
+<style>
+ .common {
+ margin: 0.4em;
+ }
+ fieldset {
+ margin: 0.6em 0.3em;
+ }
+
+ label.key {
+ clear: left;
+ float: left;
+ width: 5em;
+ padding: 0.25em 0.2em;
+ }
+
+ fieldset label.key {
+ width: 8em;
+ }
+
+ .value {
+ margin-left: 5.5em;
+ margin-right: 1em;
+ }
+
+ fieldset .value {
+ margin-left: 8.5em;
+ }
+
+ .withButton {
+ margin: 0em 0.2em 0em 12em;
+ }
+
+ .withButton input[type="text"] {
+ float: left;
+ margin-left: -6em;
+ }
+
+ .withButton input[type="button"] {
+ position: relative;
+ width: 5em !important;
+ }
+
+ input {
+ width: auto !important;
+ }
+
+ input[type="text"] {
+ width: 100% !important;
+ }
+
+
+ .itemname {
+ margin: 0.1em;
+ border: none;
+ border-radius: 0.3em;
+ padding: 0.2em;
+ font-style: italic;
+ color: #4a4a4a;
+ background-color: #dddddd;
+ }
+
+ .buttons {
+ text-align: center;
+ }
+</style>
+<h1 id="[h1]">
+ <l10n>Insert/Modify Image</l10n>
+</h1>
+<div style="position:relative">
+ <div id="[options]">
+ <div class="common">
+ <label class="key" for="[name]">
+ <l10n>Name:</l10n>
+ </label>
+ <div class="value withButton">
+ <input class="itemname" type="text" name="[name]" id="[name]" disabled="disabled"/>
+ <input type="button"" name="[browse]" id="[browse]" value="_(Browse)">
+ </div>
+ <label class="key" for="[alt]">
+ <l10n>Alternate:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[alt]" id="[alt]" title="_(Insert image alternate text)" />
+ </div>
+ <label class="key" for="[title]">
+ <l10n>Title:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[title]" id="[title]" title="_(Insert image title)" />
+ </div>
+<!--
+ <label class="key" for="[context]">
+ <l10n>Caption:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[caption]" id="[caption]" title="_(Insert caption)" />
+ </div>
+ </div>
+-->
+ <input type="hidden" name="[src]" id="[src]"/>
- <tr>
- <td style="width: 7em; text-align: right"><l10n>Image URL:</l10n></td>
- <td><input type="text" name="[f_url]" id="[f_url]" style="width:75%"
- title="_(Enter the image URL here)" />
- <button id="[preview]" title="_(Preview the image in a new window)"><l10n>Preview</l10n></button>
- </td>
- </tr>
- <tr>
- <td style="width: 7em; text-align: right"><l10n>Alternate text:</l10n></td>
- <td><input type="text" name="[f_alt]" id="[f_alt]" style="width:100%"
- title="_(For browsers that don't support images)" /></td>
- </tr>
+ <fieldset>
+ <legend>
+ <l10n>Layout</l10n>
+ </legend>
+ <label class="key" for="[alignment]">
+ <l10n>Alignment:</l10n>
+ </label>
+ <div class="value">
+ <select size="1" name="[alignment]" id="[alignment]" title="_(Positioning of this image)">
+ <option value="" ><l10n>Not set</l10n></option>
+ <option value="left" ><l10n>Left</l10n></option>
+ <option value="center"><l10n>Center</l10n></option>
+ <option value="right" ><l10n>Right</l10n></option>
+ </select>
+ </div>
+ <label class="key" for="[caption]">
+ <l10n>Show Caption:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[caption]" id="[caption]" title="_(Show caption)" checked="checked"/>
+ </div>
+ <label class="key" for="[zoom]">
+ <l10n>Enable Zoom:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[zoom]" id="[zoom]" title="_(Enable zoom)"/>
+ </div>
+ <label class="key" for="[gallery]">
+ <l10n>Enable Gallery:</l10n>
+ </label>
+ <div class="value">
+ <input type="checkbox" name="[gallery]" id="[gallery]" title="_(Enable gallery)"/>
+ </div>
+ </fieldset>
- </tbody>
-</table>
+ <fieldset>
+ <legend>
+ <l10n>Dimension</l10n>
+ </legend>
+ <label class="key" for="[width]">
+ <l10n>Width:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[width]" id="[width]" title="_(Resize to width)"/>
+ </div>
+ <label class="key" for="[height]">
+ <l10n>Height:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[height]" id="[height]" title="_(Resize to height)"/>
+ </div>
+ <input type="hidden" name="[aspect]" id="[aspect]"/>
+ </fieldset>
+ </div>
-<br />
+ <div>
+ <l10n>Image Preview:</l10n><br />
+ <iframe id="[ipreview]" frameborder="0" style="border : 1px solid gray;" height="200" width="100%" src="about:blank"></iframe>
+ </div>
-<fieldset style="float: left; margin-left: 5px;">
-<legend><l10n>Layout</l10n></legend>
-
-<div class="space"></div>
-
-<div class="fl"><l10n>Alignment:</l10n></div>
-<select size="1" name="[f_align]" id="[f_align]"
- title="_(Positioning of this image)">
- <option value="" ><l10n>Not set</l10n></option>
- <option value="left" ><l10n>Left</l10n></option>
- <option value="right" ><l10n>Right</l10n></option>
- <option value="texttop" ><l10n>Texttop</l10n></option>
- <option value="absmiddle" ><l10n>Absmiddle</l10n></option>
- <option value="baseline" ><l10n>Baseline</l10n></option>
- <option value="absbottom" ><l10n>Absbottom</l10n></option>
- <option value="bottom" ><l10n>Bottom</l10n></option>
- <option value="middle" ><l10n>Middle</l10n></option>
- <option value="top" ><l10n>Top</l10n></option>
-</select>
-
-<br />
-
-<div class="fl"><l10n>Border thickness:</l10n></div>
-<input type="text" name="[f_border]" id="[f_border]" size="5"
-title="_(Leave empty for no border)" />
-
-<div class="space"></div>
-
-</fieldset>
-
-<fieldset>
-<legend><l10n>Spacing</l10n></legend>
-
-<div class="space"></div>
-
-<div class="fr"><l10n>Horizontal:</l10n></div>
-<input type="text" name="[f_horiz]" id="[f_horiz]" size="5"
-title="_(Horizontal padding)" />
-
-<br />
-
-<div class="fr"><l10n>Vertical:</l10n></div>
-<input type="text" name="[f_vert]" id="[f_vert]" size="5"
-title="_(Vertical padding)" />
-
-<div class="space"></div>
-
-</fieldset>
-</form>
-<div>
-<l10n>Image Preview:</l10n><br />
- <iframe id="[ipreview]" frameborder="0" style="border : 1px solid gray;"
- height="200" width="100%" src="about:blank"></iframe>
+ <div class="buttons" id="[buttons]">
+ <input type="button" id="[ok]" value="_(OK)" />
+ <input type="button" id="[remove]" value="_(Remove)" />
+ <input type="button" id="[cancel]" value="_(Cancel)" />
+ </div>
</div>
-
-<div class="buttons" id="[buttons]">
- <input type="button" id="[ok]" value="_(OK)" />
- <input type="button" id="[cancel]" value="_(Cancel)" />
-</div>
\ No newline at end of file
Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-08 22:46:56 UTC (rev 2349)
@@ -1,61 +1,67 @@
OpenCCM.prototype.showImageDialog = function(image)
{
- if (!this.dialogs["images"]) this.prepareImageDialog();
+ if (!this.dialogs["images"])
+ {
+ this.prepareImageDialog();
+ }
var editor = this.editor;
- if ( typeof image == "undefined" )
+ this.image = image;
+
+ var data =
{
+ src : "",
+ name : "",
+ alt : "",
+ title : "",
+ width : "",
+ height : "",
+ caption : "",
+ zoom : "",
+ gallery : "",
+ aspect : ""
+ };
+
+ if (typeof image == "undefined" )
+ {
image = editor.getParentElement();
- if ( image && image.tagName.toLowerCase() != 'img' )
+ if ( image && image.tagName.toLowerCase() != "img" )
{
image = null;
}
}
- if ( image )
+ this.image = image;
+
+ if(image && image.tagName.toLowerCase() == "img")
{
- function getSpecifiedAttribute(element,attribute)
+ data.src = this.editor.fixRelativeLinks(image.getAttribute("src"));
+ data.alt = image.getAttribute("alt");
+ data.name = image.getAttribute("name");
+ data.title = image.getAttribute("title");
+ data.width = image.getAttribute("width");
+ data.height = image.getAttribute("height");
+
+ if(image.parentNode.tagName.toLowerCase() == "div")
{
- var a = element.attributes;
- for (var i=0;i<a.length;i++)
- {
- if (a[i].nodeName == attribute && a[i].specified)
- {
- return a[i].value;
- }
- }
- return '';
+ data.alignment = image.parentNode.getAttribute("class").substring(image.parentNode.getAttribute("class").indexOf(" "));
+ data.caption = (image.nextSibling.tagName.toLowerCase() == "span") ? image.nextSibling.firstChild.nodeValue : "";
}
- outparam =
+ else
{
- f_url : editor.stripBaseURL(image.getAttribute('src',2)), // the second parameter makes IE return the value as it is set, as opposed to an "interpolated" (as MSDN calls it) value
- f_alt : image.alt,
- f_border : image.border,
- f_align : image.align,
- f_vert : getSpecifiedAttribute(image,'vspace'),
- f_horiz : getSpecifiedAttribute(image,'hspace'),
- f_width : image.width,
- f_height : image.height
- };
+ data.alignment = image.parentNode.parentNode.getAttribute("class").substring(image.parentNode.getAttribute("class").indexOf(" "));
+ data.zoom = (image.parentNode.getAttribute("class") == "imageZoom") ? "on" : "";
+ data.gallery = (image.parentNode.getAttribute("class") == "imageGallery") ? "on" : "";
+// data.galleryName = (image.parentNode.getAttribute("class") == "imageGallery") ? image.parentNode.getAttribute("rel") : "";
+
+ data.caption = (image.parentNode.nextSibling.tagName.toLowerCase() == "span") ? image.parentNode.nextSibling.firstChild.nodeValue : "";
+ }
+
+ data.aspect = data.width / data.height;
}
- else{
- {
- outparam =
- {
- f_url : '',
- f_alt : '',
- f_border : '',
- f_align : '',
- f_vert : '',
- f_horiz : '',
- f_width : '',
- f_height : ''
- };
- }
- }
- this.image = image;
+
// now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
- this.dialogs["images"].show(outparam);
+ this.dialogs["images"].show(data);
};
OpenCCM.prototype.prepareImageDialog = function()
@@ -67,130 +73,224 @@
// Connect the OK and Cancel buttons
dialog.getElementById('ok').onclick = function() {self.imageApply();}
+ dialog.getElementById('remove').onclick = function() { self.imageRemove(); };
dialog.getElementById('cancel').onclick = function() { self.dialogs["images"].hide()};
-/*
- dialog.getElementById('preview').onclick = function() {
- var f_url = dialog.getElementById("f_url");
- var url = f_url.value;
+ // Connect the Select button
+ dialog.getElementById('browse').onclick = function() { self.imageBrowse(window); };
- if (!url) {
- alert(dialog._lc("You must enter the URL"));
- f_url.focus();
- return false;
- }
- dialog.getElementById('ipreview').src = url;
- return false;
+ // Connect onkeyup ecent handler with dimension filed to recalculate the size according to aspect ratio
+ dialog.getElementById('width').onkeyup = function() { self.calcHeight(); };
+ dialog.getElementById('height').onkeyup = function() { self.calcWidth(); };
+
+ this.imageDialogReady = true;
+};
+
+//
+OpenCCM.prototype.imageApply = function()
+{
+
+ var values = this.dialogs["images"].hide();
+ var image = this.image;
+ var editor = this.editor;
+ var modifyImage = (image != null && image.tagName.toLowerCase() == "img");
+
+ var imgAttr =
+ {
+ src : "",
+ alt : "",
+ title : "",
+ width : "",
+ height : ""
+ };
+
+ var spanAttr =
+ {
+ class : "caption",
+ style : "",
}
- dialog.onresize = function ()
+
+ var linkAttr =
{
- var newHeightForPreview =
- parseInt(this.height,10)
- - this.getElementById('h1').offsetHeight
- - this.getElementById('buttons').offsetHeight
- - this.getElementById('inputs').offsetHeight
- - parseInt(this.rootElem.style.paddingBottom,10); // we have a padding at the bottom, gotta take this into acount
+ href : "",
+ rel : "",
+ class : ""
+
+ };
+ var divAttr =
+ {
+ class : "image"
+ };
- this.getElementById("ipreview").style.height = ((newHeightForPreview > 0) ? newHeightForPreview : 0) + "px"; // no-go beyond 0
+ // If not all mandatory informations are set
+ if (!values.src)
+ {
+ // don't do anything at all
+ return false;
+ }
- this.getElementById("ipreview").style.width = this.width - 2 + 'px'; // and the width
+ // Read form values for image
+ imgAttr.src = values.src;
+ imgAttr.alt = values.alt;
+ imgAttr.title = values.title;
+ imgAttr.width = values.width;
+ imgAttr.height = values.height;
+ // Read form values for caption
+ if(values.caption)
+ {
+ spanAttr.style = "width:" + imgAttr.width + "px";
}
-*/
- this.imageDialogReady = true;
-};
+ // Read form values for link
+ if(values.zoom || values.gallery)
+ {
+ linkAttr.href = values.src;
+ if(values.zoom)
+ {
+ linkAttr.rel = "";
+ linkAttr.class = "imageZoom";
+ }
+
+ else if(values.gallery)
+ {
+ linkAttr.rel = "imageGalleryName";
+ linkAttr.class = "imageGallery";
+ }
+ }
-// and finally ... take some action
-OpenCCM.prototype.imageApply = function()
-{
- var param = this.dialogs["images"].hide();
- if (!param.f_url)
+ // Read form values for div
+ if(values.alignment.value != "")
{
- return;
+ divAttr.class += " " + values.alignment.value;
}
- var editor = this.editor;
- var img = this.image;
- if ( !img )
+
+ var div;
+
+ // Modify Image
+ if(modifyImage)
{
- if ( Xinha.is_ie )
+ // Get the parent for img node
+ div = image.parentNode;
+
+ // if the tagname of div is "a"
+ if(div.tagName.toLowerCase() == "a")
{
- var sel = editor.getSelection();
- var range = editor.createRange(sel);
- editor._doc.execCommand("insertimage", false, param.f_url);
- img = range.parentElement();
- // wonder if this works...
- if ( img.tagName.toLowerCase() != "img" )
- {
- img = img.previousSibling;
- }
+ // go up one level to find the real div
+ div = div.parentNode;
}
- else
+
+ // remove all childs from div.image
+ while (div.childNodes.length > 0)
{
- img = document.createElement('img');
- img.src = param.f_url;
- editor.insertNodeAtSelection(img);
- if ( !img.tagName )
- {
- // if the cursor is at the beginning of the document
- img = range.startContainer.firstChild;
- }
+ div.removeChild(div.firstChild);
}
}
+
+ // Add Image
else
{
- img.src = param.f_url;
+ // create new div.image
+ div = document.createElement("div");
}
- for ( var field in param )
+ // set attributes for div
+ for(var attr in divAttr)
{
- var value = param[field];
- switch (field)
+ div.setAttribute(attr, divAttr[attr]);
+ }
+
+ // the folling has to be done for both cases
+ // insert link, if fancybox features are activated
+ if(values.zoom || values.gallery)
+ {
+ link = document.createElement("a");
+ for(var attr in linkAttr)
{
- case "f_alt":
- if (value)
- img.alt = value;
- else
- img.removeAttribute("alt");
- break;
- case "f_border":
- if (value)
- img.border = parseInt(value || "0");
- else
- img.removeAttribute("border");
- break;
- case "f_align":
- if (value.value)
- img.align = value.value;
- else
- img.removeAttribute("align");
- break;
- case "f_vert":
- if (value != "")
- img.vspace = parseInt(value || "0");
- else
- img.removeAttribute("vspace");
- break;
- case "f_horiz":
- if (value != "")
- img.hspace = parseInt(value || "0");
- else
- img.removeAttribute("hspace");
- break;
- case "f_width":
- if (value)
- img.width = parseInt(value || "0");
- else
- img.removeAttribute("width");
- break;
- case "f_height":
- if (value)
- img.height = parseInt(value || "0");
- else
- img.removeAttribute("height");
- break;
+ link.setAttribute(attr, linkAttr[attr]);
}
+ div.appendChild(link);
}
+ // insert the image, obviously
+ var img = document.createElement("img");
+ for(var attr in imgAttr)
+ {
+ img.setAttribute(attr, imgAttr[attr]);
+ }
+ if(values.zoom || values.gallery)
+ {
+ link.appendChild(img);
+ }
+ else
+ {
+ div.appendChild(img);
+ }
+
+ // insert caption if selected
+ if(values.caption)
+ {
+ var span = document.createElement("span");
+ for(var attr in spanAttr)
+ {
+ span.setAttribute(attr, spanAttr[attr]);
+ }
+ span.appendChild(document.createTextNode(imgAttr.title));
+
+ div.appendChild(span);
+ }
+
+ // insert new div only if we not modifying an image
+ if(!modifyImage) {
+ editor.insertNodeAtSelection(div);
+ }
+
+ // set cursor after div
+ this.editor.selectNodeContents(div.nextSibling, 0);
};
+
+OpenCCM.prototype.imageRemove = function() {
+
+ // Close the dialog
+ this.dialogs["images"].hide();
+
+ // Get the parent div for img node
+ var div = this.image.parentNode;
+
+ // if the tagname of div is "a"
+ if(div.tagName.toLowerCase() == "a")
+ {
+ // go up one level to find the real div
+ div = div.parentNode;
+ }
+
+ // remove this div
+ div.parentNode.removeChild(div);
+ return true;
+};
+
+OpenCCM.prototype.imageBrowse = function(window)
+{
+ var dialog = this.dialogs["images"];
+ dialog.getElementById(dialog.id["src"]).value = "/theme/mandalay/ccm/cms-service/stream/image/?image_id=9001";
+ dialog.getElementById(dialog.id["width"]).value = "304";
+ dialog.getElementById(dialog.id["height"]).value = "420";
+ dialog.getElementById(dialog.id["name"]).value = "Schild.jpg";
+ dialog.getElementById(dialog.id["aspect"]).value = dialog.getElementById(dialog.id["width"]).value / dialog.getElementById(dialog.id["height"]).value;
+};
+
+OpenCCM.prototype.calcWidth = function()
+{
+ var dialog = this.dialogs["images"];
+ dialog.getElementById(dialog.id["width"]).value =
+ Math.round(dialog.getElementById("height").value * dialog.getElementById("aspect").value);
+};
+
+OpenCCM.prototype.calcHeight = function()
+{
+ var dialog = this.dialogs["images"];
+ dialog.getElementById(dialog.id["height"]).value =
+ Math.round(dialog.getElementById("width").value / dialog.getElementById("aspect").value);
+};
+
Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html 2012-12-08 22:46:56 UTC (rev 2349)
@@ -7,6 +7,7 @@
}
label.key {
+ clear: left;
float: left;
width: 5em;
padding: 0.25em 0.2em;
Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js 2012-12-08 22:14:56 UTC (rev 2348)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js 2012-12-08 22:46:56 UTC (rev 2349)
@@ -5,14 +5,15 @@
this.prepareLinkDialog();
}
- var editor = this.editor;
- this.link = link;
if(!link && this.editor.selectionEmpty(this.editor.getSelection()))
{
alert(this._lc("You need to select some text before creating a link"));
return false;
}
+ var editor = this.editor;
+ this.link = link;
+
var data =
{
title : '',
|
Author: pboy
Date: 2012-12-08 22:14:56 +0000 (Sat, 08 Dec 2012)
New Revision: 2348
Modified:
trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader.java
trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader_parameter.properties
trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader.java
trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader_parameter.properties
trunk/ccm-ldn-aplaws/web/templates/ccm-navigation/navigation/aplaws-portal.jsp
trunk/ccm-navigation/src/com/arsdigita/navigation/NavigationConfig_parameter.properties
Log:
Various formatting
Modified: trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader.java
===================================================================
--- trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader.java 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader.java 2012-12-08 22:14:56 UTC (rev 2348)
@@ -35,9 +35,12 @@
public class FormItemLoader extends AbstractContentTypeLoader {
+ /** List of content sections to install Forms. An empty list installs
+ * Forms into the default (first) content section only.
+ */
private final Parameter m_contentSections = new StringParameter
("com.arsdigita.cms.formbuilder.FormItem.sections",
- Parameter.REQUIRED, "content");
+ Parameter.REQUIRED, "");
{
register(m_contentSections);
@@ -52,6 +55,15 @@
return TYPES;
}
+ /**
+ * Overwrites parents class's method to predefine into which content sections
+ * Forms should get installed.
+ * An empty list (the default parents's implementation) gets Forms installed
+ * into the default section only.
+ *
+ * @return Array of content sections Forms should be installed into
+ */
+ @Override
public List getContentSections() {
List result = new ArrayList(1);
result.add(get(m_contentSections));
Modified: trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader_parameter.properties
===================================================================
--- trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader_parameter.properties 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-cms-types-formitem/src/com/arsdigita/cms/formbuilder/FormItemLoader_parameter.properties 2012-12-08 22:14:56 UTC (rev 2348)
@@ -2,6 +2,6 @@
# Version: $Revision: #1 $ $DateTime: 2003/12/01 17:44:38 $
com.arsdigita.cms.formbuilder.FormItem.sections.title = Content Sections
-com.arsdigita.cms.formbuilder.FormItem.sections.purpose = The list of content sections into which FormItem should be installed
+com.arsdigita.cms.formbuilder.FormItem.sections.purpose = A comma separated list of content sections into which FormItem should be installed. An empty list (the default) installs into the default section.
com.arsdigita.cms.formbuilder.FormItem.sections.example = forms,surveys
com.arsdigita.cms.formbuilder.FormItem.sections.format = [string]
Modified: trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader.java
===================================================================
--- trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader.java 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader.java 2012-12-08 22:14:56 UTC (rev 2348)
@@ -39,9 +39,12 @@
"/WEB-INF/content-types/com/arsdigita/cms/formbuilder/FormSectionItem.xml"
};
+ /** List of content sections to install FormSection. An empty list installs
+ * Forms into the default (first) content section only.
+ */
private final Parameter m_contentSections = new StringParameter
("com.arsdigita.cms.formbuilder.FormSectionItem.sections",
- Parameter.REQUIRED, "content");
+ Parameter.REQUIRED, "");
{
register(m_contentSections);
@@ -52,6 +55,15 @@
return TYPES;
}
+ /**
+ * Overwrites parents class's method to predefine into which content sections
+ * Forms should get installed.
+ * An empty list (the default parents's implementation) gets Forms installed
+ * into the default section only.
+ *
+ * @return Array of content sections Forms should be installed into
+ */
+ @Override
public List getContentSections() {
List result = new ArrayList(1);
result.add(get(m_contentSections));
Modified: trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader_parameter.properties
===================================================================
--- trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader_parameter.properties 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-cms-types-formsectionitem/src/com/arsdigita/cms/formbuilder/FormSectionItemLoader_parameter.properties 2012-12-08 22:14:56 UTC (rev 2348)
@@ -2,6 +2,6 @@
# Version: $Revision: #1 $ $DateTime: 2003/12/01 17:44:38 $
com.arsdigita.cms.formbuilder.FormSectionItem.sections.title = Content Sections
-com.arsdigita.cms.formbuilder.FormSectionItem.sections.purpose = The list of content sections into which FormSectionItem should be installed
+com.arsdigita.cms.formbuilder.FormSectionItem.sections.purpose = A comma separated list of content sections into which FormSectionItem should be installed. An empty list (the default) installs into the default section.
com.arsdigita.cms.formbuilder.FormSectionItem.sections.example = forms,surveys
com.arsdigita.cms.formbuilder.FormSectionItem.sections.format = [string]
Modified: trunk/ccm-ldn-aplaws/web/templates/ccm-navigation/navigation/aplaws-portal.jsp
===================================================================
--- trunk/ccm-ldn-aplaws/web/templates/ccm-navigation/navigation/aplaws-portal.jsp 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-ldn-aplaws/web/templates/ccm-navigation/navigation/aplaws-portal.jsp 2012-12-08 22:14:56 UTC (rev 2348)
@@ -28,7 +28,7 @@
<define:component name="portalWorkspace"
classname="com.arsdigita.london.portal.ui.WorkspaceViewer"/>
<jsp:scriptlet>
- ((com.arsdigita.london.portal.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel());
+ ((com.arsdigita.portalworkspace.ui.WorkspaceViewer) portalWorkspace).setWorkspaceModel(new CategoryPortalSelectionModel());
</jsp:scriptlet>
</define:page>
Modified: trunk/ccm-navigation/src/com/arsdigita/navigation/NavigationConfig_parameter.properties
===================================================================
--- trunk/ccm-navigation/src/com/arsdigita/navigation/NavigationConfig_parameter.properties 2012-12-08 22:13:26 UTC (rev 2347)
+++ trunk/ccm-navigation/src/com/arsdigita/navigation/NavigationConfig_parameter.properties 2012-12-08 22:14:56 UTC (rev 2348)
@@ -18,11 +18,6 @@
com.arsdigita.navigation.inherit_templates.example=true|false
com.arsdigita.navigation.inherit_templates.format=[boolean]
-com.arsdigita.navigation.default_content_section_url.title=Default Content Section URL
-com.arsdigita.navigation.default_content_section_url.purpose=The URL of the default content section
-com.arsdigita.navigation.default_content_section_url.example=/content/
-com.arsdigita.navigation.default_content_section_url.format=[string]
-
com.arsdigita.navigation.related_items_context.title=Related items category use context
com.arsdigita.navigation.related_items_context.purpose=The category use context for the related items query
com.arsdigita.navigation.related_items_context.example=subject
|
|
From: <pb...@fe...> - 2012-12-08 22:13:34
|
Author: pboy Date: 2012-12-08 22:13:26 +0000 (Sat, 08 Dec 2012) New Revision: 2347 Modified: trunk/ccm-core/src/log4j.properties Log: Fixed log4j.properties (SQL command suppressed during installation). Modified: trunk/ccm-core/src/log4j.properties =================================================================== --- trunk/ccm-core/src/log4j.properties 2012-12-08 22:12:07 UTC (rev 2346) +++ trunk/ccm-core/src/log4j.properties 2012-12-08 22:13:26 UTC (rev 2347) @@ -33,7 +33,7 @@ # For seeing progress of main runtime initialization process log4j.logger.com.arsdigita.runtime.CCMResourceManager=INFO -log4j.logger.com.arsdigita.runtime.Runtime=INFO +#log4j.logger.com.arsdigita.runtime.Runtime=INFO log4j.logger.com.arsdigita.bundle.Loader=INFO |
Author: pboy
Date: 2012-12-08 22:12:07 +0000 (Sat, 08 Dec 2012)
New Revision: 2346
Modified:
trunk/ccm-cms/src/ccm-cms.upgrade
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java
Log:
Fixed upgrade script, optimized ItemSearchWidget.
Modified: trunk/ccm-cms/src/ccm-cms.upgrade
===================================================================
--- trunk/ccm-cms/src/ccm-cms.upgrade 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/ccm-cms.upgrade 2012-12-08 22:12:07 UTC (rev 2346)
@@ -52,10 +52,7 @@
<script sql="ccm-cms/upgrade/::database::-6.6.3-6.6.4.sql"/>
</version>
<version from="6.6.4" to="6.6.5">
- <script class="com.arsdigita.cms.contenttypes.upgrades.CreateContactBundles"/>
- <script class="com.arsdigita.cms.contenttypes.upgrades.CreatePersonBundles"/>
- <script class="com.arsdigita.cms.contenttypes.upgrades.GenericContactGenericPersonAssocUpgrade"/>
- <script sql="ccm-cms/upgrade::database::-6.6.4-6.6.5.sql"/>
+ <script class="com.arsdigita.cms.contenttypes.upgrades.Upgrade664to665"/>
</version>
<version from="6.6.5" to="6.6.6">
<!-- ContentSection now loaded as legacy free application -->
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -542,11 +542,11 @@
private final Parameter m_itemSearchDefaultTab =
new StringParameter(
"com.arsdigita.cms.item_search.default_tab",
- Parameter.REQUIRED, "browse");
- private final Parameter m_itemSearchFlatBrowsePaneEnable = new BooleanParameter(
- "com.arsdigita.cms.item_search.flat_browse_pane.enable",
- Parameter.REQUIRED,
- true);
+ Parameter.REQUIRED, "flatBrowse");
+// private final Parameter m_itemSearchFlatBrowsePaneEnable = new BooleanParameter(
+// "com.arsdigita.cms.item_search.flat_browse_pane.enable",
+// Parameter.REQUIRED,
+// true);
private final Parameter m_itemSearchFlatBrowsePanePageSize = new IntegerParameter(
"com.arsdigita.cms.item_search.flat_browse_pane.page_size",
Parameter.REQUIRED,
@@ -705,7 +705,7 @@
// register(m_disableItemPfs);
// register(m_publishToFileClass);
- register(m_itemSearchFlatBrowsePaneEnable);
+// register(m_itemSearchFlatBrowsePaneEnable);
register(m_itemSearchFlatBrowsePanePageSize);
loadInfo();
@@ -1156,9 +1156,9 @@
return (Integer) get(m_imageBrowserThumbnailMaxHeight);
}
- public Boolean getItemSearchFlatBrowsePaneEnable() {
- return (Boolean) get(m_itemSearchFlatBrowsePaneEnable);
- }
+// public Boolean getItemSearchFlatBrowsePaneEnable() {
+// return (Boolean) get(m_itemSearchFlatBrowsePaneEnable);
+// }
public Integer getItemSearchFlatBrowsePanePageSize() {
return (Integer) get(m_itemSearchFlatBrowsePanePageSize);
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-08 22:12:07 UTC (rev 2346)
@@ -294,9 +294,3 @@
com.arsdigita.cms.image_browser.thumbnail_max_height.purpose=Set the maximum height of the thumbnail in ImageBrowserr
com.arsdigita.cms.image_browser.thumbnail_max_height.example=150
com.arsdigita.cms.image_browser.thumbnail_max_height.format=[integer]
-
-com.arsdigita.cms.xx.title=
-com.arsdigita.cms.xx.purpose=
-com.arsdigita.cms.xx.example=
-com.arsdigita.cms.xx.format=[string]
-
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-08 22:12:07 UTC (rev 2346)
@@ -1100,3 +1100,4 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=This category can't be deleted.
cms.ui.item_search.flat.filter.submit=Filter
+cms.ui.item_search.selected=Selected content item (id)
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-08 22:12:07 UTC (rev 2346)
@@ -1091,3 +1091,4 @@
cms.ui.item_search.flatBrowse=Item ausw\u00e4hlen
cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden.
cms.ui.item_search.flat.filter.submit=Filtern
+cms.ui.item_search.selected=Ausgew\u00e4hltes Content Item (ID)
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-08 22:12:07 UTC (rev 2346)
@@ -39,3 +39,4 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
cms.ui.item_search.flat.filter.submit=
+cms.ui.item_search.selected=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-08 22:12:07 UTC (rev 2346)
@@ -570,3 +570,4 @@
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
cms.ui.item_search.flat.filter.submit=
+cms.ui.item_search.selected=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractAssocUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -1,7 +1,6 @@
package com.arsdigita.cms.contenttypes.upgrades;
import com.arsdigita.runtime.RuntimeConfig;
-import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.jdbc.Connections;
import java.math.BigDecimal;
import java.sql.Connection;
@@ -13,17 +12,16 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.commons.cli.CommandLine;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
-public abstract class AbstractAssocUpgrade extends Program {
+public abstract class AbstractAssocUpgrade {
- public AbstractAssocUpgrade(final String name, final String version, final String usage) {
- super(name, version, usage);
+ public AbstractAssocUpgrade() {
+ //Nothing
}
protected abstract String getTableName();
@@ -43,9 +41,8 @@
protected abstract String getOwnerTableName();
protected abstract String getMemberTableName();
-
- @Override
- protected void doRun(final CommandLine cmdLine) {
+
+ protected void doUpgrade() {
System.out.println("Starting upgrade...");
final List<AssocEntry> oldData = new ArrayList<AssocEntry>();
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/AbstractBundleUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -1,25 +1,19 @@
package com.arsdigita.cms.contenttypes.upgrades;
import com.arsdigita.runtime.RuntimeConfig;
-import com.arsdigita.util.cmd.Program;
import com.arsdigita.util.jdbc.Connections;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import org.apache.commons.cli.CommandLine;
/**
*
* @author Jens Pelzetter
* @version $Id$
*/
-public abstract class AbstractBundleUpgrade extends Program {
-
- public AbstractBundleUpgrade(final String name, final String version, final String usage) {
- super(name, version, usage);
- }
-
+public abstract class AbstractBundleUpgrade {
+
protected abstract String getBundleTableName();
protected abstract String getContentItemTableName();
@@ -35,9 +29,8 @@
protected String getSuperBundleTable() {
return "cms_bundles";
}
-
- @Override
- public void doRun(final CommandLine cmdLine) {
+
+ public void doUpgrade() {
System.out.println("Starting upgrade...");
System.out.println("Trying to get JDBC connection...");
@@ -137,6 +130,7 @@
private void rollback(final Connection conn) {
try {
+ System.err.println("WARNING: Rollback.");
conn.rollback();
} catch (SQLException ex1) {
System.err.println("Rollback failed.");
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateContactBundles.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -8,15 +8,7 @@
* @version $Id$
*/
public class CreateContactBundles extends AbstractBundleUpgrade {
-
- public CreateContactBundles() {
- super("CreateContactBundles", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new CreateContactBundles().run(args);
- }
-
+
@Override
protected String getBundleTableName() {
return "cms_contact_bundles";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreateOrgaUnitBundles.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -8,15 +8,7 @@
* @version $Id$
*/
public class CreateOrgaUnitBundles extends AbstractBundleUpgrade {
-
- public CreateOrgaUnitBundles() {
- super("CreateOrgaUnitBundles", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new CreateOrgaUnitBundles().run(args);
- }
-
+
@Override
protected String getBundleTableName() {
return "cms_orgaunit_bundles";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/CreatePersonBundles.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class CreatePersonBundles extends AbstractBundleUpgrade {
-
- public CreatePersonBundles() {
- super("CreatePersonBundles", "1.0.0", "");
- }
- public static void main(final String args[]) {
- new CreatePersonBundles().run(args);
- }
-
@Override
protected String getBundleTableName() {
return "cms_person_bundles";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericContactGenericPersonAssocUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericContactGenericPersonAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericContactGenericPersonAssocUpgrade() {
- super("GenericContactGenericPersonAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String[] args) {
- new GenericContactGenericPersonAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_person_contact_map";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericContactAssocUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericContactAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericContactAssocUpgrade() {
- super("GenericOrgaUnitGenericContactAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericOrgaUnitGenericContactAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_contact_map";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericOrgaUnitAssocUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericOrgaUnitAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericOrgaUnitAssocUpgrade() {
- super("GenericOrgaUnitGenericOrgaUnitAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericOrgaUnitGenericOrgaUnitAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_hierarchy_map";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/upgrades/GenericOrgaUnitGenericPersonAssocUpgrade.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -9,15 +9,7 @@
* @version $Id$
*/
public class GenericOrgaUnitGenericPersonAssocUpgrade extends AbstractAssocUpgrade {
-
- public GenericOrgaUnitGenericPersonAssocUpgrade() {
- super("GenericOrgaUnitGenericPersonAssocUpgrade", "1.0.0", "");
- }
-
- public static void main(final String args[]) {
- new GenericContactGenericPersonAssocUpgrade().run(args);
- }
-
+
@Override
protected String getTableName() {
return "cms_organizationalunits_person_map";
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -52,6 +52,7 @@
*
* @author Scott Seago (sc...@ar...)
* @author Sören Bernstein (sbe...@qu...)
+ * @author Jens Pelzetter (je...@jp...)
*/
public class ItemSearchPage extends CMSPage {
@@ -65,7 +66,7 @@
private static final CMSConfig s_conf = CMSConfig.getInstance();
private static final boolean LIMIT_TO_CONTENT_SECTION = false;
public static final String CONTENT_SECTION = "section_id";
- private final boolean showFlatBrowsePane;
+ //private final boolean showFlatBrowsePane;
/**
* Construct a new ItemSearchPage
@@ -79,16 +80,16 @@
addGlobalStateParam(new StringParameter(ItemSearchPopup.WIDGET_PARAM));
addGlobalStateParam(new StringParameter("searchWidget"));
- showFlatBrowsePane = s_conf.getItemSearchFlatBrowsePaneEnable();
+ //showFlatBrowsePane = s_conf.getItemSearchFlatBrowsePaneEnable();
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
addGlobalStateParam(m_sectionId);
m_browse = getBrowsePane();
- if (showFlatBrowsePane) {
- m_flatBrowse = getFlatBrowsePane();
- }
+// if (showFlatBrowsePane) {
+// m_flatBrowse = getFlatBrowsePane();
+// }
m_search = getSearchPane();
// m_create = getCreatePane();
@@ -100,6 +101,14 @@
public void pageRequested(final RequestEvent event) {
final PageState state = event.getPageState();
+ final String query = (String) state.getValue(new StringParameter(ItemSearchPopup.QUERY));
+
+ if ((query == null) || query.isEmpty()) {
+ m_tabbedPane.setSelectedIndex(state, 1);
+ } else {
+ m_tabbedPane.setSelectedIndex(state, 0);
+ }
+
//if (showFlatBrowsePane) {
// m_tabbedPane.setTabVisible(state, 0, false);
// m_tabbedPane.setSelectedIndex(state, 1);
@@ -163,9 +172,9 @@
TabbedPane pane = new TabbedPane();
pane.setClassAttr(XSL_CLASS);
- if (showFlatBrowsePane) {
+ //if (showFlatBrowsePane) {
addToPane(pane, "flatBrowse", getFlatBrowsePane());
- }
+ //}
addToPane(pane, "browse", getBrowsePane());
addToPane(pane, "search", getSearchPane());
// addToPane(pane, "create", getCreatePane());
@@ -176,11 +185,11 @@
if ("search".equals(s_conf.getItemSearchDefaultTab())) {
pane.setDefaultPane(m_search);
}
- if ("flatBrowse".equals(s_conf.getItemSearchDefaultTab()) && showFlatBrowsePane) {
+ //if ("flatBrowse".equals(s_conf.getItemSearchDefaultTab()) && showFlatBrowsePane) {
pane.setDefaultPane(m_flatBrowse);
- } else {
+ //} else {
pane.setDefaultPane(m_browse);
- }
+ //}
//pane.addActionListener(this);
// pane.setTabVisible(null, pane, true);
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -42,6 +42,7 @@
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Workspace;
import com.arsdigita.cms.WorkspaceServlet;
+import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.web.ParameterMap;
import com.arsdigita.web.URL;
@@ -57,7 +58,8 @@
implements BebopConstants, FormSubmissionListener, FormInitListener {
private static final Logger s_log = Logger.getLogger(ItemSearchWidget.class);
- private Hidden m_selected;
+ //private Hidden m_selected;
+ private TextField m_selected;
private TextField m_item;
private Submit m_search;
private Submit m_clear;
@@ -71,6 +73,8 @@
private String m_clearName;
private ParameterModel m_model;
private ParameterModel m_searchModel;
+ private String searchLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.search").localize();
+ private String selectedLabelText = (String) GlobalizationUtil.globalize("cms.ui.item_search.selected").localize();
public static final String BEBOP_ITEM_SEARCH = "bebop:itemSearch";
public static final String SEARCH = "search";
public static final boolean LIMIT_TO_CONTENT_SECTION = false;
@@ -82,7 +86,7 @@
public ItemFragment(ParameterModel parameter, ItemSearchWidget parent) {
super(parameter);
this.parent = parent;
- //this.setReadOnly();
+ this.setReadOnly();
this.setSize(35);
}
@@ -116,8 +120,9 @@
public ClearFragment(String name, ItemSearchWidget parent) {
super(name, "Clear");
this.parent = parent;
- this.setAttribute("onClick", "this.form." + parent.m_selected.getName() //parent.m_item.getName()
- + ".value = \"\"; return false;");
+ this.setAttribute("onClick", "this.form." + parent.m_selected.getName() + ".value = \"\";"
+ + "this.form." + parent.m_item.getName() + ".value = \"\";"
+ + "return false;");
this.setAttribute("value", "Clear");
}
@@ -189,8 +194,10 @@
/**
* Construct a new ItemSearchWidget. The model must be an
* ItemSearchParameter
+ * @param model
+ * @param contentType
*/
- public ItemSearchWidget(ParameterModel model, ContentType contentType) {
+ public ItemSearchWidget(final ParameterModel model, final ContentType contentType) {
super(new BoxPanel(BoxPanel.VERTICAL));
if (!(model instanceof ItemSearchParameter)) {
@@ -214,7 +221,23 @@
m_searchModel = new StringParameter(SEARCH);
m_contentType = contentType;
- m_selected = new Hidden(model);
+ //m_selected = new Hidden(model);
+ m_selected = new ItemFragment(model, this);
+ final Label selectedItemLabel = new Label(selectedLabelText);
+ selectedItemLabel.addPrintListener(new PrintListener() {
+ public void prepare(final PrintEvent event) {
+ final Label target = (Label) event.getTarget();
+ target.setLabel(selectedLabelText);
+ }
+ });
+ final Label searchLabel = new Label(searchLabelText);
+ searchLabel.addPrintListener(new PrintListener() {
+
+ public void prepare(final PrintEvent event) {
+ final Label target = (Label) event.getTarget();
+ target.setLabel(searchLabelText);
+ }
+ });
//m_item = new ItemFragment(model, this);
m_item = new TextField(m_searchModel);
m_search = new SearchFragment(m_searchName, this);
@@ -232,7 +255,7 @@
CMS.getContext().getContentSection().getID());
params.setParameter("widget", formName + ".elements['" + m_selected. //m_item.
getName() + "']");
- params.setParameter("searchWidget", formName + ".elements['" + m_item.getName() + "']");
+ params.setParameter("searchWidget", formName + ".elements['" + m_item.getName() + "']");
if (typeURLFrag != null) {
params.setParameter("single_type", typeURLFrag);
}
@@ -256,7 +279,7 @@
+ "Popup(theForm) { \n"
+ " aWindow = window.open(\"" + url + "&query=\" + document.getElementById('" + m_item.getName() + "').value , "
//+ "\"search\", \"toolbar=no,width=800,height=600,status=no,scrollbars=yes,resize=yes\");\n"
- + "\"search\", \"toolbar=yes,width=\" + screen.width*0.5 + \",height=\" + screen.height*0.5 + \",status=no,scrollbars=yes,resize=yes\");\n"
+ + "\"search\", \"toolbar=no,width=\" + screen.width*0.5 + \",height=\" + screen.height*0.5 + \",status=no,scrollbars=yes,resize=yes\");\n"
+ "return false;\n"
+ " } \n"
+ " --> \n"
@@ -266,12 +289,17 @@
});
m_topHR = new HRLabel();
add(m_topHR);
- FormSection searchSection = new FormSection(new BoxPanel(
- BoxPanel.HORIZONTAL));
- searchSection.add(m_item);
- searchSection.add(m_selected);
- searchSection.add(m_search);
- searchSection.add(m_clear);
+ final FormSection searchSection = new FormSection(new BoxPanel(BoxPanel.VERTICAL));
+ final BoxPanel searchRow = new BoxPanel(BoxPanel.HORIZONTAL);
+ searchRow.add(searchLabel);
+ searchRow.add(m_item);
+ searchRow.add(m_search);
+ searchRow.add(m_clear);
+ final BoxPanel itemRow = new BoxPanel(BoxPanel.HORIZONTAL);
+ itemRow.add(selectedItemLabel);
+ itemRow.add(m_selected);
+ searchSection.add(searchRow);
+ searchSection.add(itemRow);
searchSection.add(m_jsLabel);
add(searchSection);
if (m_contentType == null) {
@@ -340,75 +368,75 @@
}
}
- public void submitted(FormSectionEvent e) throws FormProcessException {
- PageState s = e.getPageState();
- FormData data = e.getFormData();
+ public void submitted(final FormSectionEvent event) throws FormProcessException {
+ final PageState state = event.getPageState();
+ final FormData data = event.getFormData();
s_log.debug("Doing submission");
- if (m_searchComponent.isItemSelected(s)) {
+ if (m_searchComponent.isItemSelected(state)) {
s_log.debug("Item selected");
- ContentItem item = m_searchComponent.getSelectedItem(s);
+ ContentItem item = m_searchComponent.getSelectedItem(state);
if (item != null) {
- m_item.setValue(s, item);
+ m_item.setValue(state, item);
}
try {
- m_searchComponent.setVisible(s, false);
- m_topHR.setVisible(s, false);
- m_bottomHR.setVisible(s, false);
- m_search.setVisible(s, true);
+ m_searchComponent.setVisible(state, false);
+ m_topHR.setVisible(state, false);
+ m_bottomHR.setVisible(state, false);
+ m_search.setVisible(state, true);
} catch (IllegalStateException ex) {
// component is in metaform. nothing to do here. Custom generateXML must hide for us
}
throw new FormProcessException("item search FormSection submit");
- } else if (m_searchComponent.hasQuery(s)) {
+ } else if (m_searchComponent.hasQuery(state)) {
s_log.debug("Has query");
try {
- m_searchComponent.setVisible(s, true);
- m_searchComponent.processQuery(s);
- m_topHR.setVisible(s, true);
- m_bottomHR.setVisible(s, true);
- m_search.setVisible(s, false);
+ m_searchComponent.setVisible(state, true);
+ m_searchComponent.processQuery(state);
+ m_topHR.setVisible(state, true);
+ m_bottomHR.setVisible(state, true);
+ m_search.setVisible(state, false);
} catch (IllegalStateException ex) {
// component is in metaform. nothing to do here. Custom generateXML must hide for us
}
if (m_contentType != null) {
- s.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
+ state.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
m_contentType.getID());
} else {
- s.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
+ state.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
null);
}
throw new FormProcessException("item search FormSection submit");
- } else if (m_search.isSelected(s)) {
+ } else if (m_search.isSelected(state)) {
s_log.debug("Search selected");
try {
- m_searchComponent.setVisible(s, true);
- m_searchComponent.processQuery(s);
- m_topHR.setVisible(s, true);
- m_bottomHR.setVisible(s, true);
- m_search.setVisible(s, false);
+ m_searchComponent.setVisible(state, true);
+ m_searchComponent.processQuery(state);
+ m_topHR.setVisible(state, true);
+ m_bottomHR.setVisible(state, true);
+ m_search.setVisible(state, false);
} catch (IllegalStateException ex) {
// component is in metaform. nothing to do here. Custom generateXML must hide for us
}
if (m_contentType != null) {
- s.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
+ state.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
m_contentType.getID());
} else {
- s.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
+ state.setValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM),
null);
}
throw new FormProcessException("item search FormSection submit");
- } else if (m_clear.isSelected(s)) {
+ } else if (m_clear.isSelected(state)) {
s_log.debug("Clear selected");
- m_item.setValue(s, null);
+ m_item.setValue(state, null);
try {
- m_searchComponent.setVisible(s, false);
- m_topHR.setVisible(s, false);
- m_bottomHR.setVisible(s, false);
- m_search.setVisible(s, true);
+ m_searchComponent.setVisible(state, false);
+ m_topHR.setVisible(state, false);
+ m_bottomHR.setVisible(state, false);
+ m_search.setVisible(state, true);
} catch (IllegalStateException ex) {
// component is in metaform. nothing to do here. Custom generateXML must hide for us
}
@@ -416,14 +444,30 @@
} else {
s_log.debug("Something else");
try {
- m_searchComponent.setVisible(s, false);
- m_topHR.setVisible(s, false);
- m_bottomHR.setVisible(s, false);
- m_search.setVisible(s, true);
+ m_searchComponent.setVisible(state, false);
+ m_topHR.setVisible(state, false);
+ m_bottomHR.setVisible(state, false);
+ m_search.setVisible(state, true);
} catch (IllegalStateException ex) {
// component is in metaform. nothing to do here. Custom generateXML must hide for us
}
}
}
+ public String getSearchLabelText() {
+ return searchLabelText;
+ }
+
+ public void setSearchLabelText(final String searchLabelText) {
+ this.searchLabelText = searchLabelText;
+ }
+
+ public String getSelectedLabelText() {
+ return selectedLabelText;
+ }
+
+ public void setSelectedLabelText(String selectedLabelText) {
+ this.selectedLabelText = selectedLabelText;
+ }
+
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -163,6 +163,7 @@
* Utility method to process the name/title widgets. Child classes may call this method from the process listener.
*
* @param e the {@link FormSectionEvent} which was passed to the process listener
+ * @return
*/
public ContentPage processBasicWidgets(FormSectionEvent e) {
Assert.exists(getItemSelectionModel());
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java 2012-12-08 11:44:27 UTC (rev 2345)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/lifecycle/ItemLifecycleItemPane.java 2012-12-08 22:12:07 UTC (rev 2346)
@@ -78,10 +78,9 @@
import java.util.Locale;
/**
- * This class contains the component which displays the information for a
- * particular lifecycle, with the ability to edit and delete. This information
- * also includes the associated phases for this lifecycle, also with the ability
- * to add, edit, and delete.
+ * This class contains the component which displays the information for a particular lifecycle, with the ability to edit
+ * and delete. This information also includes the associated phases for this lifecycle, also with the ability to add,
+ * edit, and delete.
*
* @author Michael Pih
* @author Jack Chung
@@ -116,11 +115,16 @@
final ContentItem item = m_item.getContentItem(state).
getLiveVersion();
final Label label = (Label) event.getTarget();
- final String dateStr =
- DateFormat.getDateTimeInstance(DateFormat.LONG,
- DateFormat.SHORT,
- GlobalizationHelper.
- getNegotiatedLocale()).format(item.getLastModifiedDate());
+ final String dateStr;
+ if ((item == null) || item.getLastModifiedDate() == null) {
+ dateStr = "";
+ } else {
+ dateStr =
+ DateFormat.getDateTimeInstance(DateFormat.LONG,
+ DateFormat.SHORT,
+ GlobalizationHelper.getNegotiatedLocale()).format(item.
+ getLastModifiedDate());
+ }
final String msg = String.format(
"%s %s",
new GlobalizedMessage(
@@ -129,9 +133,12 @@
dateStr);
label.setLabel(msg);
}
+
});
m_detailPane.add(lastPublishedLabel);
- m_detailPane.add(new PhaseSection());
+
+ m_detailPane.add(
+ new PhaseSection());
}
private class SummarySection extends Section {
@@ -163,8 +170,8 @@
final DateFormat format =
DateFormat.getDateTimeInstance(DateFormat.FULL,
- ContentSection.
- getConfig().getHideTimezone() ? DateFormat.SHORT
+ ContentSection.getConfig().getHideTimezone()
+ ? DateFormat.SHORT
: DateFormat.FULL);
props.add(new Property(gz("cms.ui.name"),
@@ -184,6 +191,7 @@
return props;
}
+
}
}
@@ -223,6 +231,7 @@
s_log.debug("User cannot publish " + item.getOID());
}
}
+
}
private class UnpublishLink extends PublishLink {
@@ -241,12 +250,13 @@
item.unpublish();
- final String target = URL.getDispatcherPath() + ContentItemPage.
- getItemURL(item,
- ContentItemPage.AUTHORING_TAB);
+ final String target = URL.getDispatcherPath()
+ + ContentItemPage.getItemURL(item,
+ ContentItemPage.AUTHORING_TAB);
throw new RedirectSignal(target, true);
}
+
}
}
@@ -276,8 +286,7 @@
final ContentItem item = m_item.getContentItem(state);
/*
- * jensp 2011-12-14: Check is threaded publishing is active. If
- * yes, execute publishing in a thread.
+ * jensp 2011-12-14: Check is threaded publishing is active. If yes, execute publishing in a thread.
*/
if (CMSConfig.getInstance().getThreadedPublishing()) {
final Republisher republisher = new Republisher(item);
@@ -301,20 +310,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -346,6 +352,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -367,6 +374,7 @@
}
}
}
+
}
/**
@@ -375,11 +383,10 @@
private class Republisher implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -388,12 +395,12 @@
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
republish(item, false);
PublishLock.getInstance().unlock(item);
}
+
}
}
@@ -416,8 +423,7 @@
final ContentItem item = m_item.getContentItem(state);
/**
- * jensp 2011-12-14: Execute is a thread if threaded publishing
- * is active.
+ * jensp 2011-12-14: Execute is a thread if threaded publishing is active.
*/
if (CMSConfig.getInstance().getThreadedPublishing()) {
final Republisher republisher = new Republisher(item);
@@ -441,20 +447,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -486,6 +489,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -507,6 +511,7 @@
}
}
}
+
}
/**
@@ -515,11 +520,10 @@
private class Republisher implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -528,12 +532,12 @@
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
republish(item, true);
PublishLock.getInstance().unlock(item);
}
+
}
}
@@ -547,6 +551,7 @@
group.setSubject(new PhaseTable());
}
+
}
private class PhaseTable extends Table {
@@ -560,11 +565,11 @@
lz("cms.ui.item.lifecycle.end_date")
});
}
+
}
/**
- * New style pane. Uses a select box for the action to avoid wrong clicks on
- * unpublish.
+ * New style pane. Uses a select box for the action to avoid wrong clicks on unpublish.
*
* @author Jens Pelzetter
*/
@@ -638,8 +643,7 @@
final ContentItem item = m_item.getContentItem(state);
/**
- * Republish/Republish and Reset are executed in the thread if
- * threaded publishing is active.
+ * Republish/Republish and Reset are executed in the thread if threaded publishing is active.
*/
if (REPUBLISH.equals(selected)) {
if (CMSConfig.getInstance().getThreadedPublishing()) {
@@ -664,20 +668,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -709,6 +710,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -752,20 +754,17 @@
return;
}
- final PartyCollection receiverParties = Party.
- retrieveAllParties();
+ final PartyCollection receiverParties = Party.retrieveAllParties();
Party receiver = null;
receiverParties.addEqualsFilter("primaryEmail",
- CMSConfig.
- getInstance().
+ CMSConfig.getInstance().
getPublicationFailureReceiver());
if (receiverParties.next()) {
receiver = receiverParties.getParty();
}
receiverParties.close();
- final PartyCollection senderParties = Party.
- retrieveAllParties();
+ final PartyCollection senderParties = Party.retrieveAllParties();
Party sender = null;
senderParties.addEqualsFilter("primaryEmail",
CMSConfig.getInstance().
@@ -797,6 +796,7 @@
notification.save();
}
}
+
});
thread.start();
@@ -825,11 +825,10 @@
private class RepublishRunner implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -838,28 +837,26 @@
}
private void doRepublish() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
republish(item, false);
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
doRepublish();
PublishLock.getInstance().unlock(item);
}
+
}
private class RepublishAndResetRunner implements Runnable {
/**
- * Saves OID of item as a string. This is necessary because it is
- * not possible to access to same data object instance from multiple
- * threads. So we have to create a new instance a the data object in
- * the run method. To avoid any sort a problems, we store the OID as
- * a string and convert it back to an OID in the run method.
+ * Saves OID of item as a string. This is necessary because it is not possible to access to same data object
+ * instance from multiple threads. So we have to create a new instance a the data object in the run method.
+ * To avoid any sort a problems, we store the OID as a string and convert it back to an OID in the run
+ * method.
*/
private final String itemOid;
@@ -868,18 +865,17 @@
}
private void doRepublishAndReset() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
republish(item, true);
}
public void run() {
- final ContentItem item = (ContentItem) DomainObjectFactory.
- newInstance(OID.valueOf(itemOid));
+ final ContentItem item = (ContentItem) DomainObjectFactory.newInstance(OID.valueOf(itemOid));
PublishLock.getInstance().lock(item);
doRepublishAndReset();
PublishLock.getInstance().unlock(item);
}
+
}
}
}
|
|
From: <pb...@fe...> - 2012-12-08 11:13:01
|
Author: pboy
Date: 2012-12-08 11:12:50 +0000 (Sat, 08 Dec 2012)
New Revision: 2344
Added:
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
Modified:
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPopup.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java
trunk/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
Log:
Various cms enhancements:
* Improved ItemSearchWidget:
* new FlatBrowsePane
* Hide tabs dependent on PageState
* OppenCCM-Plugin v 0.3 for xinha
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -543,6 +543,15 @@
new StringParameter(
"com.arsdigita.cms.item_search.default_tab",
Parameter.REQUIRED, "browse");
+ private final Parameter m_itemSearchFlatBrowsePaneEnable = new BooleanParameter(
+ "com.arsdigita.cms.item_search.flat_browse_pane.enable",
+ Parameter.REQUIRED,
+ true);
+ private final Parameter m_itemSearchFlatBrowsePanePageSize = new IntegerParameter(
+ "com.arsdigita.cms.item_search.flat_browse_pane.page_size",
+ Parameter.REQUIRED,
+ 20);
+
/////////////////////////////////////////////
// FolderBrowse
/////////////////////////////////////////////
@@ -595,7 +604,8 @@
private final Parameter m_imageBrowserThumbnailMaxHeight = new IntegerParameter(
"com.arsdigita.cms.image_browser.thumbnail_max_height",
Parameter.REQUIRED,
- 50);
+ 50);
+
// ///////////////////////////////////////////
// publishToFile package related parameter
@@ -664,7 +674,7 @@
register(m_hideTextAssetUploadFile);
register(m_allowCategoryCreateUseContext);
register(m_allowContentCreateInSectionListing);
- register(m_hideLegacyPublicSiteLink);
+ register(m_hideLegacyPublicSiteLink);
// Content Center (Workspace) config related parameters
register(m_contentCenterMap);
@@ -695,6 +705,9 @@
// register(m_disableItemPfs);
// register(m_publishToFileClass);
+ register(m_itemSearchFlatBrowsePaneEnable);
+ register(m_itemSearchFlatBrowsePanePageSize);
+
loadInfo();
}
@@ -1142,5 +1155,13 @@
public Integer getImageBrowserThumbnailMaxHeight() {
return (Integer) get(m_imageBrowserThumbnailMaxHeight);
}
+
+ public Boolean getItemSearchFlatBrowsePaneEnable() {
+ return (Boolean) get(m_itemSearchFlatBrowsePaneEnable);
+ }
+
+ public Integer getItemSearchFlatBrowsePanePageSize() {
+ return (Integer) get(m_itemSearchFlatBrowsePanePageSize);
+ }
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-08 11:12:50 UTC (rev 2344)
@@ -240,10 +240,21 @@
com.arsdigita.cms.allow_content_create_in_section_listing.format=[boolean]
com.arsdigita.cms.item_search.default_tab.title=Set the default table for ItemSearchWidget
-com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse" or "search" for default tab
+com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse", "flatBrowse" or "search" for default tab
com.arsdigita.cms.item_search.default_tab.example=browse
com.arsdigita.cms.item_search.default_tab.format=[string]
+com.arsdigita.cms.item_search.flat_browse_pane.enable.title=Enables the flat browse pane of the item search widget
+com.arsdigita.cms.item_search.flat_browse_pane.enable.purpose=Enables the flat browse pane of the item search widget
+com.arsdigita.cms.item_search.flat_browse_pane.enable.example=true
+com.arsdigita.cms.item_search.flat_browse_pane.enable.format=[boolean]
+
+com.arsdigita.cms.item_search.flat_browse_pane.page_size.title=Page size for the flat browse pane
+com.arsdigita.cms.item_search.flat_browse_pane.page_size.purpose=Sets the page size for the flat browse pane
+com.arsdigita.cms.item_search.flat_browse_pane.page_size.example=20
+com.arsdigita.cms.item_search.flat_browse_pane.page_size.format=[integer]
+
+
com.arsdigita.cms.folder_browse_list_size.title=List size for the folder browse widget
com.arsdigita.cms.folder_browse_list_size.purpose=Allows to change the number of items displayed on each page of the folder browse widget
com.arsdigita.cms.folder_browse_list_size.example=20
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-08 11:12:50 UTC (rev 2344)
@@ -1099,3 +1099,4 @@
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=This category can't be deleted.
+cms.ui.item_search.flat.filter.submit=Filter
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-08 11:12:50 UTC (rev 2344)
@@ -1090,3 +1090,4 @@
cms.ui.item_search.flat.type=Typ
cms.ui.item_search.flatBrowse=Item ausw\u00e4hlen
cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden.
+cms.ui.item_search.flat.filter.submit=Filtern
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-08 11:12:50 UTC (rev 2344)
@@ -38,3 +38,4 @@
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
+cms.ui.item_search.flat.filter.submit=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-08 11:12:50 UTC (rev 2344)
@@ -569,3 +569,4 @@
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
cms.ui.category.undeletable=
+cms.ui.item_search.flat.filter.submit=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -5,24 +5,30 @@
import com.arsdigita.bebop.Form;
import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException;
+import com.arsdigita.bebop.GridPanel;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.Link;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState;
+import com.arsdigita.bebop.PaginationModelBuilder;
+import com.arsdigita.bebop.Paginator;
+import com.arsdigita.bebop.RequestLocal;
+import com.arsdigita.bebop.SimpleContainer;
import com.arsdigita.bebop.Table;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
-import com.arsdigita.bebop.event.PrintEvent;
-import com.arsdigita.bebop.event.PrintListener;
+import com.arsdigita.bebop.form.Submit;
import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
+import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.bebop.table.TableCellRenderer;
import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
+import com.arsdigita.cms.CMSConfig;
import com.arsdigita.cms.ContentBundle;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage;
@@ -31,11 +37,14 @@
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.persistence.DataCollection;
-import com.arsdigita.persistence.DataObject;
+import com.arsdigita.persistence.DataQuery;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
+import com.arsdigita.toolbox.ui.DataQueryBuilder;
+import com.arsdigita.toolbox.ui.DataTable;
import com.arsdigita.util.LockableImpl;
import java.math.BigDecimal;
+import org.bouncycastle.asn1.ess.ContentIdentifier;
/**
*
@@ -44,47 +53,38 @@
*/
public class ItemSearchFlatBrowsePane extends Form implements FormInitListener, FormProcessListener {
- private static final String QUERY_PARAM = "query";
+ private static final String QUERY_PARAM = "queryStr";
public static final String WIDGET_PARAM = "widget";
public static final String SEARCHWIDGET_PARAM = "searchWidget";
+ public static final String FILTER_SUBMIT = "filterSubmit";
private final Table resultsTable;
+ private final Paginator paginator;
private final StringParameter queryParam;
- private final Label jsLabel;
-
+ private final static CMSConfig CMS_CONFIG = CMSConfig.getInstance();
public ItemSearchFlatBrowsePane(final String name) {
super(name);
+ final BoxPanel mainPanel = new BoxPanel(BoxPanel.VERTICAL);
+
queryParam = new StringParameter(QUERY_PARAM);
final BoxPanel boxPanel = new BoxPanel(BoxPanel.HORIZONTAL);
boxPanel.add(new Label(GlobalizationUtil.globalize("cms.ui.item_search.flat.filter")));
- final TextField filter = new TextField(new StringParameter(QUERY_PARAM));
- boxPanel.add(filter);
- jsLabel = new Label("", false);
- jsLabel.addPrintListener(new PrintListener() {
+ final TextField filter = new TextField(new StringParameter(QUERY_PARAM));
+ boxPanel.add(filter);
+ boxPanel.add(new Submit(FILTER_SUBMIT, GlobalizationUtil.globalize("cms.ui.item_search.flat.filter.submit")));
+ mainPanel.add(boxPanel);
- public void prepare(final PrintEvent event) {
- final PageState state = event.getPageState();
- final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
- ((Label)event.getTarget()).setLabel(String.format(
- " <script language=javascript type=\"text/javascript\">"
- + "<!--"
- + "alert(\"test\")"
- + "self.elements['%s'].value='test';"//window.opener.document.%s.value;"
- + "-->"
- + "</script> ",
- filter.getName(),
- searchWidget));
-
- }
- });
- boxPanel.add(jsLabel);
- add(boxPanel);
+ resultsTable = new ResultsTable();
+ paginator = new Paginator((PaginationModelBuilder) resultsTable.getModelBuilder(),
+ CMS_CONFIG.getItemSearchFlatBrowsePanePageSize());
+ mainPanel.add(paginator);
- resultsTable = new ResultsTable();
- add(resultsTable);
-
+ mainPanel.add(resultsTable);
+
+ add(mainPanel);
+
addInitListener(this);
addProcessListener(this);
}
@@ -95,8 +95,16 @@
page.addComponentStateParam(this, queryParam);
}
- public void init(final FormSectionEvent fse) throws FormProcessException {
-
+ public void init(final FormSectionEvent fse) throws FormProcessException {
+ final PageState state = fse.getPageState();
+ final FormData data = fse.getFormData();
+
+ final String query = (String) data.get(QUERY_PARAM);
+ if ((query == null) || query.isEmpty()) {
+ data.setParameter(QUERY_PARAM,
+ new ParameterData(queryParam, state.getValue(new StringParameter(ItemSearchPopup.QUERY))));
+ state.setValue(queryParam, data.getParameter(QUERY_PARAM).getValue());
+ }
}
public void process(final FormSectionEvent fse) throws FormProcessException {
@@ -104,6 +112,7 @@
final PageState state = fse.getPageState();
state.setValue(queryParam, data.get(QUERY_PARAM));
+ state.setValue(new StringParameter(ItemSearchPopup.QUERY), data.get(QUERY_PARAM));
}
private class ResultsTable extends Table {
@@ -115,6 +124,7 @@
public ResultsTable() {
super();
setEmptyView(new Label(GlobalizationUtil.globalize("cms.ui.item_search.flat.no_items")));
+ setClassAttr("dataTable");
final TableColumnModel columnModel = getColumnModel();
columnModel.add(new TableColumn(0,
@@ -128,45 +138,78 @@
TABLE_COL_TYPE));
setModelBuilder(new ResultsTableModelBuilder());
-
+
columnModel.get(0).setCellRenderer(new TitleCellRenderer());
}
}
- private class ResultsTableModelBuilder extends LockableImpl implements TableModelBuilder {
+ private class ResultsTableModelBuilder extends LockableImpl implements TableModelBuilder, PaginationModelBuilder {
+ //private DataCollection collection;
+ private RequestLocal collection = new RequestLocal();
+
public TableModel makeModel(final Table table, final PageState state) {
- return new ResultsTableModel(table, state);
+
+ if (collection.get(state) == null) {
+ query(state);
+ }
+
+ ((DataCollection) collection.get(state)).setRange(paginator.getFirst(state), paginator.getLast(state) + 1);
+
+ return new ResultsTableModel(table, state, (DataCollection) collection.get(state));
}
- }
+ public int getTotalSize(final Paginator paginator, final PageState state) {
+ if (collection.get(state) == null) {
+ query(state);
+ }
- private class ResultsTableModel implements TableModel {
+ //((DataCollection)collection.get(state)).setRange(paginator.getFirst(state), paginator.getLast(state) + 1);
- private final Table table;
- private final DataCollection collection;
- private ContentItem currentItem;
+ return (int) ((DataCollection) collection.get(state)).size();
+ }
- public ResultsTableModel(final Table table, final PageState state) {
- this.table = table;
+ public boolean isVisible(PageState state) {
+ return true;
+ }
+
+ private void query(final PageState state) {
final Session session = SessionManager.getSession();
final BigDecimal typeId = (BigDecimal) state.getValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM));
if (typeId == null) {
- collection = session.retrieve(ContentPage.BASE_DATA_OBJECT_TYPE);
+ collection.set(state, session.retrieve(ContentPage.BASE_DATA_OBJECT_TYPE));
} else {
final ContentType type = new ContentType(typeId);
- collection = session.retrieve(type.getClassName());
+ collection.set(state, session.retrieve(type.getClassName()));
}
final String query = (String) state.getValue(queryParam);
if ((query != null) && !query.isEmpty()) {
- collection.addFilter(String.format("(lower(%s) like lower('%%%s%%')) or (lower(%s) like lower('%%%s%%'))",
- ContentItem.NAME, query,
- ContentPage.TITLE, query));
+ ((DataCollection) collection.get(state)).addFilter(String.format(
+ "(lower(%s) like lower('%%%s%%')) or (lower(%s) like lower('%%%s%%'))",
+ ContentItem.NAME, query,
+ ContentPage.TITLE, query));
}
+
+ ((DataCollection) collection.get(state)).addOrder("title asc, name asc");
}
+ }
+
+ private class ResultsTableModel implements TableModel {
+
+ private final Table table;
+ private final DataCollection collection;
+ private ContentItem currentItem;
+
+ public ResultsTableModel(final Table table, final PageState state, final DataCollection collection) {
+ this.table = table;
+
+ this.collection = collection;
+
+ }
+
public int getColumnCount() {
return table.getColumnModel().size();
}
@@ -227,35 +270,39 @@
public Object getKeyAt(final int columnIndex) {
return currentItem.getID();
}
+
}
-
+
private class TitleCellRenderer extends LockableImpl implements TableCellRenderer {
- public Component getComponent(final Table table,
- final PageState state,
- final Object value,
- final boolean isSelected,
+ public Component getComponent(final Table table,
+ final PageState state,
+ final Object value,
+ final boolean isSelected,
final Object key,
- final int row,
+ final int row,
final int column) {
+
+ if (value == null) {
+ return new Label("???");
+ }
+
final Link link = new Link(value.toString(), "");
-
+
final String widget = (String) state.getValue(new StringParameter(WIDGET_PARAM));
final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
-
+
final ContentPage page = new ContentPage((BigDecimal) key);
-
+
link.setOnClick(String.format(
"window.opener.document.%s.value=\"%s\";window.opener.document.%s.value=\"%s\";self.close();return false;",
- widget,
- key.toString(),
- searchWidget,
- page.getTitle()));
-
+ widget,
+ key.toString(),
+ searchWidget,
+ page.getTitle()));
+
return link;
}
-
-
-
+
}
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -43,6 +43,7 @@
import com.arsdigita.bebop.util.BebopConstants;
import com.arsdigita.cms.CMS;
import com.arsdigita.cms.ContentItem;
+import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.Folder;
@@ -347,6 +348,7 @@
String widget =
(String) state.getValue(new StringParameter(
ItemSearchPopup.WIDGET_PARAM));
+ String searchWidget = (String) state.getValue(new StringParameter("searchWidget"));
boolean useURL =
"true".equals(state.getValue(new StringParameter(
ItemSearchPopup.URL_PARAM)));
@@ -358,9 +360,9 @@
getDomainObject().getOID())
: id
+ " (" + name + ")";
+ String title = ((ContentPage) coll.getDomainObject()).getTitle();
- Label js = new Label(generateJSLabel(id, widget,
- fillString),
+ Label js = new Label(generateJSLabel(id, widget, searchWidget, fillString, title),
false);
container.add(js);
@@ -377,15 +379,13 @@
}
}
- private String generateJSLabel(BigDecimal id, String widget, String fill) {
+ private String generateJSLabel(BigDecimal id, String widget, String searchWidget, String fill, String title) {
StringBuilder buffer = new StringBuilder();
- buffer.append(" <script language=javascript> "
- + " <!-- \n"
- + " function fillItem"
- + id
- + "() { \n"
- + " window.opener.document."
- + widget + ".value=\"" + fill + "\";\n");
+ buffer.append(" <script language=javascript> ");
+ buffer.append( " <!-- \n");
+ buffer.append(" function fillItem").append(id).append("() { \n");
+ buffer.append(" window.opener.document.").append(widget).append(".value=\"").append(fill).append("\";\n");
+ buffer.append(" window.opener.document.").append(searchWidget).append(".value=\"").append(title).append("\";\n");
// set protocol to 'other' in FCKEditor, else relative url prepended by http://
if (Bebop.getConfig().getDHTMLEditor().equals(
BebopConstants.BEBOP_FCKEDITOR)) {
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -19,8 +19,11 @@
package com.arsdigita.cms.ui;
import com.arsdigita.bebop.Component;
+import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.SimpleContainer;
import com.arsdigita.bebop.TabbedPane;
+import com.arsdigita.bebop.event.RequestEvent;
+import com.arsdigita.bebop.event.RequestListener;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.CMS;
@@ -62,6 +65,7 @@
private static final CMSConfig s_conf = CMSConfig.getInstance();
private static final boolean LIMIT_TO_CONTENT_SECTION = false;
public static final String CONTENT_SECTION = "section_id";
+ private final boolean showFlatBrowsePane;
/**
* Construct a new ItemSearchPage
@@ -73,25 +77,41 @@
addGlobalStateParam(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM));
addGlobalStateParam(new StringParameter(ItemSearchPopup.WIDGET_PARAM));
- addGlobalStateParam(new StringParameter("searchWidget"));
+ addGlobalStateParam(new StringParameter("searchWidget"));
+ showFlatBrowsePane = s_conf.getItemSearchFlatBrowsePaneEnable();
+
+
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
addGlobalStateParam(m_sectionId);
m_browse = getBrowsePane();
- m_flatBrowse = getFlatBrowsePane();
+ if (showFlatBrowsePane) {
+ m_flatBrowse = getFlatBrowsePane();
+ }
m_search = getSearchPane();
// m_create = getCreatePane();
m_tabbedPane = createTabbedPane();
m_tabbedPane.setIdAttr("page-body");
add(m_tabbedPane);
+ addRequestListener(new RequestListener() {
+
+ public void pageRequested(final RequestEvent event) {
+ final PageState state = event.getPageState();
+
+ //if (showFlatBrowsePane) {
+ // m_tabbedPane.setTabVisible(state, 0, false);
+ // m_tabbedPane.setSelectedIndex(state, 1);
+ //}
+ }
+
+ });
}
/**
- * Creates, and then caches, the Browse pane. Overriding this
- * method to return null will prevent this tab from appearing.
- * Note: not implemented yet.
+ * Creates, and then caches, the Browse pane. Overriding this method to return null will prevent this tab from
+ * appearing. Note: not implemented yet.
*/
protected ItemSearchBrowsePane getBrowsePane() {
if (m_browse == null) {
@@ -101,17 +121,17 @@
return m_browse;
}
- protected ItemSearchFlatBrowsePane getFlatBrowsePane() {
+ protected ItemSearchFlatBrowsePane getFlatBrowsePane() {
if (m_flatBrowse == null) {
m_flatBrowse = new ItemSearchFlatBrowsePane("flatBrowse");
}
-
+
return m_flatBrowse;
}
-
+
/**
- * Creates, and then caches, the Creation pane. Overriding this
- * method to return null will prevent this tab from appearing.
+ * Creates, and then caches, the Creation pane. Overriding this method to return null will prevent this tab from
+ * appearing.
*/
protected ItemSearchPopup getSearchPane() {
if (m_search == null) {
@@ -130,33 +150,37 @@
//
// return m_create;
// }
-
/**
- * Created the TabbedPane to use for this page. Sets the class
- * attribute for this tabbed pane. The default implementation uses a
- * {@link com.arsdigita.bebop.TabbedPane} and sets the class
- * attribute to "CMS Admin." This implementation also adds tasks,
- * content sections, and search panes.
+ * Created the TabbedPane to use for this page. Sets the class attribute for this tabbed pane. The default
+ * implementation uses a
+ * {@link com.arsdigita.bebop.TabbedPane} and sets the class attribute to "CMS Admin." This implementation also adds
+ * tasks, content sections, and search panes.
*
- * Developers can override this method to add only the tabs they
- * want, or to add additional tabs after the default CMS tabs are
- * added.
+ * Developers can override this method to add only the tabs they want, or to add additional tabs after the default
+ * CMS tabs are added.
*/
protected TabbedPane createTabbedPane() {
TabbedPane pane = new TabbedPane();
pane.setClassAttr(XSL_CLASS);
- addToPane(pane, "flatBrowse", getFlatBrowsePane());
+ if (showFlatBrowsePane) {
+ addToPane(pane, "flatBrowse", getFlatBrowsePane());
+ }
addToPane(pane, "browse", getBrowsePane());
addToPane(pane, "search", getSearchPane());
// addToPane(pane, "create", getCreatePane());
- if(s_conf.getItemSearchDefaultTab().equals("browse")) {
+ if ("browse".equals(s_conf.getItemSearchDefaultTab())) {
pane.setDefaultPane(m_browse);
}
- if(s_conf.getItemSearchDefaultTab().equals("search")) {
+ if ("search".equals(s_conf.getItemSearchDefaultTab())) {
pane.setDefaultPane(m_search);
}
+ if ("flatBrowse".equals(s_conf.getItemSearchDefaultTab()) && showFlatBrowsePane) {
+ pane.setDefaultPane(m_flatBrowse);
+ } else {
+ pane.setDefaultPane(m_browse);
+ }
//pane.addActionListener(this);
// pane.setTabVisible(null, pane, true);
@@ -164,12 +188,11 @@
}
/**
- * Adds the specified component, with the specified tab name, to the
- * tabbed pane only if it is not null.
+ * Adds the specified component, with the specified tab name, to the tabbed pane only if it is not null.
*
- * @param pane The pane to which to add the tab
+ * @param pane The pane to which to add the tab
* @param tabName The name of the tab if it's added
- * @param comp The component to add to the pane
+ * @param comp The component to add to the pane
*/
protected void addToPane(TabbedPane pane, String tabName, Component comp) {
if (comp != null) {
@@ -178,8 +201,7 @@
}
/**
- * When a new tab is selected, reset the state of the
- * formerly-selected pane.
+ * When a new tab is selected, reset the state of the formerly-selected pane.
*
* @param event The event fired by selecting a tab
*/
@@ -197,8 +219,8 @@
*/
@Override
public void dispatch(final HttpServletRequest request,
- final HttpServletResponse response,
- RequestContext actx)
+ final HttpServletResponse response,
+ RequestContext actx)
throws IOException, ServletException {
new CMSExcursion() {
@@ -220,10 +242,12 @@
final Document doc = buildDocument(request, response);
final PresentationManager pm =
- Templating.getPresentationManager();
+ Templating.getPresentationManager();
pm.servePage(doc, request, response);
}
+
}.run();
}
+
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPopup.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPopup.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPopup.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -34,10 +34,8 @@
import javax.servlet.http.HttpServletRequest;
/**
- * An extension of {@link ItemSearch} for use in a popup
- * search window. The display of results is altered so that
- * selecting a result closes the window & passes the id of
- * the selected item back to the opener.
+ * An extension of {@link ItemSearch} for use in a popup search window. The display of results is altered so that
+ * selecting a result closes the window & passes the id of the selected item back to the opener.
*
* @author Stanislav Freidin (sfr...@ar...)
* @version $Id$
@@ -45,14 +43,16 @@
public class ItemSearchPopup extends ItemSearch {
private static final org.apache.log4j.Logger s_log =
- org.apache.log4j.Logger.getLogger(ItemSearchPopup.class);
+ org.apache.log4j.Logger.getLogger(ItemSearchPopup.class);
public static final String WIDGET_PARAM = "widget";
public static final String URL_PARAM = "useURL";
+ public static final String QUERY = "query";
/**
- * Construct a new <code>ItemSearchPopup</code> component
+ * Construct a new
+ * <code>ItemSearchPopup</code> component
*
- * @param context the context for the retrieved items. Should be
+ * @param context the context for the retrieved items. Should be
* {@link ContentItem#DRAFT} or {@link ContentItem#LIVE}
* @param limitToContentSection limit the search to the current content section
*/
@@ -66,6 +66,7 @@
super.register(p);
p.addGlobalStateParam(new StringParameter(WIDGET_PARAM));
p.addGlobalStateParam(new StringParameter(URL_PARAM));
+ p.addGlobalStateParam(new StringParameter(QUERY));
}
@Override
@@ -83,6 +84,7 @@
protected Component createResultsPane(QueryGenerator generator) {
return new PopupResultsPane(generator);
}
+
}
/**
@@ -112,38 +114,39 @@
String widget = (String) state.getValue(
new StringParameter(WIDGET_PARAM));
+ String searchWidget = (String) state.getValue(new StringParameter("searchWidget"));
boolean useURL = "true".equals(
state.getValue(new StringParameter(URL_PARAM)));
String fillString = useURL
- ? getItemURL(state.getRequest(), doc.getOID())
- : doc.getOID().get("id").toString()
- + " (" + doc.getTitle() + ")";
+ ? getItemURL(state.getRequest(), doc.getOID())
+ : doc.getOID().get("id").toString()
+ + " (" + doc.getTitle() + ")";
+ String title = doc.getTitle();
Element jsLabel = Search.newElement("jsAction");
jsLabel.addAttribute("name", "fillItem"
- + doc.getOID().get("id") + "()");
+ + doc.getOID().get("id") + "()");
jsLabel.setText(generateJSLabel((BigDecimal) doc.getOID().get("id"),
- widget, fillString));
+ widget, searchWidget, fillString, title));
element.addContent(jsLabel);
return element;
}
- private String generateJSLabel(BigDecimal id, String widget, String fill) {
+ private String generateJSLabel(BigDecimal id, String widget, String searchWidget, String fill, String title) {
return " <script language=javascript> "
- + " <!-- \n"
- + " function fillItem"
- + id
- + "() { \n"
- + " window.opener.document."
- + widget + ".value=\"" + fill + "\";\n"
- + " self.close(); \n"
- + " return false; \n"
- + " } \n"
- + " --> \n"
- + " </script> ";
+ + " <!-- \n"
+ + " function fillItem" + id + "() { \n"
+ + " window.opener.document." + widget + ".value=\"" + fill + "\";\n"
+ + " window.opener.document." + searchWidget + ".value=\"" + title + "\";\n"
+ + " self.close(); \n"
+ + " return false; \n"
+ + " } \n"
+ + " --> \n"
+ + " </script> ";
}
+
}
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchWidget.java 2012-12-08 11:12:50 UTC (rev 2344)
@@ -85,6 +85,7 @@
//this.setReadOnly();
this.setSize(35);
}
+
}
private class SearchFragment extends Submit {
@@ -105,6 +106,7 @@
|| parent.m_searchComponent.hasQuery(ps))
&& super.isVisible(ps));
}
+
}
private class ClearFragment extends Submit {
@@ -118,6 +120,7 @@
+ ".value = \"\"; return false;");
this.setAttribute("value", "Clear");
}
+
}
private class LabelFragment extends Label {
@@ -129,6 +132,7 @@
super(name, escaping);
this.parent = parent;
}
+
}
private class ItemSearchFragment extends ItemSearchSectionInline {
@@ -156,6 +160,7 @@
|| hasQuery(ps))
&& super.isVisible(ps));
}
+
}
private class HRLabel extends Label {
@@ -170,6 +175,7 @@
|| m_searchComponent.hasQuery(ps))
&& super.isVisible(ps));
}
+
}
/**
@@ -204,7 +210,7 @@
} else {
typeURLFrag = null;
}
-
+
m_searchModel = new StringParameter(SEARCH);
m_contentType = contentType;
@@ -226,7 +232,7 @@
CMS.getContext().getContentSection().getID());
params.setParameter("widget", formName + ".elements['" + m_selected. //m_item.
getName() + "']");
- params.setParameter("searchWidget", formName + ".elements['" + m_item.getName() + "']");
+ params.setParameter("searchWidget", formName + ".elements['" + m_item.getName() + "']");
if (typeURLFrag != null) {
params.setParameter("single_type", typeURLFrag);
}
@@ -248,13 +254,15 @@
//+ m_item.getName().replace('.', '_')
+ m_selected.getName().replace('.', '_')
+ "Popup(theForm) { \n"
- + " aWindow = window.open(\"" + url + "\", "
- + "\"search\", \"toolbar=no,width=800,height=600,status=no,scrollbars=yes,resize=yes\");\n"
+ + " aWindow = window.open(\"" + url + "&query=\" + document.getElementById('" + m_item.getName() + "').value , "
+ //+ "\"search\", \"toolbar=no,width=800,height=600,status=no,scrollbars=yes,resize=yes\");\n"
+ + "\"search\", \"toolbar=yes,width=\" + screen.width*0.5 + \",height=\" + screen.height*0.5 + \",status=no,scrollbars=yes,resize=yes\");\n"
+ "return false;\n"
+ " } \n"
+ " --> \n"
+ " </script> ");
}
+
});
m_topHR = new HRLabel();
add(m_topHR);
@@ -417,4 +425,5 @@
}
}
}
+
}
Modified: trunk/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-08 09:51:50 UTC (rev 2343)
+++ trunk/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -13,7 +13,7 @@
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter",
"ContextMenu","DefinitionList","FindReplace","ListType","QuickTag",
- "SmartReplace","Stylist","TableOperations","UnFormat","Equation"];
+ "SmartReplace","Stylist","TableOperations","UnFormat","Equation","OpenCCM"];
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
return;
}
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,114 @@
+/** xinha editor plugin for OpenCCM **/
+
+OpenCCM._pluginInfo = {
+ name : "OpenCCM",
+ version : "0.3",
+ developer : "Sören Bernstein",
+ developer_url : "http://",
+ sponsor : "",
+ sponsor_url : "",
+ license : "htmlArea"
+}
+
+function OpenCCM(editor)
+{
+ this.editor = editor;
+ this.dialogs = new Array();
+
+ var cfg = editor.config;
+ var self = this;
+
+ var hasLinkButton = false;
+ var hasImageButton = false;
+
+ cfg.registerButton(
+ {
+ id : "createlink",
+ tooltip : this._lc("OpenCCMInsertLink"),
+ image : ["ed_buttons_main.png", 6, 1],
+ textMode : false,
+ action : function(e, objname, obj) { self.showLinkDialog(self._getSelectedAnchor()); }
+ }
+ );
+
+ cfg.registerButton(
+ {
+ id : "insertimage",
+ tooltip : this._lc("OpenCCMInsertImage"),
+ image : ["ed_buttons_main.png", 6, 3],
+ textMode : false,
+ action : function(e, objname, obj) { self.showImageDialog(); }
+ }
+ );
+
+ if(this.findButton("createlink"))
+ {
+ hasLinkButton = true;
+ cfg.addToolbarElement("createlink", "createlink", 0);
+ } else {
+ cfg.addToolbarElement("createlink", "undo", -1);
+ }
+
+ if(this.findButton("insertimage"))
+ {
+ hasImageButton = true;
+ cfg.addToolbarElement("insertimage", "insertimage", 0);
+ }
+ else
+ {
+ cfg.addToolbarElement("insertimage", "createlink", 1);
+ }
+
+ if(!hasLinkButton && !hasImageButton)
+ {
+ cfg.addToolbarElement(["separator"], "insertimage", 1);
+ }
+
+ // Register double click action
+ cfg.dblclickList["a"][0] = function(e, target) { self.showLinkDialog(self._getSelectedAnchor()); };
+}
+
+OpenCCM.prototype.findButton = function(string) {
+ var toolbar = this.editor.config.toolbar;
+
+ for(i = 0; i < toolbar.length; i++)
+ {
+ for(j = 0; j < toolbar[i].length; j++)
+ {
+ if(toolbar[i][j] == string)
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+}
+
+OpenCCM.prototype._lc = function(string) {
+ return Xinha._lc(string, 'OpenCCM');
+}
+
+OpenCCM.prototype.onGenerateOnce = function ()
+{
+ this.loadAssets();
+}
+
+OpenCCM.prototype.loadAssets = function() {
+ var self = OpenCCM;
+
+ if (self.loading)
+ {
+ return;
+ }
+ self.loading = true;
+
+ // Link
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/links/links.js', function(getback) { eval(getback); self.linksMethodsReady = true; });
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/links/links.html', function(getback) { OpenCCM.linksHtml = getback; self.linksDialogReady = true; } );
+
+ // Image
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/images/images.js', function(getback) { eval(getback); self.imagesMethodsReady = true; } );
+ Xinha._getback(Xinha.getPluginDir("OpenCCM") + '/images/images.html', function(getback) { OpenCCM.imagesHtml = getback; self.imagesDialogReady = true; } );
+}
+
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,83 @@
+<h1 id="[h1]"><l10n>Insert Image</l10n></h1>
+<!--- new stuff --->
+<form action="" method="get" style="padding-top:10px" id="[inputs]">
+<table border="0" width="95%" style="padding: 0px; margin: 0px">
+ <tbody>
+
+ <tr>
+ <td style="width: 7em; text-align: right"><l10n>Image URL:</l10n></td>
+ <td><input type="text" name="[f_url]" id="[f_url]" style="width:75%"
+ title="_(Enter the image URL here)" />
+ <button id="[preview]" title="_(Preview the image in a new window)"><l10n>Preview</l10n></button>
+ </td>
+ </tr>
+ <tr>
+ <td style="width: 7em; text-align: right"><l10n>Alternate text:</l10n></td>
+ <td><input type="text" name="[f_alt]" id="[f_alt]" style="width:100%"
+ title="_(For browsers that don't support images)" /></td>
+ </tr>
+
+ </tbody>
+</table>
+
+<br />
+
+<fieldset style="float: left; margin-left: 5px;">
+<legend><l10n>Layout</l10n></legend>
+
+<div class="space"></div>
+
+<div class="fl"><l10n>Alignment:</l10n></div>
+<select size="1" name="[f_align]" id="[f_align]"
+ title="_(Positioning of this image)">
+ <option value="" ><l10n>Not set</l10n></option>
+ <option value="left" ><l10n>Left</l10n></option>
+ <option value="right" ><l10n>Right</l10n></option>
+ <option value="texttop" ><l10n>Texttop</l10n></option>
+ <option value="absmiddle" ><l10n>Absmiddle</l10n></option>
+ <option value="baseline" ><l10n>Baseline</l10n></option>
+ <option value="absbottom" ><l10n>Absbottom</l10n></option>
+ <option value="bottom" ><l10n>Bottom</l10n></option>
+ <option value="middle" ><l10n>Middle</l10n></option>
+ <option value="top" ><l10n>Top</l10n></option>
+</select>
+
+<br />
+
+<div class="fl"><l10n>Border thickness:</l10n></div>
+<input type="text" name="[f_border]" id="[f_border]" size="5"
+title="_(Leave empty for no border)" />
+
+<div class="space"></div>
+
+</fieldset>
+
+<fieldset>
+<legend><l10n>Spacing</l10n></legend>
+
+<div class="space"></div>
+
+<div class="fr"><l10n>Horizontal:</l10n></div>
+<input type="text" name="[f_horiz]" id="[f_horiz]" size="5"
+title="_(Horizontal padding)" />
+
+<br />
+
+<div class="fr"><l10n>Vertical:</l10n></div>
+<input type="text" name="[f_vert]" id="[f_vert]" size="5"
+title="_(Vertical padding)" />
+
+<div class="space"></div>
+
+</fieldset>
+</form>
+<div>
+<l10n>Image Preview:</l10n><br />
+ <iframe id="[ipreview]" frameborder="0" style="border : 1px solid gray;"
+ height="200" width="100%" src="about:blank"></iframe>
+</div>
+
+<div class="buttons" id="[buttons]">
+ <input type="button" id="[ok]" value="_(OK)" />
+ <input type="button" id="[cancel]" value="_(Cancel)" />
+</div>
\ No newline at end of file
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,196 @@
+OpenCCM.prototype.showImageDialog = function(image)
+{
+ if (!this.dialogs["images"]) this.prepareImageDialog();
+
+ var editor = this.editor;
+ if ( typeof image == "undefined" )
+ {
+ image = editor.getParentElement();
+ if ( image && image.tagName.toLowerCase() != 'img' )
+ {
+ image = null;
+ }
+ }
+
+ if ( image )
+ {
+ function getSpecifiedAttribute(element,attribute)
+ {
+ var a = element.attributes;
+ for (var i=0;i<a.length;i++)
+ {
+ if (a[i].nodeName == attribute && a[i].specified)
+ {
+ return a[i].value;
+ }
+ }
+ return '';
+ }
+ outparam =
+ {
+ f_url : editor.stripBaseURL(image.getAttribute('src',2)), // the second parameter makes IE return the value as it is set, as opposed to an "interpolated" (as MSDN calls it) value
+ f_alt : image.alt,
+ f_border : image.border,
+ f_align : image.align,
+ f_vert : getSpecifiedAttribute(image,'vspace'),
+ f_horiz : getSpecifiedAttribute(image,'hspace'),
+ f_width : image.width,
+ f_height : image.height
+ };
+ }
+ else{
+ {
+ outparam =
+ {
+ f_url : '',
+ f_alt : '',
+ f_border : '',
+ f_align : '',
+ f_vert : '',
+ f_horiz : '',
+ f_width : '',
+ f_height : ''
+ };
+ }
+ }
+ this.image = image;
+ // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
+ this.dialogs["images"].show(outparam);
+};
+
+OpenCCM.prototype.prepareImageDialog = function()
+{
+ var self = this;
+ var editor = this.editor;
+
+ var dialog = this.dialogs["images"] = new Xinha.Dialog(editor, OpenCCM.imagesHtml, 'Xinha',{width:410})
+
+ // Connect the OK and Cancel buttons
+ dialog.getElementById('ok').onclick = function() {self.imageApply();}
+ dialog.getElementById('cancel').onclick = function() { self.dialogs["images"].hide()};
+
+/*
+ dialog.getElementById('preview').onclick = function() {
+ var f_url = dialog.getElementById("f_url");
+ var url = f_url.value;
+
+ if (!url) {
+ alert(dialog._lc("You must enter the URL"));
+ f_url.focus();
+ return false;
+ }
+ dialog.getElementById('ipreview').src = url;
+ return false;
+ }
+ dialog.onresize = function ()
+ {
+ var newHeightForPreview =
+ parseInt(this.height,10)
+ - this.getElementById('h1').offsetHeight
+ - this.getElementById('buttons').offsetHeight
+ - this.getElementById('inputs').offsetHeight
+ - parseInt(this.rootElem.style.paddingBottom,10); // we have a padding at the bottom, gotta take this into acount
+
+
+ this.getElementById("ipreview").style.height = ((newHeightForPreview > 0) ? newHeightForPreview : 0) + "px"; // no-go beyond 0
+
+ this.getElementById("ipreview").style.width = this.width - 2 + 'px'; // and the width
+
+ }
+*/
+
+ this.imageDialogReady = true;
+};
+
+// and finally ... take some action
+OpenCCM.prototype.imageApply = function()
+{
+ var param = this.dialogs["images"].hide();
+ if (!param.f_url)
+ {
+ return;
+ }
+ var editor = this.editor;
+ var img = this.image;
+ if ( !img )
+ {
+ if ( Xinha.is_ie )
+ {
+ var sel = editor.getSelection();
+ var range = editor.createRange(sel);
+ editor._doc.execCommand("insertimage", false, param.f_url);
+ img = range.parentElement();
+ // wonder if this works...
+ if ( img.tagName.toLowerCase() != "img" )
+ {
+ img = img.previousSibling;
+ }
+ }
+ else
+ {
+ img = document.createElement('img');
+ img.src = param.f_url;
+ editor.insertNodeAtSelection(img);
+ if ( !img.tagName )
+ {
+ // if the cursor is at the beginning of the document
+ img = range.startContainer.firstChild;
+ }
+ }
+ }
+ else
+ {
+ img.src = param.f_url;
+ }
+
+ for ( var field in param )
+ {
+ var value = param[field];
+ switch (field)
+ {
+ case "f_alt":
+ if (value)
+ img.alt = value;
+ else
+ img.removeAttribute("alt");
+ break;
+ case "f_border":
+ if (value)
+ img.border = parseInt(value || "0");
+ else
+ img.removeAttribute("border");
+ break;
+ case "f_align":
+ if (value.value)
+ img.align = value.value;
+ else
+ img.removeAttribute("align");
+ break;
+ case "f_vert":
+ if (value != "")
+ img.vspace = parseInt(value || "0");
+ else
+ img.removeAttribute("vspace");
+ break;
+ case "f_horiz":
+ if (value != "")
+ img.hspace = parseInt(value || "0");
+ else
+ img.removeAttribute("hspace");
+ break;
+ case "f_width":
+ if (value)
+ img.width = parseInt(value || "0");
+ else
+ img.removeAttribute("width");
+ break;
+ case "f_height":
+ if (value)
+ img.height = parseInt(value || "0");
+ else
+ img.removeAttribute("height");
+ break;
+ }
+ }
+
+};
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/de.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+{
+ "OpenCCMInsertLink" : "Link einfügen / bearbeiten",
+ "OpenCCMInsertImage" : "Bild einfügen / bearbeiten",
+}
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/lang/en.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,6 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+{
+ "OpenCCMInsertLink" : "Create / modify link",
+ "OpenCCMInsertImage" : "Insert / modify image",
+}
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.html 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,154 @@
+<style>
+ .common {
+ margin: 0.4em;
+ }
+ fieldset {
+ margin: 0.6em 0.3em;
+ }
+
+ label.key {
+ float: left;
+ width: 5em;
+ padding: 0.25em 0.2em;
+ }
+
+ .value {
+ margin-left: 5.5em;
+ margin-right: 1em;
+ }
+
+ .withButton {
+ margin: 0em 0.2em 0em 12em;
+ }
+
+ .withButton input[type="text"] {
+ float: left;
+ margin-left: -6em;
+ }
+
+ .withButton input[type="button"] {
+ position: relative;
+ width: 5em !important;
+ }
+
+ input {
+ width: auto !important;
+ }
+
+ input[type="text"] {
+ width: 100% !important;
+ }
+
+
+ .itemname {
+ margin: 0.1em;
+ border: none;
+ border-radius: 0.3em;
+ padding: 0.2em;
+ font-style: italic;
+ color: #4a4a4a;
+ background-color: #dddddd;
+ }
+
+ .buttons {
+ text-align: center;
+ }
+</style>
+<h1 id="[h1]">
+ <l10n>Insert/Modify Link</l10n>
+</h1>
+<div style="position:relative">
+ <div id="[options]">
+ <div class="common">
+ <label class="key" for="[title]">
+ <l10n>Title:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[title]" id="[title]"/>
+ </div>
+ </div>
+ <fieldset id="[fieldset_internal]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_internal]" value="internal" checked="checked"/>
+ <l10n>Internal Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[ci_name]">
+ <l10n>Item:</l10n>
+ </label>
+ <div class="value withButton">
+<!-- Ausgeblendet, bis es eine spezielle JSP / Java-Klasse gibt.
+ <input class="itemname" type="text" name="[ci_name]" id="[ci_name]" disabled="disabled" value="_(No item selected)"/>
+-->
+<!-- Die folgende Zeile muß entfernt werden, wenn eine bessere JSP / Java-Klasse vorhanden ist -->
+ <input type="text" disabled="disabled" name="[ci_href]" id="[ci_href]" value=""/>
+ <input type="button" name="[ci_browse]" id="[ci_browse]" value="_(Browse)"/>
+ </div>
+<!-- Ausblenden, bis es eine spezielle JSP / Java-Klasse gibt, die besser mit externen Parametern arbeitet
+ <div class="value withButton">
+ <input type="text" name="[ci_searchfield]" id="[ci_searchfield]" value=""/>
+ <input type="button" name="[ci_search]" id="[ci_search]" value="_(Search)"/>
+ </div>
+ <input type="hidden" name="[ci_href]" id="[ci_href]" value=""/>
+-->
+ </fieldset>
+ <fieldset id="[fieldset_external]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_external]" value="external"/>
+ <l10n>External Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[href]">
+ <l10n>URL:</l10n>
+ </label>
+ <div class="value">
+ <input type="text" name="[href]" id="[href]" value=""/>
+ </div>
+ </fieldset>
+
+<!-- Evt. für spätere Erweiteung, aber eigentlich sollten Links auf Contact-Items verwendet werden -->
+<!--
+ <fieldset id="[fieldset_mailto]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_mailto]" value="mailto"/>
+ <l10n>Email Link</l10n>
+ </label>
+ </legend>
+ <label class="key" for="[to]">
+ <l10n>Email Address:</l10n>
+ </label>
+ <div class="value">
+ <input "type="text" name="[to]" id="[to]" value=""/>
+ </div>
+ </fieldset>
+-->
+<!-- Für spätere Erweiterung. Scanne nach Anchor und trage sie ein -->
+<!--
+ <fieldset id="[fieldset_anchor]">
+ <legend>
+ <label>
+ <input type="radio" name="[type]" id="[type_anchor]" value="anchor"/>
+ <l10n>Anchor Link</l10n>
+ </label>
+ </legend>
+ <label class="key" "for="[anchor]">
+ <l10n>Anchor:</l10n>
+ </label>
+ <div class="value">
+ <select name="[anchor]" id="[anchor]">
+ </select>
+ </div>
+ </fieldset>
+-->
+ <div class="buttons">
+ <input type="button" id="[ok]" value="_(OK)" />
+ <input type="button" id="[clear]" value="_(Remove Link)" />
+ <input type="button" id="[cancel]" value="_(Cancel)" />
+ </div>
+ </div>
+</div>
+
+
Added: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js
===================================================================
--- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js (rev 0)
+++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/links/links.js 2012-12-08 11:12:50 UTC (rev 2344)
@@ -0,0 +1,237 @@
+OpenCCM.prototype.showLinkDialog = function(link)
+{
+ if (!this.dialogs["links"])
+ {
+ this.prepareLinkDialog();
+ }
+
+ var editor = this.editor;
+ this.link = link;
+ if(!link && this.editor.selectionEmpty(this.editor.getSelection()))
+ {
+ alert(this._lc("You need to select some text before creating a link"));
+ return false;
+ }
+
+ var data =
+ {
+ title : '',
+ type : 'internal',
+ ci_name : '',
+ ci_href : '',
+ href : ''
+ };
+
+ if(link && link.tagName.toLowerCase() == 'a')
+ {
+ var href =this.editor.fixRelativeLinks(link.getAttribute('href'));
+ var internal = href.match(/^(\/.*)$/);
+ var external = href.match(/^http(.*)$/);
+/*
+ var mailto = href.match(/^mailto:(.*@[^?&]*)(\?(.*))?$/);
+ var anchor = href.match(/^#(.*)$/);
+*/
+ data.title = link.title;
+
+ if(internal)
+ {
+ data.type = 'internal';
+ data.ci_name = link.alt;
+ data.ci_href = href;
+ }
+
+ if(external)
+ {
+ data.type = 'external';
+ data.href = href;
+ }
+
+ }
+
+ // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog
+ this.dialogs["links"].show(data);
+
+};
+
+// Prepare the link dialog
+OpenCCM.prototype.prepareLinkDialog = function()
+{
+ var self = this;
+ var editor = this.editor;
+
+ var dialog = this.dialogs["links"] = new Xinha.Dialog(editor, OpenCCM.linksHtml, 'Xinha',{width:400})
+
+ // Connect the OK and Cancel buttons
+ dialog.getElementById('ok').onclick = function() { self.linkApply(); };
+ dialog.getElementById('clear').onclick = function() { self.linkRemove(); };
+ dialog.getElementById('cancel').onclick = function() { self.dialogs["links"].hide()};
+
+ // Connect the Browse and Search button
+ dialog.getElementById('ci_browse').onclick = function() { self.linkBrowse(window); };
+/* Suche deaktivert, bis eine bessere JSP / Java-Klasse vorhanden ist
+ dialog.getElementById('ci_search').onclick = function() { alert("Das geht auch...
[truncated message content] |
|
From: <pb...@fe...> - 2012-12-08 09:51:59
|
Author: pboy
Date: 2012-12-08 09:51:50 +0000 (Sat, 08 Dec 2012)
New Revision: 2343
Modified:
trunk/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java
Log:
Enhanced ServiceServlet to serve links which additionally contain the filename (enabling a better download statistics).
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java 2012-12-08 08:46:38 UTC (rev 2342)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ServiceServlet.java 2012-12-08 09:51:50 UTC (rev 2343)
@@ -124,6 +124,11 @@
/**
* Implements the (abstract) doService method of BaseApplicationServlet to
* perform the services.
+ * @param sreq
+ * @param sresp
+ * @param app
+ * @throws ServletException
+ * @throws IOException
* @see com.arsdigita.web.BaseApplicationServlet#doService
* (HttpServletRequest, HttpServletResponse, Application)
*/
@@ -146,7 +151,7 @@
// An empty remaining URL or a URL which doesn't end in trailing slash:
// probably want to redirect.
if ( m_trailingSlashList.contains(url) && !originalUrl.endsWith("/") ) {
- DispatcherHelper.sendRedirect(sresp, originalUrl + "/");
+ DispatcherHelper.sendRedirect(sreq, sresp, originalUrl + "/");
return;
}
@@ -155,6 +160,19 @@
/* checkUserAccess(request, response, actx); */
ResourceHandler page = getResource(url);
+
+ if (page == null) {
+ //Retry without last part
+ final String[] tokens = url.split("/");
+
+ final StringBuilder altUrlBuilder = new StringBuilder('/');
+ for(int i = 0; i < tokens.length - 1; i++) {
+ altUrlBuilder.append(tokens[i]);
+ altUrlBuilder.append('/');
+ }
+ page = getResource(altUrlBuilder.toString());
+ }
+
if ( page != null ) {
// Serve the page.
page.init();
|
|
From: <pb...@fe...> - 2012-12-08 08:46:46
|
Author: pboy
Date: 2012-12-08 08:46:38 +0000 (Sat, 08 Dec 2012)
New Revision: 2342
Added:
trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade
Removed:
trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade
Modified:
trunk/
trunk/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java
trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java
trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
trunk/ccm-cms-assets-notes/application.xml
trunk/ccm-cms-types-article/application.xml
trunk/ccm-cms-types-event/application.xml
trunk/ccm-cms-types-newsitem/application.xml
trunk/ccm-ldn-types-esdservice/application.xml
trunk/ccm-simplesurvey/application.xml
Log:
Fixed various version numbers.
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
- runtime
build-projects.xml
local.**.properties
build.xml
packages
nbproject
.ant-targets-build.xml
.local.ccm.properties.swp
.tmp.project.xml
.tmp.applications.list
.tmp.applications.list.swp
.README.swp
README
Project:*
*.war
+ conf
runtime
build-projects.xml
local.**.properties
build.xml
packages
nbproject
.ant-targets-build.xml
.local.ccm.properties.swp
.tmp.project.xml
.tmp.applications.list
.tmp.applications.list.swp
.local.runtime.properties.swp
.local.build.properties.swp
Modified: trunk/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java
===================================================================
--- trunk/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-auth-http/src/com/arsdigita/auth/http/Loader.java 2012-12-08 08:46:38 UTC (rev 2342)
@@ -28,9 +28,8 @@
import com.arsdigita.runtime.ScriptContext;
import com.arsdigita.util.parameter.Parameter;
import com.arsdigita.util.parameter.StringParameter;
-import com.arsdigita.web.ApplicationType;
import com.arsdigita.web.Application;
-
+import com.arsdigita.web.ApplicationType;
import org.apache.log4j.Logger;
/**
Modified: trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java
===================================================================
--- trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java 2012-12-08 08:46:38 UTC (rev 2342)
@@ -21,6 +21,8 @@
import com.arsdigita.cms.contentassets.ItemImageAttachment;
import com.arsdigita.bebop.AbstractSingleSelectionModel;
+import com.arsdigita.bebop.ActionLink;
+import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Page;
import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.RequestLocal;
@@ -29,6 +31,7 @@
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.ImageChooser;
import com.arsdigita.cms.ui.SecurityPropertyEditor;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
@@ -68,11 +71,13 @@
m_attachmentOID = new OIDParameter( "attachmentID" );
m_attachmentSelection = new AttachmentSelectionModel();
+
m_add = new ImageStepEdit( this );
WorkflowLockedComponentAccess addCA =
new WorkflowLockedComponentAccess( m_add, m_itemSelection );
addComponent( "add", "Add Image", addCA );
+
m_display = new ImageStepDisplay( this );
setDisplayComponent(m_display);
@@ -93,6 +98,7 @@
});
}
+ @Override
public void register( Page p ) {
super.register( p );
@@ -132,9 +138,12 @@
extends AbstractSingleSelectionModel
{
private final RequestLocal m_attachment = new RequestLocal() {
+ @Override
protected Object initialValue( PageState ps ) {
OID oid = (OID) getSelectedKey( ps );
- if( null == oid ) return null;
+ if( null == oid ) {
+ return null;
+ }
return DomainObjectFactory.newInstance( oid );
}
@@ -142,7 +151,9 @@
public Object getSelectedKey( PageState ps ) {
OID oid = (OID) ps.getValue( m_attachmentOID );
- if( null == oid ) return null;
+ if( null == oid ) {
+ return null;
+ }
return oid;
}
Modified: trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java
===================================================================
--- trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java 2012-12-08 08:46:38 UTC (rev 2342)
@@ -18,8 +18,6 @@
package com.arsdigita.cms.contentassets.ui;
-import com.arsdigita.cms.contentassets.ItemImageAttachment;
-
import com.arsdigita.bebop.ActionLink;
import com.arsdigita.bebop.ColumnPanel;
import com.arsdigita.bebop.Component;
@@ -39,33 +37,31 @@
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.ParameterEvent;
import com.arsdigita.bebop.event.ParameterListener;
+import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.form.TextField;
-import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
+import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.StringLengthValidationListener;
-import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.StringParameter;
-import com.arsdigita.domain.DataObjectNotFoundException;
-import com.arsdigita.persistence.DataCollection;
-import com.arsdigita.util.Assert;
-import com.arsdigita.util.StringUtils;
-
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ImageAsset;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ReusableImageAsset;
+import com.arsdigita.cms.contentassets.ItemImageAttachment;
import com.arsdigita.cms.ui.FileUploadSection;
import com.arsdigita.cms.ui.ImageBrowser;
import com.arsdigita.cms.ui.ImageChooser;
-
+import com.arsdigita.domain.DataObjectNotFoundException;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.util.Assert;
+import com.arsdigita.util.StringUtils;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-
import org.apache.log4j.Logger;
public class ImageStepEdit extends SimpleContainer
@@ -143,8 +139,9 @@
private void setImageComponent( PageState ps, final String activeKey ) {
m_imageComponent.setSelectedKey( ps, activeKey );
- if( s_log.isDebugEnabled() )
+ if( s_log.isDebugEnabled() ) {
s_log.debug( "Selected component: " + activeKey );
+ }
Map componentsMap = m_imageComponent.getComponentsMap();
Iterator i = componentsMap.keySet().iterator();
@@ -167,17 +164,18 @@
PageState ps = event.getPageState();
ItemImageAttachment attachment = m_imageStep.getAttachment( ps );
- if( null == attachment ) return;
-
- // XXX: Do something
+ if( null == attachment ) {
+ // XXX: Do something
+ }
}
public void process( FormSectionEvent event ) throws FormProcessException {
PageState ps = event.getPageState();
ImageComponent component = getImageComponent( ps );
- if( !component.getSaveCancelSection().getSaveButton().isSelected( ps ) )
+ if( !component.getSaveCancelSection().getSaveButton().isSelected( ps ) ) {
return;
+ }
ContentItem item = m_imageStep.getItem( ps );
if( null == item ) {
@@ -270,7 +268,8 @@
add(new Label("Use Context"));
m_useContext = new TextField("useContext");
m_useContext.setSize(40);
- m_useContext.addValidationListener( new UniqueUseContextListener() );
+// Removed to use multiple images with fancyBox
+// m_useContext.addValidationListener( new UniqueUseContextListener() );
add(m_useContext);
m_saveCancel = new SaveCancelSection();
@@ -417,7 +416,8 @@
m_form.add(new Label("Use Context"));
m_useContext = new TextField("useContext");
m_useContext.setSize(40);
- m_useContext.addValidationListener( new UniqueUseContextListener() );
+// Removed to use multiple images with fancyBox
+// m_useContext.addValidationListener( new UniqueUseContextListener() );
m_form.add(m_useContext);
m_saveCancel = new SaveCancelSection();
Modified: trunk/ccm-cms-assets-notes/application.xml
===================================================================
--- trunk/ccm-cms-assets-notes/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-assets-notes/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,8 +2,8 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-cms-assets-notes"
prettyName="Red Hat CMS Content Asset Notes"
- version="6.6.0"
- release="2"
+ version="6.6.1"
+ release="1"
webapp="ROOT">
<ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
Modified: trunk/ccm-cms-types-article/application.xml
===================================================================
--- trunk/ccm-cms-types-article/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-types-article/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,7 +2,7 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-cms-types-article"
prettyName="Red Hat CCM Content Types"
- version="6.6.0"
+ version="6.6.1"
release="1"
webapp="ROOT">
<ccm:dependencies>
Modified: trunk/ccm-cms-types-event/application.xml
===================================================================
--- trunk/ccm-cms-types-event/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-types-event/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,8 +2,8 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-cms-types-event"
prettyName="Red Hat CCM Content Types"
- version="6.6.0"
- release="2"
+ version="6.6.1"
+ release="1"
webapp="ROOT">
<ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
Modified: trunk/ccm-cms-types-newsitem/application.xml
===================================================================
--- trunk/ccm-cms-types-newsitem/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-cms-types-newsitem/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,8 +2,8 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-cms-types-newsitem"
prettyName="Red Hat CCM Content Types"
- version="6.6.0"
- release="2"
+ version="6.6.1"
+ release="1"
webapp="ROOT">
<ccm:dependencies>
<ccm:requires name="ccm-core" version="6.6.0" relation="ge"/>
Modified: trunk/ccm-ldn-types-esdservice/application.xml
===================================================================
--- trunk/ccm-ldn-types-esdservice/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-ldn-types-esdservice/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,7 +2,7 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-ldn-types-esdservice"
prettyName="Red Hat CCM Content Types"
- version="6.6.0"
+ version="6.6.1"
release="1"
webapp="ROOT">
<ccm:dependencies>
Added: trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade
===================================================================
--- trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade (rev 0)
+++ trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservice.upgrade 2012-12-08 08:46:38 UTC (rev 2342)
@@ -0,0 +1,5 @@
+<upgrade>
+ <version from="6.6.0" to="6.6.1">
+ <script sql="ccm-ldn-types-esdservice/upgrade/::database::-6.6.0-6.6.1.sql"/>
+ </version>
+</upgrade>
\ No newline at end of file
Deleted: trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade
===================================================================
--- trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-ldn-types-esdservice/src/ccm-ldn-types-esdservikce.upgrade 2012-12-08 08:46:38 UTC (rev 2342)
@@ -1,5 +0,0 @@
-<upgrade>
- <version from="6.6.0" to="6.6.1">
- <script sql="ccm-ldn-types-esdservice/upgrade/::database::-6.6.0-6.6.1.sql"/>
- </version>
-</upgrade>
\ No newline at end of file
Modified: trunk/ccm-simplesurvey/application.xml
===================================================================
--- trunk/ccm-simplesurvey/application.xml 2012-12-08 08:44:04 UTC (rev 2341)
+++ trunk/ccm-simplesurvey/application.xml 2012-12-08 08:46:38 UTC (rev 2342)
@@ -2,7 +2,7 @@
<ccm:application xmlns:ccm="http://ccm.redhat.com/ccm-project"
name="ccm-simplesurvey"
prettyName="Simple Survey"
- version="6.6.0"
+ version="6.6.1"
release="1"
webapp="ROOT">
<ccm:dependencies>
|
|
From: <pb...@fe...> - 2012-12-08 08:44:13
|
Author: pboy
Date: 2012-12-08 08:44:04 +0000 (Sat, 08 Dec 2012)
New Revision: 2341
Modified:
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
trunk/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchSection.java
trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java
Log:
Various UI improvements for cms:
- Improved EditStep to support image galleries
- New parameter com.arsdigita.cms.allow_category_create_use_context
to suppress deprecated link Create Use Context
- Suppress link to delete categories if they are created by terms
(and must be deleted using terms)
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig.java 2012-12-08 08:44:04 UTC (rev 2341)
@@ -40,23 +40,11 @@
import com.arsdigita.cms.ui.authoring.ItemCategoryForm;
import com.arsdigita.runtime.AbstractConfig;
import com.arsdigita.util.StringUtils;
-import com.arsdigita.util.parameter.BooleanParameter;
-import com.arsdigita.util.parameter.EnumerationParameter;
-import com.arsdigita.util.parameter.ErrorList;
-import com.arsdigita.util.parameter.IntegerParameter;
-import com.arsdigita.util.parameter.Parameter;
-import com.arsdigita.util.parameter.ResourceParameter;
-import com.arsdigita.util.parameter.SpecificClassParameter;
-import com.arsdigita.util.parameter.StringArrayParameter;
-import com.arsdigita.util.parameter.StringParameter;
+import com.arsdigita.util.parameter.*;
+
import java.io.InputStream;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
import org.apache.log4j.Logger;
/**
@@ -102,7 +90,7 @@
*/
private static Map s_skipAssetSteps = null;
/**
- * Item category add form speciofies Subclass of ItemCategoryForm to use for
+ * Item category add form specifies Subclass of ItemCategoryForm to use for
* the assign categories step. Used in
* c.ad.cms.ui.authoring.ItemCategoryStep
*/
@@ -439,6 +427,19 @@
Parameter.OPTIONAL,
Category.SORT_KEY);
/**
+ * Allow creation of a new Use Context in category tab of content sections.
+ * "Use Context" is the construct to constitute a category hierarchy
+ * implementet in core. It is superseded by the construct "Category Domain"
+ * in Terms (ccm-ldn-terms).
+ * Global parameter for all content sections. Default is false because all
+ * installation bundles use Terms.
+ */
+ private final Parameter m_allowCategoryCreateUseContext =
+ new BooleanParameter(
+ "com.arsdigita.cms.allow_category_create_use_context",
+ Parameter.REQUIRED,
+ Boolean.FALSE);
+ /**
* Allow content creation in Workspace (content center) section listing.
* Allows you to turn off the ability to create content in the section
* listing
@@ -451,7 +452,7 @@
/**
* Hide the legacy public site link in Workspace (content center) section
* listing. Legacy public site display is replaced by navigation based
- * presentation (or by portlets) and should be hidden in the admin ui be
+ * presentation (or by portlets) and should be hidden in the admin ui by
* default now.
*/
private final Parameter m_hideLegacyPublicSiteLink =
@@ -570,9 +571,6 @@
//Actives threaded publishing. If active, the publish process for
//content items will run in a separate thread. May useful if you have
//large objects.
- //
- //WARNING: Not tested very much. Use at your own risk.
- //
////////////////////////////////////////////////////
private final Parameter m_threadPublishing = new BooleanParameter(
"com.arsdigita.cms.lifecycle.threaded_publishing",
@@ -664,6 +662,7 @@
register(m_categoryTreeOrdering);
register(m_hasContactsAuthoringStep);
register(m_hideTextAssetUploadFile);
+ register(m_allowCategoryCreateUseContext);
register(m_allowContentCreateInSectionListing);
register(m_hideLegacyPublicSiteLink);
@@ -1081,6 +1080,20 @@
return ((Boolean) get(m_hideTextAssetUploadFile)).booleanValue();
}
+ /**
+ * Retrieve whether to allow creation of a new Use Context in category tab
+ * of content sections. "Use Context" is used to constitute a category
+ * hierarchy in core. It is superseded by the construct "Category Domain"
+ * in Terms (ccm-ldn-terms).
+ * Global parameter for all content sections. Default is false because all
+ * installation bundles use Terms.
+ * @return TRUE if creation is allowed, otherwise FALSE (default)
+ */
+ public final boolean getAllowCategoryCreateUseContext() {
+ return ((Boolean) get(m_allowCategoryCreateUseContext)).
+ booleanValue();
+ }
+
public final boolean getAllowContentCreateInSectionListing() {
return ((Boolean) get(m_allowContentCreateInSectionListing)).
booleanValue();
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties 2012-12-08 08:44:04 UTC (rev 2341)
@@ -229,6 +229,11 @@
com.arsdigita.cms.hide_text_asset_upload_file.example=false
com.arsdigita.cms.hide_text_asset_upload_file.format=[boolean]
+com.arsdigita.cms.allow_category_create_use_context.title=Allow Use Context creation in content sections
+com.arsdigita.cms.allow_category_create_use_context.purpose=In Categories tab show the option to create a new Use Context. False by default because Terms should be used.
+com.arsdigita.cms.allow_category_create_use_context.example=false
+com.arsdigita.cms.allow_category_create_use_context.format=[boolean]
+
com.arsdigita.cms.allow_content_create_in_section_listing.title=Allow content creation in section listing
com.arsdigita.cms.allow_content_create_in_section_listing.purpose=Allows you to turn off the ability to create content in the section listing
com.arsdigita.cms.allow_content_create_in_section_listing.example=true
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-08 08:44:04 UTC (rev 2341)
@@ -1098,3 +1098,4 @@
cms.ui.item_search.flat.place=Place
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=This category can't be deleted.
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-08 08:44:04 UTC (rev 2341)
@@ -530,7 +530,7 @@
cms.ui.item.invalid_start_date_please_try_again=Un\u00fcltiges Anfangsdatum, bitte erneut versuchen
cms.ui.item.language.add=Sprache hinzuf\u00fcgen
cms.ui.item.language.change=Sprache \u00e4ndern
-cms.ui.item.languages=Sprachen
+cms.ui.item.languages=Sprachen
cms.ui.item.lifecycle.apply=Anzuwendenden Lebenszyklus ausw\u00e4hlen
cms.ui.item.lifecycle.end_date=Enddatum
@@ -1089,3 +1089,4 @@
cms.ui.item_search.flat.place=Ort
cms.ui.item_search.flat.type=Typ
cms.ui.item_search.flatBrowse=Item ausw\u00e4hlen
+cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden.
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties 2012-12-08 08:44:04 UTC (rev 2341)
@@ -37,3 +37,4 @@
cms.ui.item_search.flat.place=Place
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties 2012-12-08 08:44:04 UTC (rev 2341)
@@ -568,3 +568,4 @@
cms.ui.item_search.flat.place=Place
cms.ui.item_search.flat.type=Type
cms.ui.item_search.flatBrowse=Select item
+cms.ui.category.undeletable=
Modified: trunk/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionConfig.java 2012-12-08 08:44:04 UTC (rev 2341)
@@ -20,11 +20,7 @@
package com.arsdigita.cms.contentsection;
import com.arsdigita.runtime.AbstractConfig;
-import com.arsdigita.util.parameter.BooleanParameter;
-import com.arsdigita.util.parameter.IntegerParameter;
-import com.arsdigita.util.parameter.Parameter;
-import com.arsdigita.util.parameter.StringArrayParameter;
-import com.arsdigita.util.parameter.StringParameter;
+import com.arsdigita.util.parameter.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -671,7 +667,7 @@
/**
- * Retrieve weather to use section specific categories. If true they are
+ * Retrieve whether to use section specific categories. If true they are
* loaded using the next parameters file list {@see getUseSectionCategories()}
*
* Default value is false, so standard navigation is used.
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFlatBrowsePane.java 2012-12-08 08:44:04 UTC (rev 2341)
@@ -13,6 +13,8 @@
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
+import com.arsdigita.bebop.event.PrintEvent;
+import com.arsdigita.bebop.event.PrintListener;
import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.BigDecimalParameter;
import com.arsdigita.bebop.parameters.StringParameter;
@@ -47,6 +49,7 @@
public static final String SEARCHWIDGET_PARAM = "searchWidget";
private final Table resultsTable;
private final StringParameter queryParam;
+ private final Label jsLabel;
public ItemSearchFlatBrowsePane(final String name) {
@@ -54,15 +57,34 @@
queryParam = new StringParameter(QUERY_PARAM);
- final BoxPanel boxPanel = new BoxPanel(BoxPanel.HORIZONTAL);
+ final BoxPanel boxPanel = new BoxPanel(BoxPanel.HORIZONTAL);
boxPanel.add(new Label(GlobalizationUtil.globalize("cms.ui.item_search.flat.filter")));
final TextField filter = new TextField(new StringParameter(QUERY_PARAM));
- boxPanel.add(filter);
- add(boxPanel);
+ boxPanel.add(filter);
+ jsLabel = new Label("", false);
+ jsLabel.addPrintListener(new PrintListener() {
+ public void prepare(final PrintEvent event) {
+ final PageState state = event.getPageState();
+ final String searchWidget = (String) state.getValue(new StringParameter(SEARCHWIDGET_PARAM));
+ ((Label)event.getTarget()).setLabel(String.format(
+ " <script language=javascript type=\"text/javascript\">"
+ + "<!--"
+ + "alert(\"test\")"
+ + "self.elements['%s'].value='test';"//window.opener.document.%s.value;"
+ + "-->"
+ + "</script> ",
+ filter.getName(),
+ searchWidget));
+
+ }
+ });
+ boxPanel.add(jsLabel);
+ add(boxPanel);
+
resultsTable = new ResultsTable();
add(resultsTable);
-
+
addInitListener(this);
addProcessListener(this);
}
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchSection.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchSection.java 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchSection.java 2012-12-08 08:44:04 UTC (rev 2341)
@@ -156,7 +156,7 @@
p.setVisibleDefault(m_results, false);
p.addGlobalStateParam(new BigDecimalParameter(SINGLE_TYPE_PARAM));
}
-
+
/**
* Displays the "keywords" and "content types" widgets
*/
Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java
===================================================================
--- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java 2012-12-01 19:19:29 UTC (rev 2340)
+++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryAdminPane.java 2012-12-08 08:44:04 UTC (rev 2341)
@@ -18,24 +18,8 @@
*/
package com.arsdigita.cms.ui.category;
-import com.arsdigita.bebop.ActionLink;
-import com.arsdigita.bebop.Form;
-import com.arsdigita.bebop.FormProcessException;
-import com.arsdigita.bebop.Label;
-import com.arsdigita.bebop.List;
-import com.arsdigita.bebop.Page;
-import com.arsdigita.bebop.PageState;
-import com.arsdigita.bebop.ParameterSingleSelectionModel;
-import com.arsdigita.bebop.SimpleContainer;
-import com.arsdigita.bebop.SingleSelectionModel;
-import com.arsdigita.bebop.Tree;
-import com.arsdigita.bebop.event.ActionEvent;
-import com.arsdigita.bebop.event.ActionListener;
-import com.arsdigita.bebop.event.ChangeEvent;
-import com.arsdigita.bebop.event.ChangeListener;
-import com.arsdigita.bebop.event.FormSectionEvent;
-import com.arsdigita.bebop.event.PrintEvent;
-import com.arsdigita.bebop.event.PrintListener;
+import com.arsdigita.bebop.*;
+import com.arsdigita.bebop.event.*;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.categorization.CategorizedCollection;
@@ -51,12 +35,15 @@
import com.arsdigita.kernel.permissions.PermissionDescriptor;
import com.arsdigita.kernel.permissions.PermissionService;
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
+import com.arsdigita.persistence.DataCollection;
+import com.arsdigita.persistence.Session;
+import com.arsdigita.persistence.SessionManager;
import com.arsdigita.toolbox.ui.ActionGroup;
+import com.arsdigita.toolbox.ui.DataQueryBuilder;
import com.arsdigita.toolbox.ui.Section;
import com.arsdigita.xml.Element;
-
import java.math.BigDecimal;
-
+import java.util.TooManyListenersException;
import org.apache.log4j.Logger;
/**
@@ -67,16 +54,12 @@
*/
public final class CategoryAdminPane extends BaseAdminPane {
- public static final String CONTEXT_SELECTED="sel_context";
+ public static final String CONTEXT_SELECTED = "sel_context";
private static final String DEFAULT_USE_CONTEXT =
- CategoryUseContextModelBuilder.DEFAULT_USE_CONTEXT;
-
- private static final Logger s_log = Logger.getLogger
- (CategoryAdminPane.class);
-
+ CategoryUseContextModelBuilder.DEFAULT_USE_CONTEXT;
+ private static final Logger s_log = Logger.getLogger(CategoryAdminPane.class);
private final SingleSelectionModel m_contextModel;
private final Tree m_categoryTree;
-
private final SingleSelectionModel m_model;
private final CategoryRequestLocal m_parent;
private final CategoryRequestLocal m_category;
@@ -93,7 +76,7 @@
List list = new List(new CategoryUseContextModelBuilder());
list.setSelectionModel(m_contextModel);
list.addChangeListener(new ContextSelectionListener());
-
+
/* Category tree section */
m_categoryTree = new BaseTree(new CategoryTreeModelBuilder(m_contextModel));
m_categoryTree.addChangeListener(new SelectionListener());
@@ -102,20 +85,23 @@
setSelectionModel(m_model);
setSelector(m_categoryTree);
-
+
/* setup use context form */
final Section contextSection = new Section();
contextSection.setHeading(new Label(gz("cms.ui.category.use_contexts")));
ActionGroup contextGroup = new ActionGroup();
contextSection.setBody(contextGroup);
contextGroup.setSubject(list);
- ActionLink addContextAction = new ActionLink(new Label(gz("cms.ui.category.add_use_context")));
- Form addContextForm = new AddUseContextForm(m_contextModel);
- getBody().add(addContextForm);
- getBody().connect(addContextAction,addContextForm);
- contextGroup.addAction(new VisibilityComponent(addContextAction,
- SecurityManager.CATEGORY_ADMIN));
+ if (CMS.getConfig().getAllowCategoryCreateUseContext()) {
+ ActionLink addContextAction = new ActionLink(new Label(gz("cms.ui.category.add_use_context")));
+ Form addContextForm = new AddUseContextForm(m_contextModel);
+ getBody().add(addContextForm);
+ getBody().connect(addContextAction, addContextForm);
+ contextGroup.addAction(new VisibilityComponent(addContextAction,
+ SecurityManager.CATEGORY_ADMIN));
+ }
+
final Section categorySection = new Section();
categorySection.setHeading(new Label(gz("cms.ui.categories")));
ActionGroup categoryGroup = new ActionGroup();
@@ -136,10 +122,9 @@
setEdit(gz("cms.ui.category.edit"),
new CategoryEditForm(m_parent, m_category));
+
+ setDelete(new DeleteLink(new Label(gz("cms.ui.category.delete"))), new DeleteForm(new SimpleContainer()));
- setDelete(new DeleteLink(new Label(gz("cms.ui.category.delete"))),
- new DeleteForm(new SimpleContainer()));
-
setIntroPane(new Label(gz("cms.ui.category.intro")));
setItemPane(new CategoryItemPane(m_model, m_category,
getAddLink(), getEditLink(),
@@ -151,7 +136,7 @@
}
-
+ @Override
public void register(final Page page) {
super.register(page);
@@ -159,62 +144,78 @@
}
private final class DeleteLink extends ActionLink {
+
private final Label m_alternativeLabel;
DeleteLink(Label label) {
super(label);
- m_alternativeLabel = new Label("Can't be deleted");
+ m_alternativeLabel = new Label(gz("cms.ui.category.undeletable"));
}
+ @Override
public void generateXML(PageState state, Element parent) {
- if (!isVisible(state)) { return; }
+ if (!isVisible(state)) {
+ return;
+ }
Category cat = m_category.getCategory(state);
String context = getUseContext(state);
boolean isDefaultContext =
- (context==null) || DEFAULT_USE_CONTEXT.equals(context);
-
- if (isDefaultContext && cat.isRoot() ) {
+ (context == null) || DEFAULT_USE_CONTEXT.equals(context);
+
+
+ final Session session = SessionManager.getSession();
+ final DataCollection collection = session.retrieve("com.arsdigita.london.terms.Term");
+ collection.addPath("model.id");
+ collection.addPath("model.name");
+
+ collection.addFilter(String.format("model.id = %s", cat.getID().toString()));
+
+ if ((isDefaultContext && cat.isRoot()) || !collection.isEmpty()) {
m_alternativeLabel.generateXML(state, parent);
} else {
super.generateXML(state, parent);
}
}
+
}
private final class DeleteForm extends BaseDeleteForm {
+
DeleteForm(SimpleContainer prompt) {
super(prompt);
prompt.add(new Label(gz("cms.ui.category.delete_prompt")));
Label catLabel = new Label();
catLabel.addPrintListener(new PrintListener() {
- public void prepare(PrintEvent pe) {
- Label label = (Label) pe.getTarget();
- Category cat =
- m_category.getCategory(pe.getPageState());
- CategoryCollection descendants = cat.getDescendants();
- final long nDescendants = descendants.size() - 1;
- descendants.close();
- CategorizedCollection descObjects =
- cat.getDescendantObjects();
- final long nDescObjects = descObjects.size();
- descObjects.close();
- StringBuffer sb = new StringBuffer(" ");
- if (nDescendants > 0) {
- sb.append("This category has ");
- sb.append(nDescendants);
- sb.append(" descendant category(ies). ");
- }
- if (nDescObjects > 0) {
- sb.append("It has ").append(nDescObjects);
- sb.append(" descendant object(s). ");
- }
- if (nDescendants>0 || nDescObjects>0) {
- sb.append("Descendants will be orphaned, if this category is removed.");
- }
- label.setLabel(sb.toString());
+
+ public void prepare(PrintEvent pe) {
+ Label label = (Label) pe.getTarget();
+ Category cat =
+ m_category.getCategory(pe.getPageState());
+ CategoryCollection descendants = cat.getDescendants();
+ final long nDescendants = descendants.size() - 1;
+ descendants.close();
+ CategorizedCollection descObjects =
+ cat.getDescendantObjects();
+ final long nDescObjects = descObjects.size();
+ descObjects.close();
+ StringBuffer sb = new StringBuffer(" ");
+ if (nDescendants > 0) {
+ sb.append("This category has ");
+ sb.append(nDescendants);
+ sb.append(" descendant category(ies). ");
}
- });
+ if (nDescObjects > 0) {
+ sb.append("It has ").append(nDescObjects);
+ sb.append(" descendant object(s). ");
+ }
+ if (nDescendants > 0 || nDescObjects > 0) {
+ sb.append("Descendants will be orphaned, if this category is removed.");
+ }
+ label.setLabel(sb.toString());
+ }
+
+ });
prompt.add(catLabel);
}
@@ -222,22 +223,21 @@
throws FormProcessException {
final PageState state = e.getPageState();
final Category category = m_category.getCategory(state);
- if (category == null ) { return; }
+ if (category == null) {
+ return;
+ }
- PermissionService.assertPermission
- (new PermissionDescriptor
- (PrivilegeDescriptor.DELETE,
- category,
- Kernel.getContext().getParty()));
+ PermissionService.assertPermission(new PermissionDescriptor(PrivilegeDescriptor.DELETE,
+ category,
+ Kernel.getContext().getParty()));
if (category.isRoot()) {
Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (category.equals(root)) {
- Category.clearRootForObject
- (CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.clearRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
}
m_contextModel.setSelectedKey(state, DEFAULT_USE_CONTEXT);
} else {
@@ -247,9 +247,12 @@
category.deleteCategoryAndOrphan();
}
+
}
private final class SelectionRequestLocal extends CategoryRequestLocal {
+
+ @Override
protected final Object initialValue(final PageState state) {
final String id = m_model.getSelectedKey(state).toString();
@@ -259,53 +262,63 @@
return new Category(new BigDecimal(id));
}
}
+
}
private final class ParentRequestLocal extends CategoryRequestLocal {
+
+ @Override
protected final Object initialValue(final PageState state) {
return m_category.getCategory(state).getDefaultParentCategory();
}
+
}
private final class RootListener implements ActionListener {
+
public final void actionPerformed(final ActionEvent e) {
final PageState state = e.getPageState();
if (!m_model.isSelected(state)) {
final Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (root != null) {
m_model.setSelectedKey(state, root.getID());
}
}
}
+
}
private class UseContextSelectionModel extends ParameterSingleSelectionModel {
+
public UseContextSelectionModel(ParameterModel m) {
super(m);
}
+
+ @Override
public Object getSelectedKey(PageState state) {
Object val = super.getSelectedKey(state);
if (val == null || ((String) val).length() == 0) {
val = DEFAULT_USE_CONTEXT;
- state.setValue(getStateParameter(),val);
+ state.setValue(getStateParameter(), val);
fireStateChanged(state);
}
return val;
}
+
}
+
public String getUseContext(PageState state) {
String selected = (String) m_contextModel.getSelectedKey(state);
- return (DEFAULT_USE_CONTEXT).equals(selected) ?
- (String) null : selected;
+ return (DEFAULT_USE_CONTEXT).equals(selected) ? (String) null : selected;
}
- public class ContextSelectionListener implements ChangeListener {
+ public class ContextSelectionListener implements ChangeListener {
+
public final void stateChanged(final ChangeEvent e) {
- s_log.debug("Selection state changed; I may change " +
- "the body's visible pane");
+ s_log.debug("Selection state changed; I may change " + "the body's visible pane");
final PageState state = e.getPageState();
@@ -313,8 +326,8 @@
if (m_contextModel.isSelected(state)) {
final Category root =
- Category.getRootForObject(CMS.getContext().getContentSection(),
- getUseContext(state));
+ Category.getRootForObject(CMS.getContext().getContentSection(),
+ getUseContext(state));
if (root != null) {
m_model.setSelectedKey(state, root.getID());
@@ -323,12 +336,11 @@
}
if (m_model.isSelected(state)) {
- s_log.debug("The selection model is selected; displaying " +
- "the item pane");
+ s_log.debug("The selection model is selected; displaying " + "the item pane");
getBody().push(state, getItemPane());
}
}
+
}
-
}
|
|
From: <pb...@fe...> - 2012-12-01 19:19:36
|
Author: pboy
Date: 2012-12-01 19:19:29 +0000 (Sat, 01 Dec 2012)
New Revision: 2340
Modified:
releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
Log:
Added support for formulae in Xinha. Requires support by theme.
Modified: releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js
===================================================================
--- releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-01 19:15:31 UTC (rev 2339)
+++ releases/2.0.0/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js 2012-12-01 19:19:29 UTC (rev 2340)
@@ -13,7 +13,7 @@
xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"];
xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter",
"ContextMenu","DefinitionList","FindReplace","ListType","QuickTag",
- "SmartReplace","Stylist","TableOperations","UnFormat"];
+ "SmartReplace","Stylist","TableOperations","UnFormat","Equation"];
if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){
return;
}
|
|
From: <pb...@fe...> - 2012-12-01 19:15:38
|
Author: pboy
Date: 2012-12-01 19:15:31 +0000 (Sat, 01 Dec 2012)
New Revision: 2339
Modified:
releases/2.0.0/tools-ng/common/xsl/build-template.xsl
releases/2.0.0/tools-ng/ecdc/conf/build.properties
releases/2.0.0/tools-ng/ecdc/local.build.properties
Log:
Enhanced build system, new parameter compile.target[=1.x]
Modified: releases/2.0.0/tools-ng/common/xsl/build-template.xsl
===================================================================
--- releases/2.0.0/tools-ng/common/xsl/build-template.xsl 2012-12-01 19:13:36 UTC (rev 2338)
+++ releases/2.0.0/tools-ng/common/xsl/build-template.xsl 2012-12-01 19:15:31 UTC (rev 2339)
@@ -164,6 +164,8 @@
<property value="off" name="compile.deprecation"/>
<property value="off" name="compile.verbose"/>
<property value="off" name="compile.nowarn"/>
+ <!-- By default build target for the JVM version used by the actual build system -->
+ <property value="${{ant.java.version}}" name="compile.target"/>
<property value="rulesets/design.xml,rulesets/imports.xml"
name="pmd.rulesets"/>
@@ -557,6 +559,8 @@
<!-- Usually true by default setting, main work is done here! -->
<xsl:if test="$hassrcdir">
<mkdir dir="{$name}/${{build.src.dir}}"/>
+ <echo message="Build system version: ${{ant.java.version}} " />
+ <echo message="Compile target version: ${{compile.target}} " />
<xsl:if test="$jdodirs">
<if>
<not>
@@ -2230,6 +2234,7 @@
deprecation="${{compile.deprecation}}"
verbose="${{compile.verbose}}"
nowarn="${{compile.nowarn}}"
+ target="${{compile.target}}"
destdir="{$destdir}"
classpathref="{$classpathref}">
<src refid="{$srcpathref}"/>
Modified: releases/2.0.0/tools-ng/ecdc/conf/build.properties
===================================================================
--- releases/2.0.0/tools-ng/ecdc/conf/build.properties 2012-12-01 19:13:36 UTC (rev 2338)
+++ releases/2.0.0/tools-ng/ecdc/conf/build.properties 2012-12-01 19:15:31 UTC (rev 2339)
@@ -43,6 +43,10 @@
compile.verbose=off
compile.nowarn=on
+# Optionally specifiy version of target JVM.
+# By default the version of the build system is determined and used as target.
+#compile.target=1.6
+
# These properties are specific to Jikes
build.compiler.emacs=off
build.compiler.pedantic=off
Modified: releases/2.0.0/tools-ng/ecdc/local.build.properties
===================================================================
--- releases/2.0.0/tools-ng/ecdc/local.build.properties 2012-12-01 19:13:36 UTC (rev 2338)
+++ releases/2.0.0/tools-ng/ecdc/local.build.properties 2012-12-01 19:15:31 UTC (rev 2339)
@@ -28,8 +28,6 @@
# Set to Eclipse JDT batch compiler (requires ecj.jar)
#build.compiler=org.eclipse.jdt.core.JDTCompilerAdapter
-#ant.build.javac.source=1.6
-#ant.build.javac.target=1.6
# These properties apply to Javac and Jikes
#compile.debug=on
@@ -38,6 +36,10 @@
#compile.verbose=off
#compile.nowarn=on
+# Optionally specifiy version of target JVM.
+# By default the version of the build system is determined and used as target.
+#compile.target=1.6
+
# These properties are specific to Jikes
#build.compiler.emacs=off
#build.compiler.pedantic=off
|
Author: pboy
Date: 2012-12-01 19:13:36 +0000 (Sat, 01 Dec 2012)
New Revision: 2338
Modified:
releases/2.0.0/ccm-atoz/pdl/com/arsdigita/atoz/AtoZ.pdl
releases/2.0.0/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertyForm.java
releases/2.0.0/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java
releases/2.0.0/ccm-cms-types-htmlform/src/com/arsdigita/cms/contenttypes/ui/HTMLFormPropertyForm.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java
releases/2.0.0/ccm-webpage/src/com/arsdigita/cms/webpage/ui/authoring/WebpagePropertiesForm.java
Log:
Backport r1329, r2330, r2331
Modified: releases/2.0.0/ccm-atoz/pdl/com/arsdigita/atoz/AtoZ.pdl
===================================================================
--- releases/2.0.0/ccm-atoz/pdl/com/arsdigita/atoz/AtoZ.pdl 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-atoz/pdl/com/arsdigita/atoz/AtoZ.pdl 2012-12-01 19:13:36 UTC (rev 2338)
@@ -19,8 +19,9 @@
import com.arsdigita.web.Application;
-// In contrast to other applications atoz_app is needed here and used in
-// associations, e.g. AtoZProvider.
object type AtoZ extends Application {
- reference key (atoz_app.application_id);
+ // Nothing to persist yet
+ // there is only one instance of AtoZ and
+ // no instance specific settings about to be persisted.
+ reference key (atoz_app.application_id);
}
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -72,7 +72,7 @@
@Override
public void validate(FormSectionEvent e) throws FormProcessException {
- FormData d = e.getFormData();
+ super.validate(e);
}
/** Form initialisation hook. Fills widgets with data. */
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -30,11 +30,14 @@
import com.arsdigita.bebop.parameters.DateParameter;
import com.arsdigita.bebop.parameters.ParameterData;
import com.arsdigita.bebop.parameters.ParameterModel;
+import com.arsdigita.cms.ContentBundle;
+import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.util.GlobalizationUtil;
+import com.arsdigita.kernel.ACSObject;
import com.arsdigita.util.Assert;
import javax.servlet.ServletException;
@@ -50,7 +53,6 @@
public abstract class BasicPageForm extends BasicItemForm {
private FormSection m_widgetSection;
-
// public static final String DESCRIPTION = ContentPage.DESCRIPTION;
public static final String LAUNCH_DATE = ContentPage.LAUNCH_DATE;
@@ -73,13 +75,12 @@
* @param itemModel The {@link ItemSelectionModel} which will
* be responsible for loading the current item
*/
- public BasicPageForm(String formName,
- ColumnPanel columnPanel,
+ public BasicPageForm(String formName,
+ ColumnPanel columnPanel,
ItemSelectionModel itemModel) {
super(formName, columnPanel, itemModel);
}
-
/**
* Add various widgets to the form. Child classes should override
* this method to perform all their widget-adding needs
@@ -96,11 +97,9 @@
// add(description);
//
if (!ContentSection.getConfig().getHideLaunchDate()) {
- add(new Label(GlobalizationUtil.
- globalize("cms.ui.authoring.page_launch_date")));
+ add(new Label(GlobalizationUtil.globalize("cms.ui.authoring.page_launch_date")));
ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
- com.arsdigita.bebop.form.Date launchDate
- = new com.arsdigita.bebop.form.Date(launchDateParam);
+ com.arsdigita.bebop.form.Date launchDate = new com.arsdigita.bebop.form.Date(launchDateParam);
if (ContentSection.getConfig().getRequireLaunchDate()) {
launchDate.addValidationListener(new LaunchDateValidationListener());
// if launch date is required, help user by suggesting today's date
@@ -125,7 +124,7 @@
FormData data = e.getFormData();
PageState state = e.getPageState();
ContentPage item =
- (ContentPage)getItemSelectionModel().getSelectedObject(state);
+ (ContentPage) getItemSelectionModel().getSelectedObject(state);
if (item != null) {
// Preset fields
@@ -135,24 +134,36 @@
if (!ContentSection.getConfig().getHideLaunchDate()) {
data.put(LAUNCH_DATE, item.getLaunchDate());
// if launch date is required, help user by suggesting today's date
- if (ContentSection.getConfig().getRequireLaunchDate()
- && item.getLaunchDate() == null) {
- data.put(LAUNCH_DATE, new Date());
- }
+ if (ContentSection.getConfig().getRequireLaunchDate()
+ && item.getLaunchDate() == null) {
+ data.put(LAUNCH_DATE, new Date());
+ }
}
}
return item;
}
-
@Override
public void validate(final FormSectionEvent fse) throws FormProcessException {
- final Folder folder = (Folder) getItemSelectionModel().getSelectedItem(fse.getPageState()).getParent();
- Assert.exists(folder);
- validateNameUniqueness(folder, fse);
+ final ContentItem item = getItemSelectionModel().getSelectedItem(fse.getPageState());
+ ACSObject parent = item.getParent();
+
+
+ if (parent instanceof ContentBundle) {
+ parent = ((ContentBundle) parent).getParent();
+ }
+ if (parent instanceof Folder) {
+ final Folder folder = (Folder) parent;
+ Assert.exists(folder);
+ final FormData data = fse.getFormData();
+ final String name = data.getString(NAME);
+ if (!item.getName().equals(name)) {
+ validateNameUniqueness(folder, fse);
+ }
+ }
}
-
+
/**
* Utility method to process the name/title widgets. Child classes
* may call this method from the process listener.
@@ -166,15 +177,15 @@
FormData data = e.getFormData();
PageState state = e.getPageState();
ContentPage item =
- (ContentPage)getItemSelectionModel().getSelectedObject(state);
+ (ContentPage) getItemSelectionModel().getSelectedObject(state);
if (item != null) {
// Update attributes
- item.setName((String)data.get(NAME));
- item.setTitle((String)data.get(TITLE));
+ item.setName((String) data.get(NAME));
+ item.setTitle((String) data.get(TITLE));
// item.setDescription((String)data.get(DESCRIPTION));
if (!ContentSection.getConfig().getHideLaunchDate()) {
- item.setLaunchDate((Date)data.get(LAUNCH_DATE));
+ item.setLaunchDate((Date) data.get(LAUNCH_DATE));
}
}
@@ -192,8 +203,8 @@
* @pre state != null
* @post return != null
*/
- public ContentPage createContentPage(PageState state)
- throws FormProcessException {
+ public ContentPage createContentPage(PageState state)
+ throws FormProcessException {
ItemSelectionModel m = getItemSelectionModel();
Assert.exists(m);
@@ -204,8 +215,8 @@
try {
item = (ContentPage) m.createItem();
} catch (ServletException ex) {
- throw new
- FormProcessException((String)GlobalizationUtil.globalize("cms.ui.authoring.couldnt_create_contentpage").localize(), ex);
+ throw new FormProcessException((String) GlobalizationUtil.globalize(
+ "cms.ui.authoring.couldnt_create_contentpage").localize(), ex);
}
// Make sure the item will be remembered across requests
@@ -220,16 +231,16 @@
public class LaunchDateValidationListener implements ParameterListener {
@Override
- public void validate(final ParameterEvent e) {
-
- final ParameterData data = e.getParameterData();
- final Object value = data.getValue();
+ public void validate(final ParameterEvent e) {
- if (value == null) {
- data.addError("launch date is required");
- return;
- }
- }
+ final ParameterData data = e.getParameterData();
+ final Object value = data.getValue();
+
+ if (value == null) {
+ data.addError("launch date is required");
+ return;
+ }
+ }
+
}
-
}
Modified: releases/2.0.0/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertyForm.java
===================================================================
--- releases/2.0.0/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertyForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-cms-types-article/src/com/arsdigita/cms/contenttypes/ui/ArticlePropertyForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -96,7 +96,7 @@
@Override
public void validate(FormSectionEvent e) throws FormProcessException {
- FormData d = e.getFormData();
+ super.validate(e);
}
/** Form initialisation hook. Fills widgets with data. */
Modified: releases/2.0.0/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java
===================================================================
--- releases/2.0.0/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-cms-types-event/src/com/arsdigita/cms/contenttypes/ui/EventPropertyForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -242,6 +242,8 @@
@Override
public void validate(FormSectionEvent e) throws FormProcessException {
+ super.validate(e);
+
FormData d = e.getFormData();
java.util.Date startDate = d.getDate(START_DATE);
java.util.Date endDate = d.getDate(END_DATE);
Modified: releases/2.0.0/ccm-cms-types-htmlform/src/com/arsdigita/cms/contenttypes/ui/HTMLFormPropertyForm.java
===================================================================
--- releases/2.0.0/ccm-cms-types-htmlform/src/com/arsdigita/cms/contenttypes/ui/HTMLFormPropertyForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-cms-types-htmlform/src/com/arsdigita/cms/contenttypes/ui/HTMLFormPropertyForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -94,7 +94,7 @@
@Override
public void validate(FormSectionEvent e) throws FormProcessException {
- FormData d = e.getFormData();
+ super.validate(e);
}
/** Form initialisation hook. Fills widgets with data. */
Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java
===================================================================
--- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/Loader.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -15,7 +15,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
package com.arsdigita.navigation;
import com.arsdigita.kernel.Kernel;
@@ -42,7 +41,6 @@
import org.apache.log4j.Logger;
-
/**
* Loader.
*
@@ -53,17 +51,16 @@
/** Creates a s_logging category with name = full name of class */
private static final Logger s_log = Logger.getLogger(Loader.class);
-
private StringParameter m_templatesFile = new StringParameter(
- "com.arsdigita.navigation.templates_file",
- Parameter.REQUIRED,
- "WEB-INF/navigation/templates.txt");
+ "com.arsdigita.navigation.templates_file",
+ Parameter.REQUIRED,
+ "WEB-INF/navigation/templates.txt");
/**
* Constructor
*/
public Loader() {
- register( m_templatesFile );
+ register(m_templatesFile);
}
/**
@@ -73,6 +70,7 @@
*/
public void run(final ScriptContext ctx) {
new KernelExcursion() {
+
public void excurse() {
setEffectiveParty(Kernel.getSystemParty());
@@ -85,10 +83,11 @@
try {
setupTemplates();
- } catch( IOException ex ) {
- throw new UncheckedWrapperException( ex );
+ } catch (IOException ex) {
+ throw new UncheckedWrapperException(ex);
}
}
+
}.run();
}
@@ -97,7 +96,6 @@
// S e t u p o f a p p l i c a t i o n t y p e s
//
// ////////////////////////////////////////////////////////////////////////
-
/**
* Creates a Navigation ApplicationType as a legacy-free type of application,
* ie loads the class definition into persistent storage (application_types).
@@ -108,22 +106,20 @@
// name to determine the location of xsl files (by url-izing it). So
// DON'T modify it without synchronizing web directory tree accordingly!
ApplicationType type =
- new ApplicationType( "Navigation",
- Navigation.BASE_DATA_OBJECT_TYPE );
+ new ApplicationType("Navigation",
+ Navigation.BASE_DATA_OBJECT_TYPE);
type.setDescription("A category based navigation system.");
}
-
/**
* Creates ItemListPortlet portlet type, ie loads the class definition
* into persistent storage (table application_types).
*/
public static void loadItemListPortlet() {
- PortletType type = PortletType
- .createPortletType("Navigation Content Item List",
- PortletType.WIDE_PROFILE,
- ItemListPortlet.BASE_DATA_OBJECT_TYPE);
+ PortletType type = PortletType.createPortletType("Navigation Content Item List",
+ PortletType.WIDE_PROFILE,
+ ItemListPortlet.BASE_DATA_OBJECT_TYPE);
type.setDescription("Displays a list of content items");
}
@@ -132,94 +128,91 @@
* into persistent storage (table application_types).
*/
public static void loadObjectListPortlet() {
- PortletType type = PortletType
- .createPortletType("Navigation Object List",
- PortletType.WIDE_PROFILE,
- ObjectListPortlet.BASE_DATA_OBJECT_TYPE);
+ PortletType type = PortletType.createPortletType("Navigation Object List",
+ PortletType.WIDE_PROFILE,
+ ObjectListPortlet.BASE_DATA_OBJECT_TYPE);
type.setDescription("Displays a list of objects");
}
-
// ////////////////////////////////////////////////////////////////////////
//
// S e t u p o f N A V I G A T I O N i n s t a n c e s
//
// ////////////////////////////////////////////////////////////////////////
-
/**
* Creating a default navigation instance at address /navigation/
*
*/
public void setupNavigation() {
-/*
- ApplicationSetup setup = new ApplicationSetup(s_log);
+ /*
+ ApplicationSetup setup = new ApplicationSetup(s_log);
- setup.setApplicationObjectType(
- Navigation.BASE_DATA_OBJECT_TYPE);
- setup.setKey("navigation");
- setup.setTitle("Navigation");
- setup.setDescription("Category navigation");
- setup.setSingleton(true);
- setup.setInstantiator(new ACSObjectInstantiator() {
- public DomainObject doNewInstance(DataObject dataObject) {
- return new Navigation(dataObject);
- }
- });
- ApplicationType type = setup.run();
- type.save();
-*/
- Navigation app = (Navigation)
- Application.createApplication(Navigation.BASE_DATA_OBJECT_TYPE,
- "navigation",
- "Navigation Control Center",
- null);
+ setup.setApplicationObjectType(
+ Navigation.BASE_DATA_OBJECT_TYPE);
+ setup.setKey("navigation");
+ setup.setTitle("Navigation");
+ setup.setDescription("Category navigation");
+ setup.setSingleton(true);
+ setup.setInstantiator(new ACSObjectInstantiator() {
+ public DomainObject doNewInstance(DataObject dataObject) {
+ return new Navigation(dataObject);
+ }
+ });
+ ApplicationType type = setup.run();
+ type.save();
+ */
+ Navigation app = (Navigation) Application.createApplication(Navigation.BASE_DATA_OBJECT_TYPE,
+ "navigation",
+ "Navigation Control Center",
+ null);
app.setDescription("The default ccm-navigation instance.");
app.save();
}
public void setupTemplates() throws IOException {
-
- String templatesFile = (String)get(m_templatesFile);
- InputStream file = Thread.currentThread().getContextClassLoader()
- .getResourceAsStream(templatesFile);
+
+ String templatesFile = (String) get(m_templatesFile);
+ InputStream file = Thread.currentThread().getContextClassLoader().getResourceAsStream(templatesFile);
+ if (file == null) {
+ throw new UncheckedWrapperException(String.format("Failed to open templates files %s.", templatesFile));
+ }
BufferedReader templates =
- new BufferedReader( new InputStreamReader( file ) );
+ new BufferedReader(new InputStreamReader(file));
String template = templates.readLine();
- while ( null != template ) {
- StringTokenizer tok = new StringTokenizer( template, "," );
+ while (null != template) {
+ StringTokenizer tok = new StringTokenizer(template, ",");
String title = null;
String desc = null;
String path = null;
- for ( int i = 0; tok.hasMoreTokens(); i++ ) {
- if ( 0 == i ) {
+ for (int i = 0; tok.hasMoreTokens(); i++) {
+ if (0 == i) {
title = tok.nextToken();
- } else if ( 1 == i ) {
+ } else if (1 == i) {
desc = tok.nextToken();
- } else if ( 2 == i ) {
+ } else if (2 == i) {
path = tok.nextToken();
} else {
path = null;
}
}
- if ( null == path ) {
- throw new UncheckedWrapperException
- ( "Template should have 3 comma seperated fields: " +
- template );
+ if (null == path) {
+ throw new UncheckedWrapperException("Template should have 3 comma seperated fields: " + template);
}
if (s_log.isDebugEnabled()) {
- s_log.debug( "Title=\"" + title + "\"" );
- s_log.debug( "Description=\"" + desc + "\"" );
- s_log.debug( "Path=\"" + path + "\"" );
+ s_log.debug("Title=\"" + title + "\"");
+ s_log.debug("Description=\"" + desc + "\"");
+ s_log.debug("Path=\"" + path + "\"");
}
Template.create(title, desc, path);
template = templates.readLine();
}
-
+
}
+
}
Modified: releases/2.0.0/ccm-webpage/src/com/arsdigita/cms/webpage/ui/authoring/WebpagePropertiesForm.java
===================================================================
--- releases/2.0.0/ccm-webpage/src/com/arsdigita/cms/webpage/ui/authoring/WebpagePropertiesForm.java 2012-12-01 16:53:45 UTC (rev 2337)
+++ releases/2.0.0/ccm-webpage/src/com/arsdigita/cms/webpage/ui/authoring/WebpagePropertiesForm.java 2012-12-01 19:13:36 UTC (rev 2338)
@@ -105,7 +105,7 @@
}
public void validate(FormSectionEvent e) throws FormProcessException {
- FormData d = e.getFormData();
+ super.validate(e);
}
/** Form initialisation hook. Fills widgets with data. */
|
Author: pboy
Date: 2012-12-01 16:53:45 +0000 (Sat, 01 Dec 2012)
New Revision: 2337
Modified:
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionSetup.java
releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
releases/2.0.0/ccm-core/src/com/arsdigita/loader/CoreLoader.java
releases/2.0.0/ccm-core/src/log4j.properties
Log:
Backport r2327, r2328, r2329
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionSetup.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionSetup.java 2012-12-01 16:48:43 UTC (rev 2336)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contentsection/ContentSectionSetup.java 2012-12-01 16:53:45 UTC (rev 2337)
@@ -58,9 +58,8 @@
import org.xml.sax.helpers.DefaultHandler;
/**
- * Helper class to setup (configure) a newly created content section instance.
- * It handles those properties of a content section, which are to be persisted
- * into the database.
+ * Helper class to setup (configure) a newly created content section instance. It handles those properties of a content
+ * section, which are to be persisted into the database.
*
* @author Peter Boy (pb...@ba...)
* @author Sören Bernstein (qu...@ba...)
@@ -76,11 +75,10 @@
final ContentSection m_section;
/**
- * Constructor. Using this constructor the content section has to be already
- * created using ContentSection.create(name)
+ * Constructor. Using this constructor the content section has to be already created using
+ * ContentSection.create(name)
*
- * @param section name of a content section previously created by
- * ContentSection.create
+ * @param section name of a content section previously created by ContentSection.create
*/
public ContentSectionSetup(ContentSection section) {
Assert.exists(section, ContentSection.class);
@@ -88,22 +86,21 @@
}
/**
- * Wrapper class to create and configure a content section instance in one
- * step.
+ * Wrapper class to create and configure a content section instance in one step.
*
* Method needs a transaction to proceed successfully.
* {@link com.arsdigita.cms.contentsection.Initializer#checkForNewContentSection()
* }
*/
public static ContentSection setupContentSectionAppInstance(String name,
- List defaultRoles,
- List defaultWorkflows,
- Boolean isPubliclyViewable,
- String itemResolverClassName,
- String templateResolverClassName,
- List sectionContentTypes,
- Boolean useSectionCategories,
- List categoryFileList) {
+ List defaultRoles,
+ List defaultWorkflows,
+ Boolean isPubliclyViewable,
+ String itemResolverClassName,
+ String templateResolverClassName,
+ List sectionContentTypes,
+ Boolean useSectionCategories,
+ List categoryFileList) {
s_log.info("Creating content section on /" + name);
@@ -136,8 +133,7 @@
}
/**
- * Steps through a list of roles which are part of a staff group and
- * delegates processing of each role.
+ * Steps through a list of roles which are part of a staff group and delegates processing of each role.
*
* @param roles
*/
@@ -179,18 +175,18 @@
s_log.info("Granting privilege cms_" + priv);
role.grantPermission(m_section,
- PrivilegeDescriptor.get("cms_" + priv));
+ PrivilegeDescriptor.get("cms_" + priv));
if (priv.equals(SecurityManager.CATEGORY_ADMIN)
- || priv.equals(SecurityManager.CATEGORIZE_ITEMS)) {
+ || priv.equals(SecurityManager.CATEGORIZE_ITEMS)) {
RootCategoryCollection coll = Category.getRootCategories(m_section);
while (coll.next()) {
if (priv.equals(SecurityManager.CATEGORY_ADMIN)) {
role.grantPermission(coll.getCategory(),
- PrivilegeDescriptor.ADMIN);
+ PrivilegeDescriptor.ADMIN);
} else {
role.grantPermission(coll.getCategory(),
- Category.MAP_DESCRIPTOR);
+ Category.MAP_DESCRIPTOR);
}
}
}
@@ -201,18 +197,18 @@
// FIXME: String for Site-wide Admininistrators is hardcoded because
// this group in inserted via sql-command during setup
partyColl.filter("Site-wide Administrators");
- if(partyColl.next()) {
+ if (partyColl.next()) {
role.add(partyColl.getParty());
}
-
+ partyColl.close();
+
return role;
}
/**
* Creates a public user role and adds permission to read published pages.
*
- * @param pub Boolean wether published pages are accessible by the public
- * (i.e. without login).
+ * @param pub Boolean wether published pages are accessible by the public (i.e. without login).
*/
public void registerViewers(Boolean pub) {
@@ -224,10 +220,10 @@
// XXX Shouldn't read permission granted depending on pub=true?
viewers.grantPermission(m_section,
- PrivilegeDescriptor.get("cms_read_item"));
+ PrivilegeDescriptor.get("cms_read_item"));
String email = Boolean.TRUE.equals(pub) ? "public@nullhost"
- : "registered@nullhost";
+ : "registered@nullhost";
Party viewer = retrieveParty(email);
if (viewer == null) {
@@ -258,44 +254,43 @@
}
/**
- * Checks for specific item resolver and template resolver classes probably
- * specified in parameters, otherwise uses system wide default parameters
- * specified in CMS global configuration file. Delegates persistence task to
+ * Checks for specific item resolver and template resolver classes probably specified in parameters, otherwise uses
+ * system wide default parameters specified in CMS global configuration file. Delegates persistence task to
* ContentSection.
*
* @param itemResolverClassName
* @param templateResolverClassName
*/
public void registerResolvers(String itemResolverClassName,
- String templateResolverClassName) {
+ String templateResolverClassName) {
if (itemResolverClassName != null
- && itemResolverClassName.length() > 0) {
+ && itemResolverClassName.length() > 0) {
m_section.setItemResolverClass(itemResolverClassName);
s_log.info("Registering " + itemResolverClassName
- + " as the item resolver class");
+ + " as the item resolver class");
} else {
m_section.setItemResolverClass(ContentSection.getConfig().getDefaultItemResolverClass().getName());
s_log.info("Registering " + itemResolverClassName
- + " as the item resolver class");
+ + " as the item resolver class");
}
if (templateResolverClassName != null
- && templateResolverClassName.length() > 0) {
+ && templateResolverClassName.length() > 0) {
m_section.setTemplateResolverClass(templateResolverClassName);
s_log.info("Registering " + templateResolverClassName
- + " as the template resolver class");
+ + " as the template resolver class");
} else {
m_section.setTemplateResolverClass(ContentSection.getConfig().getDefaultTemplateResolverClass().getName());
s_log.info("Registering " + templateResolverClassName
- + " as the template resolver class");
+ + " as the template resolver class");
}
m_section.save();
}
/**
- * Create a (default) publication cycle and store it in the datavbase
- * (delegated to package com.arsdigita.cms.lifecycle)
+ * Create a (default) publication cycle and store it in the datavbase (delegated to package
+ * com.arsdigita.cms.lifecycle)
*
* @throws InitializationException
*/
@@ -391,14 +386,14 @@
// Save workflow
wf.save();
-
+
// Add Workflow to current section
m_section.addWorkflowTemplate(wf);
m_section.save();
-
+
// If this workflow should be the default or is the first one
// save it for easy access in registerContentType
- if(m_wf == null || (workflow.containsKey("isDefault") && workflow.get("isDefault").equals("true"))) {
+ if (m_wf == null || (workflow.containsKey("isDefault") && workflow.get("isDefault").equals("true"))) {
m_section.setDefaultWorkflowTemplate(wf);
m_wf = wf;
}
@@ -406,11 +401,10 @@
}
/**
- * Defines a (default for section) workflow which gets persisted in tne
- * database.
+ * Defines a (default for section) workflow which gets persisted in tne database.
*
- * This one is probably deprecated.
- *
+ * This one is probably deprecated.
+ *
* @throws InitializationException
*/
public void registerWorkflowTemplates() throws ConfigError {
@@ -422,11 +416,10 @@
}
/**
- * Steps through a list of content types to be available for this content
- * section and delegates processing of each type.
+ * Steps through a list of content types to be available for this content section and delegates processing of each
+ * type.
*
- * @param types list of content types to be available for this content
- * section
+ * @param types list of content types to be available for this content section
*/
public void registerContentTypes(List types) {
@@ -448,8 +441,7 @@
}
/**
- * Process one content type and registers it with the current content
- * section.
+ * Process one content type and registers it with the current content section.
*
* @param name
* @return
@@ -468,12 +460,12 @@
m_section.addContentType(type);
s_log.info("Setting the default lifecycle for "
- + name + " to " + m_lcd.getLabel());
+ + name + " to " + m_lcd.getLabel());
ContentTypeLifecycleDefinition.updateLifecycleDefinition(m_section, type, m_lcd);
m_lcd.save();
s_log.info("Setting the default workflow template for " + name
- + " to " + m_wf.getLabel());
+ + " to " + m_wf.getLabel());
ContentTypeWorkflowTemplate.updateWorkflowTemplate(m_section, type, m_wf);
m_wf.save();
@@ -561,8 +553,7 @@
}
/**
- * For the content section to be created create a role whose member will
- * receive alerts.
+ * For the content section to be created create a role whose member will receive alerts.
*/
public void registerAlerts() {
Role alert = m_section.getStaffGroup().createRole("Alert Recipient");
@@ -628,8 +619,7 @@
// }
// ///////////////////// Private Class Section ////////////////////////////
/**
- * SAX Handler for category lists. Creates the categories as they are
- * defined, with structure, in the xml document.
+ * SAX Handler for category lists. Creates the categories as they are defined, with structure, in the xml document.
*/
private class CategoryHandler extends DefaultHandler {
@@ -642,7 +632,7 @@
@Override
public void startElement(String uri, String local,
- String qName, Attributes attrs) {
+ String qName, Attributes attrs) {
if ("categories".equals(qName)) {
String name = attrs.getValue("name");
if (name == null) {
@@ -652,7 +642,7 @@
String context = attrs.getValue("context");
Category root = Category.getRootForObject(m_section,
- context);
+ context);
if (root == null) {
root = new Category();
}
@@ -661,8 +651,8 @@
if (root.isNew()) {
Category.setRootForObject(m_section,
- root,
- context);
+ root,
+ context);
}
m_cats.push(root);
PermissionService.setContext(root, m_section);
Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java
===================================================================
--- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-01 16:48:43 UTC (rev 2336)
+++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicPageForm.java 2012-12-01 16:53:45 UTC (rev 2337)
@@ -32,6 +32,7 @@
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
+import com.arsdigita.cms.Folder;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.util.Assert;
@@ -144,6 +145,14 @@
return item;
}
+
+ @Override
+ public void validate(final FormSectionEvent fse) throws FormProcessException {
+ final Folder folder = (Folder) getItemSelectionModel().getSelectedItem(fse.getPageState()).getParent();
+ Assert.exists(folder);
+ validateNameUniqueness(folder, fse);
+ }
+
/**
* Utility method to process the name/title widgets. Child classes
* may call this method from the process listener.
Modified: releases/2.0.0/ccm-core/src/com/arsdigita/loader/CoreLoader.java
===================================================================
--- releases/2.0.0/ccm-core/src/com/arsdigita/loader/CoreLoader.java 2012-12-01 16:48:43 UTC (rev 2336)
+++ releases/2.0.0/ccm-core/src/com/arsdigita/loader/CoreLoader.java 2012-12-01 16:53:45 UTC (rev 2337)
@@ -79,7 +79,6 @@
import org.apache.log4j.Logger;
-
/**
* CoreLoader
*
@@ -90,11 +89,9 @@
public class CoreLoader extends PackageLoader {
private static final Logger s_log = Logger.getLogger(CoreLoader.class);
-
private EmailParameter m_email = new EmailParameter("waf.admin.email");
+ private StringParameter m_screen = new StringParameter("waf.admin.name.screen", Parameter.OPTIONAL, null) {
- private StringParameter m_screen = new StringParameter
- ("waf.admin.name.screen", Parameter.OPTIONAL, null) {
@Override
public Object getDefaultValue() {
String email = getEmail();
@@ -110,66 +107,43 @@
}
}
};
-
- private StringParameter m_given = new StringParameter
- ("waf.admin.name.given", Parameter.REQUIRED, null);
-
- private StringParameter m_family = new StringParameter
- ("waf.admin.name.family", Parameter.REQUIRED, null);
-
- private StringParameter m_password = new StringParameter
- ("waf.admin.password", Parameter.REQUIRED, null);
-
- private StringParameter m_question = new StringParameter
- ("waf.admin.password.question", Parameter.REQUIRED, null);
-
- private StringParameter m_answer = new StringParameter
- ("waf.admin.password.answer", Parameter.REQUIRED, null);
-
- private StringParameter m_dispatcher = new StringParameter
- ("waf.login.dispatcher", Parameter.OPTIONAL,
- "com.arsdigita.ui.login.DummyDispatcher");
- // "com.arsdigita.ui.login.SubsiteDispatcher");
-
- private StringParameter m_resource = new StringParameter
- ("waf.mime.resource", Parameter.OPTIONAL,
- "com/arsdigita/loader/mimetypes.properties");
-
+ private StringParameter m_given = new StringParameter("waf.admin.name.given", Parameter.REQUIRED, null);
+ private StringParameter m_family = new StringParameter("waf.admin.name.family", Parameter.REQUIRED, null);
+ private StringParameter m_password = new StringParameter("waf.admin.password", Parameter.REQUIRED, null);
+ private StringParameter m_question = new StringParameter("waf.admin.password.question", Parameter.REQUIRED, null);
+ private StringParameter m_answer = new StringParameter("waf.admin.password.answer", Parameter.REQUIRED, null);
+ private StringParameter m_dispatcher = new StringParameter("waf.login.dispatcher", Parameter.OPTIONAL,
+ "com.arsdigita.ui.login.DummyDispatcher");
+ // "com.arsdigita.ui.login.SubsiteDispatcher");
+ private StringParameter m_resource = new StringParameter("waf.mime.resource", Parameter.OPTIONAL,
+ "com/arsdigita/loader/mimetypes.properties");
/**
* Recognized character sets
*/
// In Old Initializer: CHARSETS as List.class
// charsets = {"ISO-8859-1","UTF-8"};
private final Parameter m_charsets =
- new StringArrayParameter(
- "waf.globalization.charsets",
- Parameter.REQUIRED,
- new String[] { "ISO-8859-1","UTF-8" }
- );
-
+ new StringArrayParameter(
+ "waf.globalization.charsets",
+ Parameter.REQUIRED,
+ new String[]{"ISO-8859-1", "UTF-8"});
/**
- * Each entry in the "locales" list is a 4-tuple of the form
- * {language, country, variant, charset}
- * The charset must be one of the values specified in the "charsets"
- * parameter above.
+ * Each entry in the "locales" list is a 4-tuple of the form {language, country, variant, charset} The charset must
+ * be one of the values specified in the "charsets" parameter above.
*
- * This parameter is only read once in the initial loading step and stored
- * in the database (g11n_locales). Subsequent modifications will have no effect!
+ * This parameter is only read once in the initial loading step and stored in the database (g11n_locales).
+ * Subsequent modifications will have no effect!
*
*/
// In OLD Initializer: LOCALES as List.class
private final Parameter m_locales =
- new StringArrayParameter(
- "waf.globalization.locales",
- Parameter.REQUIRED,
- new String[] {"en: : :UTF-8","en:GB: :UTF-8","en:US: :UTF-8"
- ,"es: : :UTF-8","es:ES: :UTF-8"
- ,"da: : :UTF-8","da:DK: :UTF-8"
- ,"de: : :UTF-8","de:DE: :UTF-8"
- ,"fr: : :UTF-8","fr:FR: :UTF-8"
- ,"ru: : :UTF-8"
- }
- );
+ new StringArrayParameter(
+ "waf.globalization.locales",
+ Parameter.REQUIRED,
+ new String[]{"en: : :UTF-8", "en:GB: :UTF-8", "en:US: :UTF-8", "es: : :UTF-8", "es:ES: :UTF-8",
+ "da: : :UTF-8", "da:DK: :UTF-8", "de: : :UTF-8", "de:DE: :UTF-8", "fr: : :UTF-8",
+ "fr:FR: :UTF-8", "ru: : :UTF-8"
+ });
public CoreLoader() {
register(m_email);
@@ -229,8 +203,8 @@
* @return List of recognized character sets.
*/
private List getCharsets() {
- String[] charsets = (String[]) get(m_charsets) ;
- return (List) Arrays.asList(charsets) ;
+ String[] charsets = (String[]) get(m_charsets);
+ return (List) Arrays.asList(charsets);
}
/**
@@ -239,14 +213,15 @@
*/
private List getLocales() {
- /** Value of the locales parameter, a string array of
- 4-tuple of locale values (see above) */
- String[] locales = (String[]) get(m_locales) ;
+ /**
+ * Value of the locales parameter, a string array of 4-tuple of locale values (see above)
+ */
+ String[] locales = (String[]) get(m_locales);
if (locales != null) {
ArrayList localeTupel = new ArrayList();
- for (int i = 0; i < locales.length ; ++i) {
- String[] localeSet = StringUtils.split(locales[i],':');
+ for (int i = 0; i < locales.length; ++i) {
+ String[] localeSet = StringUtils.split(locales[i], ':');
localeTupel.add(Arrays.asList(localeSet));
}
return localeTupel;
@@ -260,6 +235,7 @@
public void run(final ScriptContext ctx) {
s_log.debug("CoreLoader run method started.");
new KernelExcursion() {
+
public void excurse() {
setEffectiveParty(Kernel.getSystemParty());
@@ -338,8 +314,7 @@
PackageInstance packageInstance = rootNode.getPackageInstance();
if (packageInstance == null) {
- throw new IllegalStateException
- ("No package instance mounted at the root node");
+ throw new IllegalStateException("No package instance mounted at the root node");
}
PackageType subsite = packageInstance.getType();
@@ -349,8 +324,7 @@
try {
subsite = PackageType.findByKey(packageKey);
} catch (DataObjectNotFoundException e) {
- throw new IllegalStateException
- ("Package Type with key \"" + packageKey + "\" was not found.\n");
+ throw new IllegalStateException("Package Type with key \"" + packageKey + "\" was not found.\n");
}
// Set subsite dispatcher class.
@@ -359,6 +333,7 @@
/**
* Create Root Site Node for loadSubsite()
+ *
* @return root node
* @deprecated will be removed without replacement. Naot needed anymore
*/
@@ -372,9 +347,8 @@
// Create Package Types and Instances
s_log.debug("loadKernel: creating Package Types and Instances.");
- PackageType subsite = PackageType.create
- ("acs-subsite", "ACS Subsite", "ACS Subsites",
- "http://arsdigita.com/acs-subsite/");
+ PackageType subsite = PackageType.create("acs-subsite", "ACS Subsite", "ACS Subsites",
+ "http://arsdigita.com/acs-subsite/");
PackageInstance subsiteInstance = subsite.createInstance("Main Site");
// Mount instances.
@@ -385,11 +359,8 @@
return rootNode;
}
-
-
/**
- * Ensure that at least one User with universal "admin" permission exists
- * after installation.
+ * Ensure that at least one User with universal "admin" permission exists after installation.
*/
private void createSystemAdministrator() {
s_log.debug("CoreLoader: execution of method createSystemAdministrator().");
@@ -402,9 +373,8 @@
String password = getPassword();
String passwordQuestion = getQuestion();
String passwordAnswer = getAnswer();
- s_log.debug("createSystemAdministrator: EmailAddr: " + emailAddress +
- "\n screenName: " + screenName +
- "\n givenName: " + givenName );
+ s_log.debug("createSystemAdministrator: EmailAddr: " + emailAddress + "\n screenName: " + screenName
+ + "\n givenName: " + givenName);
// Allow not creating system administrator account.
// (Specified by setting parameter
@@ -425,8 +395,7 @@
s_log.debug("createSystemAdministrator(): going to create new User.");
User sa = new User();
sa.setPrimaryEmail(new EmailAddress(emailAddress));
- if (screenName != null &&
- screenName.length() > 0) {
+ if (screenName != null && screenName.length() > 0) {
sa.setScreenName(screenName);
}
sa.getPersonName().setGivenName(givenName);
@@ -442,36 +411,34 @@
// Grant the system administrator universal "admin" permission.
s_log.debug("createSystemAdministrator(): going to grant admin perms.");
- PermissionService.grantPermission
- (new UniversalPermissionDescriptor
- (PrivilegeDescriptor.ADMIN, sa));
+ PermissionService.grantPermission(new UniversalPermissionDescriptor(PrivilegeDescriptor.ADMIN, sa));
// Add system administrator to site-wide administrator group
GroupCollection groupColl = Group.retrieveAll();
// FIXME: String for Site-wide Admininistrators is hardcoded because
// this group in inserted via sql-command during setup
groupColl.filter("Site-wide Administrators");
- if(groupColl.next()) {
+ if (groupColl.next()) {
groupColl.getGroup().addMember(sa);
}
+ groupColl.close();
- s_log.debug("Adding administrator: \"" + givenName + " " +
- familyName + "\" <" + emailAddress + ">");
+ s_log.debug("Adding administrator: \"" + givenName + " " + familyName + "\" <" + emailAddress + ">");
s_log.debug("CoreLoader: method createSystemAdministrator() completed.");
}
/**
- * Setup Login application. Loads type into database and instances the
- * single default instance.
- * Has to be public access in order to enable script Upgrade664 to use it.
+ * Setup Login application. Loads type into database and instances the single default instance. Has to be public
+ * access in order to enable script Upgrade664 to use it.
+ *
* @return
*/
public static void loadLoginApp() {
ApplicationType loginType =
- new ApplicationType("login",
- Login.BASE_DATA_OBJECT_TYPE );
+ new ApplicationType("login",
+ Login.BASE_DATA_OBJECT_TYPE);
loginType.setDescription("CCM user login application");
loginType.save();
@@ -484,17 +451,15 @@
}
-
/**
- * Setup core Admin application. Loads type into database and instances the
- * single default instance.
- * Has to be public access in order to enable script Upgrade664 to use it.
+ * Setup core Admin application. Loads type into database and instances the single default instance. Has to be
+ * public access in order to enable script Upgrade664 to use it.
*/
public static void loadAdminApp() {
ApplicationType adminType =
- new ApplicationType("admin",
- Admin.BASE_DATA_OBJECT_TYPE );
+ new ApplicationType("admin",
+ Admin.BASE_DATA_OBJECT_TYPE);
adminType.setDescription("CCM user and group administration");
adminType.save();
@@ -508,23 +473,20 @@
}
/**
- * Setup core Admin application. Loads type into database and instances the
- * single default instance.
- * Has to be public access in order to enable script Upgrade664 to use it.
+ * Setup core Admin application. Loads type into database and instances the single default instance. Has to be
+ * public access in order to enable script Upgrade664 to use it.
*/
public static void loadPermissionsApp() {
- /* NOTE:
- * The wording in the title parameter of ApplicationType determines
- * the name of the subdirectory for the XSL stylesheets.
- * It gets "urlized", i.e. trimming leading and trailing blanks and
- * replacing blanks between words and illegal characters with an hyphen
- * and converted to lower case.
- * Example: "Permissions" will become "permissions".
+ /*
+ * NOTE: The wording in the title parameter of ApplicationType determines the name of the subdirectory for the
+ * XSL stylesheets. It gets "urlized", i.e. trimming leading and trailing blanks and replacing blanks between
+ * words and illegal characters with an hyphen and converted to lower case. Example: "Permissions" will become
+ * "permissions".
*/
ApplicationType type =
- new ApplicationType("Permissions",
- Permissions.BASE_DATA_OBJECT_TYPE );
+ new ApplicationType("Permissions",
+ Permissions.BASE_DATA_OBJECT_TYPE);
type.setDescription("CCM permissions administration");
type.save();
@@ -539,17 +501,18 @@
}
/**
- * Loads WebDeveloperSupport as a new style, legacy free application into
- * database and instantiate the (only) application instance.
+ * Loads WebDeveloperSupport as a new style, legacy free application into database and instantiate the (only)
+ * application instance.
*
* Public static access needed by upgrade script Upgrade664
+ *
* @return webDevType ApplicationType
*/
public static void loadWebDev() {
ApplicationType webDevType =
- new ApplicationType("WebDev Support",
- WebDevSupport.BASE_DATA_OBJECT_TYPE );
+ new ApplicationType("WebDev Support",
+ WebDevSupport.BASE_DATA_OBJECT_TYPE);
webDevType.setDescription("WebDeveloper Support application");
webDevType.save();
@@ -571,8 +534,7 @@
// ResourceType manages the entries in table application_types and
// therefore actually creates a sort of new style legacy free
// application type
- ResourceType type = ResourceType.createResourceType
- ("Portal", Portal.BASE_DATA_OBJECT_TYPE);
+ ResourceType type = ResourceType.createResourceType("Portal", Portal.BASE_DATA_OBJECT_TYPE);
type.setDescription("A Portal!");
}
@@ -592,64 +554,61 @@
try {
MimeTypeRow row = new MimeTypeRow();
- CSVParameterReader loader = new CSVParameterReader
- (new InputStreamReader(is), row.getParameters());
+ CSVParameterReader loader = new CSVParameterReader(new InputStreamReader(is), row.getParameters());
while (loader.next()) {
row.load(loader);
- s_log.info("Adding mimetype: " + row.getType() + " (" +
- row.getLabel() + ")");
- MimeType mime = MimeType.createMimeType
- (row.getType(), row.getJavaClass(), row.getObjectType());
+ s_log.info("Adding mimetype: " + row.getType() + " (" + row.getLabel() + ")");
+ MimeType mime = MimeType.createMimeType(row.getType(), row.getJavaClass(), row.getObjectType());
mime.setLabel(row.getLabel());
mime.setFileExtension(row.getDefaultExtension());
if (mime instanceof TextMimeType) {
- ((TextMimeType) mime).setAllowINSOConvert
- ("1".equals(row.getSizerOrINSO()));
+ ((TextMimeType) mime).setAllowINSOConvert("1".equals(row.getSizerOrINSO()));
}
if (mime instanceof ImageMimeType) {
((ImageMimeType) mime).setImageSizer(row.getSizerOrINSO());
}
String[] extensions =
- StringUtils.split(row.getExtensions(), ',');
+ StringUtils.split(row.getExtensions(), ',');
for (int i = 0; i < extensions.length; i++) {
MimeTypeExtension ext =
- MimeTypeExtension.create(extensions[i],
- mime.getMimeType());
+ MimeTypeExtension.create(extensions[i],
+ mime.getMimeType());
ext.save();
}
}
} finally {
- try { is.close(); }
- catch (IOException e) { throw new UncheckedWrapperException(e); }
+ try {
+ is.close();
+ } catch (IOException e) {
+ throw new UncheckedWrapperException(e);
+ }
}
}
private void loadGlobalization() throws ConfigError {
List charsets = (List) getCharsets();
- if ( charsets == null ) {
- throw new ConfigError
- ("You must specify at least one charset in the m_charsets " +
- "parameter of the core loader parameter section. " +
- "UTF-8 would be a good first choice.");
+ if (charsets == null) {
+ throw new ConfigError("You must specify at least one charset in the m_charsets "
+ + "parameter of the core loader parameter section. "
+ + "UTF-8 would be a good first choice.");
}
Map charsetMap = new HashMap();
- for (Iterator i=charsets.iterator(); i.hasNext(); ) {
+ for (Iterator i = charsets.iterator(); i.hasNext();) {
String charsetName = (String) i.next();
- s_log.debug("Dealing with charset name: " + charsetName );
+ s_log.debug("Dealing with charset name: " + charsetName);
// Check if this is a valid charset. Is there a better way to do
// this? - va...@re..., Mon 2002-07-29 14:47:41 -0400
try {
new OutputStreamWriter(new ByteArrayOutputStream(), charsetName);
} catch (UnsupportedEncodingException ex) {
- throw new ConfigError
- (charsetName + " is not a supported charset");
+ throw new ConfigError(charsetName + " is not a supported charset");
}
Charset charset = new Charset();
charset.setCharset(charsetName);
@@ -659,31 +618,27 @@
List locales = (List) getLocales();
- if ( locales == null ) {
- throw new ConfigError
- ("You must specify at least one locale in the m_locales " +
- "parameter of core loader parameter section. " +
- "The \"en\" locale is probably required.");
+ if (locales == null) {
+ throw new ConfigError("You must specify at least one locale in the m_locales "
+ + "parameter of core loader parameter section. "
+ + "The \"en\" locale is probably required.");
}
- for (Iterator i=locales.iterator(); i.hasNext(); ) {
+ for (Iterator i = locales.iterator(); i.hasNext();) {
List localeData = (List) i.next();
- String language = (String) localeData.get(0);
- String country = (String) localeData.get(1);
- String variant = (String) localeData.get(2);
+ String language = (String) localeData.get(0);
+ String country = (String) localeData.get(1);
+ String variant = (String) localeData.get(2);
String charsetName = (String) localeData.get(3);
Locale locale = new Locale(language, country, variant);
Charset defaultCharset = (Charset) charsetMap.get(charsetName);
- if ( defaultCharset == null ) {
- throw new ConfigError
- ("You must list " + charsetName + " in the \"m_charsets\" " +
- "parameter before using it in the \"m_locales\" " +
- "\" parameter.");
+ if (defaultCharset == null) {
+ throw new ConfigError("You must list " + charsetName + " in the \"m_charsets\" "
+ + "parameter before using it in the \"m_locales\" " + "\" parameter.");
}
locale.setDefaultCharset(defaultCharset);
locale.save();
}
}
-
}
Modified: releases/2.0.0/ccm-core/src/log4j.properties
===================================================================
--- releases/2.0.0/ccm-core/src/log4j.properties 2012-12-01 16:48:43 UTC (rev 2336)
+++ releases/2.0.0/ccm-core/src/log4j.properties 2012-12-01 16:53:45 UTC (rev 2337)
@@ -28,6 +28,8 @@
# Change logger priorities below here:
+log4j.logger.com.redhat.persistence.engine.rdbms.ResultCycle=INFO
+
# For seeing progress of container startup process
log4j.logger.com.arsdigita.web.CCMApplicationContextListener=INFO
|