[TW5] Introducing TiddlyTables a plugin for creating sortable tables.

2,496 views
Skip to first unread message

Alan Aldrich

unread,
Sep 9, 2019, 3:01:41 PM9/9/19
to TiddlyWiki
Greetings All, I am a long time fan of TiddlyWiki but new to the community. First and foremost, I would like to thank Jeremy for creating TiddlyWiki and everyone who supports it. As a way to learn the ins and outs of TiddlyWiki I started a "table builder" plugin that I have been gradually improving in my spare time. I finally got around to finishing it up recently and would like to share it with the community. 

The ability for the entire wiki to import/export to/from a spreadsheet is a fascinating feature of TiddlyWiki, and I wanted to build on that strength by creating a simple way to query data in the wiki and display it in a tabular way. I am calling it TiddlyTables. The following link contains installation instructions and examples:


There is also a "task manager" plugin that can be downloaded. Its primary purpose is to demonstrate the features of TiddlyTables. I look forward to hearing from you. I will do my best to answer questions and I appreciate any feedback. 

Thanks,
Alan Aldrich

PMario

unread,
Sep 9, 2019, 4:31:38 PM9/9/19
to TiddlyWiki
Hi Alan,

Very interesting project. ... Didn't look at the code, but the shown use-cases are really great!!
Thx for sharing!

-mario

David Gifford

unread,
Sep 9, 2019, 6:12:01 PM9/9/19
to TiddlyWiki
Great, Alan! I added it to the TiddlyWiki toolmap under Tables (https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM)

Cade Roux

unread,
Sep 9, 2019, 6:55:19 PM9/9/19
to TiddlyWiki
This is very exciting for me.  I'm using a lot of tables of test results generated from my data warehouse build/deploy/test process.  Currently they are regular TiddlyTables of the form |column|column|column| with checkboxes for when individual test case results have been validated against requirements but this looks like it could be a good avenue to get more functionality.

I look forward to checking it out soon.

Thanks,

Cade


On Monday, September 9, 2019 at 2:01:41 PM UTC-5, Alan Aldrich wrote:

TonyM

unread,
Sep 9, 2019, 8:23:31 PM9/9/19
to TiddlyWiki
Alan,

Thanks so much for sharing this to the community. I have started investigating and its looks great. I see you have put in the work to publish it. I have being working with tables and field definitions of late myself so will provide a feedback if I can. 

It is perhaps not possible for me to incorporate this into some existing solutions but I see great value going forward.

Regards
Tony 

Diego Mesa

unread,
Sep 10, 2019, 7:57:01 AM9/10/19
to TiddlyWiki
Hey Alan,

This is wonderful! I am playing around with it and very impressed!! I will have more thoughts as I continue to play around, but in the meantime, I would strongly suggest making the suggestion you already have listed:

"Confirmation before deletion on delete column."

be a much higher priority. I think *nothing* in TW should cause deletion without confirmation. 

Thanks for all your excellent work! 


On Monday, September 9, 2019 at 2:01:41 PM UTC-5, Alan Aldrich wrote:

Mohammad Rahmani

unread,
Sep 10, 2019, 8:56:14 AM9/10/19
to tiddl...@googlegroups.com
Hi Alan,

 Great work! 
One question, is it based on pure TW or have some JS code?


Best wishes
Mohammad


--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/ac15bee4-dd10-4ef4-8118-7cbcadfc9bcf%40googlegroups.com.

Alan Aldrich

unread,
Sep 10, 2019, 11:53:31 AM9/10/19
to TiddlyWiki
Great question Mohammad! It was built using only TW code, no JS. Certain features would have been easier to build using js code (like pagination) but this project was primarily a learning experience for me to learn the TW syntax and see how far I could take it. By the way, this plugin is TW 5.1.16 compatible so it doesn't even utilize the new math operators. I'm sure performance and usability would be improved if I implemented some js code and that may be the direction I go in the future. I left the version in beta because I hope to get feedback on these sort of topics before saying it is ready for production use. Thanks for the question!
Message has been deleted
Message has been deleted

Alan Aldrich

unread,
Sep 10, 2019, 12:02:47 PM9/10/19
to TiddlyWiki
I agree the delete column should have a confirmation. I will try to get that in the next version. Do you know of a simple and standard way to accomplish this?

Jeremy Ruston

unread,
Sep 10, 2019, 12:34:12 PM9/10/19
to tiddl...@googlegroups.com
Hi Alan

Congratulations, TiddlyTables is a terrific piece of work, and very impressive that it was implemented purely in wikitext. It looks great, with a clear visual design to convey the hierarchy, and seems very efficient to work with.

It’s also great to see this kind of thing from a newcomer to the community. We worry a lot about the quality of our documentation and so it’s kind of reassuring to get confirmation that TiddlyWiki 5 is learnable!

Best wishes

Jeremy

Mohammad Rahmani

unread,
Sep 10, 2019, 1:26:08 PM9/10/19
to tiddl...@googlegroups.com
Hi again Alan,

Congratulation! It is really amazing to hear you have done all of these in Pure Tiddlywiki Script!
Almost all of the work on sortable table use some kind of JS!

I recommend to stay with pure TW. I am a fan of pure TW script and I believe TW should let users to implement what they want in pure TW!
If more feature is required using coding in JS, I believe TW core developers should add to core!

Working with core features for development will guarantee your plugin always work.

Tiddlytable has a lot for me to learn and I would ask if possible to publish the code and doc on GitHub and lets people fork it!
Documentation is always a tough part of such project! Normally developers like to put their time on development not preparing documentation :-)

Regarding performance (using JS versus TW script) Jeremy may have comments on this, but I used Tiddlytable with Tiddler commander to create hundreds of tiddlers and use with Tiddlytable. It is reasonably fast! 



Best wishes
Mohammad


On Tue, Sep 10, 2019 at 8:23 PM Alan Aldrich <aeroc...@gmail.com> wrote:
Great question Mohammad! It was built using only TW code, no JS. Certain features would have been easier to build using js code (like pagination) but this project was primarily a learning experience for me to learn the TW syntax and see how far I could take it. By the way, this plugin is TW 5.1.16 compatible so it doesn't even utilize the new math operators. I'm sure performance and usability would be improved if I implemented some js code and that may be the direction I go in the future. I left the version in beta because I hope to get feedback on these sort of topics before saying it is ready for production use. Thanks for the question!

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.

TonyM

unread,
Sep 10, 2019, 7:12:18 PM9/10/19
to TiddlyWiki
Alan,

Since your solution is quite exhaustive I am yet to discover its details.

I note you have addressed screen pagination very well. 

I Just wanted to point out that if displaying a single table (without screen pagination) we can open the tiddler in a new window and print it (often to PDF) it would be great (with print pagination). I have learned of later this is fairly trivial for table only by including `<thead><tfoot><tbody>` tags in the html table layout. Avoiding a break in TD's is almost all that needs to be done.

Please consider this as an enhancement. This would make tiddlywiki a powerful way to publish tabulated data.

Regards
Tony

On Tuesday, September 10, 2019 at 5:01:41 AM UTC+10, Alan Aldrich wrote:

Diego Mesa

unread,
Sep 10, 2019, 7:17:44 PM9/10/19
to TiddlyWiki
Hey Alan,

I see that your plugin uses the ActionDeleteTiddlerWidget:


According to the docs:

There are several differences compared to the WidgetMessage: tm-delete-tiddler:
  • The user is not prompted to confirm the deletion
  • No automatic updating of the story list
  • No special handling of draft tiddlers
I think switching deletion to the tm-delete-tiddler message would handle the confirmation.

Best,
Diego

Alan Aldrich

