Presenting Plainrevs plugin, my take on a tiddler revision system

563 views
Skip to first unread message

JD

unread,
Jul 15, 2018, 7:29:23 AM7/15/18
to TiddlyWiki
Hello everyone, 

I'd like to present my revisioning system packaged in a plugin. For those interested, demo site is here: 


It's built on wikitext, and executes a macro that will record all the fields of a tiddler before changes to it are saved. These saved versions are available under the tiddler's info > Revisions tab, and from there you can... ① show differences with the current version, ② restore that revision, ③ pin it so it won't be deleted when the set max number of revisions is reached (as a snapshot, if you will), or ④ delete that revision. Default number of revisions kept are 3, but can be redefined on a per-tiddler basis. 

It's a non-JS approach (bec I don't know JS)... What that means, I don't know, really. 

I hope it's as helpful to users as it is to me. Please do report bugs!

- JD

TonyM

unread,
Jul 15, 2018, 9:40:40 AM7/15/18
to TiddlyWiki
Jd,

This looks great. I am highly likely to use it. I will test it out in comming days.

I will also see how it works with a version numbering system I am building to control tiddlers that are distributed to other wikis.

Thanks for sharing,

Tony

JD

unread,
Jul 15, 2018, 9:46:52 AM7/15/18
to TiddlyWiki
Thanks Tony, I'll look forward to your feedback!

Mohammad

unread,
Jul 15, 2018, 10:12:18 AM7/15/18
to tiddl...@googlegroups.com
Great job!
This can be used in multi user TW and lets see how it changed by whom!

/Mohammad


JD

unread,
Jul 15, 2018, 10:25:15 AM7/15/18
to TiddlyWiki
Thanks Mohammad! I certainly hope it works well with the awesome BOB, for the more sophisticated multi-user experience! 

David Gifford

unread,
Jul 15, 2018, 11:09:27 AM7/15/18
to TiddlyWiki
 Is now in the Toolmap under Writing and editing - editing tools.

JD

unread,
Jul 15, 2018, 11:22:34 AM7/15/18
to TiddlyWiki
Oh, thanks, David. 

Great job on the list by the way, It really helps with discovering TW stuff! 

Jed Carty

unread,
Jul 15, 2018, 11:33:26 AM7/15/18
to TiddlyWiki
I think that this could work with Bob right out of the box. If you make sure to set the editor name it should be listed in the modified field for each new change. I believe that there is a plugin that stores the username in a cookie and sets it automatically in a browser to help make sure that the name gets set.

JD

unread,
Jul 15, 2018, 11:59:18 AM7/15/18
to TiddlyWiki
Oh yeah, I don't know about using it with Bob's multi-user mode yet as I have a different (very un-secure) multiuser set up at TiddlySpot (of all places! team not on the same server, plus a host of other restrictions). Bob, I use on my personal wiki where I'm the lone user, and yeah Plainrevs works just fine there :D

I am... actually hoping for a secure, multiuser version of TiddlySpot. Being, as of yet, ignorant of backend stuff... am I mistaken to think that Bob aims to be something like that? :D 

Jed Carty

unread,
Jul 15, 2018, 12:20:19 PM7/15/18
to TiddlyWiki
Bob is never going to be secure in the way that you would want online, but I am working on an express-based backend server that works with Bob and has proper security. It is actually what the demo wiki I am currently using is being served on. It needs a server that can run node but it should be fine on something like one of the cheaper digital ocean droplets.

I am currently adding polish to it and then I need to do another security audit before I release the code. I hope that is soon because I have another project that I want to get to work on.

JD

unread,
Jul 15, 2018, 12:41:29 PM7/15/18
to TiddlyWiki
Yeah, proper security would be nice. Alas, tanstaafl. Although a system with all of the above is ideal, your plan for Bob is already great. It's beyond what I thought would be free to use. Thanks :) 

HC Haase

unread,
Aug 29, 2018, 7:54:50 AM8/29/18
to TiddlyWiki
Hi
I just discovered this. Nice

The plugin's delete button, deletes all the revisions as well. It has a different icon, but the caption and hover-text only says "delte this tiddler" and nothing about that the revisions will also be deleted. IMO there should be no doubt of what you are deleting. I have made adjustments to the text. Here are the tiddlers to make the changes.

