Cardo 1.0.4 - with Goals, IE11 compatibility, and fixes

107 views
Skip to first unread message

David Szego (Cardo)

unread,
Jan 7, 2019, 10:08:35 PM1/7/19
to TiddlyWiki-GTD
I'm very happy to announce the release of Cardo 1.0.4

A Task and Project Management Wiki for Getting Stuff Done

 
Cardo comes from a combination of "Card" and "Do". This was the name given to the main north-south roads in ancient Roman cities, used as a guide for easy navigation. It also aptly describes the UI of the tool.

Cardo has many features for task and project management, including:

  • Projects, Teams, and RACI charts
  • Progress & Status Updates
  • Tasks, Delegation Tracking & Reminders
  • Contexts, Areas & Realms
  • Meetings & Agenda Items
  • References & Notes
  • Contacts & Conversations
  • Book Library & Reading Notes
  • Goals (with a very Tony Robbins feel)

They are tightly interlinked to allow extremely complex tracking, presented in very elegant dashboards.


Get Cardo at http://cardo.wiki

Cardo comes in either a standalone "empty" TiddlyWiki file, or you can add Cardo to your existing TiddlyWiki by importing a .json file of plugins.


Thank you to everyone who contributed to the development of Cardo, either through testing and bug reports, feature suggestions, or kind words of encouragement! A special thanks to Jeremy for this fantastic platform we all love hacking on. Keep up the great work.


