[wiki:WikiStart Back] = Workpackages = [wiki:workpackages#Abstract Abstract][[BR]] [wiki:workpackages#Concept Concept of Remote Events][[BR]] [wiki:workpackages#Implementation Some word on Implementation][[BR]] [wiki:workpackages#Using Using Remote Event][[BR]] == Abstract == Workpackages are meta-issues which groups several issues to a logical unit. These grouping of issues can be anything you want. You can think of a workpackages as: * Milestone * Realeaseplan * Bill for your customer * ... Workpackages are intended to be used in connection with [wiki:timelogs timelogs]. This way you get a very useful overview about the time spent on the issues within this workpackage, and build the basis for a detailed bill for your customer. Workpackages can help you to manage some organisation tasks. With workpackages another layer is created to discuss things with are common to several issues but are misplaced within the issue. == Concept == Workpackages behave almost the same way like ordinary issues do. The are actually derived from a IssueClass and adds some additional attributes. You can add issues to a workpackage to express that these issues belong together. The most obvious example might be a Bill for a customer. You can add an issue to more than one workpackage, which makes it possible to prorate the spent time on an issue to multiple customers! Example: You have workpackage WP1, WP2 which contain issues for for Customer C1 and C2. Both C1 and C2 have an issue in the tracker which is about the incorrect display of certain email message in their mailclient. Your investigation shows that both issues depends on a defect in a shared library in the mail client. Though you decide to create a [wiki:remoteevents Remote Event] for the defect in the mail client. Because you are familiar with the client's code you decide to fix this defect on your own and track the time you spent on this in the Remote Event. [[Image(http://www.irlaender.de/projects/fast/charge_multiple_customers.png, 450,align=center)]][[BR]] ''(Picture: Charging multiple customers)'' Because you assigned the Remote Event to both issues it will be displayed in both workpackages. Now you can decide how to portion the time spent on theRemote Event to your customers. == Implementation == All functionality used for workpackages are implemented as extension in the extension directory of your roundup tracker. The workpackage is a bunch of classes mainly doing calculation on time assigned to the issues. More info soon. == Using == To use most of the functions in the workpackage the user needs to have the "Manager" role. Users without the Manager role can add messages to the workpackage and see the timelisting of all messages, but they can not add new issues to the workpackage, create new workpackages nor portion the time on the customer === Creating a new workpackage === Creating a new workpackage is straight forward. There is a workpackage section in the sidebar, containing a link to create a new workpackage with brings you to this page: [[Image(http://www.irlaender.de/projects/fast/create_workpackage.png, 450,align=center)]][[BR]] ''(Picture: Creating a new workpackage)'' The field should be self-explanantory for further information on what this customer and partner group thing is all about please consult the [wiki:views views] section of this wiki. === Adding new issues to the workpackage === Adding new issues to the workpackage. You can do it in the same way you add people to the nosy list. Next to the "issues" field you will find a small link which opens a helper window. Here you can select all issues you want to add to the workpackage. [[Image(http://www.irlaender.de/projects/fast/add_workpackage.png, 450,align=center)]][[BR]] ''(Picture: Creating a new workpackage)'' Note that you can not add Remote Events here. Because they are attached to ordinary issues, the will be implicit included to the workpackage. === Removing issues from workpackage === See "Adding new issues to the workpackage" === Assigning time to workpackages === After adding issues to the workpackage you will see a issue list similar to the one shown on the screenshot below: [[Image(http://www.irlaender.de/projects/fast/workpackage_issue_list.png, 450,align=center)]][[BR]] ''(Picture: Creating a new workpackage)'' Here you can see that this workpackage consists of three issues. This issue list provides you with with some information on each issue. Beside some general information you can see how the time is divided in this issue: * Total: This is the rated time from the [wiki:timelogs timelogs] * Assignable: This time can be additionally assigned to this or any other workpackage. In other words: This time is not assigned to any workpackage yet. * Assigned: This time is assigned to this workpackage. With the selection field you can select how much of the total time you want to assign to this workpackage. At the bottom of the issue list you can see the summarised time of all issues in this workpackage. === Charging multiple customers === Or more general: Assigning time of issues to multiple workpackages. This is easy to do. In almost all cases you want to do this with Remote Events but this is of course possible with normal issues too. So how to do this? In the screenshot above you see that Remote Event 4 is only assigned with 30% on the workpackage which leaves a time of 1hr and 03min left for assignment in other workpackages. Now you only need to open another workpackage which also involve Remote Event 4. Now you can assign the rest of the time or parts of it. === Creating a Bill (freezing a workpackage) === This is not yet working properly :( But Bills will be snapshots of a workpackage at a particular time.