unread,
Sep 10, 2019, 9:38:54 PM9/10/19
to TiddlyWiki
Tony,

The layout utilizes the <thead><tfoot><tbody> elements. Here is the tiddler that controls that: $:/plugins/aaldrich/tables/view.
I may not understand your suggestion fully, but printing a table (one that is long enough to span multiple sheets) should produce the expected results. That is, the header and footer repeat on each page and rows are not cut off. I have tested this in Firefox and Chrome. Are you seeing something different? What browser are you using?

TonyM

unread,
Sep 10, 2019, 9:45:50 PM9/10/19
to TiddlyWiki
Alan

I just assumed sorry. You have already done it.

Love your work

Thanks
Tony

Alan Aldrich

unread,
Sep 10, 2019, 9:50:21 PM9/10/19
to TiddlyWiki
Thank you Diego, 

You refreshed my memory on why I haven't fixed this yet. The tm-delete-tiddler message works great on the body template button (for deleting individual records) but it doesn't work as well in the header template button (for deleting all visible records) because it doesn't allow a filter as its input like the ActionDeleteTiddlerWidget does, at least not that I know of. I could create a Modal that pops up and asks for a confirmation for the header button. Do you know of another way?

Pit.W.

unread,
Sep 15, 2019, 1:12:16 PM9/15/19
to tiddl...@googlegroups.com

Alan,


Spontaneous feedback:

        "Holla die Waldfee!" - literally translated "Be aware of the the Forest Fairy" - exclamation of surprise in face of an unlikely, unexpected, unprecedented, (often) pleasant observation - contemporal: WOW, OMG -  british "I dare say!" or "Well, I never!"

    Great icons, task-function exciting

    Has the potential to become a standard lighthouse-plugin


Pit

--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/ac15bee4-dd10-4ef4-8118-7cbcadfc9bcf%40googlegroups.com.


_________________________________________________________________
________________________________________________________
Ihre E-Mail-Postfächer sicher & zentral an einem Ort. Jetzt wechseln und alte E-Mail-Adresse mitnehmen! https://www.eclipso.de


Alan Aldrich

unread,
Sep 17, 2019, 12:58:04 AM9/17/19
to TiddlyWiki
I have uploaded a new version of TiddlyTables that includes a confirmation when deleting. Thank you for your excellent comments and feedback. 


Cheers,
Alan


On Tuesday, September 10, 2019 at 6:17:44 PM UTC-5, Diego Mesa wrote:

TonyM

unread,
Sep 17, 2019, 1:53:36 AM9/17/19
to TiddlyWiki
Alan,

Thanks, I am just exploring the possibilities of tiddlytables. Since the minimum one needs is a filter it is a great way to simply list tiddlers of any type. But then a custom table with custom fields can expose other details.


I also appreciate the drop down on the Query Records (tbl-filter) - filter syntax
Quite a few people have being asking for help for writing filters and you have already done it.

It would be great in an editor toolbar button as well.

A simple example is
[all[shadows]prefix[$:/info]!prefix[$:/info/browser]] [[$:/info/browser/name]]

and show the text field.

Regards
Tony

Mohammad

unread,
Sep 17, 2019, 2:34:18 AM9/17/19
to TiddlyWiki
Love it!

I highly recommend for much clear documentation!
Start with simple example and then complex ones step by step


Cheers
Mohammad

Mohammad

unread,
Sep 17, 2019, 2:36:48 AM9/17/19
to TiddlyWiki
One more point!

No JS and all WikiText

You did amazing job!


If you had time in future that would be great to create a similar API documentation
I mean how code works and what are different macros, ...
TiddlyTables has a lot to be learnt!

--Mohammad


On Tuesday, September 17, 2019 at 9:28:04 AM UTC+4:30, Alan Aldrich wrote:

TonyM

unread,
Sep 17, 2019, 2:44:19 AM9/17/19
to TiddlyWiki
For fun whilst learning more on TiddlyTables

  • SImply put it is a new way of looking at any filter
  • A Table of tables filter `[contains:text[<<table>>]]` I did not expect that to work give the special meaning of < and >
  • Are tables totally self contained? Looks like it, The advantage is TiddlyTables plus a bunch of tables to access various system information would be very helpful
  • I am not sure if I can change the template for the title column for a specific table?
I note you can place any table in the sidebar with $:/tags/SideBar but you need to set the tiddler
eg
<$tiddler tiddler="Has Changed">
<
<table>>
</$tiddler>

I will keep exploring this.

I would like to see a one button create table from filter.

Tony

Alan Aldrich

unread,
Sep 17, 2019, 11:49:01 PM9/17/19
to TiddlyWiki
Tony, 
I am putting together some info that may clarify some of your questions and will post that next, but I want to speak to a couple of your bullet points:

  • A Table of tables filter `[contains:text[<<table>>]]` I did not expect that to work give the special meaning of < and >
I have not played much with the contains operator, but I am also pleasantly surprised to see that you can put virtually anything in as its parameter and it will search for it. not only will it do < and > but you can search on just about any symbol except square brackets. This of course has nothing to do with my plugin, but with the contains operator. The filter you mention here is searching all tiddlers "text" fields for <<table>> which is a fairly safe way to determine if the tiddler is a table or not.
  • I am not sure if I can change the template for the title column for a specific table?
You absolutely can and this is what makes TiddlyTables so powerful. Basically, the elements of the table are all modular and are controlled by templates. I will go into detail about editing templates in my next post, but the template that controls the body of the title column is: $:/plugins/aaldrich/tables/template/body/title.


       I note you can place any table in the sidebar with $:/tags/SideBar but you need to set the tiddler
       eg
       <$tiddler tiddler="Has Changed">
       <<table>>
       </$tiddler>

Let me explain what is happening here. A TiddlyTable gets its parameters from the fields that are created when the table is created. Essentially, a table requires its own tiddler to store these fields. We can call them "table tiddlers". Notice when you click the table button a new tiddler is created and it contains the default table. If you edit this tiddler you will see its text is just <<table>> and it has 29 fields that serve as its parameters. When you set TiddlerA's text to use the tiddler widget like you show here, what you are really asking is for TiddlyTables to store these 29 parameters to a Tiddler called "Has Changed" but render in TiddlerA. The same effect can be achieved using transclusion, and in the case of using "$:/tags/SideBar" the table MUST be transcluded or it will not find the parameters its looking for. This is a limitation of the "non-standard" implementation of macros I am using, and I mention it in Known Issues/Limitations. My next post will have a link in it that describes this further.

These are great questions, keep them coming!

Alan Aldrich

unread,
Sep 17, 2019, 11:52:35 PM9/17/19
to tiddl...@googlegroups.com
All,
Thank you for your feedback. I couldn't agree more that the documentation for TiddlyTables needs improvement. I will try my best to do so in future releases. I have tried to integrate some of the documentation into the Edit menu. Advanced Styles, Advanced Features, More Columns and Getting Started all contain helpful information, but more is on the way. In the meantime, I started writing down a few paragraphs to cover a couple of the more advanced topics. I highly recommend reading through it and walking through the example I give. It can be found here: http://tiddlytables.tiddlyspot.com/#Digging%20deeper%20into%20TiddlyTables

Another resource is the task manager example plugin (shown in the sidebar) which illustrates most of TiddlyTable's use cases. It consists of three separate tables, one nested inside the other:

$:/plugins/aaldrich/task-manager/realm-table
$:/plugins/aaldrich/task-manager/project-table
$:/plugins/aaldrich/task-manager/task-table

To enable the Edit menu for these tables, change the value of the field "tbl-show-edit" to "true" for each. This will enable the "Edit" button, making it easier to see how these tables were built and how they work together.

Let me know if this information was helpful and/or if there are any other topics I should focus on in lieu of formal documentation. 

