Browser-based rename, move, and delete for individual topics
You can use browser-based controls to change a topic's name, move it to another TWiki web, or delete it to a hidden
Trash
web.
- Click on
[More]
(bottom right of page) on the topic to be changed, then, in the new screen, on [Rename/move]
. You can now rename and/or move/delete in one operation:
- Move/Delete: Select the target web if other than the current web - choose
Trash
to delete a topic.
- Rename: Enter the new topic name - default is current name
NOTE: You'll be warned if any of the topics to be affected are locked (being edited), or if there is a name conflict.
- Prevent updates by unchecking individual items on the list of referring links - these topics will NOT to be updated with the new name (by default, all referring links will be updated).
- Click on
[Rename/Move]
: the topic will be renamed and links to the topic updated as requested.
- If any of the referring pages are locked then they will be listed: you can correct these later by again pressing
[Rename/Move]
.
- There is a Put back feature that allows you to undo a
Rename/Move/Delete
- an instruction line and undo link will appear at the bottom of the modified topic. This allows you to revert from the last modification only.
Deleted topics are moved to a special
Trash
web - they are NOT physically erased from the server. All webs share
Trash
- in case of a name conflict with a topic already
Trash
, the user is alerted and asked to choose a new name.
The
Trash
web should be be cleared periodically, by archiving (saving) the text and RCS files if required (recommended), then deleting them from the
Trash
directory.
- This can only be done from on the server, not through the browser.
- Since simple FTP access to the
Trash
directory is all that's required for maintenance, it's possible to grant Trash
admin privileges to multiple users, while strictly limiting server access.
You can use
TWikiMetaData to place a command in the
WebTopicViewTemplate and
WebTopicNonWikiTemplate that will indicate that a topic has been moved by searching for the tag %META:TOPICMOVED{...}%. Customize something like this:
%<nop>METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%"
title="This topic used to exist and was moved to: "}%
- %SEARCH%, with a special template, finds and displays all occurrences of the topic name in other topics, site-wide. These referring links are by default automatically changed to the new topic and/or web name. This includes relevant TWikiMetaData definitions.
- User can omit one or more topics from the update list by unchecking them.
-
<pre>
and <verbatim>
are honoured - no changes are made to text within these areas.
- The topic is moved (if locks allow).
- References are changed (locks and permissions permitting).
- Any referring topics that can't be changed due to locks are listed - user can take note and change them at another time.
Referring topics are found using the %SEARCH% variable - see the template
searchrenameview.tmpl
. First, matching topics in the current web are listed - matches are to
topic
. Next, all webs (including the current one) are listed that match
web.topic
. Because %SEARCH% is used, webs marked in
WebPreferences as
NOSEARCHALL
will not show up in the search for references to the
topic
being changed.
Changed references are kept are as short as possible, ex:
topic
is used in preference to
web.topic
.
User permissions affect the Rename function in various ways. To rename a topic, you need both
ALLOWTOPICCHANGE
and
ALLOWTOPICRENAME
permission for that topic. To alter referring topics, you need change permission. See
TWikiAccessControl for information on setting up access permissions.
Consider carefully whether to make browser-based
Rename/Move/Delete widely available, or to restrict it to an administrator/moderator group. Allowing all users to easily manipulate topics can be extremely useful in refactoring a busy web or site. However, there are at least two significant potential drawbacks to take into account:
- When referring links are updated, the modified topics appear in WebChanges, creating the impression that editorial changes were made. This can undermine the usefulness of WebChanges.
- Due to current limitations, fairly heavy use of Rename/Move/Delete functions can lead to an accumulation of minor technical problems (ex: broken links) and usability issues (ex: user confusion). If Rename... is used heavily, these negatives will obviously increase, in number and effect.
Ultimately, the size, objectives, and policies of your TWiki site, the real-world behavior of your user group, and most importantly, the initial TWiki site management leadership, will determine the most effective implementation of this feature, and the success of the site overall.
Rename/Move is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that
search
can show matches that will not be updated due to case differences. Other mismatches with actual rendered output are also possible as the approaches are so different.
The following shows some limitations of square bracket processing.
[[Old Topic]] => [[NewTopic][Old Topic]]
[[old topic]] => [[NewTopic][old topic]]
[[old t opic]] => not changed
[[OldTopic]] => [[NewTopic]]
--
MikeMannix? - 27 Dec 2001