Preview request for comment - Link protocol handlers

Folks,

Off line I am working on what I call “Link protocol handlers” and thought I would outline the idea which I think is a good one and see if anyone is inspired and have any other related novel ideas, I may include.

Key innovations?

  • Use any fieldname (including text) and tiddlywiki automatically responds according to the prefix of the fieldvalue so you can use any arbitrary fieldname. The result is displayed on the current tiddler.
  • Drop links/text on a tiddler to add them to a field in that tiddler
  • Display, edit/rename fields from the view template with a click

The solution provides the following features;

On viewing tiddler it checks the non-system fields for content and tests it against a set of protocol prefixes

  • Example prefixes are http:// https:// file:// mailto:

  • Prefixes found for which we have a handler will generate an appropriate link in the current tiddler

  • I have also added some smarts to allow such links to be optional opened in a named “target” tab to reduce the number of tabs open. For example you can open all your tiddlywiki.com permalinks in the same tiddlywiki.com tab. R-click for a new window/tab.

  • Another feature is to turn any such link into a bookmark tiddler for more detailed handling.

I have also provisioned an optional drop zone on tiddlers, where you can drop links and have them added to a field on the tiddler - initially with a fieldname such as link-N so you can quickly gather links in a tiddler, or your wiki.

  • Given we may want to rename such link-N tiddlers to any more meaningful fieldname I have added a feature that allows a fieldname to be renamed, retaining its value inline in a list/ on the tiddler.
    • This can be used on any tiddler and field.

Outstanding items;

  • Feedback and Ideas from the community.
  • Add more prefixes and handling
  • Toggle the display of protocol links on each tiddler
  • Toggle the display of field rename or edit icons on each tiddler
  • Not yet implemented I plan to allow each fieldname to have a value set that indicates which html input parameter to use on the edit-text widget, eg input=text/textarea/email/color… to use when editing inline, with freedom to use other methods.
    • A Matching view option is likely as well.

Much later;

  • Extend the protocol handling to include tiddlywiki content such as tiddlername, lists, filters and transclusions.
  • Introduce the concept of virtual protocols to assign other tiddlywiki objects to tiddler such as buttons, dropdown selectors, config settings etc…

Something for which I do not have an answer is;

Drag and drop is a nice thing but there are circumstances where it is a little difficult.

Is there a way to copy and paste into a “drop zone” so it then does its drop handling?

[edited] Further research shows that unlike drag and drop, when you have copied some content to the clipboard you are free to click something such as a drop zone, which can also present an edit value in which to paste.

The above question is still outstanding but we have a reasonable work around.