Plugin to remove items with item-link fields pointing to deleted items
- Status
- Open
- Subject
- Plugin to remove items with item-link fields pointing to deleted items
- Version
- 11.x
- Category
- Feature request
- Feature
- Trackers
Wiki Plugin (extends basic syntax) - Resolution status
- New
- Submitted by
- hrsms
- Lastmod by
- hrsms
- Rating
- Description
This request is related to another: http://dev.tiki.org/make+a+wish+-+thank+you?itemId=5052
I am trying to hide the internals of my trackers from the users as much as possible. In particular, I do not want them to have to understand how item-list fields work.
Say:
Tracker 1 includes an item-list field.
Tracker 1 has items a, b, and c
Tracker 2 includes an item-link field that points to tracker 1
Tracker 2 has items d, e, and f. Items d and e point to item a.If the user deletes item (a), (d) and (e) are ophaned, so to speak. As the admin, I can go search for these and delete them on occasion, but it would be far better if these linked items were removed at the same time.
So the feature request is for a plugin that searches for orphaned items and deletes them. You might consider the following fields:
PluginTrackerRemoveOrphans
- trackerId
- ID of tracker in which to search for orphaned items
- fieldId
- Delimited list of fields to search (field is ignored if not an item-link. All item-link fields searched if no ID specified). If the value is for an item that no longer exists, linking item is removed.
- Bool
- If false (default), any item-link field pointing to an non-existent item will cause the item to be removed. If true, all fields (or all fields in fieldId parameter, if specified) must point to non-existent items before the item is removed.
- URL
- Page to which the browser will be directed after the action is performed. If not set, will go to tiki-view_tracker.php&trackerId=trackerId
- Confirm
- If true, Text , action button, and abort button are displayed. Otherwise the action is executed without user interaction. Default is true.
- Text
- Text to display to the user regarding the action that is about to take place. Default: "You are about to remove table items referencing other items that no longer exist.
- action
- Text for button that executes the command. Default is "Continue".
- abort
- Text for button that aborts the command. Default is "Cancel".
How I would use this:I list the items of tracker 1 on a wiki page using pluginTrackerFilter. Let's say it is named "Catalog". A wiki template page is specified for formatting.
The template includes edit and delete links. The delete link is to a wiki page using pluginTracker or pluginRemoveItem (see http://dev.tiki.org/make+a+wish+-+thank+you?itemId=5052) to remove the item in tracker1. The URL field for this plugin points to a third page that uses PluginTrackerRemoveOrphans. The trackerId field is set to the ID for tracker 2, the confirm field is set to false so the action takes place without user action, and the URL field is set to "Catalog" so that the user returns to the original list of item - {PluginTrackerRemoveOrphans(trackerId="2", confirm='false", url="Catalog") \}.
The user has removed the item from the catalog and all items that linked to it, without knowing anything about the internals.
Thanks.
- Priority
- 25
- Demonstrate Bug on Tiki 19+
-
This bug has been demonstrated on show2.tiki.org
Please demonstrate your bug on show2.tiki.org
Show.tiki.org is not configured properlyThe public/private keys configured to connect to show2.tiki.org were not accepted. Please make sure you are using RSA keys. Thanks.
- Demonstrate Bug (older Tiki versions)
-
This bug has been demonstrated on show.tikiwiki.org
Please demonstrate your bug on show.tikiwiki.org
Show.tiki.org is not configured properlyThe public/private keys configured to connect to show.tikiwiki.org were not accepted. Please make sure you are using RSA keys. Thanks.
- Ticket ID
- 5053
- Created
- Wednesday 11 December, 2013 19:32:58 UTC
by hrsms - LastModif
- Wednesday 11 December, 2013 19:35:34 UTC