Release Notes

From Forensic PM
Jump to: navigation, search


Added ability to Disable / Enable projects for processing

A new toggle is available for each schedule update in a collection to disable or enable the update for processing.
Disabled updates will not be processed and will not show up in analysis.  Previously each project update had to be deleted to remove it from processing; this change should allow easier management of which schedule updates will be analyzed.

Fixed some inconsistent behavior when viewing Data Date Analysis

"Show Tasks in Earliest Milestone Only" was not operating properly when some milestones were not expanded.

Fixed an issue where selected milestones to process were cleared upon refreshing milestones during Project Configuration

Fixed an issue that caused the Window/Milestone picker to scroll off the page

When there were many Windows or Milestones available, the dropdown would be too large and exceed the page size; this is fixed.


Brand new XER reader implemented

The XER reader has been re-written from the ground up with a focus on improving performance and reducing memory footprint.
Extensive testing was performed to make sure that the resulting data is the same (or in some cases, small fixes were implemented).

New hosting model: Docker Containers

Many parts of the back-end server application were refactored to enable hosting on Linux within Docker Containers.
Users will not notice many changes, except maybe some performance improvements, but this change allows faster deployments and better scalability for the back-end.

Fixed an issue where 0 Relationships in a Project caused an error processing the XER

Fixed an issue where the Schedule Flow chart would fail to draw in some cases

Fixed an issue where some numbers were not rounded in the details table

Fixed some UI issues in the share dialog


New Risk metrics available

An early version of a risk report chart is available.
Future improvements are planned to key off of user selected criteria, such as duration and labor hours impacted.

Display As-Built paths in the Gantt Chart

The Gantt chart now has a new toggle.  Similar to how it was possible to display a baseline next to the snapshots on the Gantt, now as-built data can also be displayed.

New Schedule Flow diagramming feature

A new feature is available called "Schedule Flow".
This interface allows creating a schedule flow diagram based on activities specified as stage gates, and selected milestones.
Compare concurrent paths to multiple milestones, and validate canonical durations and logic across projects.
Connecting links between gates provide logic and context around driving paths.

Upgraded to latest UI javascript framework version

The underlying framework for the user interface was upgraded from v1 to v2.  For the most part, all of the UI should remain the same from the user perspective.

Improvements to what actions are displayed for users with read-only access to a collection

Most buttons and menu items that require write permission to a project collection should be hidden now for read-only users.

Improved the response time when searching for activities in Window Analysis

Remember user settings between sessions

The user interface will now remember more user settings between sessions.
Some examples include:
- Which Gantt columns are displayed
- Gantt column sizing
- Number of paths displayed and whether the path list is maximized

Improved the performance of retrieving collection details, which is called often during configuration

Improvements to the layout of the side navigation pane

Rewrite and improvement of the user interface

The user interface was completely rewritten using more contemporary libraries.
The browser client is now written using VueJS and other compiled JavaScript technologies.
Material Design choices are generally made for user interface components now.
The change allows a faster and higher quality UI design cycle, and a better performing client.

Fixed an issue that caused the browser to default to the login page

When navigating to a link within the site, if the user was not already authenticated, or had opened a new tab, sometimes the user would be forced back to the home/login page.
Navigating via URLs should be more consistent now, as well as opening new tabs.

Improved the processing performance of integrated projects

Fixed an issue that was causing the Sum RFF for a path to be inaccurate

Fixed an issue that caused the Data Date Analysis links to not always jump to the expected path

Added various charts and metrics

The following chart pages are now available, with the first set of metrics for each:
- Spread Charts
- Health Charts
- Performance Charts
Metrics are automatically calculated when XERs are uploaded or projects processed.

New page for Data Date Analysis

Added a new page that allows Data Date analysis for the range of updates in a collection.
Activities that are started or near-started are displayed with their associated milestone.
Metrics are available, such as change in Relationship Free Float between updates.
Click the Analyze button to open a new window to the path for the activity.

Added a Predecessor / Successor view for navigating in paths

In the activity detail pane, there is a new button "View Predecessors & Successors".  The current activity's pred/succ relationships will be displayed for easier navigation.
Predecessors and Successors not in the current window scope are disabled, and CTRL clicking an activity opens a new window.

Project Collection List: Add data date range to collection list

Project Collection List: Add Live status

Users can now mark collection as Live, for project collections they expect to have up-to-date data.  When Live collections become stale, an alert will be displayed.