Thanks,
Alan

Mohammad

unread,
Sep 18, 2019, 1:16:05 AM9/18/19
to TiddlyWiki
Thanks Arlen! TiddlyTables is a great contribution!

One question: Is it possible to simply add classes or override the default classes for Tables?

--Mohammad

Alan Aldrich

unread,
Sep 18, 2019, 2:22:20 AM9/18/19
to TiddlyWiki
Mohammed,
Absolutely! I will assume you wish to use the class element for styling purposes and so I will focus on that. There are many options for styling a table. After you create a new table, click the Edit button and display the tables options, navigate to the first option under "Style" called "Template (Stylesheet)". this page displays a dropdown with choices that correspond to the stylesheets included in the plugin. The dropdown's value is stored in the field "tbl-class" and you can manually edit this field with any value you wish. an empty value will result in the table inheriting TiddlyWiki's table styling. The easiest way to create a new stylesheet is to clone $:/plugins/aaldrich/tables/style/standard and give it a new class name (tbl-class-name). You will then see your new stylesheet as an option on the dropdown. 

Keep this in mind. the class attribute defined in tbl-class is an attribute on a div element that acts as a container for the table element. This can be seen in: $:/plugins/aaldrich/tables/macro.

Another option is to override parts of the selected stylesheet. In the Edit menu navigate to "Override (Inline Styles)". Here you can enter css properties for the table element or the div container that will take priority over the stylesheet. 

Lastly, there are two more options Under "Style" in the Edit menu. "Column Groups" and "Advanced Styles". 
Thank you for your questions and feedback Mohammad. I hope this helps,
Alan

Mohammad Rahmani

unread,
Sep 18, 2019, 3:28:08 AM9/18/19
to tiddl...@googlegroups.com
Hi Alan
Many thanks for your complete explanations.

Best wishes
Mohammad

TonyM

unread,
Sep 18, 2019, 4:07:01 AM9/18/19
to TiddlyWiki
Alan,

I saw what you say here 

You absolutely can and this is what makes TiddlyTables so powerful. Basically, the elements of the table are all modular and are controlled by templates. I will go into detail about editing templates in my next post, but the template that controls the body of the title column is: $:/plugins/aaldrich/tables/template/body/title.

But what If I only want to change the template for title in one table, not all ?

Are you open to some turbo charge improvement ideas? Or waiting to stabilize the current solution?

Thanks in advance
Tony

Alan Aldrich

unread,
Sep 18, 2019, 1:23:03 PM9/18/19
to tiddl...@googlegroups.com
Ah, I see what you are asking Tony and yes this is possible too. Let me walk you through it. 
  1. Copy an existing body template or create a new one. For this example we will start from scratch.
    1. Create a new tiddler called $:/plugins/aaldrich/tables/template/body/alt-title (it can be titled anything you want)
    2. Tag this tiddler with:
      1.  $:/tags/table/BodyTemplate
      2. alt-title
    3. use the following for the text field:
      1. <td>
        <$view tiddler=<<currentRecord>> field="title"/>
        </td>
      2. you can change this to whatever fits your needs but the important part is it is rendering the "title" of the "currentRecord"
    4. Add "alt-title" to your table's columns (tbl-columns)
    5. Now you should have a table with both "title" and "alt-title" as columns, where "title" is formatted as a link and "alt-title" is plain text.
  2. Now, let's say you don't want the header to say "alt-title" you want it to just say "title".
  3. Let's also assume you want the header to remain sortable. In that case we will clone $:/plugins/aaldrich/tables/template/header/default
    1. Clone this template and lets give it the name: $:/plugins/aaldrich/tables/template/header/alt-title (again, any name will do)
    2. Add the tag "alt-title"
  4. The default (sortable) header is one of the more complex templates. To change the displayed header title you will need to replace 
    <<currentColumn>>
    with 
    title
    in three places:
    1. Line 4
    2. Line 17
    3. Line 29
  5. Now you should have two columns in your table with the same header text, "title", both with different formats. You can then remove the original title column, leaving your table with its own unique formatting of the title column.
  6. Repeat steps 2-5 for the footer template if desired.
I hope this helps,
Alan

Victor Dorneanu

unread,
Sep 20, 2019, 3:30:22 AM9/20/19
to TiddlyWiki
Wow! I've just started to realize the vast opportunities this tool can offer. Many many thanks for sharing this with us and also for your efforts!

KR,
Victor

HansWobbe

unread,
Oct 20, 2019, 4:08:17 PM10/20/19
to tiddl...@googlegroups.com
Alan:

I've been cautiously testing your TiddlyTables creation for some time now.  First and foremost, I think it's a wondrous tool!  Thank you very much for sharing this creation.

The capabilities you have built into it are literally changing my entire view of how to manage a large and growing number of tiddlers 

In a nut shell, I believe it will be possible to manage the 50,000 plus tiddlers that the recent Indexing enhancement facilitates, via a single table that uses just one field containing an extremely large alphabet of symbols in various combinations and permutations.

My preliminary tests have gone well enough that I have already decided to start the process of consolidating all of the tiddlers I've accumulated during the last decade, so that they can be updated and incorporated into what I see as a high-density information repository.

I truly appreciate what you have accomplished and your generosity in sharing it.

Best regards,
Hans


Alan Aldrich

unread,
Oct 21, 2019, 3:56:51 PM10/21/19
to TiddlyWiki
Hans,
I am very happy to hear you are finding my plugin useful. I am also pleased to hear you are getting good performance with a large number of tiddlers.
Thank you for sharing your feedback,
Alan


On Sunday, October 20, 2019 at 3:08:17 PM UTC-5, HansWobbe wrote:
Alan:

I've been cautiously testing your TiddlyTables creation for some time now.  First and foremost, I think its a wondrous tool!  Thank you very much for sharing this creation.

HansWobbe

unread,
Nov 11, 2019, 9:09:02 AM11/11/19
to TiddlyWiki
Alan:

Just to let you know, TiddlyTables has become an integral part of my TiddlyWiki workFlow, that I have bundled with a select few other plugins to create the functionality and flexibility I need as both a User and a Hacker. 

After a month of intense use during which I adapted my data to its native capabilities, I have only one minor question.

  1. Can you suggest an effective way to make CamelCase links that appear in rendered views of the table distinctly links?  They are effective inks and can be used as such, but I wold like to add a bit of css or markup to make them more evident.

Thank you very much for sharing this great plugin.

Best regards,
Hans

Alan Aldrich

unread,
Nov 12, 2019, 5:12:31 PM11/12/19
to TiddlyWiki
Hans,
The selected stylesheet (tbl-class) determines how a link is displayed. The default stylesheet is defined in: $:/plugins/aaldrich/tables/style/standard  The rest of the built-in stylesheets inherit their CSS from this tiddler. 

I designed the default stylesheet to override default link formatting in order to make the table look more consistent by making links "blend in" better with plain text. There are several CSS properties that contribute to this. For example, all blocks under comment <!--LINK HOVER--> contain the properties color, text-decoration and font-weight. These properties change the color of links, remove the underline (text-decoration) and force the font weight (bold or normal depending on if it is a header, footer or body element). 

All that said, you can certainly change the way links are displayed. You can either edit the default stylesheet or start fresh with a blank one. 

By the way, CamelCase links render the same as other links in TW, an <a> element with "tc-tiddlylink" class. Just in case you are asking how to make CamelCase links render differently than other links i.e. ExampleLink vs. [[example link]], I suspect that is not possible without changes to the core. 

Hope this helps.

Cheers,
Alan

Victor Dorneanu

unread,
Nov 27, 2019, 8:21:58 AM11/27/19
to TiddlyWiki
Hi Alan,

