diff --git a/config/alfresco/activities/activities-feed-context.xml b/config/alfresco/activities/activities-feed-context.xml
index bd8aecffab..99f0882ed4 100644
--- a/config/alfresco/activities/activities-feed-context.xml
+++ b/config/alfresco/activities/activities-feed-context.xml
@@ -40,7 +40,7 @@
- 20160
+ 44640
diff --git a/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeed.xml b/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeed.xml
index 24e0e08322..b4487043da 100644
--- a/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeed.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeed.xml
@@ -7,19 +7,19 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (DEFAULT, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
values IDENTITY_VAL_LOCAL()
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeedControl.xml b/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeedControl.xml
index 94cf9d63cd..c91f97c69e 100644
--- a/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeedControl.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.DerbyDialect/ActivityFeedControl.xml
@@ -7,14 +7,14 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
+
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (DEFAULT, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
values IDENTITY_VAL_LOCAL()
-
-
-
-
-
+
+
+
+
-
+ and app_tool = #appTool#
+ ]]>
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeed.xml b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeed.xml
index fdcddd230b..995c282f1c 100644
--- a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeed.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeed.xml
@@ -7,19 +7,19 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
CALL IDENTITY()
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeedControl.xml b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeedControl.xml
index a5502fa021..e9cc83c4b5 100644
--- a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeedControl.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityFeedControl.xml
@@ -7,14 +7,14 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
+
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
CALL IDENTITY()
-
-
-
-
-
+
+
+
+
-
+ and app_tool = #appTool#
+ ]]>
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityPost.xml b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityPost.xml
index 2d479a6d32..aeeeebea97 100755
--- a/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityPost.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.HSQLDialect/ActivityPost.xml
@@ -10,11 +10,11 @@
-
+
-
-
+
+
@@ -22,7 +22,7 @@
@@ -60,27 +60,27 @@
where
status = #status#
]]>
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+ where status = 'POSTED'
+
+
+
insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
@@ -88,7 +88,7 @@
CALL IDENTITY()
-
+
@@ -97,7 +97,7 @@
where post_date < #postDate#
and status = #status#
]]>
-
+
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
diff --git a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeed.xml b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeed.xml
index 947bd8eaf9..6648e91761 100644
--- a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeed.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeed.xml
@@ -7,19 +7,19 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
SELECT LAST_INSERT_ID() AS value
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeedControl.xml b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeedControl.xml
index b0ac596003..122ad06a1c 100644
--- a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeedControl.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityFeedControl.xml
@@ -7,14 +7,14 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
-
+
+
+
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
SELECT LAST_INSERT_ID() AS value
-
-
-
-
-
+
+
+
+
-
+ and app_tool = #appTool#
+ ]]>
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityPost.xml b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityPost.xml
index 1c080740e8..b4a99cd4d8 100755
--- a/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityPost.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.MySQLInnoDBDialect/ActivityPost.xml
@@ -10,11 +10,11 @@
-
+
-
-
+
+
@@ -22,7 +22,7 @@
@@ -60,27 +60,27 @@
where
status = #status#
]]>
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+ where status = 'POSTED'
+
+
+
insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
@@ -88,7 +88,7 @@
SELECT LAST_INSERT_ID() AS value
-
+
@@ -97,7 +97,7 @@
where post_date < #postDate#
and status = #status#
]]>
-
+
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
diff --git a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeed.xml b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeed.xml
index ea0fc42e75..38ce384699 100644
--- a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeed.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeed.xml
@@ -7,19 +7,19 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
+
select alf_activity_feed_seq.nextval as value from dual
-
+
insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#id#, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeedControl.xml b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeedControl.xml
index d8afdccf6b..0b5b118272 100644
--- a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeedControl.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityFeedControl.xml
@@ -7,14 +7,14 @@
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
-
+
select alf_activity_feed_control_seq.nextval as value from dual
-
+
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
-
-
-
-
-
+
+
+
-
+ and app_tool = #appTool#
+ ]]>
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityPost.xml b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityPost.xml
index b2f5dc0895..7d90b84254 100755
--- a/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityPost.xml
+++ b/config/alfresco/activities/org.hibernate.dialect.Oracle9Dialect/ActivityPost.xml
@@ -10,11 +10,11 @@
-
+
-
-
+
+
@@ -22,7 +22,7 @@
@@ -60,35 +60,35 @@
where
status = #status#
]]>
-
-
-
+
+
-
-
+
+
-
-
+
+
-
+ where status = 'POSTED'
+
+
select alf_activity_post_seq.nextval as value from dual
-
+
insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#id#, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
-
+
@@ -97,7 +97,7 @@
where post_date < #postDate#
and status = #status#
]]>
-
+
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
diff --git a/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeed.xml b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeed.xml
new file mode 100644
index 0000000000..72a4c6ddff
--- /dev/null
+++ b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeed.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select nextVal('alf_activity_feed_seq')
+
+
+ insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
+ values (#id#, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeedControl.xml b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeedControl.xml
new file mode 100644
index 0000000000..4ca9a86049
--- /dev/null
+++ b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityFeedControl.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select nextVal('alf_activity_feed_control_seq')
+
+
+ insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
+ values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityPost.xml b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityPost.xml
new file mode 100755
index 0000000000..8579b31684
--- /dev/null
+++ b/config/alfresco/activities/org.hibernate.dialect.PostgreSQLDialect/ActivityPost.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select nextVal('alf_activity_post_seq')
+
+
+ insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
+ values (#id#, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
+
+
+
+
+
+
+
+
+ update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
+ where sequence_id = #id#
+ and status != #status#
+
+
+
+ update alf_activity_post set status = #status#, last_modified=#lastModified#
+ where sequence_id = #id#
+ and status != #status#
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml
index 5f20803d68..206e9ef26a 100644
--- a/config/alfresco/bootstrap-context.xml
+++ b/config/alfresco/bootstrap-context.xml
@@ -49,7 +49,7 @@
classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/AlfrescoPostCreate-2.2-MappedFKIndexes.sql
classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/AlfrescoPostCreate-2.2-Extra.sql
- classpath:alfresco/dbscripts/create/3.0/${db.script.dialect}/create-activities-tables.sql
+ classpath:alfresco/dbscripts/create/3.0/${db.script.dialect}/create-activities-extras.sql
@@ -66,7 +66,7 @@
-
+
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-tables.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-extras.sql
similarity index 59%
rename from config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-tables.sql
rename to config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-extras.sql
index 36aaf44699..5e816f23e3 100644
--- a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-tables.sql
+++ b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.DerbyDialect/create-activities-extras.sql
@@ -1,12 +1,13 @@
--
--- Title: Activities Schema
+-- Title: Activities Schema - Extras (Indexes, Identity)
-- Database: Derby
-- Since: V3.0.0 Schema
--
--- Note: The Activities schema is NOT managed by Hibernate
---
-
+-- Activity Post
+
+-- Hibernate workaround - to add identity column
+DROP TABLE alf_activity_post;
CREATE TABLE alf_activity_post (
sequence_id bigint generated by default as identity (start with 1),
post_date timestamp NOT NULL,
@@ -20,11 +21,14 @@ CREATE TABLE alf_activity_post (
last_modified timestamp NOT NULL,
primary key (sequence_id)
);
+
+CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
+CREATE INDEX post_status_idx ON alf_activity_post(status);
-CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
-CREATE INDEX status_idx on alf_activity_post(status);
-
+-- Activity Feed
+-- Hibernate workaround - to add identity column
+DROP TABLE alf_activity_feed;
CREATE TABLE alf_activity_feed (
id bigint generated by default as identity (start with 1),
post_id bigint default NULL,
@@ -40,13 +44,16 @@ CREATE TABLE alf_activity_feed (
primary key (id)
);
-CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
-CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
-CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
-CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
-CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
+CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
+CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
+CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
+CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
+CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
+-- Activity Feed Control
+-- Hibernate workaround - to add identity column
+DROP TABLE alf_activity_feed_control;
CREATE TABLE alf_activity_feed_control (
id bigint generated by default as identity (start with 1),
feed_user_id varchar(255) NOT NULL,
@@ -56,16 +63,17 @@ CREATE TABLE alf_activity_feed_control (
primary key (id)
);
-CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
+CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
+
--
-- Record script finish
--
-DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
+DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
- 'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
+ 'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
0, 125, -1, 126, CURRENT_TIMESTAMP, 'UNKNOWN', 1, 1, 'Script completed'
- );
+ );
\ No newline at end of file
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Dialect/create-activities-extras.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Dialect/create-activities-extras.sql
new file mode 100644
index 0000000000..f19f1332f6
--- /dev/null
+++ b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Dialect/create-activities-extras.sql
@@ -0,0 +1,28 @@
+--
+-- Title: Activities Schema - Extras (Indexes)
+-- Database: Generic
+-- Since: V3.0.0 Schema
+--
+
+CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
+CREATE INDEX post_status_idx ON alf_activity_post(status);
+
+CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
+CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
+CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
+CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
+CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
+
+CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
+
+--
+-- Record script finish
+--
+DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
+INSERT INTO alf_applied_patch
+ (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
+ VALUES
+ (
+ 'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
+ 0, 125, -1, 126, null, 'UNKNOWN', 1, 1, 'Script completed'
+ );
\ No newline at end of file
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.HSQLDialect/create-activities-tables.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.HSQLDialect/create-activities-tables.sql
deleted file mode 100644
index f2994dafe6..0000000000
--- a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.HSQLDialect/create-activities-tables.sql
+++ /dev/null
@@ -1,71 +0,0 @@
---
--- Title: Activities Schema
--- Database: HSQL
--- Since: V3.0.0 Schema
---
--- Note: The Activities schema is NOT managed by Hibernate
---
-
-
-CREATE TABLE alf_activity_post (
- sequence_id bigint generated by default as identity (start with 1),
- post_date timestamp NOT NULL,
- status varchar(10) NOT NULL,
- activity_data varchar(4000) NOT NULL,
- post_user_id varchar(255) NOT NULL,
- job_task_node integer NOT NULL,
- site_network varchar(255) default NULL,
- app_tool varchar(36) default NULL,
- activity_type varchar(255) NOT NULL,
- last_modified timestamp NOT NULL,
- primary key (sequence_id)
-);
-
-CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
-CREATE INDEX status_idx on alf_activity_post(status);
-
-
-CREATE TABLE alf_activity_feed (
- id bigint generated by default as identity (start with 1),
- post_id bigint default NULL,
- post_date timestamp NOT NULL,
- activity_summary varchar(4000) default NULL,
- feed_user_id varchar(255) NOT NULL,
- activity_type varchar(255) NOT NULL,
- activity_format varchar(10) default NULL,
- site_network varchar(255) default NULL,
- app_tool varchar(36) default NULL,
- post_user_id varchar(255) NOT NULL,
- feed_date timestamp NOT NULL,
- primary key (id)
-);
-
-CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
-CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
-CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
-CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
-CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
-
-
-CREATE TABLE alf_activity_feed_control (
- id bigint generated by default as identity (start with 1),
- feed_user_id varchar(255) NOT NULL,
- site_network varchar(255) NOT NULL,
- app_tool varchar(36) default NULL,
- last_modified timestamp NOT NULL,
- primary key (id)
-);
-
-CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
-
---
--- Record script finish
---
-DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
-INSERT INTO alf_applied_patch
- (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
- VALUES
- (
- 'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
- 0, 125, -1, 126, NOW, 'UNKNOWN', 1, 1, 'Script completed'
- );
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.MySQLInnoDBDialect/create-activities-tables.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.MySQLInnoDBDialect/create-activities-tables.sql
deleted file mode 100644
index 45aae16d27..0000000000
--- a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.MySQLInnoDBDialect/create-activities-tables.sql
+++ /dev/null
@@ -1,68 +0,0 @@
---
--- Title: Activities Schema
--- Database: MySQL
--- Since: V3.0.0 Schema
---
--- Note: The Activities schema is NOT managed by Hibernate
---
-
-
-CREATE TABLE alf_activity_post (
- sequence_id bigint NOT NULL auto_increment,
- post_date timestamp NOT NULL,
- status varchar(10) NOT NULL,
- activity_data varchar(4000) NOT NULL,
- post_user_id varchar(255) NOT NULL,
- job_task_node int(11) NOT NULL,
- site_network varchar(255) default NULL,
- app_tool varchar(36) default NULL,
- activity_type varchar(255) NOT NULL,
- last_modified timestamp NOT NULL,
- PRIMARY KEY (sequence_id),
- KEY jobtasknode_idx (job_task_node),
- KEY status_idx (status)
-) type=InnoDB;
-
-
-CREATE TABLE alf_activity_feed (
- id bigint NOT NULL auto_increment,
- post_id bigint default NULL,
- post_date timestamp NOT NULL,
- activity_summary varchar(4000) default NULL,
- feed_user_id varchar(255) NOT NULL,
- activity_type varchar(255) NOT NULL,
- activity_format varchar(10) default NULL,
- site_network varchar(255) default NULL,
- app_tool varchar(36) default NULL,
- post_user_id varchar(255) NOT NULL,
- feed_date timestamp NOT NULL,
- PRIMARY KEY (id),
- KEY postdate_idx (post_date),
- KEY feeduserid_idx (feed_user_id),
- KEY postuserid_idx (post_user_id),
- KEY sitenetwork_idx (site_network),
- KEY activityformat_idx (activity_format)
-) type=InnoDB;
-
-
-CREATE TABLE alf_activity_feed_control (
- id bigint NOT NULL auto_increment,
- feed_user_id varchar(255) NOT NULL,
- site_network varchar(255) NOT NULL,
- app_tool varchar(36) NOT NULL,
- last_modified timestamp NOT NULL,
- PRIMARY KEY (id),
- KEY feedcontroluserid_idx (feed_user_id)
-) type=InnoDB;
-
---
--- Record script finish
---
-DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
-INSERT INTO alf_applied_patch
- (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
- VALUES
- (
- 'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
- 0, 125, -1, 126, now(), 'UNKNOWN', 1, 1, 'Script completed'
- );
\ No newline at end of file
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-extras.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-extras.sql
new file mode 100644
index 0000000000..dfcf15a125
--- /dev/null
+++ b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-extras.sql
@@ -0,0 +1,38 @@
+--
+-- Title: Activities Schema - Extras (Indexes, Sequences)
+-- Database: Oracle
+-- Since: V3.0.0 Schema
+--
+
+-- Activity Post
+CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
+
+CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
+CREATE INDEX post_status_idx ON alf_activity_post(status);
+
+-- Activity Feed
+CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
+
+CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
+CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
+CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
+CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
+CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
+
+-- Activity Feed Control
+CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
+
+CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
+
+
+--
+-- Record script finish
+--
+DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
+INSERT INTO alf_applied_patch
+ (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
+ VALUES
+ (
+ 'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
+ 0, 125, -1, 126, SYSDATE, 'UNKNOWN', 1, 1, 'Script completed'
+ );
\ No newline at end of file
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-tables.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-tables.sql
deleted file mode 100644
index 7406a26893..0000000000
--- a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.Oracle9Dialect/create-activities-tables.sql
+++ /dev/null
@@ -1,77 +0,0 @@
---
--- Title: Activities Schema
--- Database: Oracle
--- Since: V3.0.0 Schema
---
--- Note: The Activities schema is NOT managed by Hibernate
---
-
-
-CREATE TABLE alf_activity_post (
- sequence_id number(19,0) NOT NULL,
- post_date timestamp NOT NULL,
- status varchar2(10) NOT NULL,
- activity_data varchar2(4000) NOT NULL,
- post_user_id varchar2(255) NOT NULL,
- job_task_node number(19,0) NOT NULL,
- site_network varchar2(255) default NULL,
- app_tool varchar2(36) default NULL,
- activity_type varchar2(255) NOT NULL,
- last_modified timestamp NOT NULL,
- primary key (sequence_id)
-);
-
-CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
-
-CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
-CREATE INDEX status_idx on alf_activity_post(status);
-
-
-CREATE TABLE alf_activity_feed (
- id number(19,0) NOT NULL,
- post_id number(19,0) default NULL,
- post_date timestamp NOT NULL,
- activity_summary varchar2(4000) default NULL,
- feed_user_id varchar2(255) default NULL,
- activity_type varchar2(255) NOT NULL,
- activity_format varchar2(10) default NULL,
- site_network varchar2(255) default NULL,
- app_tool varchar2(36) default NULL,
- post_user_id varchar2(255) NOT NULL,
- feed_date timestamp NOT NULL,
- primary key (id)
-);
-
-CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
-
-CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
-CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
-CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
-CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
-CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
-
-
-CREATE TABLE alf_activity_feed_control (
- id number(19,0) NOT NULL,
- feed_user_id varchar2(255) NOT NULL,
- site_network varchar2(255) NOT NULL,
- app_tool varchar2(36) NOT NULL,
- last_modified timestamp NOT NULL,
- primary key (id)
-);
-
-CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
-
-CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
-
---
--- Record script finish
---
-DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
-INSERT INTO alf_applied_patch
- (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
- VALUES
- (
- 'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
- 0, 125, -1, 126, SYSDATE, 'UNKNOWN', 1, 1, 'Script completed'
- );
diff --git a/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.PostgreSQLDialect/create-activities-extras.sql b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.PostgreSQLDialect/create-activities-extras.sql
new file mode 100755
index 0000000000..cd6ced2481
--- /dev/null
+++ b/config/alfresco/dbscripts/create/3.0/org.hibernate.dialect.PostgreSQLDialect/create-activities-extras.sql
@@ -0,0 +1,37 @@
+--
+-- Title: Activities Schema - Extras (Indexes, Sequences)
+-- Database: PostgreSQL
+-- Since: V3.0.0 Schema
+--
+
+-- Activity Post
+CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
+CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
+CREATE INDEX post_status_idx ON alf_activity_post(status);
+
+-- Activity Feed
+CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
+
+CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
+CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
+CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
+CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
+CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
+
+-- Activity Feed Control
+CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
+
+CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
+
+
+--
+-- Record script finish
+--
+DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
+INSERT INTO alf_applied_patch
+ (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
+ VALUES
+ (
+ 'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
+ 0, 125, -1, 126, null, 'UNKNOWN', TRUE, TRUE, 'Script completed'
+ );
\ No newline at end of file
diff --git a/config/alfresco/messages/schema-update.properties b/config/alfresco/messages/schema-update.properties
index 3608dddda3..36a1824267 100644
--- a/config/alfresco/messages/schema-update.properties
+++ b/config/alfresco/messages/schema-update.properties
@@ -10,6 +10,7 @@ schema.update.msg.executing_statement= Executing statement: {0}
schema.update.msg.optional_statement_failed=Optional statement execution failed:\n SQL: {0}\n Error: {1}\n File: {2}\n Line: {3}
schema.update.warn.dialect_unsupported=Alfresco should not be used with database dialect {0}.
schema.update.warn.dialect_hsql=Alfresco is using the HSQL default database. Please only use this while evaluating Alfresco, it is NOT recommended for production or deployment!
+schema.update.warn.dialect_derby=Alfresco is using the Apache Derby default database. Please only use this while evaluating Alfresco, it is NOT recommended for production or deployment!
schema.update.err.found_multiple=\nMore than one Alfresco schema was found when querying the database metadata.\n Limit the database user's permissions or set the 'hibernate.default_schema' property in 'custom-hibernate-dialect.properties'.
schema.update.err.previous_failed=A previous schema upgrade failed or was not completed. Revert to the original database before attempting the upgrade again.
schema.update.err.statement_failed=Statement execution failed:\n SQL: {0}\n Error: {1}\n File: {2}\n Line: {3}
diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml
index b6f4751204..1e47fa9218 100644
--- a/config/alfresco/patch/patch-services-context.xml
+++ b/config/alfresco/patch/patch-services-context.xml
@@ -1468,14 +1468,14 @@
-
- patch.db-V3.0-0-CreateActivitiesTables
+
diff --git a/source/java/org/alfresco/repo/activities/ActivityServiceImpl.java b/source/java/org/alfresco/repo/activities/ActivityServiceImpl.java
index 74cfcda31c..37f2573ce8 100644
--- a/source/java/org/alfresco/repo/activities/ActivityServiceImpl.java
+++ b/source/java/org/alfresco/repo/activities/ActivityServiceImpl.java
@@ -262,12 +262,16 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException e)
{
- throw new AlfrescoRuntimeException("Failed to post activity: " + e, e);
+ throw new AlfrescoRuntimeException("Failed to post activity: " + e, e);
+ }
+ catch (Throwable t)
+ {
+ throw new AlfrescoRuntimeException("Failed to post activity: " + t, t);
}
}
catch (AlfrescoRuntimeException e)
{
- // log error, subsume exception
+ // log error, subsume exception (for post activity)
logger.error(e);
}
}
@@ -313,13 +317,17 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException se)
{
- throw new AlfrescoRuntimeException("Unable to get user feed entries: " + se.getMessage());
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Unable to get user feed entries: " + se.getMessage());
+ logger.error(are);
+ throw are;
}
catch (JSONException je)
{
- throw new AlfrescoRuntimeException("Unable to get user feed entries: " + je.getMessage());
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Unable to get user feed entries: " + je.getMessage());
+ logger.error(are);
+ throw are;
}
-
+
return activityFeedEntries;
}
@@ -350,11 +358,15 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException se)
{
- throw new AlfrescoRuntimeException("Unable to get site feed entries: " + se.getMessage());
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Unable to get site feed entries: " + se.getMessage());
+ logger.error(are);
+ throw are;
}
catch (JSONException je)
{
- throw new AlfrescoRuntimeException("Unable to get site feed entries: " + je.getMessage());
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Unable to get site feed entries: " + je.getMessage());
+ logger.error(are);
+ throw are;
}
return activityFeedEntries;
@@ -382,7 +394,9 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException e)
{
- throw new AlfrescoRuntimeException("Failed to set feed control: " + e, e);
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Failed to set feed control: " + e, e);
+ logger.error(are);
+ throw are;
}
}
@@ -433,7 +447,9 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException e)
{
- throw new AlfrescoRuntimeException("Failed to get feed controls: " + e, e);
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Failed to get feed controls: " + e, e);
+ logger.error(are);
+ throw are;
}
}
@@ -456,7 +472,9 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException e)
{
- throw new AlfrescoRuntimeException("Failed to unset feed control: " + e, e);
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Failed to unset feed control: " + e, e);
+ logger.error(are);
+ throw are;
}
}
@@ -481,7 +499,9 @@ public class ActivityServiceImpl implements ActivityService
}
catch (SQLException e)
{
- throw new AlfrescoRuntimeException("Failed to query feed control: " + e, e);
+ AlfrescoRuntimeException are = new AlfrescoRuntimeException("Failed to query feed control: " + e, e);
+ logger.error(are);
+ throw are;
}
}
}
diff --git a/source/java/org/alfresco/repo/activities/feed/cleanup/FeedCleaner.java b/source/java/org/alfresco/repo/activities/feed/cleanup/FeedCleaner.java
index 0c87bb74af..d8471595e3 100644
--- a/source/java/org/alfresco/repo/activities/feed/cleanup/FeedCleaner.java
+++ b/source/java/org/alfresco/repo/activities/feed/cleanup/FeedCleaner.java
@@ -78,7 +78,7 @@ public class FeedCleaner
try
{
long nowTimeOffset = new Date().getTime();
- long keepTimeOffset = nowTimeOffset - (maxAgeMins*60*1000); // millsecs = mins * 60 secs * 1000 msecs
+ long keepTimeOffset = nowTimeOffset - ((long)maxAgeMins*60000L); // millsecs = mins * 60 secs * 1000 msecs
Date keepDate = new Date(keepTimeOffset);
// clean old entries
diff --git a/source/java/org/alfresco/repo/domain/schema/SchemaBootstrap.java b/source/java/org/alfresco/repo/domain/schema/SchemaBootstrap.java
index a6b80530be..c4d5fdf223 100644
--- a/source/java/org/alfresco/repo/domain/schema/SchemaBootstrap.java
+++ b/source/java/org/alfresco/repo/domain/schema/SchemaBootstrap.java
@@ -64,6 +64,7 @@ import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.hibernate.connection.UserSuppliedConnectionProvider;
import org.hibernate.dialect.DB2Dialect;
+import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.HSQLDialect;
import org.hibernate.dialect.MySQL5Dialect;
@@ -102,6 +103,7 @@ public class SchemaBootstrap extends AbstractLifecycleBean
private static final String MSG_OPTIONAL_STATEMENT_FAILED = "schema.update.msg.optional_statement_failed";
private static final String WARN_DIALECT_UNSUPPORTED = "schema.update.warn.dialect_unsupported";
private static final String WARN_DIALECT_HSQL = "schema.update.warn.dialect_hsql";
+ private static final String WARN_DIALECT_DERBY = "schema.update.warn.dialect_derby";
private static final String ERR_MULTIPLE_SCHEMAS = "schema.update.err.found_multiple";
private static final String ERR_PREVIOUS_FAILED_BOOTSTRAP = "schema.update.err.previous_failed";
private static final String ERR_STATEMENT_FAILED = "schema.update.err.statement_failed";
@@ -905,6 +907,10 @@ public class SchemaBootstrap extends AbstractLifecycleBean
{
LogUtil.info(logger, WARN_DIALECT_HSQL);
}
+ if (dialectClazz.equals(DerbyDialect.class))
+ {
+ LogUtil.info(logger, WARN_DIALECT_DERBY);
+ }
int maxStringLength = SchemaBootstrap.DEFAULT_MAX_STRING_LENGTH;
// Adjust the maximum allowable String length according to the dialect