Fixed an issue where Constraints were not being converted to text properly

Fixed an issue that caused the Path list to be hidden

When using the predecessor/successor view of an activity, with a maximized Gantt, the path list was hidden from view.

Fixed an issue where activity searching was allowed before choosing a window and milestone

Fixed an issue where history items were not displayed in user's local time

Users can now add a path to Favorites for quick navigation

In the path information pane, there is a new button to add the path as a Favorite.
Favorite paths can be navigated to easily via the new Star button next to the Window/Milestone selector during Window Analysis.

Significant improvements to reading and storing bulk data in the database

Include Activity searching in the main Windows interface

Previously, a separate page was dedicated to allowing searching for activities.
This functionality is now built into the main Windows interface, where paths can be searched based on what activities they contain.

Improvements to how working exceptions are inherited from the base calendar

Improvements to how snapshot windows are constructed when updates share a data date

Alert user when the underlying algorithm has changed

Project Collections that already exist and have been processed may want to take advantage of improvements to XER and project analysis algorithms.
An alert will be displayed for each collection that was processed using an out of date algorithm version.

Improved lag calculations to also include expired lag

Activity and Relationship driving status

Added fields to provide information about the driving status of activities and relationships.
Activities can be driven by the following:
- Data Date
- Actualized
- Remaining Duration
- Constrained
- Original Duration
Relationships can be driven by the following:
- Logic
- Remaining Lag
The status is available as a field in the Gantt chart.

Improvements to the processing speed of XERs

Now able to process two, matching XERs

Previously, two XERs were required to process and analyze a collection.
Understanding some users may want to simply navigate a single project update, now the same XER can be uploaded twice and processed.
A warning will be displayed when only one update is available, directing the user that the same update can be uploaded again to enable processing.
This is not a final or perfect solution to viewing a single update, but it's a decent improvement.

Significant improvements to Relationship Free Float calculation

Relationship Free Float is now calculated more accurately than even P6.
See the fpm blog for more details.

Significant improvements to the algorithm's processing speed