i'm wondering if it's possible to have every column "in-line editable"? Additionally I wanted to know how to use a different ViewTemplate especially for the tags column? Thanks in advance.

Cheers,

Chuck R.

unread,
Nov 27, 2019, 9:28:50 AM11/27/19
to TiddlyWiki
Very nice, thank you Alan! I have some questions.

What's the minimum version of TW5 that is required to use this?
Can this be added to the main wiki at http://tiddlywiki.com as a tool or addon?
I was writing in markdown for my tiddlers but this might be the reason I convert to writing in TW.

Very odd, I'm not seeing my questions turned into bullets.

Alan Aldrich

unread,
Nov 30, 2019, 3:32:43 AM11/30/19
to TiddlyWiki
Hi Victor,
Yes, with some prep work and a few caveats: 1) the "title" column cannot be edited. A row cannot exist with a blank title because a tiddler cannot have a blank title. Remember a row is a tiddler and a column is a field. So adding rows requires editing "tbl-add-records" or using the method shown in example #3 at http://tiddlytables.tiddlyspot.com/. 2) Columns are fields so the title of the column cannot contain spaces. adding a column title with a space requires a unique header template for that field. I will not cover that here. 3) Column templates are global. For example, making the tags column editable in one table makes it editable in all tables.

Lets say you want a table with the following columns: title, caption, tags, list, type and new-field. all of which editable except title.
  1. Create the table. Add these columns and modify the filter or add manual records.
  2. Add the tags: "caption" "tags" "list" "type" and "new-field" to $:/plugins/aaldrich/tables/template/body/edit.
  3. Remove the tag "tags" from $:/plugins/aaldrich/tables/template/body/tags. This is required because a column must be assigned to one template only. title, tags, created and modified are the only standard fields tagged to special templates.
  4. (Optional) Create a button that adds/removes these tags automatically so you can easily toggle between read/edit mode.
For your second question, you can create a new custom column templates for tags by first removing the tag "tags" from $:/plugins/aaldrich/tables/template/body/tags as we did above and tagging a new tiddler with "tags" and "$:/tags/table/BodyTemplate". There are actually three types of column templates: header, body and footer. I have documented this a bit more under the "More Columns" option in the edit menu. Also see "Advanced Features" in the edit menu for some useful parameters when making a custom template. 

I hope this helps,
Alan

Alan Aldrich

unread,
Nov 30, 2019, 4:00:20 AM11/30/19
to TiddlyWiki
Hi Chuck,
5.1.16. is the required minimum version of TW. I'm not sure what all is necessary to have it added to the plugin library but I am for it. 
Cheers,
Alan

Mohammad

unread,
Nov 30, 2019, 3:40:00 PM11/30/19
to TiddlyWiki
Hi Alan,

I was studying the TiddlyTables in last few days. This is a really great piece of work.

It uses the tiddler philosophy and one can learn Tiddlywiki scripting (wikitext language) by studying TiddlyTables.

The way TiddlyTables uses to construct rows and columns and format them using template is amazing.
The modular approach and the ease of extending it  is awesome. It uses transclusion in many ways and produce a very complex dynamic table.

Also, the plugin Task Manager which has been developed using TiddlyTables shows how powerful it is.

