|
zajchapp wrote: I don't think that the single select status needs to be handled differently to the multi-select category. Are you suggesting that dragging an item to a column with only one status would still require the user to be prompted to change the status to the only possible value?
|
|
|
|
|
No. Sorry for the lack of clarity.
I was merely suggesting that status is single select. Moving a task from one column to another replaces the status. If moving to a column that is a combination of statuses, the user would need to choose the status, probably via dialog.
In the case of the swimlanes, these rows are likley to be defined by a multi-select attribute, such as Category, Tag, Assigned to, or some user defined attribute. In this case, when moving from one row to another, one category would be removed, and the new one added. Again, if the row had multiple categories, the user would need to choose the new category to add.
On further thought, I am not sure moving between rows or having rows contain multiple categories would be a common thing, unless the rows are for people and teams. At least much less common than for columns. Should functionality for moving between rows / multiple categories for rows possibly be deferred?
zajchapp
|
|
|
|
|
zajchapp wrote: Moving a task from one column to another replaces the status. If moving to a column that is a combination of statuses, the user would need to choose the status, probably via dialog. Thx Johannes, then we are in total agreement
zajchapp wrote: Should functionality for moving between rows / multiple categories for rows possibly be deferred? I think I will go further and also postpone swimlanes for 7.1 simply because they're beyond the scope of my plan.
|
|
|
|
|
.dan.g. wrote: I think I will go further and also postpone swimlanes for 7.1 simply because they're beyond the scope of my plan
Fair enough.
|
|
|
|
|
Hello!
This is a new feature request which I think maybe useful to many people.
The basic idea is that you might only have so much time for a given task (especially if, as in my case, a task represents some definite time period like a week, a work-week, or a quarter).
When planning for the next time period you would thus create this parent task which should represent say a work-week or a project, and you know that you can spend no more than 100 hours for example. Then you would either drag-drop or copy-paste existing tasks into it, or create new sub tasks. When those subtasks have time estimate set, the program would check if the newly added subtask will push overall time for the parent task above it's specified maximum value, in which case:
- a warning maybe given?
- subtask is marked as being "outside of time budget"
- some otehr predefined behavior?
What I do right now is to basically end all parent tasks with something like /150h inidcating total maximum time. This is of course less than optimal and is prone to errors. For one thing you need to manually check if you are "above the budget". Then there is no data speration between task title and actual value.
So perhaps you can introduce this duration bounding feature in some fashion. Potentially the same can apply for custom columns too. Most obvious case would be cost calculations, where each task might have associated cost, and you should not exceed the overall maximum cost for the parent.
That's my feature suggestion.
As always, thank you for such an excellent product!
|
|
|
|
|
I think this and similar requests could be best handled by an enhancement to allow us to perform calculations with attributes, especially custom attributes.
In the current example we should be able to perform this custom/unique logic in a UDT, though at the moment I'm not sure how to make it happen:
- I'm thinking of passing a UDT a selection with multiple tasks.
- The data for those would include either estimates or maximum allocated time (custom attribute).
- One of the selected tasks would be the parent, also including a max time field.
- The UDT passes the data to a command-line program, where any language can be used to perform calculations on the fields passed in, and it will return a result.
- "Somehow" that result then needs tobe re-integrated into the selected tasks. Perhaps the Risk field could be kicked up to indicate the parent task has a high risk of failure due to long-running subtasks. And/Or a comment can be set.
All of this could be done easily with the .NET Library, though I still regret that I haven't had time to publish it.
But what I'm getting at is that while I think the original idea is useful, it's another creative usage of the data that's already in TDL, and I think we'd do better to have a mechanism that allows us to perform calculations on fields, and to set fields with the results, rather than to get individual solutions as Dan considers the merits of each.
For example, I think it might be more helpful in the long run to have a custom attribute which could calculate the value of other attributes, like a field called RealisticEstimate with a calculated value of "$(TIMEESTIMATE)*5" with some mechanism that allowed for changing the background color of task's parent to red if that value was greater than some other literal or computed value. Something like this:
$(PRIORITYCOLOR)="255" * ($(TIMEESTIMATE)*5 > $(CUSTOM_MAXTIME))
So if the realistic estimate is over budget (value = true = 1) then the priority color goes red, otherwise it's 0 = black.
Another way to do this would be to create the custom attributes for MaxTime, add data, then export the .tdl to CSV. You can then use Excel to manipulate that data fairly easily. With a UDT and perhaps some macros or an Excel template I think this could be done rather elegantly.
In other words, there is already a solution for this, just not built-in. To the next possible, reasonable, and perhaps expected response of "well, I'd like my idea to be built-in" : ToDoList could do a Lot of things, depending on what Dan wants to do with his software. But I think it's power lies in its potential to allow us to do whatever We want, rather than trying to get every possible cool feature built-in. It's the "teach a man to fish" concept: If Dan teaches this software how to do calculations based on data that we provide, then we'll all "eat for a lifetime", but for each one feature added, we "eat for a day".
What do you think?
|
|
|
|
|
Actually, as a matter of fact, when I wrote this suggestion yesterday I wanted to elaborate on it and bring up the idea of custom calculations, but thought it would be another feature request. I am glad you did bring this up though, as it is certainly something I was looking for, however thought it would be more consuming to implement than the Max Allocated Time feature, so did not mention it.
But to extend on it, ideally something Excel-like would be really awesome (in as far as allowing calculations on numeric fields - custom and built-in). For example having a "CalculatedColumn" column type where you would enter a formula like in Excel.
One particular usage scenario for me was basically to determine what should be done first, second, third, etc., where just sorting by priority or multi-sorting on priority and due date for example is not enough. For instance, you might want to decide you should first do only top-priority tasks, but those that can be done quickly (presumably because the impact will be the biggest on those). As such you could define a custom calculated column: Priority / TimeEst and sort tasks on those.
|
|
|
|
|
We're thinking along the same lines.
To step back a bit - This whole concept of "wouldn't it be great if ToDoList did 'foo'" relies on the premise that ultimately Dan's time would be required to make it happen. And I always dance on the line between "hey, here's a cool idea" and "I don't want to ask Dan for his time unless it's really necessary". There's a lot of things we simply can't do ourselves so we need to ask him - but I think we should always be asking ourselves how much we can do without asking him.
So I agree that calculated columns would be a great feature, I'd like to see that too. On the other side of that line for this specific application I'm thinking we have exports, UDTs, and imports, and a UDT can pull data into a program or Excel to operate on data and then force it back into TDL. So it's possible that this problem could be solved without code changes- and then the process can be revised if Dan does add new functionality.
To be more specific, here's what I think we "should" be able to do:
- Select one or more tasks.
- Go to Tools>Export, and send all attributes for the selected tasks to a CSV.
- Now use "something else", maybe Excel when it gets launched from the export, to make decisions based on that data.
- Now use Tools>Import to pull that data back in and overlay the selected task(s) with the CSV.
Finally, setup a UDT to do the export, another one to process the data, and another one to import it back.
That's not really tough, except for the part about making decisions based on the data.
Where that falls apart is that it looks like an import won't work on data just exported by TDL. I think that's something Dan might want to address (7.0.11). [EDIT: I can't reproduce this yet.]
What do you think now?
modified 8-Jan-16 17:00pm.
|
|
|
|
|
I certainly agree with you about valuing Dan's time and thus asking only for the most-wanted features. However, personally I do not think your approach is viable. Workable? Probably! But, not really usable in day-to-day work. The main reason is that it's just too much to do, and doing this sort of thing would need to be done quite often in many cases - several times a day at least. The point is priorities change, new (sub)tasks get added, and it happens all the time (of course it does depend on what you are using TDL for, but in general I think it is safe to assume that many usage scenarios involve constant and frequent modification of tasks and their attributes). Thus one would want to see changes immediately, and not have to do the relatively complex export-import routine.
Of course, we could ask to first implement only top-most scenarios, however that would be "hard-coded" approach would not be optimal IMHO. Far better would be to set as a major feature a more general approach: calculation "engine", a "mini-Excel" for numeric columns. Start small, but start with a room to grow and no hard-coding, i.e. support only numeric types at first and basic arithmetic, like add, divide, etc. Later, if it proves popular, start adding more functions, or maybe even separate that calc engine and making it an addon with custom function support.
As an aside, and hopefully I won't offend the author of this Awesome tool, but I think it would be great to make it a collaborative effort on github, so that many users can contribute. An even bigger dream would be to make most of it managed. I, by no means know any code, but I suppose that C++ might not really be necessary for implementing a program like this. Switching to another platform like mono/.net would probably make it far easier to develop, and enable a way forward for a far better UI for example. But I think we have wandered too much off from my original, hopefully humble suggestion
|
|
|
|
|
Thanks for the exchanges.
I was thinking of something more automated once the pieces are in place, ideally facilitated by a toolbar button. But sure, it needs to be as quick as anything built-in.
As to collaboration on the code, Dan recently commented on that here[^].
As to a port to .Net/Mono, I don't believe it will ever happen but I've made the suggestion myself. There's just not enough C++ people out there who want to contribute to a thick client app like this (anymore). But there's just too much C++ nitty gritty in there, and that's not the direction Dan is going with his software anyway. That condition is one of the reasons why I created the Library (see my sig) is so that we can do a lot of things outside the box ourselves, using TDL more as a processing engine for alternative UIs, storage, and logic providers. I just haven't had the time to publish v1 yet but I'm as frustrated as anyone with that situation.
Anyway, let's see what Dan has to say. After all this it might be "will be in 7.1"
|
|
|
|
|
When a tasklist has no attributes to be displayed, the attribute pane is still visible even though it's empty. Would it be possible to hide the entire pane in this case please?
By this I mean: right-click on the "Title" column header, select Task Attribute Visibility, click Clear All then OK. The attribute pane on the LHS is still visible.
Thanks!
Cheers
[d3m0n]
Email (replace "***" with "key")
|
|
|
|
|
Hi Azz.
Can you post this to our Google Group pls so it doesn't get forgotten?
Thx muchly.
|
|
|
|
|
Yep, done. Actually added it twice because I wasn't sure if I'd pressed POST or DISCARD..... please delete the duplicate
Cheers
[d3m0n]
Email (replace "***" with "key")
|
|
|
|
|
Following on from my last post: my new year 'import everything from excel' project continues...
I created a few custom attributes in TDL in advance of the import, with a variety of parameters.
The import of data appears to be perfect - including all the custom attributes.
(Following earlier advice I had pasted the header row with the exact attribute names from a TDL export CSV - so the new columns matched the created attribute names exactly).
The fields with multiple selection items parsed perfectly with '+' as the in-field delimiter. (Thanks for that tip!)
Now the remaining problem is that the list boxes for custom attributes are all blank (except for lists which already had selection items prior to the import).
So my question is - Does the import process create attribute lists from the data automatically? Or do i have to create the lists by hand?
Thanks!
I am using v7.0.9 with win10.
|
|
|
|
|
Jon753 wrote: Or do i have to create the lists by hand? I don't know for sure, but I suppose: "yes". If you take a look at the TDL file you will find some entries like ..
<CUSTOMATTRIBDEF ID="CUST_MYTEXT" LABEL="mytext" COLTITLE="" TYPE="256" COLALIGN="0" FEATURES="1" ENABLED="1" LISTDATA="mytextdefault "/>
These are the data for the custom attributes.
Jon753 wrote: I am using v7.0.9 with win10. You should consider to update to current version.
|
|
|
|
|
Hi - Thanks for the quick response. I have now updated to the latest version.
Now I can see a mysterious process occurring - When I click on various task items (and the edit boxes for each attribute refresh themselves), this seems to add the value of the custom attribute (if it exists) to each of the relevant drop-down lists!
So I am not sure whether to consider this a bug or a feature - but I am simply going to click through all my new items and see what happens. (This might take a while, so it might be a few days before I report back!)
Thanks!
|
|
|
|
|
Jon753 wrote: Or do i have to create the lists by hand?
Pierre de la Verre wrote: I don't know for sure, but I suppose: "yes". Although I could probably fix it to build the default list data as each line of the CSV is imported.
I'll fix this in 7.1 first to see how much work it is and then merge the changes to 7.0 if appropriate.
I remember now why I can't build the list automatically: At the time of the import I have no idea that the custom attribute is a list. Therefore all custom attributes are treated as 'free-text' fields.
To resolve this would require changes to the CSV import dialog allowing the user to choose between text and lists, so it can't be a 7.0 fix.
modified 4-Jan-16 2:26am.
|
|
|
|
|
Wow, a fix would be great!
But just to report on my project - I did spend some time wrestling my imported stuff into shape, and each time i clicked on an item, voila the custom attribute lists started to populate. So now I have a healthy set of lists.
|
|
|
|
|
So I have a long task list in excel and want to migrate it all to TDL. The import works fine but for one detail - I have columns such as category with multiple items arranged like:
cat1, cat2, cat3
When imported, this creates a single category called "cat1, cat2, cat3", whereas I was expecting / hoping to get the three categories identified separately in TDLs dynamic category list.
I have looked around the TDL resources I can see online but can't see anything about delimiters I should be using... Can anyone help? Is this even possible?
Thanks - and seasons greetings to the devs and users of the worlds best tasklist software!
|
|
|
|
|
I just exported a test to CSV, and it seems that the separator is a "+":
cat1+cat2+cat3
Please try and report here ...
|
|
|
|
|
As Peter implies, you will need to change your comma-delimited categories to be '+' delimited before importing.
|
|
|
|
|
Worked like a dream! Thanks!
|
|
|
|
|
|
did you got my mail about the FileLink icon missing in column ?
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Yes I did.
Could the problem be that the icon column is too narrow?
If so, I'll see what can be done.
|
|
|
|
|