Tobias, thank you very much for such a long and considered review - and
also I have to thank you for all the help you've given me (indirectly!)
through all your posts in these forums!
I'll reply inline... there's a lot to go through.
On Saturday, 24 September 2016 05:25:50 UTC-4, Tobias Beer wrote:
> Did you find yourself having to write a lot of custom js plugin code?
>
Surprisingly, no! Almost everything is in fairly standard macros! This was
actually really pleasing to me as I started by rewriting the original dGSD
Javascript macros (which were expansions of Simon Baird's code), inserting
widgets and child widgets, doing select cases and conditionals, etc. and
realized that approach was too hard, mostly from the TW5 learning curve (I
am really *not* a programmer!).
When I approached it through macros, I got a lot further ahead very
quickly. The only real limit was the complete lack of conditionals in TW5,
so I found it much easier to write a separate macro for each type of task
or project list I needed.
I did have to write 5 new filters:
$:/plugins/Cardo/filters/daysOrEmpty.js
$:/plugins/Cardo/filters/fieldContains.js
$:/plugins/Cardo/filters/fieldOrEmpty.js
$:/plugins/Cardo/filters/tagOrEmpty.js
These 4 are the same as the built-ins, but if they are passed a blank
variable, they will simply pass everything through to the next filter. This
lets me say filter="[field:someField[$variable$]]" but if $variable$ is
blank, it won't fail, it'll just be ignored.
$:/plugins/Cardo/filters/regexStr.js
This is almost the built-in regexp.js, but instead of returning Tiddlers
matching the results of the regex, it returns the results of acting on the
string passed to it. I'm using it to do a filter like:
filter="[<personguid>regexStr[\w{8}-\w{4}-4\w{3}-\w{4}-\w{12}]]">
and get a more flexible version of the "prefix" and "suffix" filters,
because I couldn't do "[field:cardo-personguid[remove[suffix<RACIrole>]]]"
or something like it.
Now I can take the field value
"e93824f0-c1db-4ae2-8777-4010174e2ea3--Accountable"
and extract the GUID from it.
Speaking of which...
One area I did heavily deviate from standard TiddlyWiki was in the
identification of Tiddlers. Whereas normally you link to a Tiddler's title,
I realized early that doing this would break too many things. So I built a
GUID generator,
$:/plugins/Cardo/macros/guid.js
which takes the best from a StackOverflow thread and generates unique ID's
for every Person, Task, Project, and other Cardo type.
The reason is that I can now change a Tiddler's name without breaking the
many interrelations between the different types.
I may want to correct a person's name by renaming their Tiddler, but I
certainly don't want to reassign them all their tasks.
Other than that, I had to override core/ui/ViewTemplate and EditTemplate to
select which custom template to show based on whether the Tiddler
"[has[cardo-type]]", or is just a plain Tiddler. The rest is all macros and
standard TW5!
>
> 1. Are you planning to package everything as a CarDo plugin?
>
> Yes, currently everything is named $:/plugins/Cardo/xxx and
$:theme/Cardo/xxx ... I will put them all in one big Tiddler when it's
ready to do so.
As well, anything Cardo-specific is tagged "Cardo", so I can just export
"[tag[Cardo]]" for upgrades, or delete them to remove (until of course I
package it properly).
>
> 1. Rather than be an entire edition defining the entire wiki
> experience,
> I think I would favor if CarDo was more of a plugin to TiddlyWiki
> - Did you consider this approach and if yes, what made you decide
> against that?
>
> Agreed - I would likely have two plugins - the Cardo functionality itself,
and the theme which makes it look like an edition of it's own. My approach
is decidely "Edition"-based, because I want it to be a piece of software.
This is my own little Basecamp, my Wunderlist or AnyDo, but moreso. I feel
that TW is more of a framework (very, very powerful one!) than a UI or a
layout.
But I do want to appeal to a wide audience, so making it theme-friendly is
indeed a goal, albeit for later.
>
> - For example, I think all CarDo tabs should be under a main CarDo tab
> in the sidebar
> - and if one ends up having that open all the time, fine
>
>
> 1. possibly, CarDo could provide its own sidebar or action panel
> - rather than try and squeeze all that stuff into the sidebar
>
> That's a thought... especially for a non-edition version. I was actually
thinking of incorporating the 3-State-Sidebar plugin I saw, to make a
full-width Card, with a very narrow sidebar of only 48x48 buttons for new
Tiddlers, your dashboard, review, etc. But that's more Edition-based.
>
> - perhaps it's also just a matter of styles, e.g. that centered text
> in the *Tools* tab
> - which I don't find to be a good design choice
>
> 1. I tend to agree with Jed, that CarDo would benefit from as
> little css / style modifications as necessary
> - i.e. for it to look more like a "Stock-TiddlyWiki"
>
> Understandably, but you and Jed and most here are hard-core TW'ers (as am
I very much), but I don't think TW means that particular layout. Again, to
me it's the capability of building your own wikified knowledge store,
rather than the fact that it looks or is laid out a certain way.
>
> - I find words that wrap anywhere highly off-putting (those veritcal
> tab buttons in the sidebar)
> - also, switching to a fixed story apparently breaks the layout
> so that the story covers the sidebar
>
> Tweaks. I'm trying to prevent my inner perfectionist from taking over
until I have all the capabilities in! ;->
>
> - it slightly appears that rather than be mobile friendly you tweaked
> some core layout elements
> to by default always assume smaller screens
>
> Not to always assume... I found some nice CSS media selectors that I use
to make the buttons bigger on touchscreen-type devices. A side effect is
that the selectors kick in if I use Control-+ (or in my case Cmd-+) to
zoom. Try zooming in and out and you'll see how it switches.
>
> - e.g. those vertical secondary tabs in the control panel or sidebar
> - I would abstain from such overall UI changes and leave it to
> everyone else
> to change that as desired and suit their device needs
>
> Again, you're speaking about "everyone else" as if the bulk of TW users
are coders who will dig in and personalize it to their tastes. For the
moment, they probably are, but that's a *huge* limitation to the user base!
I believe TW would *fly* if you could click to select editions, and get the
functionality you need, rather than assuming everyone who uses it is a
coder! And if you didn't need TiddlyFox, but that's another story.
>
> 1. a little bug, I think: scroll to *Project Team* and click *N*
> - scroll back down and see how now *all* tiddlers are
> erroneously listed as RACI team members
>
> Thanks, keep 'em coming...!
>
> 1. I would name the Intake tab simply *New* because that's what it
> does...
>
> Agreed. I think the whole David Allen GTD thing is extremely useful, but
the jargon has gone out of style. "New" is far better.
>
> 1. Are you planning a documentation edition for CarDo?
>
> Definitely. There's some in the code, but I'll pull it all out before I
call it post-beta.
>
> - I believe intermingling demo data and instructions in one go isn't
> quite the best approach
>
> I have to balance between the web page that sells it, and the useful info
for the end-user actually using it. I've put a ? in the top right of every
Cardo Tiddler, but haven't populated the help Tiddlers yet.
>
> 1. I would also very much prefer to start with an empty edition w/o
> any demo setup / tiddlers at all.
>
> For Beta, for sure.
Personally, I probably won't be using CarDo,
> as xGSD felt slightly overbearing to me.
> I would possibly tend to a UX
> that does not show everything all the time,
> which atm feels overwhelming / distracting to me.
>
Understood... It really is overkill for a ToDo list, but then again you
could simply ignore the Projects, Meetings, etc. and only use the Task
cards.
Since I started with Simon's mGSD, I've used it for everything from Project
Management of Cisco Call Manager deployments across nationwide insurance
companies, to Product Management of a half-billion-dollar set top box
interface and hardware development for a major CableTV company involving
50+ people... but also for my backyard garden and rebuilding a couple of
antique motorcycles!
Keep the comments coming! And thanks again for all your help, whether you
knew you were helping or not! ;->
Cheers,
David.
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/af4b7dff-25a9-445a-899e-7f5ccb2ebe44%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.