Even very large schedules can now be processed in minutes instead of hours.
In our benchmarks, a schedule that takes 2.5 hours to import into P6 can be imported and processed in under 10 minutes in FPM.


  • Improve Window creation - Windows ordered by data date and then project short name; if two updates share a data date, the order of windows is determined by project short name
  • Provide project info in Window selection dropdown


  • Add registration option for authentication
  • Improve login page and added more information about OpenID Connect authentication
  • Add "Processing Complete" alert after paths are processed
  • Slight modifications to planned-earned chart


  • Beta: release dashboard with health and performance metrics by project update (to get user feedback)
  • Beta: release planned-earned chart (to get user feedback)
  • Implement global deadlock resilience
  • Combine holidays and exceptions from base calendar
  • Improve search performance in the Activity Browser.
  • Find the true Driving Start when paths begin with a start-to-start chain
  • Add Project Info message for duplicate taskcodes warning
  • Auto-detect Project OoS type if schedoptions are missing
  • Add functionality to export current paths and path summaries to .csv.
  • Fixed: Importing BOM encoded XER file results in error
  • Add ability to create Windows with the same project
  • Add Processing Disabled message when only one project is imported
  • Show calculation setting flags in configuration
  • List P6 calculation settings: OoS, include/ignore external relationships, float based on each/opened project(s)
  • Add field to collection for OoS Type
  • Add alert icon when unsupported settings are detected
  • Add Relationship Driver flag to Gantt table (temporary)
  • Increase granularity for lag and driving evaluations
  • Create new Service Fabric stateless application for backend processing
  • Deploy processor using Service Fabric clusters
  • Allow separate applications for each tenant
  • Improve SQL insert performance during path processing and XER import
  • Show remaining lag in Gantt tags


  • Initial Implementation for setting Finish Driver flag.
  • Use exact available hours per day in RFF and Lag calculation
  • Update Algo version to 1.03 for lag calculation changes.
  • Alert user on the Job Configuration page when the algorithm has been updated to a new version.
  • Convert lag to Successor calendar for calculating Successor RFF.
  • Expand logic for ranking constrained starts: proximity to data date
  • Re-enable checking successor calendar RFF for setting critical flag
  • Add link to the Configuration Interface in the Windows Browser
  • Add progress status for XER processing
  • Deploy "alternative path browser"
  • Differentiate "driving start" and "constrained start" tags
  • Send progress percentage complete job status updates during processing
  • Handle calendar exceptions at the minute granularity while calculating RFF
  • Modify out-of-sequence logic to conform to P6's retained-logic and calculation settings
  • Dynamically handle calculation settings specified in .xer projects
  • Improve how as-built segments handle completed out-of-sequence activities


  • Add support for uploading .ZIP files
  • Improved XER import performance
  • Added ability to specify either auto- or manual-integration during XER import
  • Added button to download imported XERs
  • Alert icon when duplicate TaskCodes found in integrated projects
  • Flag external late finish as milestones and allow choosing external milestone predecessors for processing
  • Added real-time update processing to the Redis backplane (Support for scaling out web servers)


  • Resource Spread calculations and metrics added including resourcing charts (proof of concept, beta)
  • Performance / Health metrics (proof of concept, beta)
  • Added support for Microsoft and Google account authentication
  • Enabled a "Demo Mode" with restrictions
  • Force user to accept Terms of Use prior to using application
  • Various performance and user interface improvements
  • Almost done: Significantly improve relationship free float calculation accuracy


  • Added the ability to share a job with other users (Read or Read/Write permissions)
  • Added support for uploading .zip files containing .xer files (this should not be the preferred method)


  • Authentication model updated, now supporting Azure AD and Microsoft user accounts
  • Permissions system implemented, project collections are only visible to the person who created it (read or read/write sharing coming soon)
  • Web services separated from processing
  • Improvements to underlying algorithms, signficant performance improvements especially for large schedules or when targeting many milestones
  • Integrated project support now available for XER uploads (use the configure job UI to integrate projects with shared relationships)
  • Milestone picker when configuring a project; specify the milestones to target during processing
  • Real-time configuration updates, during editing of a job configuration, edits are pushed out to others viewing the same page (requires a modern browser)
  • Added Feedback button to encourage instant feedback from users


  • Enabled uploading and processing of XER files
  • Create a new Project Collection
  • Upload XER files to the collection
  • Process the schedule updates found in the XER files
  • Removing an XER deletes associated schedule updates and re-processes the remaining ones accordingly
  • Backend processing of data is fully scalable, utilizing additional servers as required
  • Processing some jobs can take time, very large schedules can potentially take hours
  • Soon, the processing of data will be offloaded to much faster servers, improving processing time considerably


  • Rename application to "Advanced Forensic Scheduling"
  • Fix neg/pos sign in notes manager group charts
  • Report tweaks (still need to add a lot of functionality to report)
  • Fix issue with improper default sorting in the right path details pane


  • Early version of the "Story" reporting page available for viewing


  • Add cause type "Calendar" to note category types
  • Requires Reprocessing Jobs Added a new variance field: Non-Working Days (Activity), which compares the number of non-working days during an *activities duration
  • Added a tag to the Gantt to represent the above variance: NWDA: -5


  • Activity notes are now stored by window instead of snapshot
  • The path where the activity is clicked is the path associated to the activity note


  • Requires Reprocessing Jobs Now removing wait time from RFF calculation for activities pushed by data date
  • Fixed an issue with longest path highlighting in Gantt
  • Corrected an issue that caused activities near the data date to be incorrectly marked out of sequence
  • Added Zoom button to Gantt chart
  • Added toggle to enable/disable push column in Gantt
  • Colored Gantt buttons depending on if the option is enabled or not
  • Now hiding tags on Gantt chart in Activity Browser (temporarily)


  • Added a Driving Start tag to the left of driving starts on the Gantt chart
  • Added a Lag: 5 tag to the left of successors with lag
  • Coloring non-standard relationships red when they are also driving
  • Corrected the RFF sum in the top path list (was counting the first node twice)
  • RFF no longer shown for the first activity in the details table


  • Requires Reprocessing Jobs Significant refactoring of pathing engine to better identify longest paths for every node
  • Now including a "segment" of activities prior to the start of a path, providing additional context of the as-built schedule
  • Fixed issue with editing a note disassociating the path/milestone it's connected to


  • Breaking Change More updates to notes (likely more coming)
  • Various updates to notes manager page
  • Notes now associated to milestone
  • Display list of notes from other milestones
  • Ability to copy notes from other milestones


  • Added a field to the path list that indicates the path's percentage match to the top ranked path
  • Added color indicator to Gantt for tasks present in top critical path (toggle via button)


  • Added a new notes management page
  • See all job notes in one place
  • Arrange notes into groups with summary data
  • Gantt should now highlight tasks with notes immediately when added/removed


  • Requires Reprocessing Jobs Significant changes to what paths show up and how they are processed
  • "Open Starts" are now collected from behind the forward snapshot data date
  • "Open Starts" are based on activity status instead of satisfied relationships
  • The above means that the backward paths should be more complete before the data date
  • Also activities that completed during the window should now be displayed
  • Starts are pruned to check for "chained" starts, reducing the redundant paths displayed
  • Path ranking algorithm updated to prefer node count for critical paths
  • Path ranking properly uses the path type flag instead of RFF now


  • Requires Reprocessing Jobs Converted "Lag Change" field to "Lag Variance" field, now showing the difference instead of the old value; display lag variance as neutral color
  • Requires Reprocessing Jobs Add As-Built Finish field to table
  • Add Milestone Finish to path info header
  • No longer auto-collapsing top paths when path is chosen


  • The following changes Require Reprocessing Jobs
  • Added a "pruning" feature to the path finding engine, reduces branching factor of the resulting schedule graph
  • Due to the above improvement, now doing more in-depth analysis of a larger part of the schedule
  • Updated path finding algorithm to more accurately process critical paths
  • Now storing satisfied relationships, allowing for some future improvements
  • Choosing starting activities differently, based on activity status instead of satisfied relationships


  • Activity Notes: Added Category field (Compensated, Force Majeure, etc)


  • Requires Reprocessing Jobs Updated ranking and path finding algorithms to deal better with well-connected nodes (high branching factor) that are below the threshold relationship free float


  • Activity Notes: Cause is now a drop down again


  • The following changes Require Reprocessing Jobs
  • Add calculations for Successor Calendar Relationship Free Float (previously based on Pred Calendar only)
  • Improve path finding algorithms based on the above two new fields
  • Change Critical path designation to also include examination of Successor Calendar RFF
  • Fixed some minor UI issues


  • XER file import support is now up to date with P6 web services support
  • Results from imported XER files should match results from web services now


  • Requires Reprocessing Job Path Ranking change
  • Previously paths were partially ranked based on their proximity to data date
  • Now this part of the ranking algorithm is replaced with start type
  • Start Type of "Satisfied" is ranked higher than "Constrained"
  • Future constrained starts should not be ranked higher than starts with a satisfied predecessor relationship


  • Breaking Change Another update to notes
  • Previous notes are incompatible and removed
  • Multiple notes can be added to an activity
  • Removed selector for Forward/Backward, notes saved according to snapshot where activity was clicked
  • Fields for Cause, Days, Type and notes
  • Not all fields have to be filled in (e.g., you can just add free form notes without cause and they alone will be saved)
  • Click the edit button to edit/delete existing notes
  • TO DO: Add dropdown for previously added causes


  • Requires Reprocessing Job Added As-Built Duration field - Displays Activity's completed AtCompletionDuration
  • Fixed issue with Gantt sometimes not rendering on initial load


  • Add WBS Name to searchable fields in Activity Browser
  • Provide link to Activity Browser in job list
  • Add Sum of Relationship Free Float to top path list


  • Added the Activity Browser view
  • Click the link at the top of the activity pane to open the browser
  • Lists paths for the activity across all data dates
  • Use the Activity dropdown to search for activities across entire job (replaces the Window date drop down)
  • Automatically opens the activity pane for the chosen activity upon path selection
  • Note: Forward view is disabled in the Activity Browser (for simplicity reasons)
  • Added row highlighting when a top path is chosen
  • Added Relationship Free Float to the data table


  • Re-ordered some columns in the bottom data table
  • Disabled sorting the bottom data table


  • Added Start Absolute Float to top paths list
  • Added "All" option to path count (returns all paths for the chosen milestone, may take longer than normal to load)


  • Breaking Change Updated Activity Notes
  • Changed Category into two fields: Mitigation Category and Delay Category
  • Invalidates old categories, you will have to re-add new ones
  • Removed the Type field


