When creating a Task using the plug-in, the full directory structure is created under {workspace}\Task_nnnnn.
My question is why?
It's obvious not needed, since removing Task_nnnnn dir and then checking out an object will created the Task_nnnnn dir, with the needed sub-dir (in my case "source") that contained the file.
There is however a funny thing, when trying the above, there was in my source directory create a sub-dir .rtb which contained an XML file with same name as my source with extention .xml
"My question is why?"
We create the directory structure when the Task is activated. We do so in case you want to create a new Object outside of RTB that you may later load (via RTB Project Imports).
The the .rtb directory is a hidden directory and the .xml is a marker file that our plug-in uses internally.
Okay, so this could be a new RTB option ("Create full directory structure" initial true), in case I do not need to load objects outside of RTB. A generic option, and maybe task creation option.
My background for asking is a lot of leftover empty directory structures.
Let me illustrate with a simple example.
* I am Manager of a RTB task
* The RTB task has a developer.
* The developer make the coding
* I Review the the code.
* Now we now both have task_nnnnn folder.
* The developer completes the task and the folders will be removed,
* BUT I will have the folders "forever".
I know that I will be able to remove empty directories with something like:
FOR /f "usebackq" %%d in (`"dir task_* /ad/b/s | sort /R"`) do rd "%%d"
But a generic solution would be great. I know that that will demand that you know the working directory of every user. In our case we have a folder D:\PDS and within that we have sub-folders with our RTB initials. E.g. D:\PDS\BH.
There is off course the possibility that I have totally missed something in the way of working on task with more than one person, :-) I hope for that!
Just realizing that "you" have all the information you need in order to do a full clean-up, since "you" create the folders.
However you do probably not save that information about "personal task folders".
I now have a change-request: "make cleanup of folders for all developers and the manager"
Again, as above, we might be using RTB in a wrong way.
Hi.
Maybe the new preference 'Use Project Folder as Task Root' in RTB 12.0 would help? It would eliminate having all the 'Task_XX' folders.
"* I Review the the code."
Instead of selecting the Task, you could open the Backups view and view the latest Backup for the Object in question (if you are using the Backups feature).
"..but would LOVE for them to be cleaned up on task completion"
If you complete the Task from the plug-in, it removes the 'Task_XX' directory.
"You must have added that fairly recently."
They have always been cleaned up on Task completion. Perhaps something prevented the clean-up on the ones that weren't cleaned up.. file in use by some process.. or something. Just guessing. :)
Jeff, only the user that complete the task get "folder" clean-up, all the other that has been involved do not.
I will look at "Use Project Folder as Task Root" when we get to 12.0.
// Having a problem upgrading, which i believe is related to the fact that our RTB DB is still area 1. Remember we have the same RTB DB since 1995. But that should be another tread.
"Jeff, only the user that complete the task get "folder" clean-up, all the other that has been involved do not."
Correct. If you can avoid activating the Task by using the Backups view for review, that may help out immediately.
"// Having a problem upgrading, which i believe is related to the fact that our RTB DB is still area 1."
I'm not sure how Type I vs Type II would prevent the upgrade, but you should really go to Type II. Use our rtb.st file to create a new empty DB and then dump and load! :)
// I agree on type II, that is our internal problem.
Yes, there is a work-around, but I can also live with all the empty folders and clean them out.
However it would be great if "you" could cleanup! That will demand that every time "you" create a "directory/folder structure" "you" save the root with the task :-)
And when completing a task, all the "roots\task_nnnnn" are removed.
It's basically like good coding principles. "You create it" -- "You remove it". Yes, this is typical within the code, good practice is if you create an object you also remove it, even though the Garbage Collector will do it for you, at some time if it works ;-)