Background:
I have long felt tiddlywiki out of the box is very close to a quick way to build one or more databases. For example a contact manager, a Todo list etc…
Simply creating tiddlers and adding fields goes a long way.
However as one builds a solution a range of desirable features would help on this journey for example;
- Being able to define field formats, to test validity or use a custom edit eg select from list or existing.
- This also brings into view the use of field definitions and field types
- many of these can be reused
- there is actually a somewhat limited number of possible field-types and their display and editor tools, so why not provision them upfront?
- This also brings into view the use of field definitions and field types
- Being able to view fields arranged into a form
- Be able to change that form into an editable form (not using the tiddler editor)
- Be able to manage a per-tiddler and wiki wide modes, such as read only, editor or designer
- Provide tools so that if you add a field to a particular tiddler type then this fields is available to all tiddlers of the same type
- This allows you to progressively build your database
- A set of tools to easily create new tiddlers of a given type to add new items. Templating.
- Then it is easy to make use of all the other tools, features, plugins against such a database.
Now I have done this a multitude of times, and it gets quite complex as the features are added. It becomes too complex to document and publish and so often bespoke decisions are made.
Proposal
I would like to Assemble a team to develop such a solution that may eventually become at least a core plugin. However we have not found a very good way to develop such teams in the community, except perhaps within the core developers.
Key goals
Provide a set of tools that simplifies building database like solutions on top of TiddlyWiki such that it does not need a database administrator, its adaptive and maximally automated whist keeping it to native tiddlywiki as much as possible.
This approach will include;
- Support for defining fields and having field tiddlers (like tag tiddlers)
- each field can have one of a set of field types and new ones can be created
- Support for defining field types and having field type tiddlers (like tag tiddlers)
- allowing input format, value selection etc… for each field type
- Simple form or tiddler type management - field order
- Simple tiddler and or wiki modes
Because I have being down this path so many times I would like to lead this project setting goals and directions towards its development and perhaps in time bring on some co-leaders.
If you are interested please let me know and share any methods you are aware of that may assist. For example;
- It is possible to reference fields via a procedure so that it can locate the field definition, look up the field type, determine if it is read only or view mode and present the field as needed
- It is simple to include a list of fieldnames that need to appear on a form and drag and drop reorder them.
- Especially if applied for a set of similar tiddlers eg a contact tiddler
- When in a designer mode it is trivial to include a button near any field on a form so the designer can define the field, select the field type and encode the preferred edit/display method.
- The relink plugin is a friend in this kind of solution.
Further clarification about this topic is posted here Rapid Database development tools proposal - #16 by TW_Tones