Top Menu

Jump to content
Home
    • Projects
    • Work packages
    • News
    • Getting started
    • Introduction video
      Welcome to OpenProject Community
      Get a quick overview of project management and team collaboration with OpenProject. You can restart this video from the help menu.

    • Help and support
    • User guides
    • Videos
    • Shortcuts
    • Community forum
    • Professional support

    • Additional resources
    • Data privacy and security policy
    • Digital accessibility (DE)
    • OpenProject website
    • Security alerts / Newsletter
    • OpenProject blog
    • Release notes
    • Report a bug
    • Development roadmap
    • Add and edit translations
    • API documentation
  • Sign in
      Forgot your password?
      Create a new account

      or sign in with your existing account

      Google

Side Menu

  • Overview
  • Activity
  • Roadmap
  • Work packages
  • Calendars
  • Team planners
  • Boards
  • Forums
  • Wiki
    • Table of contents
      • Expanded. Click to collapseCollapsed. Click to showDeveloper
        • Hierarchy leafAccessibility Checklist
        • Hierarchy leafCode Review Guidelines
        • Expanded. Click to collapseCollapsed. Click to showContribution
          • Hierarchy leafGit Workflow
          • Hierarchy leafTranslations
        • Expanded. Click to collapseCollapsed. Click to showDeveloping Plugins
          • Hierarchy leafDeveloping an OmniAuth Authentication Plugin
        • Hierarchy leafRelease Process
        • Hierarchy leafReport a bug
        • Hierarchy leafSecurity
        • Hierarchy leafSetting up an OpenLDAP server for testing
        • Hierarchy leafTheme Features
      • Hierarchy leafDownload
      • Expanded. Click to collapseCollapsed. Click to showFeature tour
        • Hierarchy leafRelease Notes OpenProject 30
        • Expanded. Click to collapseCollapsed. Click to showRelease Notes OpenProject 30 - Overview
          • Hierarchy leafGlossary
          • Hierarchy leafRelease Notes - Accessibility
          • Hierarchy leafRelease Notes - Accessibility changes
          • Hierarchy leafRelease Notes - Add work package queries as menu items to sidebar
          • Hierarchy leafRelease Notes - Copy projects based on Templates
          • Hierarchy leafRelease Notes - Design changes
          • Hierarchy leafRelease Notes - Fixed Bugs
          • Hierarchy leafRelease Notes - Keyboard Shortcuts
          • Hierarchy leafRelease Notes - Project settings
          • Hierarchy leafRelease Notes - Ruby&Rails Update
          • Hierarchy leafRelease Notes - Security
          • Hierarchy leafRelease Notes - Timelines
          • Hierarchy leafRelease Notes - Work packages
      • Hierarchy leafHowto create animated gifs
      • Hierarchy leafMigration Squashing
      • Hierarchy leafMod security
      • Hierarchy leafNew work package page
      • Hierarchy leafOP3 to OP4 Debian upgrade
      • Hierarchy leafOP4 Ubuntu1404 Stable with MySQL in production
      • Hierarchy leafOpenProject 40 Development Setup
      • Expanded. Click to collapseCollapsed. Click to showOpenProject Foundation
        • Hierarchy leafBoards
        • Hierarchy leafMembers
        • Hierarchy leafOPF-Meetings
        • Hierarchy leafStatutes
      • Expanded. Click to collapseCollapsed. Click to showRelease Notes
        • Hierarchy leafOpenProject released on Bitnami
      • Expanded. Click to collapseCollapsed. Click to showRelease Notes OpenProject 40 - Overview
        • Hierarchy leafRelease Notes OpenProject 40 - Accessibility improvements
        • Hierarchy leafRelease Notes OpenProject 40 - Column header functions in work package table
        • Hierarchy leafRelease Notes OpenProject 40 - Improved Design
        • Hierarchy leafRelease Notes OpenProject 40 - Integrated query title on work package page
        • Hierarchy leafRelease Notes OpenProject 40 - Integrated toolbar on work package page
        • Hierarchy leafRelease Notes OpenProject 40 - OmniAuth integration for OpenProject
        • Hierarchy leafRelease Notes OpenProject 40 - Work package details pane
      • Expanded. Click to collapseCollapsed. Click to showSecurity and privacy
        • Hierarchy leafFAQ
      • Expanded. Click to collapseCollapsed. Click to showSupport
        • Expanded. Click to collapseCollapsed. Click to showDownload and Installation
          • Hierarchy leafInstallation MacOS
          • Expanded. Click to collapseCollapsed. Click to showInstallation OpenProject 3 0
            • Hierarchy leafDebian Stable with MySQL in production
            • Hierarchy leafInstallation Ubuntu
            • Hierarchy leafInstallation Windows
            • Hierarchy leafInstallation on Centos 65 x64 with Apache and PostgreSQL 93
          • Expanded. Click to collapseCollapsed. Click to showInstallation OpenProject 40
            • Hierarchy leafOP4 Debian Stable with MySQL in production
          • Expanded. Click to collapseCollapsed. Click to showMigration paths
            • Hierarchy leafFrom Chilliproject to OpenProject
            • Hierarchy leafMigration 15 to 30
            • Hierarchy leafMigration 24 to 30
            • Hierarchy leafMigration Redmine 2x › OpenProject 30
            • Hierarchy leafOpenProject 3 Migration
          • Hierarchy leafOpenProject 40
        • Expanded. Click to collapseCollapsed. Click to showNews
          • Hierarchy leafNew OpenProject Translations Plugin
          • Hierarchy leafNew Plugin on OpenProjectorg Local Avatars
          • Hierarchy leafNew design for OpenProject
          • Hierarchy leafNews Accessibility workshop for OpenProject
          • Hierarchy leafNews Glossary for OpenProject
          • Hierarchy leafNews Heartbleed fixed
          • Hierarchy leafNews Icon Fonts
          • Hierarchy leafNews OpenProject 30 Release
          • Hierarchy leafNews Release GitHub Integration Plugin
          • Hierarchy leafNews Success Story Deutsche Telekom
          • Hierarchy leafNews Timelines
          • Hierarchy leafOpenProject 3013 released
          • Hierarchy leafOpenProject 3017 released
          • Hierarchy leafOpenProject 40 released
          • Hierarchy leafOpenProject 40 will be coming soon
          • Hierarchy leafOpenProject 405 released
          • Hierarchy leafOpenProject and pkgrio
          • Hierarchy leafOpenProject news moved to a new blog
          • Hierarchy leafOpenProjectBitnami
          • Hierarchy leafPackager version with plugins released ("Community edition")
          • Hierarchy leafRegistration OpenProject-Foundation
          • Hierarchy leafRelease OpenProject AuthPlugins
          • Hierarchy leafUpdates on OpenProject
          • Hierarchy leafWe need your feedback for the the new fullscreen view for work packages
        • Hierarchy leafOpenProject Plug-Ins
      • Expanded. Click to collapseCollapsed. Click to showWiki
        • Hierarchy leaf2nd Level Support