Change "Performance" to "Progress" push

  • Add Start and Finish variance fields to Gantt grid
  • Change Crit Rel to Driving Rel
  • Requires Reprocessing Job Add Original Duration variance field, and tags OD - OD +
  • Requires Reprocessing Job Updated At Completion variance to use calendar days instead of P6 supplied value


  • Requires Reprocessing Job Added logic for finding the closest matching path in other snapshots
  • Requires Reprocessing Job Added button to the top paths list to see matching path in opposite snapshot
  • Change Total Float to Absolute Float on Gantt chart


  • Added Snapshot level notes (bottom right button)


  • Fixed some issues (table, sending notes, others)
  • Requires Reprocessing Job Changed calculated categories to experimental splits between performance, duration and logic
  • Requires Reprocessing Job New jobs will not include LOEs in processing any longer
  • Requires Reprocessing Job Corrected Original Duration field (was pulling the wrong web services field - baseline duration instead of planned duration); won't be correct in existing jobs


  • Add Task Name to Gantt grid, toggle with button
  • Leftmost column is now frozen in table
  • Activity Name in table truncated to 60 char (so that frozen Activity Name columns don't take up so much space)
  • Clicking anywhere in Activity row will load side pane now


  • Requires Reprocessing Job BETA Added Calculated Categories: Improvement, Deterioration, Mitigation, Correction
  • Add Data Date vertical marker to Gantt
  • Include project data date in path info header
  • Requires Reprocessing Job Fixed issue with push miscalculated for activities straddling data date
  • Added "Delay & Mitigation" as a note Type


  • Added Relative Push field to table (Backward snapshot only)


  • Requires Reprocessing Job Fixed issues with relative push calculation (should now properly account for New Activities with Finish-Finish relationships that don't really push the Finish date)
  • Fixed issues with non-Standard relationships not displaying


  • Add "non standard" Relationship links to Gantt Chart
  • "non standard" meaning not part of the normal relationships in the path
  • Shows relationships between path activities only
  • Requires Reprocessing Job Add "Push" and "Total Push" columns to Gantt
  • BETA status, needs to be tested for accuracy
  • Determines actual push for that activity
  • Should help add context to the Finish variance field
  • Finish variance only takes into account the single activity, Push takes into account path history
  • Total Push should equal Milestone Finish variance
  • Fix CPM Error tag showing with Out of Sequence tag (and fixed logic in applying check, for CPM error, status code must = TK_NotStart
  • Add Project Name to path info header
  • Disabled combined tags (needs work); renamed long version of "Relationship Overtake" to "CPM Overtake"


  • Add LOE Activity tag
  • Fixed issue with Gantt scale (wasn't properly labeling all visible years)
  • Display Relationship Type in Activity pane (left pane)


  • Minor updates to tags, combined some tags


  • Added yellow stripes to forward Gantt to differentiate from backward
  • Added Privacy Policy and Acknowledgements pages
  • New customizable tagging system to show tags on Gantt, tables and activity pane
  • Update to path ranking algorithm


  • Added activity highlighting when clicking a prev/next link
  • Improved layout (removed a button row, improving vertical space)
  • Fixed various issues


  • Path info header now has accurate path information
  • New categories can be added for notes now.
  • Few formatting changes/improvements


  • Enabled clicking prev/next path rank changes, opens side pane with path details
  • Path rank changes button available in path detail tables and activity details pane
  • Clicking a path should intelligently show forward/backward detail paths
  • Refactored how hidden columns are tracked, should be more accurate now for dynamic table columns


  • Main paths table now flips between Forward/Backward to display paths for each snapshot
  • Improved logic in loading, caching data for flipping forward/backward without hitting server again


  • Fixed quite a few issues, including incorrect Gantt and Activity data
  • Added evaluations to the Activity pane (left)


  • Lots of back end work to enable showing proper evaluations for activities on the path level (UI changes pending); more intelligently retrieves forward/backward evals for the window now
  • Added the rest of the evaluation columns to the table
  • Fixed various issues with Gantt and Tables


  • Lots of changes to layout of pathing page; attempting to fit more data on the main screen in prep for having to show prev/next paths in side pane
  • There will be ongoing changes to layout...


  • Added Baseline option to Gantt chart (Green: Baseline, Red: Opposite snapshot, Blue: Current snapshot)
  • Updated Activity Notes to use a drop-down for Type (instead of separate text inputs)
  • Added ability to click on activities in Gantt and get activity detail pane
  • Fixed issue with pulling Activity notes from Forward snapshot


  • Currently new columns are not checked by default, so enable them in the column selector
  • Added proper Forward and Backward data to tabs, still more columns to add and potentially some formatting options
  • Added Gantt chart to a tab in the pathing page
  • Added some example formatting of Delays and Mitigations on Gantt chart


  • Changed to "Window" for date drop down on Paths page
  • Added the ability to save notes for a snapshot; they are saved according to window + direction

For more information see: Development Roadmap