Question
I like the revision system used in TWiki but I miss some functionality which should be available for administrators. I checked existing documentation and support web and found some information but it doesn't really help. Here's a list of possible use-cases, maybe some of them are already solved:
1. Delete revision: Imagine sombody adds secure data to a topic (e.g. passwords). Just by editing the topic again, the secure data would still be visible in the topic history. Therefore an administrator should be able to delete the revision. I found some
notes in the support web and checked the functionality as described in TWiki.cfg. It seems that the revision is deleted in the revisions file (,v) but the topic stays at the current revision and its content is not changed (might be a bug?).
2. Delete all revisions: After creating a new web out of an existing web, all topics (Web*) are copied including their revision. For a new web, this doesn't make sense. Therefore it should be possible to reset a topic, deleting its history and setting its revision back to 1!
3. Delete old revisions: For topics which are accessed heavily, the revision number increases fast. After a while, the first revisions might not be useful anymore and could be deleted.
- TWiki version: 01 Feb 2003 (upgraded from 01 Dec 2001)
- Perl version: v5.6.1 built for i586-linux
- Web server & version:
- Server OS: i586-linux
- Web browser & version:
- Client OS: NT 4.0
--
JoergBieri - 11 May 2003
Answer
The functionality for your 2nd and 3rd items is available to a "real" administrator with CLI (Command Line Interface) access. The fact that it is not available via the TWiki interface (are there better words? — i.e., that they can't be done from within TWiki by a "user") I won't comment on. (I mean, I could say that there hasn't been a need so far, there might even be good reasons that functionality should only be availabe via the CLI might be entirely appropriate.)
I really didn't follow your 1st item — maybe somebody else can comment.
--
RandyKramer - 11 May 2003
Joerg has good point. I was just thinking about
[purge history] function - (3) on my way to work. I know how to do (2): to clear
all versions, do
rm *.txt,v , but how to do (3): keep last month worth of discussions in a web, and still remove old stuff?
Example for feature (1)
(1) is rare, but important. If version say 1.12 has security sensitive info like password which needs be deleted, but I missed it in revision 1.13 and added some more consecutive revisions I want to keep say to current 1.18. I could remove password from current revision 1.19, but viewing old revisions 1.12 to 1.18 will still reveal the password.
Is it possible, even from CLI, to remove revision 1.12, keep 1.13 - 1.19 and 1.11? Or I need to manually remove revisions 1.12 - 1.19 and redo changes, creating new 1.12 revision with all old changes from 1.12 - 1.19 minus the password? Doable, but I will loose proper contributors.
BTW I numbered features above, and IMHO this is a Feature Request and s/b moved into
Codev.
--
PeterMasiar - 12 May 2003
On
1: Not sure why it does not work on your system, browser caching issue? I use that at TWiki.org and at work without any problems, e.g. the topic text itself is also reverted to the previous revision.
On
2: Sounds like an
FeatureEnhancementRequest. Could be done with these radio buttons in the create new web screen:
- (o) Keep existing revisions and owners of existing topics
- ( ) Start with revision 1.1 and your user name
On
3: Sounds like an
FeatureEnhancementRequest. Many corporations require a complete audit trail, so this feature must be configurable, e.g. it must be possible to disable this feature.
--
PeterThoeny - 12 May 2003
Re
1, see
example: How I can delete revision 1.12 from
RCS system, and keep remaining revisions 1.13 - 1.18 intact? I assume this is some commandline magic - what is it?
--
PeterMasiar - 13 May 2003
Wow, astonished about your feedback!
Checked
1: Found out, that it works in general but sometimes needs two attempts. Especially in case the topic was just edited (unix creation date within the timeframe) the version is not increased?. (My test case for this was to copy a topic on the CLI and check the functionality with the copied topic. Obviously the copied topic will have the current time as its modification time).
I also checked the comment for
2 from
PeterMasiar. Just deleting the ,v file doesn't help because the meta data within the topic still contains the old revision number. As second step, the topic should be edited and saved, this will also reset the version number back to 1.1 and initiate the versioning again (e.g. create the ,v file).
For all 3 points I added feature requests:
--
JoergBieri - 13 May 2003
On 1:
use
rcs -o1.12 topic.txt to remove (o)bsolete revisions;
cf man rcs.
Note, that TWiki is not aware of missing revisions. Therefore
- diffs will be empty,
- view will show the next available older revision.
--
PeterKlausner - 14 May 2003
All this assumes that
RCS will persist as the only backend storage system. The implementation of storage should be irrelevant to the end user so support needs to be provided at two levels: 1) API 2) User interfaces, including GUI and command line. The GUI and command line interface for users should encapsulate the backend storage system such that the actions the end user takes is the same regardless of how the data is stored. The end users should not care about
RCS nor need know that it exists.
--
MartinCleaver - 15 May 2003