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 |