I highly recommend to add more documentation to it and let TiddlyTable acts as la earning resource. Also ask Jeremy to add it to tiddlywiki.com resources (https://tiddlywiki.com/prerelease/#Community).

TiddlyTables can be also used for inspection and inline viewing and editing bulk of tiddlers. 

I used your approach and some of your templates to create macros as a very lite version in Shiraz 2.0.0 plugin called dynamic tables hopefully will be published in a very near future. 

Note: I would recommend to add your answers to questions raised in forum as documentation to tiddlytables.tiddlyspot.com 

Best wishes
Mohammad

Alan Aldrich

unread,
Nov 30, 2019, 7:13:42 PM11/30/19
to TiddlyWiki
Hi Mohammed,
Thank you for your kind words and support! I wish I could dedicate more time to TiddlyWiki and TiddlyTables. I agree with everything you said and I plan on expanding the functionality as well as the documentation. There are some features that could be optimized with the introduction of new TW filters and Widget enhancements and there are a few new features I would like to build in. For example, I would like to add a UI for swapping style and column templates and an easy way to toggle between read/edit mode. If you have any ideas for the next release please share. I am happy to hear others are using my plugin and I would love to see some examples. It might give me some ideas for enhancements if I saw how others are using it. Time is the limiting factor for me right now, but I hope that will change in the coming months. Thanks again for your great feedback. 
Cheers,
Alan

TonyM

unread,
Nov 30, 2019, 7:57:21 PM11/30/19
to TiddlyWiki
Alan,

I just thought I would drop a quick note for when you decide to progress with this. I already have a method I developed in another solution that has some features you may like. It would make sense to set some standards that will help users as well as your design. I will do a short brain dump.

This method was designed building a complex tiddlywiki, however each innovation made it easier to add more sophisticated features. This could be used in your tables, in lists, in forms and much more. It also overcomes limitation on editing the current tiddler. I propose a joint effort with others.
  • Provide a method for each tiddler to be viewed in read, update and edit modes (A Global setting)
    • Read only
    • Update - point and click value changing
    • Edit edit the field by multiple means
    • Optional additional modes by tiddler/ field macro use
  • Allow this setting to be overridden with a local value in each tiddler
  • When referencing a field (or tiddler column) use a macro such as `<<field fieldname>>` which responds to the mode at display time, using currentTiddler.
    • It does this by looking up a "field definition tiddler" eg $:/field/fieldname
    • This tiddler could contain column titles and more for a given field to be listed in a table. We could load it with sort and other tricks
    • $:/field/fieldname provides a reference to a fieldtype eg $:/fieldtype/typename
  • The field types are less in number to field definitions 
    • Field types store transcludable code for each mode read update and edit. To display the field
The advantages are
  • There is far less code this way as we abstract fields into reusable field definitions and reusable field-types
  • Whenever the field macro is used you can change the mode and the table in your case will suddenly become fully editable according to the methods defined in the field/field-type 
  • The Field macro can include an override pushing any desired field into a particular mode, so a table can be read only yet column two cell content is editable.
  • These definitions can be shared in the community saving a lot of time (See below for a list of field-types I already have)
  • I created an add on designer process so one could use `<<field fieldname>>` click to create field definition, then select or create the field-type, making design very quick.
Some field types I have already defined

My Project was called landscape because it had lots of fields in the landscape.

$:/landscape/field-types/caption
$:/landscape/field-types/email-address
$:/landscape/field-types/false-or-true
$:/landscape/field-types/false-true
$:/landscape/field-types/field-type
$:/landscape/field-types/filtered-list
$:/landscape/field-types/filtered-list-linked
$:/landscape/field-types/first-name
$:/landscape/field-types/gender
$:/landscape/field-types/hyperlink
$:/landscape/field-types/list-columns
$:/landscape/field-types/middle-names
$:/landscape/field-types/object-type
$:/landscape/field-types/optional-text
$:/landscape/field-types/person
$:/landscape/field-types/phone-number
$:/landscape/field-types/select-with-field-values-filter
$:/landscape/field-types/select-with-values-filter
$:/landscape/field-types/short-text
$:/landscape/field-types/surname
$:/landscape/field-types/text
$:/landscape/field-types/text-area
$:/landscape/field-types/text-data-existing
$:/landscape/field-types/text-existing
$:/landscape/field-types/text-line
$:/landscape/field-types/text-size-40
$:/landscape/field-types/title
$:/landscape/field-types/true-or-false
$:/landscape/field-types/true-or-false-show
$:/landscape/field-types/wikitext
$:/landscape/field-types/year
$:/landscape/field-types/yes-or-no


Regards
Tony

Alan Aldrich

unread,
Nov 30, 2019, 11:31:30 PM11/30/19
to TiddlyWiki
Tony,
Thank you for sharing your ideas. I'm afraid I am not able to fully understand. An example would be great. Can you provide a link to the landscape project you mentioned?
Respectfully,
Alan

TonyM

unread,
Dec 1, 2019, 2:16:29 AM12/1/19
to TiddlyWiki
Alan

Its not packaged yet. Would a short descriptive video be ok?

Yony

Mohammad

unread,
Dec 1, 2019, 3:17:51 AM12/1/19
to TiddlyWiki
Alan,
 I will send you examples and some idea.

For now

 I think part of Tony proposal is now implemented in current TiddlyTables!
 The template mechanism TiddlyTables use can handle easily fields types as Tony asked.
 Right now, template displays for example tags or created with a special format! It can be used
 for other fields like email, phone number, url, and other type ...
 Thanks to the modular design and tiddler concept you have used in Tiddlytables.


-With the math operators in TW 5.1.20+ TiddlyTables can easily produces extra results like
-- average, min, max, sum, product, ... of all entries in a column so, like tbl-expand or tbl-delete template
   one can have a record like tbl-sum to add a row with sum of entries in a column.

- In my lite version, I have added an Edit/View button. On click all user fields can be edited inline this make a huge flexibility
  for example, I have 20 tiddlers each hold a student data. I create a Table using TiddlyTables and click the edit mode
  I can directly edit the table cell so, I can fields can be automatically added to tiddlers with new values

NOTE: no need to add fields in advance, TiddlyTables in edit mode lets add them automatically (when you edit a cell)

-- I use TiddlyTables for investigating several tiddlers in one place for text, fields, tags, etc,...

More description will come, I will also share my lite version soon 


--Mohammad

HansWobbe

unread,
Dec 1, 2019, 8:00:39 AM12/1/19
to TiddlyWiki
Mohammad:

It's great to see you again!

Your initial TiddlyTable comments have already stimulated several ideas for me, in spite of the fact that I was an early adapter and now use it continuously in my daily work.  It's always interesting to see things from the perspectives of others and to learn from their experiences.

(a belated) Welcome back!

Hans

Mohammad

unread,
Dec 1, 2019, 10:03:58 AM12/1/19
to TiddlyWiki
Thanks Hans,
Considering the math operators from TW-5.1.20+ I think TiddlyTables has potential to be a simple spreadsheet!
-- Mohammad

Mohammad

unread,
Dec 1, 2019, 11:21:07 AM12/1/19
to TiddlyWiki
Alan,
 It worth to introduce Task Manager plugin in a separate post to community!
 It is quite powerful and has many use cases.



@David Gifford
Please add Task Manager to Tiddlywiki toolmap.


--Mohammad

TiddlyTweeter

unread,
Dec 2, 2019, 9:14:37 AM12/2/19
to tiddl...@googlegroups.com
Why has this thread got a tag " z_tag "? What is that about?

I added a " tables " tag to the thread.

Tagging is good in  GG (web version). Very helpful when you search later. 
Your major search tag should likely be " tables ".

This gets it at the moment: GG search on author & subject.

Best wishes
TT 
Message has been deleted
Message has been deleted

Alan Aldrich

unread,
Dec 2, 2019, 7:02:19 PM12/2/19
to TiddlyWiki
All,
I updated TiddlyTables with an enhancement I hope you enjoy - read/edit mode toggle for all columns
Victor's request got me thinking this should be a standard feature. There is a new option under "Editor/Mode" in the edit menu called "Mode". This dropdown is linked to the field "tbl-mode" of a table. When set to "edit" it causes all fields to use the edit template. Some columns like title, modified and created are excluded. I plan to document this feature in more detail soon. Please give it a try and let me know what you think. Additionally, I corrected an issue with the delete column. It should work better now.

Mohammad,
I would like to eventually get TiddlyTables and maybe the Task Manager into the plugin directory. Both plugins are still in beta as I wanted to get feedback from the community before rolling to v1.0. The Task Manager could be refined a bit more and I would like to develop a little more documentation for it and TiddlyTables before I promote them too much. I would love to get more technical feedback on the code in case there are some optimizations that can be made. I may need to post something on TiddlyWikiDev for that. In any case, I think the next big milestone is the 1.0 stable release. I want to make sure there aren't any missing use cases, documentation is adequate, and of course no bugs. Thank you for your feedback so far and thanks in advance for any future testing/feedback.

TT,
Not sure what z_tag was but I removed it.

Cheers,
Alan

Mohammad

unread,
Dec 2, 2019, 7:22:32 PM12/2/19
to TiddlyWiki
Hi Alan,
 This is really great!
It is funny, I tried to make editable tables based on TiddlyTables in few last days! I sent a version for your review comments

By the way some initial feedback

  1. When you are in edit mode and you sort a column, then you cannot edit it at the same time
  2. Tiddlywiki will lose its focus if you change cell values of sorted column
  3. You may freeze the column table sorted by it (that is what I did in my simple version)
You may also add feature to generate table NOT only from fields by also from index:values from json and data tiddlers.


Many thanks for your elegant code and documentation!


Cheers
Mohammad

HansWobbe

unread,
Dec 2, 2019, 9:45:30 PM12/2/19
to TiddlyWiki
@ Alan:

I added the "z_tag" tag and so must apologize for not checking with you first.

I am very fond of TiddlyTables and as a result I tagged your Introductory post that way as part of a test to see if using Tags is an effective way to help folks find useful things in this googleGroups environment.

Regards,
Hans

@ TT:

Since Tags are displayed in alphabetical order, I used the "z_"... to push the tag to the left.  This is useful in a positionalNotation since that effectively corresponds to the use of indices in a coordinate system ( like the 128 x 256 x 256 x 256 unicode structure ) since Groups, Sheets, Rows and Columns can also be used to associate attributes to the dimensions of higher dimensional arrays.

I know; TMI = T(oo) M(uch) I(nformation).  But you did ask. :-)

Cheers,
Hans

Mohammad

unread,
Dec 4, 2019, 11:53:41 AM12/4/19
to TiddlyWiki
Hi Alen,

 In the code

<$reveal class="tbl-delete-confirm" type="match" state="$:/temp/tables/delete-all!!text" text=<<currentTable>> tag="div">
    Delete all displayed records?
    <$button class="tc-btn-invisible">
      <$list filter=<
<tableFilter>> variable="currentRecord">
        <$action-setfield $tiddler=<
<tempTableStyle>> $index=<<currentRecord>> $value=""/>
        <$action-deletetiddler $tiddler=<
<currentRecord>>/>
 <$action-deletetiddler $tiddler="$:/temp/tables/delete-all"/>
      </$list>
      {{$:/core/images/delete-button}} ''yes''
    </$button> or
    <$button class="tc-btn-invisible">
      <$list filter=<<tableFilter>> variable="currentRecord">
        <$action-deletetiddler $tiddler="$:/temp/tables/delete-all"/>
      </$list>
      {{$:/core/images/close-button}} ''no''
    </$button>
  </$reveal>

Why you put highlighted command inside $list widget?


-Mohammad

Alan Aldrich

unread,
Dec 4, 2019, 12:46:12 PM12/4/19
to tiddl...@googlegroups.com
Hi Mohammad,
I see what you mean. The action to delete the state tiddler "$:/temp/tables/delete-all" does not need to be inside the list on the confirm button and the list doesn't need to exist on the cancel button. Good catch! I will correct that on the next release.

BTW, per your last message, I have added support for data-dictionary tiddlers and index values. I will update http://tiddlytables.tiddlyspot.com/ and send out an announcement later today hopefully.