1.0.4 Changelog:



  •     1.0.4 (7 Jan 2019):
    • Added: Goals - with a very Tony Robbins feel
    • Fixed: IE11 compatibility (issue with guid.js)
    • Fixed: Reminder wording better reflects goals, tasks and projects
    • Fixed: Alignment of Tiddler buttons in Cardo theme
    • Added: Start date (cardo-start) to Projects and Tasks
    • Changed: Moved "Recurring"/"Reminder" checkboxes for cleaner layout
    • Fixed: New Conversation from sidebar was tagged wrong
    • Fixed: New items are set with the Focus currently set in the sidebar (unless Focus is set to "All")
      • (This fixes a number of bugs where items don't appear due to sidebar being un-set, as well as allows new items to have a default so they should never be un-set)

Derry Birse

unread,
Jan 15, 2019, 1:21:23 PM1/15/19
to David Szego (Cardo), TiddlyWiki-GTD
David,

many thanks for this update and for adding the start dates to projects and tasks.

I did spot one other bug which has serious consequences as it screws up the whole data set.

Essentially if you have a project with a team and defined RACI roles, this shows up on each team members dashboard e.g.

However, changing the RACI role from that person's Dashboard results in every tiddler being flagged as having that role (including system and shadow tiddlers), with obvious disasterous consequences.

Images of the issue:

I have narrowed this issue down to the following bit of code in the cardoProjectRoleList shadow tiddler:

<$set name="bareGuid" filter="[<personGuid>regexStr[\w{8}-\w{4}-4\w{3}-\w{4}-\w{12}]]">

Which should set bareGuid to the team member's guid, but actually leaves it empty. I replaced this line with the following quick and dirty fix which rectifies the issue for me, but is probably not what you intended code wise.

<$set name='bareGuid' value=$personGuid$ > 

Hopefully you will get some time to look at this.



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

Derry Birse

unread,
Jan 16, 2019, 8:57:12 AM1/16/19
to David Szego (Cardo), TiddlyWiki-GTD
One other issue that I face is that I would like to use the TW5-visjsTimeline  to create gantt type charts for the tasks in Cardo. Ding something like the following to create the timeline. 

<$visjstimeline filter="[tag[Task]]" startDateField="cardo-start" endDateField="cardo-due" format="YYYYMMDDHHmmssSSS"/>

The necessary plugins install fine alongside Cardo, but as soon as the code below is added to a tiddler to display the timeline I get a crash.

Internal Javascript Error, Uncaught TypeError: this.setupRules is not a function.

Managed to get working with tw5 core (no Cardo) and necessary plugins. Created a couple of tasks with cardo-start and cardo-due fields and tagged them with Task, which created the following:


from:

<$visjstimeline filter="[tag[Task]!sort[cardo-start]]" startDateField="cardo-start" endDateField="cardo-due" format="YYYYMMDDHHmmssSSS"/>


Any Ideas?
Message has been deleted

Derry Birse

unread,
Jan 17, 2019, 4:41:04 PM1/17/19
to David Szego (Cardo), TiddlyWiki-GTD
David,

Happy to say that I managed to debug and resolve this one, or at least work around the problem. Seems that the Cardo images e.g.
 
$:/plugins/Cardo/images/task

have the type field set to a value:

text/vnd.tiddlywiki 

rather than being empty or having the value: 

image/svg+xml

as expected by vis.js Timeline plugin widget widget.timeline.js

$:/plugins/kixam/timeline/widget.timeline.js

Not sure if this value for the type field is something that is required by Cardo or if this is an error and the value should actually be "image/svg+xml".

However, I needed to modify widget.timeline.js for other purposes, so I also modified the following line in the erroring function iconPrefix from:

      if(type === "image/svg+xml") {

to

      if(type === "image/svg+xml" || type === "text/vnd.tiddlywiki") {

I think that it would make more sense to change the type field for the Cardo images as a more general solution as I have probably broken my version of widget.timeline.js for more general usage.

Let me know if changing the type field of the Cardo images would cause any Cardo issues.

thanks

Derry

Derry Birse

unread,
Jan 17, 2019, 6:48:19 PM1/17/19
to David Szego, TiddlyWiki-GTD

David,

many thanks for the great work you have done on Cardo. In the end I needed to make the type field blank for the Cardo images otherwise they would not render. Still that resolves the issue with the vis.js Timeline plugin.

I also wanted to share with you, and anyone else that was interested,  how I have modified Cardo slightly and combined with the Dropboard and vis.js Timeline plugins to create some additional project related functionality. Have attached an example TW5 file with all of these features active (depending upon when you open the attached file, you may have to play with the dates on the tasks to achieve the desired effect). 

Would love some feedback and perhaps some pointers as to how I could create buttons on the Project view to generate a default Project Board and Project Gantt. 

On Thu, 17 Jan 2019 at 21:44, David Szego <da...@szego.me> wrote:
Fantastic, thanks Derry. I hadn't been able to take a look yet, but yes SVG+XML would be better as it's the proper TW field type. It won't affect anything on my side.

I'll look into your other comments ASAP.

Cheers,
David.

Derry Birse

unread,
Jan 18, 2019, 5:40:33 AM1/18/19
to David Szego (Cardo), TiddlyWiki-GTD
David,

Having taken a closer look at this issue, I think my crude fix actually identifies the problem, I don't think you can apply a filter operator to a macro argument directly, or at least you cannot refer to a macro argument in this form <personGuid> only this form $personGuid$ from within a macro. So, correct me if I am wrong, I think the relevant code in $:/plugins/Cardo/macros/cardoProjectRoleList should be modified from:

            <$set name="bareGuid" filter="[<personGuid>regexStr[\w{8}-\w{4}-4\w{3}-\w{4}-\w{12}]]">
...
            </$set>  

to

            <$set name="tempGuid" value=$personGuid$ >
               <$set name="bareGuid" filter="[<tempGuid>regexStr[\w{8}-\w{4}-4\w{3}-\w{4}-\w{12}]]">

...
               </$set>  
            </$set>  


to allow regexStr to apply.

Derry

On Tue, 15 Jan 2019 at 18:21, Derry Birse <der...@gmail.com> wrote:

David Szego (Cardo)

unread,
Jan 18, 2019, 8:13:30 PM1/18/19
to TiddlyWiki-GTD

Hi Derry, thanks for all this. It's great of you to dig into the code enough to get even this far! You nailed it, and I've included a bit of an explanation on how I do the roles below:

What happens with the RACI roles is that the cardoProjectRoleList macro looks to see if there's a role assigned by searching for the GUID, which has the format of ########-####-4###-####-############ (that's a standard UUID format) - this is the bareGuid variable which specifies a person identified by a Tiddler with the field "cardo-guid" having that value and having the field "cardo-type = person".

Then, finding the bare GUID of the person it's looking for, it looks to see if there is any Project, or if the particular Project being shown, has that GUID in it's "cardo-projectteam" field.

If it does, it will be suffixed by "--RoleType", i.e. "--Accountable". There will be as many entries in this field as there are people assigned with roles to the Project. i.e.
"e93824f0-c1db-4ae2-8777-4010174e2ea3--Accountable e18c0856-6fbe-4e6d-8d02-30f94b6c8c58--Consulting 03b35b89-c774-4501-9376-29b0124ecfc4--Consulting"

So from there, it will highlight the RACI role appropriately.

Likewise, the macros that change the roles, add an entry or look for and delete the right GUID entry, in the Project's "cardo-projectteam" field.

I saw one instance where the *Person* Tiddler *also* got the field "cardo-projectteam" written, which it shouldn't. ... that may have been a remnant in my TW from development work. I can't reproduce it.

What I am seeing right now though, is that any Person Tiddler is showing they are assigned to a Project properly by name, but it highlights *all* roles that Project has assigned to it.

In fact, the Project's "cardo-projectteam" field is intact, the Projects themselves are intact, and each Person's Tiddler is intact, and the cardoProjectList when invoked on a Project Tiddler shows the list of People and their roles properly...
it's just that the list of Projects on a Person Tiddler is shown incorrectly.

This is in the "$:/plugins/Cardo/ui/ViewTemplates/types/person/detail" Tiddler:

      <<cardoProjectRoleList title:'Ongoing Projects' status:'Ongoing' includeComplete:'false' newButton:'true' newTag:'Project Ongoing' personGuid:$(personguid)$ shortButtons:'true' newProjectLead:$(personguid)$>>

Your fix below does in fact show everything properly, and gets rid of the fouled RACI assignments... Thank you!!

I'll include it with your other tweaks and vis.js stuff a.s.a.p.

Best regards,
David.
Reply all
Reply to author
Forward
0 new messages