Custom Fields/Attributes for tasks.
Allow users to create custom fields/attributes they require for their tasks. Some users might like to assign each task with a Start Date and End Date, but someone would only prefer to have a Progress or Category attribute for each task.
Thanks a lot for the comment. Unfortunately, we don't have close plans to implement this feature, but if we do it in the future, your ideas may definitely help :)
Mario T. Lanza commented
I agree that implementing a good looking ui is a concern, but I think it's possible. Here's a possibility:
First I like Sthithapragnan's suggestion of extending tags into pairs. I've see the paran syntax in TaskPaper and I like it. An alternative is to use a colon -- e.g. #taskaddedby:xxx. The colon syntax is easier to enter since the user doesn't need to remember a closing paran.
It is also possible to nicely display these in the ui. They are after all, just tags. Just display the value portion in a different color. The next issue is that if too many valued tags are entered it may clutter the ui. This could be handled by collapsing and expanding the complete set of valued tags.
(Firstly, simple tags with no values would appear just as they already do. These would be followed by the valued tags.) The user can add a setting on each list to indicate which valued tags (listing their keys) are shown by default. The set of valued pairs would have a three way toggle: show the default ones, show all, show none. These correlate to what Windows calls: normal, minimize, maximize. A simple ellipses could be used used to help convey that some are being collapsed out of view.
Using valued tags allows limitless extension since you can basically add whatever attributes you want (NoSQL style). It also accommodates the request for adding columns. Since displaying valued tags as columns is nothing more than another way of viewing them. So they could either appear similarly to normal tags as valued tags or as columnar values.
There would be no need to define data types. Just as YAML intuitive recognizes data types by the way they're entered, so could Checkvist.
What about having brackets to separate attribute and value? For instance, something like #start(tomorrow), or #taskaddedby(xxx)? The search for this can be customized also. If this is interesting to people at all, I am sure we can come up with many ways of using this feature.
Good idea, though tough to implement.
The real problem arise on how to present all these custom fields in the interface. We don't want to turn Checkvist interface in to a mess of many strange bad looking fields, and a decent UI solution for custom attributes is really not easy one.
This would indeed be really, really awesome. Other tasklist / outliner programs have a ridiculous number of fields for things like Priority, Cost, Time Estimation and so on and so forth. It seems they always either have too many fields, or not the ones you want. If we just allow users to choose their own fields, making them up on the spot, and then give the ability to filter by those values, then that'd be really special.