diff --git a/ccm-cms/sql/ccm-cms/default/upgrade/6.6.1-6.6.2/upd_table_applications.sql b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.1-6.6.2/upd_table_applications.sql
new file mode 100644
index 000000000..78e9e75e5
--- /dev/null
+++ b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.1-6.6.2/upd_table_applications.sql
@@ -0,0 +1,37 @@
+--
+-- Copyright (C) 2011 Peter Boy All Rights Reserved.
+--
+-- This library is free software; you can redistribute it and/or
+-- 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
+--
+-- $Id: upd_table_applications.sql pboy $
+
+update applications
+ set package_id = (select site_nodes.object_id
+ from site_nodes
+ where site_nodes.url = applications.primary_url)
+ where application_type_id = (select application_types.application_type_id
+ from application_types
+ where object_type
+ like 'com.arsdigita.cms.Workspace');
+
+update applications
+ set package_id = (select site_nodes.object_id
+ from site_nodes
+ where site_nodes.url = applications.primary_url)
+ where application_type_id = (select application_types.application_type_id
+ from application_types
+ where object_type
+ like 'com.arsdigita.cms.Service');
+
diff --git a/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.1-6.6.2.sql b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.1-6.6.2.sql
new file mode 100644
index 000000000..05a23948e
--- /dev/null
+++ b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.1-6.6.2.sql
@@ -0,0 +1,22 @@
+--
+-- Copyright (C) 2011 Peter Boy All Rights Reserved.
+--
+-- This library is free software; you can redistribute it and/or
+-- 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
+--
+-- $Id: oracle-se-6.6.1-6.6.2.sql 293 2011-05-13 15:10:39Z pboy $
+
+PROMPT Red Hat Enterprise CMS 6.6.1 -> 6.6.2 Upgrade Script (Oracle)
+
+@@ ../default/upgrade/6.6.1-6.6.2/upd_table_applications.sql
diff --git a/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.1-6.6.2.sql b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.1-6.6.2.sql
new file mode 100644
index 000000000..0d096958e
--- /dev/null
+++ b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.1-6.6.2.sql
@@ -0,0 +1,26 @@
+--
+-- Copyright (C) 2011 Peter Boy All Rights Reserved.
+--
+-- This library is free software; you can redistribute it and/or
+-- 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
+--
+-- $DateTime: 2011/05/13 23:15:09 $
+
+\echo Red Hat Enterprise CMS 6.6.1 -> 6.6.2 Upgrade Script (PostgreSQL)
+
+begin;
+
+\i ../default/upgrade/6.6.1-6.6.2/upd_table_applications.sql
+
+commit;
diff --git a/ccm-cms/src/ccm-cms.upgrade b/ccm-cms/src/ccm-cms.upgrade
index 573e4fe5c..9b2eb2fdc 100755
--- a/ccm-cms/src/ccm-cms.upgrade
+++ b/ccm-cms/src/ccm-cms.upgrade
@@ -36,16 +36,12 @@
-
-
+
-
diff --git a/ccm-cms/src/com/arsdigita/cms/Loader.java b/ccm-cms/src/com/arsdigita/cms/Loader.java
index 3643241c6..afa355a1b 100755
--- a/ccm-cms/src/com/arsdigita/cms/Loader.java
+++ b/ccm-cms/src/com/arsdigita/cms/Loader.java
@@ -170,12 +170,16 @@ public class Loader extends PackageLoader {
// loadCMSPackageType();
// 2 - step 1b) Setup the Workspace package.
- loadWorkspacePackage(); // using old stype
- // loadWorkspacePackageNewStyle(); // using new style
+ // loadWorkspacePackage(); // using old stype
+ // new style:
+ ApplicationType appType = loadWorkspaceApplicationType();
+ setupDefaultWorkspaceApplicationInstance(appType);
// 3 - step 1c) Setup the CMS global services package.
- loadServicePackage(); // using olde style
- // loadServicePackageNewStyle(); // using new style
+ // loadServicePackage(); // using olde style
+ // new style:
+ appType = loadServiceApplicationType();
+ setupDefaultServiceApplicationInstance(appType);
// 4 - step 1d) Load the content-center page mappings
// Wrong! Is Initializer task, must be done each startup, in
@@ -268,11 +272,12 @@ public class Loader extends PackageLoader {
//
// s_log.debug("Done creating the CMS package type.");
// }
- /**
- * Loads and instantiates the Workspace package (content-center) in the
- * database using old style application.
- * Will be replaced by new style application in the migration process,
- */
+// /**
+// * Loads and instantiates the Workspace package (content-center) in the
+// * database using old style application.
+// * Will be replaced by new style application in the migration process,
+// */
+/*
private void loadWorkspacePackage() {
s_log.debug("Creating CMS Workspace...");
@@ -312,10 +317,12 @@ public class Loader extends PackageLoader {
}
}
-
+*/
/**
* Loads and instantiates the Workspace package (content-center) in the
* database.
+ * It is made public to be able to invoke it from the update script
+ * (e.g. 6.6.1-6.6.2).
*/
public static ApplicationType loadWorkspaceApplicationType() {
s_log.warn("Creating CMS Workspace...");
@@ -365,19 +372,20 @@ public class Loader extends PackageLoader {
Workspace.PACKAGE_KEY, // url fragment
Workspace.INSTANCE_NAME,// title
null); // parent
+ app.setDescription("The default CMS workspace instance.");
app.save();
s_log.warn("CMS Workspace instance created.");
s_log.debug("Done loading CMS Workspace.");
}
- /**
- * CMS Service application is used by the Content Management System as a
- * store for global resources and assets.
- * Using old style application, will be replaced by new style in the
- * migration process.
- */
- private void loadServicePackage() {
+// /**
+// * CMS Service application is used by the Content Management System as a
+// * store for global resources and assets.
+// * Using old style application, will be replaced by new style in the
+// * migration process.
+// */
+/* private void loadServicePackage() {
s_log.debug("Loading CMS Servce Package...");
try {
@@ -405,11 +413,12 @@ public class Loader extends PackageLoader {
throw new ConfigError("Failed to initialize CMS global services package.");
}
}
-
+*/
/**
* CMS Service application is used by the Content Management System as a
* store for global resources and assets.
- *
+ * It is made public to be able to invoke it from the update script
+ * (e.g. 6.6.1-6.6.2).
*/
public static ApplicationType loadServiceApplicationType() {
s_log.debug("Loading CMS Servce Package...");
@@ -458,6 +467,7 @@ public class Loader extends PackageLoader {
Service.PACKAGE_KEY, // url fragment
Service.INSTANCE_NAME,// title
null); // parent
+ app.setDescription("The default CMS service instance.");
app.save();
s_log.debug("Done creating CMS Service Package.");
diff --git a/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java b/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
index 13d6a2828..a352cc90c 100644
--- a/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
+++ b/ccm-cms/src/com/arsdigita/cms/upgrade/AddNewStyleApplicationEntries.java
@@ -19,7 +19,6 @@
package com.arsdigita.cms.upgrade;
import com.arsdigita.cms.Loader;
-import com.arsdigita.kernel.Group;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.kernel.KernelExcursion;
import com.arsdigita.kernel.PackageInstance;
@@ -31,6 +30,8 @@ import com.arsdigita.packaging.Program;
import com.arsdigita.persistence.Session;
import com.arsdigita.persistence.SessionManager;
import com.arsdigita.persistence.TransactionContext;
+import com.arsdigita.util.StringUtils;
+import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationType;
import org.apache.commons.cli.CommandLine;
@@ -56,10 +57,12 @@ public class AddNewStyleApplicationEntries extends Program {
private static Logger s_log = Logger.getLogger(CreateGenericContentTypes.class);
/**
- /* Constructor
+ /* Constructor constructs a program object which initializes the CCM
+ * runtime system and enables concatenation, so a following SQL script
+ * may be executed.
*/
public AddNewStyleApplicationEntries() {
- super("AddNewStyleApplicationEntries", "1.0.0", "");
+ super("AddNewStyleApplicationEntries", "1.0.0", "",true,true);
}
@@ -86,10 +89,9 @@ public class AddNewStyleApplicationEntries extends Program {
final TransactionContext tc = session.getTransactionContext();
tc.beginTxn();
- // experimental
+ // Update CMS Workspace
ApplicationType appType = null;
appType = Loader.loadWorkspaceApplicationType();
-
// get corresponding package type
PackageType packageType = appType.getPackageType();
// get all installed instances
@@ -97,16 +99,45 @@ public class AddNewStyleApplicationEntries extends Program {
.getInstances();
PackageInstance aPackage = null ;
Resource res = null;
+ Application app = null;
while ( allPackages.next() ) {
aPackage = allPackages.getPackageInstance();
res = Resource.createResource((ResourceType)appType,
aPackage.getDisplayName(),
null);
+ res.setDescription("The default CMS workspace instance.");
+ res.save();
+ app = Application.retrieveApplication(res.getOID());
+ app.setPath("/"+StringUtils.urlize(app.getTitle())+"/");
+ // unfortunately there seems to be no way to set the
+ // assoziation to PackageInstance. So we must do that by
+ // SQL magic
}
+ // Update CMS Service
appType = null;
appType = Loader.loadServiceApplicationType();
+ // get corresponding package type
+ packageType = appType.getPackageType();
+ // get all installed instances
+ allPackages = packageType.getInstances();
+ aPackage = null ;
+ res = null;
+ app = null;
+ while ( allPackages.next() ) {
+ aPackage = allPackages.getPackageInstance();
+ res = Resource.createResource((ResourceType)appType,
+ aPackage.getDisplayName(),
+ null);
+ res.setDescription("The default CMS service instance.");
+ res.save();
+ app = Application.retrieveApplication(res.getOID());
+ app.setPath("/"+StringUtils.urlize(app.getTitle())+"/");
+ // unfortunately there seems to be no way to set the
+ // assoziation to PackageInstance. So we must do that by
+ // SQL magic
+ }
tc.commitTxn();