$__language_Buttons_jd_Delete_Caption.json
$__language_Buttons_jd_Delete_Hint.json
$__plugins_jd_plainrevs_Buttons_delete.json

Thomas Elmiger

unread,
Aug 29, 2018, 3:39:20 PM8/29/18
to TiddlyWiki
Thanks for making this JD,
– and for bringing it up again, HC!

This came out just before my vacation started and I will have to test it sooner or later.

All the best,
Thomas

HC Haase

unread,
Aug 30, 2018, 6:12:22 AM8/30/18
to TiddlyWiki
How to find a revision if the parent is deleted?

If you for some reason delete a tiddler but not its revisions, I find it quite hard to search for said revisions tiddelers. They have a field "list" with the name of the parent tiddler, but for some reason I don't understand, I get no result when I search for the field ([list[name of tiddler]] [is[system]list[Nyt]]). Is there another way to do the search in this situation?

maybe things would be easier if the revisions were named $:/rev/name-of-parent-tiddler-datestring instead of the current naming scheme $:/rev/datestring

JD

unread,
Aug 31, 2018, 8:50:35 AM8/31/18
to TiddlyWiki
Hi HC,

Thanks for providing the Hint and Caption tiddlers! I'd like to add them to the plugin, if that's all right? 

By the way, the list filter operator will list whatever is contained in the "list" field of an input title... I believe it is a special field that usually contains tiddler titles so it doesn't act the same way as arbitrary fields do... 

So, to search for rev tiddlers the following filter should be used instead:

[prefix[$:/rev]search:list[Tiddler title]]

As for the revtiddler naming... I use the timestamp because I change tiddler titles a lot. If it's still $:/rev/TiddlerTitle when I've already changed the title of the source, it will no longer make sense to me. However, you can tweak the plugin to fit your own workflow :)

-jd

JD

unread,
Aug 31, 2018, 8:58:10 AM8/31/18
to TiddlyWiki
Thanks, Thomas (I'm a fan of your TW5 work!)

The plugin works as expected for me, but I have a very specific workflow that I'm sure limits my scope of testing. Feedback is greatly appreciated!

-jd

HC Haase

unread,
Sep 3, 2018, 5:04:55 AM9/3/18
to TiddlyWiki


Thanks for providing the Hint and Caption tiddlers! I'd like to add them to the plugin, if that's all right? 

of course! 

By the way, the list filter operator will list whatever is contained in the "list" field of an input title... I believe it is a special field that usually contains tiddler titles so it doesn't act the same way as arbitrary fields do... 

So, to search for rev tiddlers the following filter should be used instead:

[prefix[$:/rev]search:list[Tiddler title]]


thanks. As this search is not so obvious may I suggest that you put the above in  the documentation?


As for the revtiddler naming... I use the timestamp because I change tiddler titles a lot. If it's still $:/rev/TiddlerTitle when I've already changed the title of the source, it will no longer make sense to me. However, you can tweak the plugin to fit your own workflow :)

you are right, hadn't thought of that.

HC Haase

unread,
Sep 5, 2018, 5:09:26 AM9/5/18
to TiddlyWiki
Hi
When you use the keyboard shortcut (ctrl+enter) to save your edits, the "old" save mechanism will be used and there will not be any revisions saved.

JD, do you think your could make it an option to enable revisions for the keyboard shortcut too?

S H Chang

unread,
Sep 20, 2018, 1:08:46 AM9/20/18
to TiddlyWiki
Hi JD,

Thank you so much for this plugin!! It's super useful. I really appreciate it.

Florian

unread,
Jul 7, 2020, 7:53:22 PM7/7/20
to tiddl...@googlegroups.com
Hi JD,

I love your Plainrevs plugin, could you add some license notice to it
that allows others to use your plugin? E. g. a MIT or BSD style license?

All the best,
Florian

Am 15.07.18 um 13:29 schrieb JD:
> Hello everyone,
> I'd like to present my revisioning system packaged in a plugin. For those
> interested, demo site is here:
> http://j.d.revisions.tiddlyspot.com/
>
> It's built on wikitext, and executes a macro that will record all the
> fields of a tiddler before changes to it are saved. These saved versions
> are available under the tiddler's *info* > *Revisions* tab, and from there
Reply all
Reply to author
Forward
0 new messages