You are here:
  • Forums
  • Development

Content

Work package schedule linking

Added by Steven Schveighoffer almost 8 years ago

I want to manage project schedules using OpenProject. However, there is one piece that does not work well — automatically updating start dates for work packages.

If I set up 2 work packages, one that is linked to the other via the “preceeds/follows” link, then as I alter the end date of the first work package to be later, it will push out (if necessary) the start date of the second package (and appropriately push the second package’s end date). This is good.

However, if I alter the end date of the first work package to be earlier, it does nothing to the second work package. This makes for a very difficult update. Imagine I have a project with 30 different tasks, all dependent on one another. An early task is finished sooner than expected, so we can move the schedule up! But when I change the end date of that early task back, nothing happens for the rest of the tasks. I now have to edit 29 other tasks. But it’s even worse than that — because task schedules are edited via start and end dates, and not start dates + duration, I now have to manually reduce each task by the appropriate number of days for both start and end date.

Is there a way to say that OpenProject should infer the start date of a work package based on its precedents? That would be absolutely awesome. If it automatically updated the end dates, it would at least be usable. But it would be even nicer if I could enter simply the start date + duration. As someone who used MS project once upon a time, I really would like this feature. Is it possible today, or should I put in an enhancement request?


Replies (8)

RE: Work package schedule linking - Added by Robin Wagner almost 8 years ago