Mohammad

unread,
Dec 4, 2019, 2:16:17 PM12/4/19
to TiddlyWiki
You are welcome!
I think TiddlyTable worth to have an Edition

--Mohammad

Mohammad

unread,
Dec 4, 2019, 2:19:50 PM12/4/19
to TiddlyWiki
Alan


On Tuesday, December 3, 2019 at 3:32:19 AM UTC+3:30, Alan Aldrich wrote:
I would love to get more technical feedback on the code in case there are some optimizations that can be made. I may need to post something on TiddlyWikiDev for that. In any case, I think the next big milestone is the 1.0 stable release. I want to make sure there aren't any missing use cases, documentation is adequate, and of course no bugs. Thank you for your feedback so far and thanks in advance for any future testing/feedback.

I think this needs to discuss different part of the code here to get more feedback! TiddlyTables has hundreds line of code!
Your tiddler approach in developing TiddlyTables is very interesting! 

--Mohammad

Alan Aldrich

unread,
Dec 5, 2019, 2:40:46 AM12/5/19
to TiddlyWiki
All,

I have updated http://tiddlytables.tiddlyspot.com/ with the latest release of TiddlyTables. Version 0.6.15 includes many enhancements. Here are some of the big ones:
  • Added Support for Data Tiddlers
  • Global default for edit mode
  • Toggle button for edit mode
  • Tooltips
  • New edit template
  • Style/theme improvements
  • Minor UI improvements and Bugfixes
Many thanks Mohammad! The example you shared and some of your comments inspired most of these updates.

Cheers,
Alan

Mohammad

unread,
Dec 5, 2019, 3:51:13 AM12/5/19
to TiddlyWiki
Hi Alan,
 These are great enhancements:
  • supporting data tiddlers
  • edit/read mode with toggle button

Just a commend
Editing a cell in a column used to sort table may loose focuses specially when the edited cell move up/down based on the new value

--Mohammad

Alan Aldrich

unread,
Dec 5, 2019, 1:24:24 PM12/5/19
to TiddlyWiki
Hi Mohammad,
I experimented with the concept you used in your wiki, disabling editing of columns that are sorted. I understand the issue you speak of. Another similar issue occurs when editing a table that is sorted by modified date. The sorting jumps around and causes the field being edited to lose focus. I am still looking for a solution that will handle all scenarios of this issue. more to come. 
Take care,
Alan

Mohammad

unread,
Dec 5, 2019, 3:18:11 PM12/5/19
to TiddlyWiki
Hi Alan,
TiddlyTables is quite powerful now but it needs more documentation and example to simply be learned by new users.
Yes, the focus loses needs to be investigated and the best solution introduced!

I hope other users give their feedback!

--Mohammad

TiddlyTweeter

unread,
Dec 6, 2019, 9:35:35 AM12/6/19
to TiddlyWiki
Mohammad wrote:
Hi Alan,
TiddlyTables is quite powerful now but it needs more documentation and example to simply be learned by new users.
Yes, the focus loses needs to be investigated and the best solution introduced!

I hope other users give their feedback!

As an end-user. Lots I could say. I have three main observations ...

The SORTING of columns is the best I have seen in TW. It has been done a few times before but this is the best I have seen. Elegant, minimal UI. Works.

 Suggestion: A self-contained plugin that simply sorts tables could be a spin-off that would be widely adopted?

The MODULARITY is very helpful to users like me who want to use but don't understand code or want to get into it. I agree with Mohammad that its a great example to learn from about how to modularise.

The COMPLEXITY/RICHNESS is brilliant. But I think you need an example that starts "minimal" and then, through simpler steps, works up to "maximal".  (Hope that is clear!)

Great tool!
Best wishes
TT

Mohammad

unread,
Dec 6, 2019, 9:47:17 AM12/6/19
to TiddlyWiki
Alan,
 The rev 0.6.15 has a bug can be simply resolved. It is about transclusion a tiddler itself transcludes some of its fields.
 See HC Haase bug report here:



I have addressed it by adding <$tiddler tiddler=<<currentRecord>> ....


--Mohammad

Eric Shulman

unread,
Dec 9, 2019, 9:58:15 PM12/9/19
to TiddlyWiki
I have unpinned this topic.  If there is a reason to re-pin it... just ask.

-e

Alan Aldrich

unread,
Dec 9, 2019, 11:07:50 PM12/9/19
to TiddlyWiki
Mohammad,
I was unable to reproduce the bug as described. However I have been aware of some issues with transclusion and have include some major enhancements in the latest release to correct them. There are quite a few new features that I will highlight in my next post. I think with a bit more testing/tweaks we can call this thing a stable 1.0. Please feel free to test/break it as much as you can. Thank you for your support,
Alan

Alan Aldrich

unread,
Dec 9, 2019, 11:24:35 PM12/9/19
to TiddlyWiki
I have uploaded the latest release of TiddlyTables 0.6.18 to http://tiddlytables.tiddlyspot.com/

There are some major changes since 0.6.15. Some of the big ones are:
  • Options Menu/UI
    • Column Templates can be created/assigned/edited from the options menu. 
    • Style can be tweaked graphically in the options menu.
    • New themes can be created from the options menu.
  • Using tags for assigning columns to templates has been replaced with the field tbl-column-list.
    • using tags still works for backwards compatibility
    • new field tbl-noedit in all templates allows similar assignment of columns to prevent entering edit mode. 
  • Ctrl-Enter will close the options menu similar to editing a tiddler.
  • Transclusion issues/fixes
    • Transclusion error trapping
    • New macro parameter, title.
      • example: <<table "my new table">>
      • Allows the data fields for the table to be stored in a tiddler you specify.
      • increases functionality and reduces transclusion errors when used.
Please try out the new features and let me know what you think.
Cheers,
Alan

TonyM

unread,
Dec 10, 2019, 12:46:29 AM12/10/19
to TiddlyWiki
Alan,

As earlier this is great. Like all the great developments in tiddlywiki it provides flexibility and productivity.

I would be keen to see an "aftermarket" in tiddlytables where productive, supportive tables can be shared. 

Am I correct in thinking as long as one has the plugin, most tables will be represented by the single table tiddler? Thus a table can be exported as the current tiddler, I can see creating a new export option that exports the table and the tiddlers listed in the Query Records (tbl-filter) - filter

If not perhaps there is a way we can have an export table button. Of course another one that also exports the data tiddlers would also be welcome, these can be exported to a single json file.

I am currently studying tiddlytables for the possibility of adding virtual / calculated columns, or defining columns in the table not in the records such that we can place macros or other wiki text in these columns. This is not unlike the current special columns.

Thanks so much
Tony

I expect it may be an extension of the 

Mohammad

unread,
Dec 10, 2019, 6:24:00 AM12/10/19
to TiddlyWiki
Hi Arlen,

1. edit tiddler App Idea as bellow
   {{!!description}} This is a test
2. Create a new Table with tbl-expand
3. expand the App Idea and look at the text it displays
4. do you see the description correctly?

--Mohammad

Alan Aldrich

unread,
Dec 10, 2019, 2:07:53 PM12/10/19
to TiddlyWiki
Due to a critical bug, TiddlyTables 0.6.19 has been released: http://tiddlytables.tiddlyspot.com/

Thanks HC Haase and Mohammad for finding the bug and recommending a fix.

Best regards,
Alan

Mohammad

unread,
Dec 10, 2019, 2:30:33 PM12/10/19
to TiddlyWiki
Alan,
The nested transclusion works fine!

Thank you for updating

--Mohammad

Alan Aldrich

