Using Talk TW wiki mode for documentation editing

WHOAAA! This feature opens up for a lot of possibilities. Here is one:

@system and @jeremyruston - or whoever are the moderator here:
Is it possible to import all doc tiddlers to be wiki posts here? (one tiddler = one separate thread). For mortal end users like myself this would be totally superior for collaboratively improving and developing docs compared to the github UI.

Thankx

There would be a few challenges to nicely automating things:

  • Docs tiddlers are wikitext, not HTML, and use macros etc which can’t be represented in Discourse
  • Docs tiddlers use custom fields (eg the operator docs)

@jeremyruston
Sorry, I didn’t explain it clearly: The point is to have it in raw code here for collaborative editing and developing the docs. It would not be a place for using/reading the docs, only for collaboratively developing them. When consensus on a doc is reached, the result is (manually) sent off to gh for your final approval. The editable version remains here for further+future improvement.

@twMat in short, if you want to join the @Documentation group and actively work on this / make a proposal, please do.

(I also moved this thread to the docs category)

Thanks @boris

Yeah, I make doc contributions every now and then so I just joined the @Documentation group.

I obviously already made this proposal (or should I repost it somewhere?) but we would, I assume, need someone who is very familiar with this forum software to do some kind of batch import of all doc tiddlers into “wiki posts” here.

Wouldn’t it be better to add them as they become items of interest? Not all tiddlers need to be improved. I’m imagining my inbox suddenly filled with 2000 notices.

@Mark_S - you don’t like email??? :wink:
Maybe you’re right but I think that, beyond the extra manual step required then, I think it a “machine import” ensures the quality in several ways. For example, each such post could probably automatically have a title structure like, say, [doc] Name of Tiddler to make them searchable and immediately recognizable, and the content can be correctly formatted. Manual copy-paste will for sure mess things up and people would mix in notes and comments in the code so it wouldn’t be trivial for anyone to make it into a PR.
How many doc tids are there anyway? Surely it’s not 2000… right?

(By the way, the optimal solution would be some way to do collaborative doc work directly in TW… perhaps by enabling a discussion in each tiddler… or version proposals are shown as tabs in the tiddler… Imagine a wiki in collaboration mode; each tiddler has a “new tab” button that stacks another version in Z-direction… )

1 Like

Right now I think working on using TW itself is probably a better use case.

I do think bringing in docs of note, one at a time, as people work on them collaboratively, and then have someone in the group actually make the GitHub PR — would be the fastest way to start making incremental improvement.

ControlPanel : About says 1378

I think so too. We do have a sse-plugin now, that will allow to use server sent events. The funny thing is, if the plugin is installed, we almost automagically get a multi user wiki.

If a tiddler is edited in 1 browser tab it will show up in a second tab with the red "Dreaft of by … " button at the bottom of the wiki.

The only thing we would need to implement is a bit of extra UI, that will allow us to dismiss a draft-tiddler from the story-river without closing it. … Since closing a tiddler that is edited by someone else will break it.

Just to add that I’m also keen to devote some community energy to improving the docs. @TW_Tones already made the very reasonable point that there’s little value in adding more and more sophisticated features to TiddlyWiki if the quality of the docs prevents people from using them. A few years ago we had a moratorium on new features for a few months in order to focus on the docs, which may be worth trying again.

In terms of simplifying the workflow for creating docs PRs, I think it was @Mark_S who articulated a solution that I also find attractive:

  • Would-be contributors clone tiddlywiki.com into a new public wiki that is visible on the public internet. The tiddler $:/build must be included: it contains a reference to the GitHub snapshot that produced the original wiki
  • Contributors then edit their clone, requesting review from others here etc
  • A new process converts these modified clones into pull requests by comparing the tiddlers in the wiki with the original snapshot
  • An update to our GitHub Actions scripts to automatically build each active docs PR to https://pullrequests.tiddlywiki.org/<contributor>

The attraction of the process is that the only skills required of contributors is to be able to publish a TiddlyWiki, while the review and merging process for the core team wouldn’t need to change.

Getting that all up and running isn’t too much of a hurdle; it’s very similar to the way that TiddlyWikiLinks works. The first step would be the script to convert clones into PRs, run it manually and then over time automate more of the steps. If anyone is in a position to start some research I’d be happy to help, otherwise I plan to get to it myself at some point.

Something else that I think has come up recently: I’d be interested in figuring out a way to split the core reference docs from community contributed docs so that we can use a more relaxed submission process for the latter. I favour moving the reference docs into a plugin for easier distribution, and to establish a new community docs site at a subdomain of https://tiddlywiki.org.

1 Like

Folks,

