Shiraz 3.0: Plan for the Next Major Release

A little update
Shiraz is a very rich plugin with many macros, styles, templates, … so, updating it to TW 5.3.x is a lengthy and tedious process.

Now, Shiraz 3 will be updated to Bootstrap 5.3.3 and will split into smaller sub plugins.
Tables (dynamic and quick tables) are written using the new TW 5.3.x paradigm. Macros are replaced with procedures; text substitutions are removed, and functions are employed whenever is possible.
Many $list and $reveal which were used for conditional statements are replaced with <%if ... %>
The code is much simpler now.
I hope I can push final release in summertime.

10 Likes

Shiraz 3.0.0 Release Candidate has been published to GitHub.
It is a release under new branch (Shiraz 3.0.0). It is only for test and review/comments.
It is not distributed in Kookma Plugin Library, nor in CPL.

To give a try

Documentation will gradually be updated.

Important Changes

  • Shiraz 3 requires TiddlyWiki 5.3.5
  • Shiraz 3 is based on Bootstrap 5.3.3
  • It partially supports dark mode (same as Bootstrap)
  • It supports Settings to on/off some visual features
  • Breadcrumbs work using StoryList and HistoryList

Dynamic Tables

  • Dynamic tables were rewritten from scratch
  • Dynamic tables are now more performant, and the code is much easier to hack
  • Functions, procedures, parametrized transclusion is used as much as possible

Shiraz 3 is not fully backward compatible. Don’t Upgrade your TiddlyWiki with Shiraz 2.

Please do not use Shiraz 3 for any important TiddlyWiki with your valuable data. Only use it for experimentation and evaluation.

7 Likes

I’m excited that there’s an upgrade that takes advantage of powerful and efficient new recent features of TiddlyWiki… and yet I’m also a bit concerned about this lack of backwards compatibility.

Will there be something like an upgrade path for projects that use Shiraz 2.x? I’ve invested a great deal in developing shiraz-based elements over the years, and it would be quite difficult to reconstruct everything from scratch. For this reason alone, I might not actually upgrade, despite being one of your biggest fans. :slight_smile:

Will you at least (at some point once you’re past RC stage) be able to spell out which specific details cause backward-compatibility issues, so that it’s easier to troubleshoot conversion — without having to completely re-create every view template that uses dynamic tables, etc.?

1 Like

Sure, I will. I will also put a list of dropped features and new one!

I assume you have mainly used dynamic tables, quick tables, alerts, callouts, cards, images, …
These are backward compatible.

3 Likes

It’s lovely to see this, @Mohammad! I had been slowly updating a few of of my favorite Shiraz macros to use the more recent syntax and was just pondering attempting the same for dynamic tables, so this is excellent timing.

I haven’t had time to do much experimenting with Shiraz 3 yet, but I did notice that while your Migration tiddler notes that “Details macro uses the new $genesis widget” (great idea!), this change doesn’t seem to be reflected in $:/plugins/kookma/shiraz/procedures/details yet. :thinking:

3 Likes

Might I also suggest using the $:/temp/volatile/ prefix instead of $:/temp/ for temporary search tiddlers used for real-time filtering (like the ones you’re using in your <<faqs-details>> and <<faqs-slider>> macros)? This is the number one thing I find myself changing in your macros—and in core TW, for that matter. I have some pretty large wikis, and I find that it makes searches noticeably more performant.

4 Likes

Hi @etardiff
Thank you for your kind words.
I will prepare a changelog to reflect the final changes.
The first version of details was based on $genesis, but the page refresh causes to auto close the opened details. So details is the only macro I could not update it :wink:

1 Like

Thank you for the suggestion. I note it!
I would welcome you review/comments.
The documentation needs more work, but as documentation is not the good part of coding :slight_smile: I will gradually revise the docs. By the way I welcome suggestion or any help.

2 Likes

I’m just trying this out on a clean TW 5.3.5 instance, and all seems to be working as should so far… Except i can’t see any affordance in the UI for activating Node Explorer. Would be nice to have a tickbox as for Breadcrumbs in the Shiraz settings panel, but… What is the alternative?

Hi @ludwa6
The demo has full details under Shiraz Advanced Tutorial, → Node Explore tab

I repeat the steps for your convenience here:

Open the $:/AdvancedSearch
Select System tab
Enter: node-explorer into the searchbox
See the view templates for node-explorer

  • $:/plugins/kookma/viewtemplates/node-explorer
  • $:/plugins/kookma/viewtemplates/node-explorer-colorful
  • $:/plugins/kookma/viewtemplates/node-explorer-details

In the demo the $:/plugins/kookma/viewtemplates/node-explorer-details is activeRemove the tag $:/tags/ViewTemplate to disable the node-explore OR
Tag any other template you like with $:/tags/ViewTemplate

1 Like

Ah! my bad for failing to read all the docs -which are quite exemplary, i must say: will be working through them as time permits. Thanks @Mohammad !

1 Like

@ludwa6 welcome back…back to using Tiddlywiki?

1 Like

Yes @arunnbabu81 : after a long forced-flirtation with Notion (which i still need to use in my day-job), i realized that i will. never be as comfortable with that tool (or any other that i know) as i am with TiddlyWiki for personal information management. I do wish it could serve better the purposes of a workgroup- there are some fundamental issues of software architecture that make this a really tough nut to crack -but at least on the UI side, with plugins like Shiraz 3.0 making it so easy to create a really beautiful user experience, i like to think we’ll get there before too long!

3 Likes

Will this be of interest for you

ps: With your good guidance @Mohammad , I did get NodeExplorer working in the TW 5.3.5 instance i set up for this purpose- which i manage using TiddlyDesktop on Mac, in case that matters -but i did encounter a surprise that i’d like to understand better. Here’s what i did:

  1. Went to your github site, the shiraz-3.0.0 branch, the index.html file in the docs folder, which i then downloaded to my desktop.

  2. That instance being full of content, to try the plugin out on a clean TW 5.3.5 instance, i dragged from the downloaded 3.0.0 instance the Shiraz 3.0.0 plugin, along with the other plugins that accompanied it (Code Mirror, Highlight, Katex, Utility), into my clean instance.

  3. Ran the advanced search you prescribed here to find that set of node-explorer viewtemplates you listed… But they did not appear in the result list.

  4. So i dragged those 3 view templates over from the downloaded instance, and got Node Explorer working.

Of course this is not your recommended procedure, so feel free to ignore my “just out of curiosity” question; i just wonder: Is the Shiraz 3.0.0 plugin, when released, going to come bundled with all the view templates (plus anything else) that is needed to enjoy the full new&improved Shiraz experience?

You did correctly import the node-explorers.

Shiraz itself does not include the node-explorers in the plugin pack. Node-explorer is an advanced example of using Shiraz. Node-Explorer actually demonstrates how to use Dynamic-Tables, Display on Demand and Badges can be used to create a bidirectional edition of tiddlywiki!

NOTE: There is a less active edition called Mehregan ( Mehregan is a Tiddlywiki based app for personal knowledge management with Zettelkasten concept) which include all of these. I am sure you have it. I hope I can find some free time and update it once Shiraz 3.0.0 stable version released.

In summary to setup a clean TiddlyWiki with Node-Explorer you need

  1. download the empty.html (latest version 5.3.5) from https://tiddlywiki.ocm
  2. install Shiraz 3.0.0 using drag and drop
  3. import all, or selected node-explorer viewtemplate from Shiraz 3.0.0
3 Likes

Mohamnad, I noticed that Shiraz 3.0 no longer has the multi-column checkbox.

In my tiddlywiki I had set up a check box myself which also stopped working in new setups.

When I did some digging I saw that the multicol tiddlers all still seem to be in the plugin except for $:/plugins/kookma/shiraz/styles/multicols/storyriver (which is what I modify in my own checkbox). Adding that tiddler from an old setup that still works got it working in the new setup too.

Is this an oversight or are you phasing out multicolumn?

Sorry for inconveniences. I will prepare a list of changes in Shiraz 3.0
I moved the multicolumn story river with few other tweaks to a smaller plugin called TW-Tweaks.

You have correctly restored the multicolumn story river for your own use.

1 Like

Ah ok, thanks. I’ll take a look at TW-Tweaks.

As a side question, is it possible to have the multicolumn revert to single when there is only one tiddler open?

Yes! It uses a stylesheet. You can use new conditionals and create dynamic stylesheets.
So, multicolumn can only be in use when more than one tiddler is open!

1 Like