unread,
Dec 10, 2019, 2:37:50 PM12/10/19
to TiddlyWiki
Thanks Tony,
I agree wholeheartedly. I envision a library with hundreds of themes and column templates that can be dragged into a wiki, as well as code snippets and usage examples. The modular design lends itself to such a library. Yes, you are correct. The table that contains the "tbl-" fields can be dragged into another wiki. if it does not contain the macro call <<table>> in its text field then the only additional step would be to add that in the imported tiddler or in another tiddler with the title parameter. ie <<table "imported table">>. But of course it will not currently export the associated record tiddlers. I like the idea of exporting an entire table including the data. Perhaps the plugin/shadow mechanism could be used to pack the whole table and records into a single tiddler and then after dragging into a new wiki it can be unpacked. Just thinking out loud, but one way or another that is a good idea that merits further investigation. 
.

Mohammad

unread,
Dec 12, 2019, 4:07:53 AM12/12/19
to TiddlyWiki
Hi Alan,
 I realized for tags template you have developed your own template! I think you can use the core template for this purpose.

So, in $:/plugins/aaldrich/tables/template/body/tags
replace the content with below

<td class=<<tagcls>>>
<$tiddler tiddler=<<currentRecord>>>{{||$:/core/ui/ViewTemplate/tags}}</$tiddler>
</td>

where tagclass is used to adjust the margin as TW margin is high for table cell

.tagclass .tc-tags-wrapper{ margin:2px 0px; }


What do you think?

--Mohammad

Alan Aldrich

unread,
Dec 13, 2019, 2:26:50 AM12/13/19
to TiddlyWiki
Mohammad, I thought about it and I cannot recall why I decided to go that route. Another option would be to use the tag macro. My best guess is I didn't know about either of these options at the time. I like the simplicity of your suggested template and will change to it in the next release. Thanks for pointing it out, excellent feedback as always!
Alan

Alan Aldrich

unread,
Dec 15, 2019, 2:05:19 AM12/15/19
to TiddlyWiki
TiddlyTables 0.6.20 is now available at: tiddlytables.tiddlyspot.com/

This release includes:
  • New column template utilizing the Radio Widget. column tbl-radio renders a radio input that sets field tbl-selected-record of the current table to the selected record.
  • Title param included by default when clicking new table button.
  • tbl-show-mode - dedicated toggle in options menu (and defaults) to toggle the mode button. Now the editor and mode buttons can be hidden independently.
  • Several important Bugfixes.
  • Special thanks to Mohammad and Eric Shulman for their contributions to this release.

Mohammad

unread,
Dec 15, 2019, 10:32:22 AM12/15/19
to TiddlyWiki
Brilliant!

It is an amazing resource of modular pure wikitext and show the power of Tiddlywiki transclusion/templating and abstraction!
I never could imagine how a complex table can itself suited inside a row of another table!

In my opinion TiddlyTable shows how effectively base classes (template) can be used to create complex UI

--Mohammad

Diego Mesa

unread,
Dec 15, 2019, 10:47:48 AM12/15/19
to TiddlyWiki
Hey Alan,

This is great! Thank you! May I suggest expanding the documentation/tutorials perhaps with community suggestions? 

Mohammad

unread,
Dec 15, 2019, 2:08:51 PM12/15/19
to TiddlyWiki
Hi Alan,
 - Please upgrade TW to 5.1.21 and if you like to 5.1.22p but 5.1.20 has some issues
 - If you put the project on GitHub you can have all issues reported in one place and archive them
 - People may contribute

As Diego asked if you have time or when you have it would be great to document the code for possible contribution and development
while it is also a learning resource.

Best
Mohammad

Mohammad

unread,
Dec 16, 2019, 12:28:48 AM12/16/19
to TiddlyWiki
Hi Alan,

More comments
  1. When the limit on the footer set to show all you, the pagination disappeared and you can not set a new limit and one has to edit the tiddler and set the tbl-limit field
  2. When the width set to some values less than 100% none of footer (pagination) nor the red strip (warning for delete all tiddlers) follow the width setting and occupy the 100% of tiddler width

Alan Aldrich

unread,
Dec 16, 2019, 3:42:28 AM12/16/19
to TiddlyWiki
Hi Mohammad,
  1. When the limit on the footer set to show all you, the pagination disappeared and you can not set a new limit and one has to edit the tiddler and set the tbl-limit field
This is by design. The default value for Show Pagination (tbl-show-pagination) is auto. This means it will only show pagination if there are more records than what Limit (tbl-limit) is set to. Alternatively, you can set tbl-show-pagination to true or false to force it on or off. The default values for new tables can be changed in $:/plugins/aaldrich/tables/defaults.
 
  1. When the width set to some values less than 100% none of footer (pagination) nor the red strip (warning for delete all tiddlers) follow the width setting and occupy the 100% of tiddler width
The reason these elements do not resize with the table is because they are not part of the table. This is why the whole table (and these elements) are wrapped in a containing <div> element. What you want to do is keep Table (tbl-style-table) set to width:100%; and set Container (tbl-style-container) to whatever you like; for instance: width:80%;

I hope this helps,
Alan

Mohammad

unread,
Dec 16, 2019, 4:28:46 AM12/16/19
to TiddlyWiki
Alan,

Good to be added somewhere into documentation.

--Mohammad

Mohammad

unread,
Feb 8, 2020, 11:44:05 PM2/8/20
to TiddlyWiki
Hi Alan,
 In the latest version of Tiddlytables there seem some small issues

A. sort 
i. create several data tiddlers tagged with xx like tid1, tid2, tid3,...
ii. add an index/value as myindex
iii. give different numerical values like 1, 10, 111, 1000
v. create a table and sort on myindex

The sort does not work.


B. edit mode
i. create a tiddler of several dataTiddler all tagged with xx and all with indexes like ia, ib, ic except tid1 which hs indexes ia and ib
ii go to edit mode and edit ic for tid1 in the table
iii. Tiddlytables creates field ic, while here it is desired to create index ic


C. documentation
as TiddlyTables now supports both fields/indexes, the documentation needs to be improved to reflect this. The current docs are based on table from fields.

--Mohammad

--Mohammad

Alan Aldrich

unread,
Feb 9, 2020, 5:03:47 PM2/9/20
to TiddlyWiki
Hi Mohammad, 
These are both inherent limitations of working with index values in TiddlyTables. Let me explain...

In your first example, you are trying to sort by an index. There is no simple way to do this in TiddlyWiki and because the table is generated by a filter, no simple way to do this in TiddlyTables. 
Here is a thread discussing this issue, and a couple macro-based solutions. In fact, you replied that you would try one of the solutions in your Dynamic Tables plugin. Did you have any success? any suggestions?

In your second example, you want the plugin to intelligently determine whether to create a new field "ic" or a new index "ic". the way the plugin works is if a field exists with that name it will take precedence over the index. I opted for a simplicity here though I suppose the plugin could make a more advanced decision based on whether that index exists and whether there is already data in the text field. That is the main reason it defaults to field instead of index. There is a risk of accidentally overwriting existing data in the text field if you inadvertently "create an index" by editing.

I agree the documentation could be improved. I wish I had more time. I plan to add something to this effect:

There are some limitations when using indexes as columns. This is due to inherent limitations of index support in filters. The most noticeable is that index values cannot be sorted. A mix of fields and indexes can be used as columns in a single table, but there is no way for the user to distinguish a "field" column from an "index" column. If an index and field exist with the same name, it is possible to have a mix of index values and field values in a single column. If a tiddler has both a field and index with the same name or if neither exist, the field value will always take precedence whether viewing or editing. 

Thank you for pointing this out. I hope this helps,
Alan

Mohammad

unread,
Feb 10, 2020, 12:52:18 AM2/10/20
to tiddl...@googlegroups.com
Many  thanks Alan.

