You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
(6) |
Apr
(8) |
May
(2) |
Jun
(3) |
Jul
(5) |
Aug
(1) |
Sep
(3) |
Oct
(7) |
Nov
(18) |
Dec
(12) |
2006 |
Jan
(10) |
Feb
(1) |
Mar
(10) |
Apr
(16) |
May
(5) |
Jun
(9) |
Jul
(14) |
Aug
(3) |
Sep
(7) |
Oct
(2) |
Nov
(26) |
Dec
(3) |
2007 |
Jan
(2) |
Feb
(4) |
Mar
(51) |
Apr
(5) |
May
(8) |
Jun
(1) |
Jul
|
Aug
(7) |
Sep
(50) |
Oct
(4) |
Nov
(2) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: SourceForge.net <no...@so...> - 2007-09-13 10:47:35
|
Patches item #1793122, was opened at 2007-09-12 13:02 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Enable removal of Forum subscription notifications Initial Comment: Part of my drive to keep a lid on the size of the database - this patch enables subscription notifications to be deleted if successfully sent. The behaviour is implemented via a new config parameter in my latest version of forum (which I will finally commit to trunk once I can work out how to connect to the svn repository!!) - by default this patch has no effect Patch on r1615 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-09-13 10:47 Message: Logged In: YES user_id=1069385 Originator: YES Merged with trunk at r1616 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-13 08:26:18
|
Patches item #1793743, was opened at 2007-09-13 08:05 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Category Tree Ordering Initial Comment: At the moment, when assigning categories in the categories authoring step the categories within a node are ordered by sortkey - by default this is the order the terms were created. The order can be changed under the categories tab of the content centre where again, categories are ordered by sortkey. On our site, within the domains we use, the categories/terms are always dealt with alphabetically. This patch adds a config parameter to specify whether categories should be hanfdled alphabetically or by sortkey. If alpabetical is specified then the category assignment tree is sorted alphabetically, the categories under the categories tab are listed alphabetically, and the up/down arrows that change sortkey are not displayed (as it no longer makes sense to change the order manually). This patch only has an effect if the parameter com.arsdigita.cms.category_tree_order is set to Alphabetical. In hindsight, I think a better solution would have been to add ordering as a persistent attribute of a domain, rather than using a site wide config parameter - in that way, different domains could have their terms sorted differently. I would suggest 3 options for each domain, term unique id, sort key or alphabetical. However, I think the site wide setting in this patch is still appropriate for people who do not use the terms package. Maybe if the domain level setting was added as an additional patch then a fourth value for a domain - 'default' which would pick up the site wide setting. Patches on r1615 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-09-13 08:26 Message: Logged In: YES user_id=1069385 Originator: YES File Added: CategoryTreeOrdering.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-09-13 08:05 Message: Logged In: YES user_id=1069385 Originator: YES File Added: CategoryTreeOrdering.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-13 08:05:34
|
Patches item #1793743, was opened at 2007-09-13 08:05 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Category Tree Ordering Initial Comment: At the moment, when assigning categories in the categories authoring step the categories within a node are ordered by sortkey - by default this is the order the terms were created. The order can be changed under the categories tab of the content centre where again, categories are ordered by sortkey. On our site, within the domains we use, the categories/terms are always dealt with alphabetically. This patch adds a config parameter to specify whether categories should be hanfdled alphabetically or by sortkey. If alpabetical is specified then the category assignment tree is sorted alphabetically, the categories under the categories tab are listed alphabetically, and the up/down arrows that change sortkey are not displayed (as it no longer makes sense to change the order manually). This patch only has an effect if the parameter com.arsdigita.cms.category_tree_order is set to Alphabetical. In hindsight, I think a better solution would have been to add ordering as a persistent attribute of a domain, rather than using a site wide config parameter - in that way, different domains could have their terms sorted differently. I would suggest 3 options for each domain, term unique id, sort key or alphabetical. However, I think the site wide setting in this patch is still appropriate for people who do not use the terms package. Maybe if the domain level setting was added as an additional patch then a fourth value for a domain - 'default' which would pick up the site wide setting. Patches on r1615 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-09-13 08:05 Message: Logged In: YES user_id=1069385 Originator: YES File Added: CategoryTreeOrdering.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-13 08:05:10
|
Patches item #1793743, was opened at 2007-09-13 08:05 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Category Tree Ordering Initial Comment: At the moment, when assigning categories in the categories authoring step the categories within a node are ordered by sortkey - by default this is the order the terms were created. The order can be changed under the categories tab of the content centre where again, categories are ordered by sortkey. On our site, within the domains we use, the categories/terms are always dealt with alphabetically. This patch adds a config parameter to specify whether categories should be hanfdled alphabetically or by sortkey. If alpabetical is specified then the category assignment tree is sorted alphabetically, the categories under the categories tab are listed alphabetically, and the up/down arrows that change sortkey are not displayed (as it no longer makes sense to change the order manually). This patch only has an effect if the parameter com.arsdigita.cms.category_tree_order is set to Alphabetical. In hindsight, I think a better solution would have been to add ordering as a persistent attribute of a domain, rather than using a site wide config parameter - in that way, different domains could have their terms sorted differently. I would suggest 3 options for each domain, term unique id, sort key or alphabetical. However, I think the site wide setting in this patch is still appropriate for people who do not use the terms package. Maybe if the domain level setting was added as an additional patch then a fourth value for a domain - 'default' which would pick up the site wide setting. Patches on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793743&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 13:54:08
|
Patches item #1793122, was opened at 2007-09-12 13:02 Message generated for change (Settings changed) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) >Summary: Enable removal of Forum subscription notifications Initial Comment: Part of my drive to keep a lid on the size of the database - this patch enables subscription notifications to be deleted if successfully sent. The behaviour is implemented via a new config parameter in my latest version of forum (which I will finally commit to trunk once I can work out how to connect to the svn repository!!) - by default this patch has no effect Patch on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 13:02:51
|
Patches item #1793122, was opened at 2007-09-12 13:02 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Enable Forum subscription notifications to be removed Initial Comment: Part of my drive to keep a lid on the size of the database - this patch enables subscription notifications to be deleted if successfully sent. The behaviour is implemented via a new config parameter in my latest version of forum (which I will finally commit to trunk once I can work out how to connect to the svn repository!!) - by default this patch has no effect Patch on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793122&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 12:41:18
|
Patches item #1793108, was opened at 2007-09-12 12:41 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793108&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Restrict Available Content Types Initial Comment: Sometimes it may be useful to lock down a specific content type so that only certain users can create items of that type. This patch potentially excludes types from the drop down list when creating a new item if permissions have been granted on the type and the current user has not been granted CMS_NEW_ITEM privilege. As there is no UI for dynamically granting permissions on a content type, the best way to use this is to create a group in a content type loader and grant that group CREATE_NEW_ITEM privilege. Then adding people to that group allows them to create items. eg Group group = new Group(); group.setName("Establishment Editors"); ContentTypeCollection types = ContentType.getAllContentTypes(); types.addEqualsFilter(ContentType.OBJECT_TYPE, Establishment.BASE_DATA_OBJECT_TYPE); ContentType establishment = null; while (types.next()) { establishment = types.getContentType(); } if (establishment == null) { s_log.warn("Cannot grant permission on Establishment type as it doesn't exist - grant it manually"); System.out.println("Cannot grant permission on Establishment type as it doesn't exist - grant it manually"); } else { PermissionDescriptor create = new PermissionDescriptor(PrivilegeDescriptor.get(SecurityManager.CMS_NEW_ITEM), establishment, group ); PermissionService.grantPermission(create); } Patch on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793108&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 10:58:22
|
Patches item #1793047, was opened at 2007-09-12 10:57 Message generated for change (Settings changed) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793047&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) >Summary: Early Exit from page dispatch Initial Comment: If within a jsp based application you programatically set an error code in the response then the dispatch process still attempts to transform the page. If your page hasn't yet generated any xml then you end up with lots of stacktraces in the logs. This patch just prevents any attempt to transform xml from your page if you have bailed out early. Patch on r 1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793047&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 10:57:21
|
Patches item #1793047, was opened at 2007-09-12 10:57 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793047&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Earcly Exit from page dispatch Initial Comment: If within a jsp based application you programatically set an error code in the response then the dispatch process still attempts to transform the page. If your page hasn't yet generated any xml then you end up with lots of stacktraces in the logs. This patch just prevents any attempt to transform xml from your page if you have bailed out early. Patch on r 1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793047&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 10:17:52
|
Patches item #1793030, was opened at 2007-09-12 10:17 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793030&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Add Existing Groups as Subgroups Fix Initial Comment: Patch 1495387 added the ability to utilise the polyhierarchical nature of the group tree by adding existing groups as subgroups of other groups. When searching for groups to add as subgroups of the selected group, the intention is to prevent users from creating circular references. It does this by excluding parents of the selected group and existing children of the selected group. I forgot to exclude the group itself - so you can currently attempt to make a group a subgroup of itself. This patch just tightens up the exclusions. Incidentally, because this generates a query clause in the form group_id not in (a, b, c.....) it is possible in large group hierarchies to find you are exceeding the number of entries that can be used in an in clause (in Oracle this is 1000). A better (and quicker) approach would be to put together use joins on group_subgroup_trans_index rather than listing each exclusion separately - I haven't implemented this yet as it is not yet urgent - our users do occasionally hit it but we can work around the problem. Patch on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793030&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 10:08:35
|
Patches item #1793021, was opened at 2007-09-12 10:08 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793021&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: ID attribute for selects Initial Comment: At the moment, if you specify an ID attribute for a bebop select component in java code, it is not output in the html by the standard bebop xsl template and so you cannot apply css to a specific select component. This patch, on r1615, just outputs specified ID ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793021&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 10:06:23
|
Patches item #1793018, was opened at 2007-09-12 10:06 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793018&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Get a redirect URL programatically Initial Comment: I have trawled through the code and can't find this implemented anywhere - stable url strings tend to be cobbled together by concatenating strings in the code (eg com.arsdigita.cms.ui.item.Summary) or in xsl This utility method returns a redirect url for a given domain object. Because redirect urls are not in the context of ccm, I don't return a URL object or a relative URL because anything you do programatically with them is likely to result in a url of /ccm/redirect/ which doesn't work. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793018&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-09-12 09:41:23
|
Patches item #1793009, was opened at 2007-09-12 09:41 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793009&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Secure Switchback Initial Comment: A recent(ish) enhancement enabled you to specify in config a particular url start (eg ccm/register/ that would cause the site to switch to https. This update allows you to switch back to http if required (eg if user logs out). note that this was implemented for precisely the above scenario and so because we switch to https for ccm/register and switch to http for ccm/register/logout (ie one url is a subpath of the other) the secure switch checks that the requested url requires a secure switch and doesn't require a non secure switch. Otherwise we end up with an infinite loop when logging out - secure request to ccm/register/logout gets sent to http. Then it is a non secure request to a sub url of ccm/register so gets sent to https etc etc. The same check doesn't happen the other way - so if for some reason you did something like switch to secure when logging out and switch back to non secure when logging in !! you would hit a loop when logging out. Patch introduces a new config parameter waf.web.secure_switchback that behaves the same as the existing waf.web.secure_required parameter. There is no impact on the existing functionality if the new parameter is left empty Patch on r1615 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1793009&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-28 11:13:33
|
Patches item #1783195, was opened at 2007-08-28 11:11 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Notification Bugfix Initial Comment: In current trunk version, when a publish request is submitted, a notification phase is only applied if the user has entered an end date in the publish form. This means if the applied lifecycle has an end date and a notification period is specified then there will be no notification unless the user overrides the end date of the lifecycle!!! This code change fixes this, but there needs to be some data cleaning to sort out missed notifications. To limit the damage, you need to locate items that are still live and that do not have an expiry notification phase (there are ones where lifecycle hasn't finished and lifecycle has an end date but lifecycle does not have a phase with a phase definition labelled expirationImminent). I have a program (attached) that will identify and fix these, but because it is deployed in my custom application I cannot give you a version that will run straight away. Instead you need to take the java code and the pdl file and put them in one of your modules. There is no need to worry about where the pdl is placed - unlike a java class and its package, a pdl file doesn't have to sit in a location that reflects its model. The java class will need to have its package name changed to reflect the place you put it. Once you have put these somewhere and built them, execute ccm-run {your package}/CreateMissingNotificationPhases Identifying items that have already unpublished without a notification being sent is slightly more tricky - it may be easier to carry out a review of all unpublished items and check which ones are meant to be live. ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-08-28 11:13 Message: Logged In: YES user_id=1069385 Originator: YES File Added: query-missing-notification-phases.pdl ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-08-28 11:12 Message: Logged In: YES user_id=1069385 Originator: YES File Added: CreateMissingNotificationPhases.java ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-28 11:12:27
|
Patches item #1783195, was opened at 2007-08-28 11:11 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Notification Bugfix Initial Comment: In current trunk version, when a publish request is submitted, a notification phase is only applied if the user has entered an end date in the publish form. This means if the applied lifecycle has an end date and a notification period is specified then there will be no notification unless the user overrides the end date of the lifecycle!!! This code change fixes this, but there needs to be some data cleaning to sort out missed notifications. To limit the damage, you need to locate items that are still live and that do not have an expiry notification phase (there are ones where lifecycle hasn't finished and lifecycle has an end date but lifecycle does not have a phase with a phase definition labelled expirationImminent). I have a program (attached) that will identify and fix these, but because it is deployed in my custom application I cannot give you a version that will run straight away. Instead you need to take the java code and the pdl file and put them in one of your modules. There is no need to worry about where the pdl is placed - unlike a java class and its package, a pdl file doesn't have to sit in a location that reflects its model. The java class will need to have its package name changed to reflect the place you put it. Once you have put these somewhere and built them, execute ccm-run {your package}/CreateMissingNotificationPhases Identifying items that have already unpublished without a notification being sent is slightly more tricky - it may be easier to carry out a review of all unpublished items and check which ones are meant to be live. ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-08-28 11:12 Message: Logged In: YES user_id=1069385 Originator: YES File Added: CreateMissingNotificationPhases.java ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-28 11:11:44
|
Patches item #1783195, was opened at 2007-08-28 11:11 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Notification Bugfix Initial Comment: In current trunk version, when a publish request is submitted, a notification phase is only applied if the user has entered an end date in the publish form. This means if the applied lifecycle has an end date and a notification period is specified then there will be no notification unless the user overrides the end date of the lifecycle!!! This code change fixes this, but there needs to be some data cleaning to sort out missed notifications. To limit the damage, you need to locate items that are still live and that do not have an expiry notification phase (there are ones where lifecycle hasn't finished and lifecycle has an end date but lifecycle does not have a phase with a phase definition labelled expirationImminent). I have a program (attached) that will identify and fix these, but because it is deployed in my custom application I cannot give you a version that will run straight away. Instead you need to take the java code and the pdl file and put them in one of your modules. There is no need to worry about where the pdl is placed - unlike a java class and its package, a pdl file doesn't have to sit in a location that reflects its model. The java class will need to have its package name changed to reflect the place you put it. Once you have put these somewhere and built them, execute ccm-run {your package}/CreateMissingNotificationPhases Identifying items that have already unpublished without a notification being sent is slightly more tricky - it may be easier to carry out a review of all unpublished items and check which ones are meant to be live. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1783195&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-24 14:47:14
|
Patches item #1781131, was opened at 2007-08-24 14:47 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1781131&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Allow Items in folder to be permission filtered Initial Comment: Folder has a useful getItems method, but existing implementation cannot be filtered because the DataQueryDataCollectionAdapter query that takes in a Dataquery object has an outstanding bug. The bug was fixed for the adapter in the constructor that takes a query name (https://sourceforge.net/tracker/index.php?func=detail&aid=1160550&group_id=71505&atid=531527) This patch updates Folder to use this constructor and hence enables the ItemCollection returned by getItems to be subsequently permissionfiltered. Patch on R 1.0.4 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1781131&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-24 10:50:23
|
Patches item #1779418, was opened at 2007-08-22 13:31 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1779418&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Strengthen NotEmptyValidationListener Initial Comment: 1.0.4 release introduced a forced non breaking space in text areas in order to ensure valid xhtml (see https://sourceforge.net/forum/message.php?msg_id=4023603) The problem is that a textarea containing only this space will pass a NotEmptyValidationListener. This patch ensures that this is caught. Patch on 1.0.4 release ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-08-24 10:50 Message: Logged In: YES user_id=1069385 Originator: YES I had already put this into trunk - it was included as part of patch 1680803 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1779418&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-23 08:23:03
|
Patches item #1178475, was opened at 2005-04-07 12:17 Message generated for change (Settings changed) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1178475&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Allow cached portlet XML to be invalidated across hosts Initial Comment: The generated XML for some portlets can safely be cached until they are edited (eg freeform html portlet). Currently it is not possible to invalidate the cached version on editing because the cached versions are stored in a Hashmap and so in a load balanced environment, the portlet may be edited on one node and then viewed on another. If the editing node invalidates it's cached version, the other node will still have an out of date cached entry. This patch solves the problem by amending the AbstractPortletRenderer implementation of portlet caching to use a CacheTable. However, because a CacheTable requires a String key rather then an Object the PortletRenderer interface has been updated. An additional invalidateCachedVersion method has also been added to the interface and implemented in AbstractPortletRenderer so that it may be invoked from a portlet edit form (by getting the portletRenderer from the portlet object that is passed in to the processWidgets method) The methods signatures in PortletRenderer have also been updated to take in a pagestate parameter, enabling stateful portlets to be cached in a particular state (I will provide a patch for an implementation of stateful portlets shortly) Because of the amended method signatures, I have updated PortletRenderers that currently implement caching. If you are implementing caching in any portlets you are writing in the near future, please note the changes in this patch. Chris ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2006-04-04 11:31 Message: Logged In: YES user_id=1069385 change to invalidation - existing implementation assumes invalidation in portletEditor process method using something like portlet.getPortletRenderer ().invalidateCachedVersion(state) The call to getPortletRenderer causes problems however, which have been resolved by adding a method to the portlet domain object. Required code from editor is now of the form portlet.invalidateCachedPortletXML(state); ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2006-01-24 11:11 Message: Logged In: YES user_id=1069385 Content Item portlet caches its xml, which may include a traversal of an image attachment. Currently the image attachment traversal includes the image/content attribute which is rendered in xml as a jvm objectID of a blob and hence is different on different servers. Amendment to traversal attached ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2006-01-20 16:26 Message: Logged In: YES user_id=1069385 In order to work across multiple nodes, it is necessary for the cached object to implement hashCode, else when it is added at one node, the other node is notified and thinks its version is out of date (due to different hashCode based on jvm object ID) This node drops its version, and next time someone looks at the page, a new version is cached, the other node is notified etc etc. Although Element is mutable, this implementation of hashCode is fine because any changes to the object will make the equals method return false added patch based on release 1.0.2 Chris..... ---------------------------------------------------------------------- Comment By: Alan Pevec (apevec) Date: 2005-09-22 05:06 Message: Logged In: YES user_id=1334257 in svn repo at r900 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1178475&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-08-22 13:31:27
|
Patches item #1779418, was opened at 2007-08-22 13:31 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1779418&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Strengthen NotEmptyValidationListener Initial Comment: 1.0.4 release introduced a forced non breaking space in text areas in order to ensure valid xhtml (see https://sourceforge.net/forum/message.php?msg_id=4023603) The problem is that a textarea containing only this space will pass a NotEmptyValidationListener. This patch ensures that this is caught. Patch on 1.0.4 release ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1779418&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-06-15 12:53:21
|
Patches item #1489403, was opened at 2006-05-16 10:21 Message generated for change (Comment added) made by britsp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1489403&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Steve Pugh (britsp) Assigned to: Nobody/Anonymous (nobody) Summary: Pretty Aplaws URLs Initial Comment: This patch replaces ugly aplaws URLs of the format: /redirect?oid=[com.arsdigita.cms.contentassets.RelatedLink:{id=125011}] with shorter and neater URLs that look like this: /redirect?oid=RelatedLink-id-125011 This has the additional benefit that percent-encoding issues associated with the unusual characters [ { } ] etc are avoided. After applying the patch, aplaws will use the neater format by default, however the old-style URLs are still parsed correctly. There is more discussion of this issue here: http://sourceforge.net/forum/forum.php?thread_id=1491506&forum_id=368401 Steve ---------------------------------------------------------------------- >Comment By: Steve Pugh (britsp) Date: 2007-06-15 13:53 Message: Logged In: YES user_id=1271522 Originator: YES Committed revision 1591 ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-01-05 10:34 Message: Logged In: YES user_id=1069385 Originator: NO Hi Steve, Could you send me details of your local solution to the problem - a straight copy of your OID class would be easier than a diff file - another good reason for implementing this patch is that stable links can be used in emails (current ugly urls are not recognised as urls by some mail clients and so are not rendered as links) Thanks - please send to chris.gilbert{at}westsussex.gov.uk or to my sourceforge address Chris...... ---------------------------------------------------------------------- Comment By: Steve Pugh (britsp) Date: 2006-06-13 14:19 Message: Logged In: YES user_id=1271522 ADDITIONAL: I have just discovered a problem with this patch. If you go to "/ccm/admin/terms/" and select for example "Local Custom Navigation", it fails because the name-value pair is key=APLAWS-CUSTOM i.e. the value contains a hyphen but this character is used as the field separator. Solutions: 1. Use a different field separator character. 2. Change patch to interpret VALUE differently oid=TYPE-NAME-VALUE where the last token (VALUE) may contain hyphens 3. change the keys of the navigation lists so that they don't contain hyphens. Locally, I have changed the code using solution (2). If you want to know the details let me know. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1489403&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-05-31 12:59:04
|
Patches item #1707913, was opened at 2007-04-26 08:58 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Performance improvement on object creation & modification Initial Comment: See https://sourceforge.net/forum/forum.php?thread_id=1721796&forum_id=368401 Each patch helps performance in a different way. The premise is that the size of dnm_object_1_granted_context table is a major factor in the duration of updates to access controlled objects and so should be kept as small as possible, and that however small it is, each update is very time consuming and so the number of updates (triggered by updates to object_context) should be kept to a minimum. Most significant improvement is seen when the core patch is applied. This updates the dnm_context triggers to behave more defensively - only creating entries where absolutely necessary. Because the upgrade and ongoing behaviour means that there are no dnm_object_1_granted_context entries referring to 0 context, some queries have been amended to account for this. The upgrade is only applied to Oracle users. I think it would be worthwhile making equivalent changes to the postgres triggers and applying the mass deletion of dnm_object_1_granted_context_entries, but I cannot do it as I don't have a postgres instance running. Without trigger updates postgres users will see slight benefits in that the PermissionManager code now prevents some unneccessary object context updates. I have removed some unnecessary context settings from cms - these are in the cms-excess-context.diff. This prevents content section being set as default context on all content items (it never remains as the context) and prevents article text having a context (it isn't indexed separately for search so doesn't require it's own permission context). Finally, to try to cap the continued growth of some objects and hence keep the database at a manageable size, I have added configurable deletion of old lifecycles and notifications. Default is to retain all objects (current behaviour). Note that when notifications are set to delete once sent, notification failures are retained so you don't lose that important information. On my instance, I also deleted historical lifecycles, phases, notifications etc. I did this manually while creating backups, but I will put together an upgrade script to do this. It is a very long process. This patch contains some other minor changes - an option for login modules that look up external users to prevent users being able to edit details in Aplaws - this also keeps down the size of dnm tables by reducing the number of granted permissions (by 13000 in our case). Also, some updating of deprecated method calls, and in CMSTask an amendment to user retrieval to minimise the chances of duplicate emails. patch on 1573 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-05-31 12:59 Message: Logged In: YES user_id=1069385 Originator: YES Another minor update - in the upgrade script, the package has to be updated before the triggers, else the triggers are marked as invalid and have to be recompiled after the upgrade File Added: core_triggers.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-31 11:57 Message: Logged In: YES user_id=1069385 Originator: YES trigger patch file updated - slight change to dnm_context package to remove call to get_granted_context in drop_object procedure. This call isn't required as the result isn't used, and when in place it prevents manual deletion of acs_objects from the database where the object does not have a context File Added: core_triggers.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-30 07:32 Message: Logged In: YES user_id=1069385 Originator: YES NB - if you update to r1583, and set the config parameters to delete notifications once sent, you can clean old sent notifications from your database with the following sequence of statements: create table temp_sent_notifications as select * from nt_requests where status = 'sent' delete from nt_requests where request_id in (select request_id from temp_sent_notifications) delete from object_context where object_id in (select request_id from temp_sent_notifications) delete from acs_objects where object_id in (select request_id from temp_sent_notifications) drop table temp_sent_notifications create table temp_sent_messages as select * from messages x where not exists (select 1 from forum_posts where post_id = x.message_id) and not exists (select 1 from nt_requests where message_id = x.message_id) select * from temp_sent_messages order by subject delete from messages where message_id in (select message_id from temp_sent_messages) delete from object_context where object_id in (select message_id from temp_sent_messages) delete from acs_objects where object_id in (select message_id from temp_sent_messages) drop table temp_sent_messages If you choose not to retain lifecycles, you can clean out old lifecycles with this sequence: create table temp_complete_lifecycles as select * from lifecycles where has_ended = 1 create table temp_complete_phases as select * from phases where cycle_id in (select cycle_id from temp_complete_lifecycles) create table temp_compl_phase_defns as select * from phase_definitions where phase_definition_id in (select definition_id from phases where cycle_id in (select cycle_id from temp_complete_lifecycles)) and cycle_definition_id is null delete from lifecycles where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from acs_object_lifecycle_map where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from phase_definitions where phase_definition_id in (select phase_definition_id from temp_compl_phase_defns) delete from phases where phase_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where container_id in (select cycle_id from temp_complete_lifecycles) delete from acs_objects where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_context where object_id in (select phase_id from temp_complete_phases) delete from acs_objects where object_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select phase_definition_id from temp_compl_phase_defns) delete from acs_objects where object_id in (select phase_definition_id from temp_compl_phase_defns) drop table temp_complete_lifecycles drop table temp_complete_phases drop table temp_compl_phase_defns ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-25 15:34 Message: Logged In: YES user_id=1069385 Originator: YES cms-delete-old-items.diff merged with trunk at r1583. Other files will be merged soon. Note there is still no Postgres equivalent for the trigger changes. These are being used in production on our site now and have made a dramatic difference to publish times and other things - creating a new item, saving text etc. This is partly because we do have a lot of access control on our site, which did make it very slow before when adding items. ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-delete-old-items.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-excess-context.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-05-31 11:57:06
|
Patches item #1707913, was opened at 2007-04-26 08:58 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Performance improvement on object creation & modification Initial Comment: See https://sourceforge.net/forum/forum.php?thread_id=1721796&forum_id=368401 Each patch helps performance in a different way. The premise is that the size of dnm_object_1_granted_context table is a major factor in the duration of updates to access controlled objects and so should be kept as small as possible, and that however small it is, each update is very time consuming and so the number of updates (triggered by updates to object_context) should be kept to a minimum. Most significant improvement is seen when the core patch is applied. This updates the dnm_context triggers to behave more defensively - only creating entries where absolutely necessary. Because the upgrade and ongoing behaviour means that there are no dnm_object_1_granted_context entries referring to 0 context, some queries have been amended to account for this. The upgrade is only applied to Oracle users. I think it would be worthwhile making equivalent changes to the postgres triggers and applying the mass deletion of dnm_object_1_granted_context_entries, but I cannot do it as I don't have a postgres instance running. Without trigger updates postgres users will see slight benefits in that the PermissionManager code now prevents some unneccessary object context updates. I have removed some unnecessary context settings from cms - these are in the cms-excess-context.diff. This prevents content section being set as default context on all content items (it never remains as the context) and prevents article text having a context (it isn't indexed separately for search so doesn't require it's own permission context). Finally, to try to cap the continued growth of some objects and hence keep the database at a manageable size, I have added configurable deletion of old lifecycles and notifications. Default is to retain all objects (current behaviour). Note that when notifications are set to delete once sent, notification failures are retained so you don't lose that important information. On my instance, I also deleted historical lifecycles, phases, notifications etc. I did this manually while creating backups, but I will put together an upgrade script to do this. It is a very long process. This patch contains some other minor changes - an option for login modules that look up external users to prevent users being able to edit details in Aplaws - this also keeps down the size of dnm tables by reducing the number of granted permissions (by 13000 in our case). Also, some updating of deprecated method calls, and in CMSTask an amendment to user retrieval to minimise the chances of duplicate emails. patch on 1573 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-05-31 11:57 Message: Logged In: YES user_id=1069385 Originator: YES trigger patch file updated - slight change to dnm_context package to remove call to get_granted_context in drop_object procedure. This call isn't required as the result isn't used, and when in place it prevents manual deletion of acs_objects from the database where the object does not have a context File Added: core_triggers.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-30 07:32 Message: Logged In: YES user_id=1069385 Originator: YES NB - if you update to r1583, and set the config parameters to delete notifications once sent, you can clean old sent notifications from your database with the following sequence of statements: create table temp_sent_notifications as select * from nt_requests where status = 'sent' delete from nt_requests where request_id in (select request_id from temp_sent_notifications) delete from object_context where object_id in (select request_id from temp_sent_notifications) delete from acs_objects where object_id in (select request_id from temp_sent_notifications) drop table temp_sent_notifications create table temp_sent_messages as select * from messages x where not exists (select 1 from forum_posts where post_id = x.message_id) and not exists (select 1 from nt_requests where message_id = x.message_id) select * from temp_sent_messages order by subject delete from messages where message_id in (select message_id from temp_sent_messages) delete from object_context where object_id in (select message_id from temp_sent_messages) delete from acs_objects where object_id in (select message_id from temp_sent_messages) drop table temp_sent_messages If you choose not to retain lifecycles, you can clean out old lifecycles with this sequence: create table temp_complete_lifecycles as select * from lifecycles where has_ended = 1 create table temp_complete_phases as select * from phases where cycle_id in (select cycle_id from temp_complete_lifecycles) create table temp_compl_phase_defns as select * from phase_definitions where phase_definition_id in (select definition_id from phases where cycle_id in (select cycle_id from temp_complete_lifecycles)) and cycle_definition_id is null delete from lifecycles where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from acs_object_lifecycle_map where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from phase_definitions where phase_definition_id in (select phase_definition_id from temp_compl_phase_defns) delete from phases where phase_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where container_id in (select cycle_id from temp_complete_lifecycles) delete from acs_objects where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_context where object_id in (select phase_id from temp_complete_phases) delete from acs_objects where object_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select phase_definition_id from temp_compl_phase_defns) delete from acs_objects where object_id in (select phase_definition_id from temp_compl_phase_defns) drop table temp_complete_lifecycles drop table temp_complete_phases drop table temp_compl_phase_defns ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-25 15:34 Message: Logged In: YES user_id=1069385 Originator: YES cms-delete-old-items.diff merged with trunk at r1583. Other files will be merged soon. Note there is still no Postgres equivalent for the trigger changes. These are being used in production on our site now and have made a dramatic difference to publish times and other things - creating a new item, saving text etc. This is partly because we do have a lot of access control on our site, which did make it very slow before when adding items. ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-delete-old-items.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-excess-context.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-05-30 07:32:14
|
Patches item #1707913, was opened at 2007-04-26 08:58 Message generated for change (Comment added) made by cgyg9330 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Performance improvement on object creation & modification Initial Comment: See https://sourceforge.net/forum/forum.php?thread_id=1721796&forum_id=368401 Each patch helps performance in a different way. The premise is that the size of dnm_object_1_granted_context table is a major factor in the duration of updates to access controlled objects and so should be kept as small as possible, and that however small it is, each update is very time consuming and so the number of updates (triggered by updates to object_context) should be kept to a minimum. Most significant improvement is seen when the core patch is applied. This updates the dnm_context triggers to behave more defensively - only creating entries where absolutely necessary. Because the upgrade and ongoing behaviour means that there are no dnm_object_1_granted_context entries referring to 0 context, some queries have been amended to account for this. The upgrade is only applied to Oracle users. I think it would be worthwhile making equivalent changes to the postgres triggers and applying the mass deletion of dnm_object_1_granted_context_entries, but I cannot do it as I don't have a postgres instance running. Without trigger updates postgres users will see slight benefits in that the PermissionManager code now prevents some unneccessary object context updates. I have removed some unnecessary context settings from cms - these are in the cms-excess-context.diff. This prevents content section being set as default context on all content items (it never remains as the context) and prevents article text having a context (it isn't indexed separately for search so doesn't require it's own permission context). Finally, to try to cap the continued growth of some objects and hence keep the database at a manageable size, I have added configurable deletion of old lifecycles and notifications. Default is to retain all objects (current behaviour). Note that when notifications are set to delete once sent, notification failures are retained so you don't lose that important information. On my instance, I also deleted historical lifecycles, phases, notifications etc. I did this manually while creating backups, but I will put together an upgrade script to do this. It is a very long process. This patch contains some other minor changes - an option for login modules that look up external users to prevent users being able to edit details in Aplaws - this also keeps down the size of dnm tables by reducing the number of granted permissions (by 13000 in our case). Also, some updating of deprecated method calls, and in CMSTask an amendment to user retrieval to minimise the chances of duplicate emails. patch on 1573 ---------------------------------------------------------------------- >Comment By: chris gilbert (cgyg9330) Date: 2007-05-30 07:32 Message: Logged In: YES user_id=1069385 Originator: YES NB - if you update to r1583, and set the config parameters to delete notifications once sent, you can clean old sent notifications from your database with the following sequence of statements: create table temp_sent_notifications as select * from nt_requests where status = 'sent' delete from nt_requests where request_id in (select request_id from temp_sent_notifications) delete from object_context where object_id in (select request_id from temp_sent_notifications) delete from acs_objects where object_id in (select request_id from temp_sent_notifications) drop table temp_sent_notifications create table temp_sent_messages as select * from messages x where not exists (select 1 from forum_posts where post_id = x.message_id) and not exists (select 1 from nt_requests where message_id = x.message_id) select * from temp_sent_messages order by subject delete from messages where message_id in (select message_id from temp_sent_messages) delete from object_context where object_id in (select message_id from temp_sent_messages) delete from acs_objects where object_id in (select message_id from temp_sent_messages) drop table temp_sent_messages If you choose not to retain lifecycles, you can clean out old lifecycles with this sequence: create table temp_complete_lifecycles as select * from lifecycles where has_ended = 1 create table temp_complete_phases as select * from phases where cycle_id in (select cycle_id from temp_complete_lifecycles) create table temp_compl_phase_defns as select * from phase_definitions where phase_definition_id in (select definition_id from phases where cycle_id in (select cycle_id from temp_complete_lifecycles)) and cycle_definition_id is null delete from lifecycles where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from acs_object_lifecycle_map where cycle_id in (select cycle_id from temp_complete_lifecycles) delete from phase_definitions where phase_definition_id in (select phase_definition_id from temp_compl_phase_defns) delete from phases where phase_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_container_map where container_id in (select cycle_id from temp_complete_lifecycles) delete from acs_objects where object_id in (select cycle_id from temp_complete_lifecycles) delete from object_context where object_id in (select phase_id from temp_complete_phases) delete from acs_objects where object_id in (select phase_id from temp_complete_phases) delete from object_context where object_id in (select phase_definition_id from temp_compl_phase_defns) delete from acs_objects where object_id in (select phase_definition_id from temp_compl_phase_defns) drop table temp_complete_lifecycles drop table temp_complete_phases drop table temp_compl_phase_defns ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-05-25 15:34 Message: Logged In: YES user_id=1069385 Originator: YES cms-delete-old-items.diff merged with trunk at r1583. Other files will be merged soon. Note there is still no Postgres equivalent for the trigger changes. These are being used in production on our site now and have made a dramatic difference to publish times and other things - creating a new item, saving text etc. This is partly because we do have a lot of access control on our site, which did make it very slow before when adding items. ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-delete-old-items.diff ---------------------------------------------------------------------- Comment By: chris gilbert (cgyg9330) Date: 2007-04-26 08:59 Message: Logged In: YES user_id=1069385 Originator: YES File Added: cms-excess-context.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1707913&group_id=71505 |
From: SourceForge.net <no...@so...> - 2007-05-29 14:42:37
|
Patches item #1727634, was opened at 2007-05-29 14:42 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1727634&group_id=71505 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: chris gilbert (cgyg9330) Assigned to: Nobody/Anonymous (nobody) Summary: Folder Contents Order when paging Initial Comment: This patch fixes an annoying thing - selected order not being retained as you page through a folder. The selected order is retained until you navigate to a page that doesn't contain the folder browser (eg edit item, or navigate away from the content centre). I toyed with the idea of reverting to default order when a new folder is selected, but after much discussion, we felt that it was better to retain the user's selected ordering as long as possible as this is what most users would expect. If anyone would prefer the less persistent version, the code is in there commented out, but it should be made configurable, as we prefer this version. patch is on trunk post R1541 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=531527&aid=1727634&group_id=71505 |