Hello Steven,

thanks for your post.
Unfortunately, this feature is not yet implemented in OpenProject.
But there is a feature request which seems to be similar to what you describe: .

For the future it is planned to improve the timeline (not yet scheduled). This may very well be a useful feature.

As a work around you may want to take a look at the Task Connector for MS Project:
https://community.openproject.org/projects/task-connector?jump=timelines
This plugin for MS Project provides an easier way to create / update timelines in OpenProject.

Best regards,
Robin

RE: Work package schedule linking - Added by Steven Schveighoffer almost 8 years ago

Hi Robin,

Thanks for the reply. Unfortunately, we don’t have at my current company licenses for MS Project, plus I’m on Mac ;)

So that isn’t really an option. Looking at the code, it seems to be done in one function. I’m a developer, but never used Ruby, but it doesn’t seem like it would be too difficult to hack together something that moves things backwards when “follows” is present, I’ll try my hand at doing it, and put up a PR. But the UI stuff, I don’t think I would be able to do!

Plus, to do it properly, you would need a new field in the DB to indicate the desired behavior (I don’t know if everyone wishes to have follows mean that the start date is linked to latest end date of precedents). In addition, I really would like to have a way to specify end date using start date + duration, as that is a more natural way to estimate task times.

I did see the user story you refer to, which would be equivalent to my hack, but my request is slightly more complex than yours. I wanted to first ask on the forums as I’m new to the software/community before filing a competing feature request.

RE: Work package schedule linking - Added by Ignacio Armenteros almost 8 years ago

We are also interested in this kind of functionality.

Having the due date been computed from estimated hours (probably only if due date is less than the one computed from estimated) would help a lot to schedule the project. Also having a way reschedule when a date is moved backwards would also be great.

I’m looking myself to have a first try (my fist attempt at ruby) modifying “scheduling_rules.rb” but found another problem, that openproject doesn’t have any information about working days and weekends. There is anyway to have this in consideration or am I missing something?

RE: Work package schedule linking - Added by Paul Nicholas almost 8 years ago

I too would be very interested in features like this.

Previously, I have been using a simple list (read: Excel!) of Tasks for a project with estimates (in hrs), which gave me an overall estimate of when all of the remaining tasks would be complete. While this (just about) worked, it was only good for managing work and estimating for ONE person/resource.