TiddlyTables is one of the great 


On Monday, February 10, 2020 at 1:33:47 AM UTC+3:30, Alan Aldrich wrote:
Hi Mohammad, 
These are both inherent limitations of working with index values in TiddlyTables. Let me explain...

In your first example, you are trying to sort by an index. There is no simple way to do this in TiddlyWiki and because the table is generated by a filter, no simple way to do this in TiddlyTables. 
Here is a thread discussing this issue, and a couple macro-based solutions. In fact, you replied that you would try one of the solutions in your Dynamic Tables plugin. Did you have any success? any
 
suggestions?


Well I used a modified solution by Eric Shulman,

  1. create a list of value===tiddler name
  2. sort the new list of value===tiddler name
here === is a connector and is used to create an item. In other word as it is difficult to create a two dimensional array in Tiddlywiki, one appends the tiddler title to the end of value for the same index (e.g. column)
after sorting gets back the title and display records.
something like this

\define tableFilter_indexes()  [enlist<items>]+[$(sortneg)$$(sortType)$[]]

\define getitems()
<$set name=Index tiddler=<<tempTableSort>> index="sortIndex">
<$list filter="[subfilter<inputFilter>!has[draft.of]]" >
<$text text="[["/>{{{ [<currentTiddler>getindex<Index>addsuffix[°≡°]] }}}<<currentTiddler>><$text text="]]"/>
</$list>
</$set>
\end
 
where

\define display_body_indexes()
<$wikify name="items" text=<<getitems>> > 
<$list filter=<<tableFilter_indexes>> variable="currentItem" >
<$list filter="[<currentItem>split[°≡°]last[]]" variable="currentRecord">
 <<display_one_record>>
</$list>
</$list>
</$wikify>
\end
 
In your second example, you want the plugin to intelligently determine whether to create a new field "ic" or a new index "ic". the way the plugin works is if a field exists with that name it will take precedence over the index. I opted for a simplicity here though I suppose the plugin could make a more advanced decision based on whether that index exists and whether there is already data in the text field. That is the main reason it defaults to field instead of index. There is a risk of accidentally overwriting existing data in the text field if you inadvertently "create an index" by editing.

I agree the documentation could be improved. I wish I had more time. I plan to add something to this effect:

There are some limitations when using indexes as columns. This is due to inherent limitations of index support in filters. The most noticeable is that index values cannot be sorted. A mix of fields and indexes can be used as columns in a single table, but there is no way for the user to distinguish a "field" column from an "index" column. If an index and field exist with the same name, it is possible to have a mix of index values and field values in a single column. If a tiddler has both a field and index with the same name or if neither exist, the field value will always take precedence whether viewing or editing. 


Good, this worth to be added to docs.
 
Thank you for pointing this out. I hope this helps,
Alan


Thanks Alan. TiddlyTables is one the projects shows how amazing, sophisticated  and powerful tools can be made using Tiddlywiki with modular design.
 


myfta

unread,
Feb 10, 2020, 2:42:04 PM2/10/20
to TiddlyWiki
So how might I format the column headings from my field names to something perhaps more user-friendly and formatted differently?



On Monday, 9 September 2019 20:01:41 UTC+1, Alan Aldrich wrote:
Greetings All, I am a long time fan of TiddlyWiki but new to the community. First and foremost, I would like to thank Jeremy for creating TiddlyWiki and everyone who supports it. As a way to learn the ins and outs of TiddlyWiki I started a "table builder" plugin that I have been gradually improving in my spare time. I finally got around to finishing it up recently and would like to share it with the community. 

The ability for the entire wiki to import/export to/from a spreadsheet is a fascinating feature of TiddlyWiki, and I wanted to build on that strength by creating a simple way to query data in the wiki and display it in a tabular way. I am calling it TiddlyTables. The following link contains installation instructions and examples:


There is also a "task manager" plugin that can be downloaded. Its primary purpose is to demonstrate the features of TiddlyTables. I look forward to hearing from you. I will do my best to answer questions and I appreciate any feedback. 

Thanks,
Alan Aldrich

Alan Aldrich

unread,
Feb 10, 2020, 7:26:42 PM2/10/20
to TiddlyWiki
myfta,

Column Templates are used to modify the text or functionality of columns. 
There are three kinds of column templates: header, body and footer templates, and there are several built in.
Click "manage column templates" under "Columns" in the edit menu to choose a different template for a particular field/index.
This link has more information about the template concept.

CSS is used to modify the appearance of columns. 
There are a few built in stylesheets that can be edited under "Theme (Stylesheet)" section of the edit menu.

Hope this helps,
Alan

arun babu

unread,
Dec 22, 2020, 3:31:35 PM12/22/20
to TiddlyWiki
Today only i got to explore this powerful tool and i was surprised to see the lack of activity in this thread. Hope your fine Alan.

TW Tones

unread,
Dec 22, 2020, 7:47:07 PM12/22/20
to TiddlyWiki
arunn

Thread activity is unfortunately not a way to measure the success of a tool, but yes, its a great implementation

Tones

arun babu

unread,
Dec 23, 2020, 2:58:15 AM12/23/20
to TiddlyWiki
Tones

I know that its a successful tool already. But i was thinking why there is no news regarding the further development of such a great plug in for the last 10 months. Probably the developer is busy in his life and wouldn't have got time to allocate for further updates. I should thank Alan for developing tiddlytables and for being an inspiration for similar pllug ins.

TW Tones

unread,
Dec 23, 2020, 7:08:01 PM12/23/20
to TiddlyWiki
I suppose "there is no news regarding the further development"  because we operate on voluntary contributions of time. People also need feedback that there solutions are useful to justify what is working for no return. This is fine in a community spirit but sometimes life and livelihood compete with community work. I for one could deliver a pile of published solutions however I am not working much and need to build a business.

We do need to find ways to inject a little demand and output for those seeking a living.

Regards
Tones




aeroc...@gmail.com

unread,
Dec 24, 2020, 1:58:48 AM12/24/20
to TiddlyWiki
Arunn,
Sorry for the delay and thank you for your kind words. I am happy to hear you are finding my plugin useful. I have a few ideas for enhancements, but there has been no development since January. This year has been challenging, and as you mentioned, it has been difficult to find time. I have been quietly watching TW developments and I am always excited to see new features. I am especially excited for the 5.1.23 release that finally gives us keyboard-driven-input macros. I think this is a good release to base a new version of TiddlyTables on. At the top of my list of things to do is a rewrite of the pagination system, which is a little clunky in my opinion. I have also pondered how to integrate it more seamlessly with the core and make operation and styling more standard. Any ideas/feedback are welcome and greatly appreciated. 

Tones, 
You are correct. I love TiddlyWiki but it doesn't pay the bills. I wish it did. 

arun babu

unread,
Dec 24, 2020, 3:09:40 AM12/24/20
to tiddl...@googlegroups.com
Thanks Alan for the reply. Don’t be sorry. It has been a tough time for all of us. Happy to hear from you. Waiting for further updates on tiddlytables once u r ready. Will give my suggestions as I use it more. May be you can start a GitHub page for the plug in as a beginning. Merry Christmas!

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/VFf0ZJW_Noo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/93010043-5171-4438-b4bd-012ff17cb7f6n%40googlegroups.com.

arun babu

unread,
Apr 19, 2022, 3:02:54 PM4/19/22
to TiddlyWiki
Hi Alan,

I was trying to create a income expense manager using tiddlytables based on the task manger demo you have shown. I was inspired by this budgetlywiki.

Here is what I got after todays experiments. Will you be able to clear some of my doubts if I ask here.
Reply all
Reply to author
Forward
0 new messages