I had a reason to update a tiddlywiki.com tiddler for documentation and thought I would include it here so someone can play with finding a work flow to apply it.

How to turn off camel case linking.json (1.5 KB)

If the default on tiddlywiki.com was a shadow tiddler, it would allow an import and difference check after import with the preview, however one can use the Import Dif preview by dropping it on tiddlywiki.com.

When editing the tiddler on tiddlywiki.com this appears;

Can you help us improve this documentation? Find out how to edit this tiddler on GitHub

If this could copy the new whole tiddler to the clipboard, as it appears on github, an Authorised user Could open the github tiddler and paste the new content to initiate the change.

This would allow anyone to modify a documentation tiddler, export it and upload here. A person with the git hub permissions can then review it on tiddlywiki.com and easily propose the change.

This would make submitting new or changed documentation very easy for all, and requires nothing more than we have at present except the copy tiddler to clipboard in the tid format.

I’m confused. You can already make a change on TiddlyWiki.com, export it, and load here. I’m not sure what the “copy to the clipboard” function would bring to the table.

Those look like nice changes to the CamelCase docs. If you want me to create a PR request let me know.

Yep, agree with @Mark_S.

Cut and paste of the content into a wiki mode here and then PRs through GitHub by people who want to help us is fine as a basic flow that gets more people involved.

I don’t think we should do it en-mass as Mat wanted — but it totally gets us smaller edits quicker right now.

And agreed — thanks for the suggested edits @TW_Tones!

Mark try it.

The copy to clipboard as a tid format would allow you to paste into the existing GitHub tiddler. No need to apply the changes manually. Just paste. Its a work flow improvement. This could be wrapped into a button that also opens the github tiddler.

Also I mention this because of all the other discussions about other ways to support documentation were forgetting the existing process somewhat.

[edited]
Also if someone edits a tiddler at tiddlywiki.com we could have an icon appear on its view toolbar, that allows you to simply drag and drop it as JSON on talk.tiddlywiki.org, reducing the steps even further. No need to export drag and drop.

I think you need to explain your copy-to-clipboard idea more. By “copy to github”, do you mean copy to a tid file at github? Or copy to tiddlywiki.com?

I like that idea. Not sure if it’s doable, but if it was I could see how that’s a time-saver.

Ok, I understand what you mean now. If your example was a tid file I could try it and see it works. I kind of gave up direct pasting into GH tiddlers because so often the formatting breaks in subtle ways and you don’t realize the problem until it’s been posted and looks awful. So usually I paste into my own local copy where I can be sure that what I see is what I push.

An almost equivalent is this button.

The following buton only appears on tiddlers that have changed.

  • If clicked it copies the content of the current tiddler text field (only) to the computers clipboard.
    • The full solution would format it in the same way it is stored in github, with field values etc…
    • On opening the github tiddler, select all and paste (ie ctrl-v)
  • If draged between tiddlywikis you can import the json of that tiddler.
    • The full solution would be reconfigured (if possible) to be droppable here

drag-changed.json (1.2 KB)

If you were going to share with this forum, exporting to a tid file and then dragging/dropping back here is probably the best way. If you were going to post to gh directly yourself, then a copy-tid button might be useful, though it would only save a couple steps. All the code for copy-tid must already be in TW and used in the tid exporter. So if someone made a button like that you could just drop it into your working TW, whether or not one was provided for us.

Edit: Note that things become considerably more complicated if you’re editing multiple tiddlers or creating new tiddlers. Then having everything in a JSON and sending off to your own node.js instance is especially helpful.

Thanks for you input mark

I do have a filter package version of that button, however the single tiddler button was so you can go direct to the single github tiddler. If more than one tiddler needs adding or Changing unfortunately each needs its own PR as I understand it.

Sure a whole package for dropping elsewhere and here to share, but the copy as tid to clipboard needs to be one tiddler at a time. The button I shared was just a hack.

I think tiddlywiki needs to provide the easy drag changes tool for users to simplify their contribution and thus could be installed on tiddlywiki.com.

But as you say the button for the gihub team can be installed as needed. Deploying it as a bookmarklet would be helpful as it is installed on a fresh copy of tiddlywiki with a single click.

I am working on a way for the easy way to distribute bookmarklets.

I will however not underestimate the value in reducing every step possible. For example not having to download an import may make it harder to change documentation on a mobile device.

The thing is if we are going to choose an approach and publish it, the simpler the work flow the more people will use it. For example in the click to open the github tiddler would also copy the changed tid, its actually no more work, just less.

Have you played with the basket macro? That would be ideal for collecting a set of tiddlers. Just drop the titles on the basket, then drag a JSON tiddlers payload.