I was hoping to use OpenProject to allow me to:

  1. Have a list of tasks/work packages for a given Project release/version
  2. The Tasks will be worked on sequentially
  3. Ordering (and re-ordering) of Tasks should be determined by priority or manual positioning
  4. With work assigned to different people/resources, the overall estimate of when all work will be completed can be auto-calculated
    (e.g. Start Date + total of # estimated hrs remaining across all remaining Tasks, taking into account Holidays, etc.)

Is any of the above do-able/planned? Do I just need to use the software differently? Because Open Project looks really great and I’d like to use it.

There’s no way that I’m gonna be able to (as the OP mentioned) change the Start/End date for ALL tasks on a regular basis as Tasks get re-priorities/completed/etc.

Any guidance would be much appreciated.

Many thanks,

Paul.

RE: Work package schedule linking - Added by Paul Nicholas almost 8 years ago

Is anyone from OpenProject able to comment on my post above? Thanks.

(apologies to Steven for hi-jacking his thread a bit, but I think it’s on-topic?)

RE: Work package schedule linking - Added by Robin Wagner almost 8 years ago

Hello Paul,

you can accomplish several of the objectives you mention via the work package list.

1. Have a list of tasks/work packages for a given Project release/version

You can create versions in OpenProject (Project settings > Versions) (e.g. for project releases).
After creating a version, each work package can be assigned to a version.
Using this you can go to work packages and create a filter “type is [name of version]”.

2. The Tasks will be worked on sequentially

To accomplish this, you can (optionally) add the start and due date to the work package list (via the settings icon and selecting “Columns …”).
Then you can sort by the due date (or start date if you prefer).

3. Ordering (and re-ordering) of Tasks should be determined by priority or manual positioning

Manual positioning is currently not possible via the work package list. If this is essential to you, you should take a look at the backlogs plugin.
However, you can either sort or group by the priority assigned to a work package.
OpenProject offers several sorting levels (access on work package list by clicking on settings icon and selecting “Sort by …”) which are applied one after another (this can be used if you want to sort by date and priority).

4. With work assigned to different people/resources, the overall estimate of when all work will be completed can be auto-calculated
(e.g. Start Date + total of # estimated hrs remaining across all remaining Tasks, taking into account Holidays, etc.)

This is not yet possible. However, you can display sums (e.g. for remaining hours) by selecting “Display sums” from the settings icon in the work package list (make sure the column for which you want to display sums is set to “summable” in the admin settings (Modules > Administration > Settings > Work package tracking)
You can also filter by user(s) (“Assignee is …”) to display only work packages assigned to specific persons (especially useful when using the option “Assignee is ” since every user can immediately see which work packages are assigned to him / her).

After configuring the work package list the way you want, you can save it and also add it to the side menu for quick access.
(Also take a look at the user guide for details.)

Here is an example how this may look like:

Best,
Robin

RE: Work package schedule linking - Added by Paul Nicholas almost 8 years ago

Thanks for the detailed response Robin, much appreciated.

Item #4 is pretty much essential for me at this point, otherwise that’s several additional calculations that would need to be done manually.
For example: Take project/version start date and ADD the number of remaining hours for Assignee #1, but also factor in the work remaining for Assignee #2 (e.g. two people working through all their items in parallel, perhaps at different work availability %’s)… all to come up with an estimated date when all the work will be completed (taking into consideration non-working days, Assignee holidays, etc.).

Do you know whether this kind of planning/estimation (or similar) is in the pipeline for OpenProject?

Failing that, is this something that (you think) could realistically be done by others (I’m a developer, but mostly Windows/C#, not web) by extending the platform by some kind of plugin? Is this even possible/worth considering?

Thanks again! :)

RE: Work package schedule linking - Added by Steven Schveighoffer over 7 years ago

I created a branch to fix this. I tried to update the feature report, but after filling in the following text, I get the error “Module is not set to one of the allowed values.” Seems like a permission issue.

In any case, here is what I was trying to add to the feature report:

Hello, I have created a branch to enable this. I don’t want to create a PR because pulling it would screw up anyone who doesn’t want this functionality.

I would like to get it in mergeable state. What I have done is:

1. Make the start date of following work packages start at the soonest date they can that obeys the relations.
2. Update the validation to reflect this requirement
3. Changed the ‘disabled’ attribute when editing a work package so editing the start date is not possible when it depends on a prior work package.

I don’t know how to do these things:
1. Set up a configuration option to enable this (should really be opt-in)
2. Set up / change tests.

I’m very new to ruby, but have experience in other languages. But rails seems like a very complex thing to pick up without having done it. Please let me know if this has a chance of being accepted, and what I have to do to make this work.

Note: I’m also not experienced with Agile development methodology, so forgive me if I’m not doing this the right way.

The branch: https://github.com/schveiguy/openproject/tree/feature/15875

  • (1 - 8/8)
Loading...