Skip to content

Releases: joniles/mpxj

Version 13.8.0

17 Dec 16:18
Compare
Choose a tag to compare
  • Added support for reading and writing Project Codes, Resource Codes, Role Codes and Resource Assignment Codes for Primavera P6 schedules.
  • When writing PMXML files, improve handling of P6 schedules where activity code sequence numbers are missing.
  • Added an experimental feature to MSPDIWriter to allow the writer to generate timephased data when none is present. Disabled by default, call the setGenerateMissingTimephasedData and pass true to enable.
  • To improve consistency, the methods Task.getPrimaryResourceID() and Task.setPrimaryResourceID() have been marked as deprecated. Use the new Task.getPrimaryResourceUniqueID() and Task.setPrimaryResourceUniqueID() methods instead.
  • Added the methods Task.getPrimaryResource() and Task.setPrimaryResource().
  • Improved accuracy of retrieving the resource assignment GUID attribute when reading MPP files (Contributed by Fabian Schmidt).
  • Improve population of Task Start and Finish attributes when reading Primavera P6 schedules.
  • Marked the ActivityCodeValue.getParent() method as deprecated. Use ActivityCodeValue.getParentValue() instead.
  • Marked the ActivityCodeValue.getParentUniqueID() method as deprecated. Use ActivityCodeValue.getParentValueUniqueID() instead.
  • Marked the ActivityCodeValue.Builder.parent() method as deprecated. Use ActivityCodeValue.Builder.parentValue() instead.
  • Marked the ActivityCodeValue.getActivityCode() method as deprecated. Use ActivityCodeValue.getParentCode() instead.

Version 13.7.0

25 Nov 16:36
Compare
Choose a tag to compare
  • Update the MPXJ ruby gem to allow access to calendar data.
  • Mark the ActivityCodeValue.getType() method as deprecated. For clarity this method has been replaced by the new ActivityCodeValue.getActivityCode() method.
  • Mark the ActivityCodeValue.Builder.type() method as deprecated. For clarity this method has been replaced by the new ActivityCodeValue.Builder.activityCode() method.
  • Added the Task.getActivityCodeValues() method, which returns a Map of ActivityCodeValue instances, keyed by ActivityCode.
  • Marked the Task.getActivityCodes() method as deprecated. Replaced with the Task.getActivityCodeValues() method which is more clearly named, and presents the activity code values in a more flexible form.
  • Added the Task.addActivityCodeValue() method.
  • Marked the Task.addActivityCode() method as deprecated. Replaced with the Task.addActivityCodeValue() method which is more clearly named.
  • Further improvements to retrieval of custom field values read from MPP files.
  • Ensure that missing resource assignment and task start and finish dates are handled gracefully when working with calendars for manually scheduled tasks.

Version 13.6.0

06 Nov 19:41
Compare
Choose a tag to compare
  • Added the Task.getBaselineTask() methods. For applications where a separate baseline schedule is present or a baseline has been manually added to the ProjectFile instance, these methods will allow you to access the underlying baseline task instance from the current task instance.
  • Added the Activity Percent Complete attribute to the Task class. The value of this attribute will be the Duration, Physical or Units percent complete value, based on the Percent Complete Type setting. This attribute is provided as a convenience to match the Activity Percent Complete type value shown in P6.
  • Improve retrieval of custom field values for certain MPP files.
  • Improve handling of PMXML files with more than 11 baselines.
  • Improve handling of unexpected data types when writing JSON files.
  • Added the Relation.getPredecessorTask() and Relation.getSuccessorTask() methods.
  • Marked the Relation.getSourceTask() and Relation.getTargetTask() methods as deprecated, use the Relation.getPredecessorTask() and Relation.getSuccessorTask() instead.
  • Ensure that with "Link Cross Project Relations" enabled when reading XER or PMXML files, the predecessor and successor lists for both tasks related acrosss projects are correctly populated.

Version 13.5.1

28 Oct 16:04
Compare
Choose a tag to compare

Version 13.5.0

17 Oct 16:49
Compare
Choose a tag to compare
  • Added support for reading and writing Resource Role Assignments for Primavera schedules. The Resource.getRoleAssignments() method retrieves a map representing the roles a resource is assigned to, along with the skill level for each assignment. The Resource.addRoleAssignment() and Resource.removeRoleAssignment() methods allow role assignments to be added and removed.
  • Added support for the Resource Primary Role attribute, which is read from and written to Primavera schedules.
  • Improve handling Boolean attributes with default values when reading XER files.
  • Added the getShowStartText, getShowFinishText and getShowDurationText methods to the Task class. When working with manually scheduled tasks in Microsoft Project, users can potentially supply arbitrary text for the Start, Finish and Duration attributes. Microsoft Project still stores appropriate values for these attributes, which can be accessed in MPXJ as Start, Finish and Duration, but where the user has supplied text, these attributes are available as Start Text, Finish Text, and Duration Text. The methods added by this change allow the caller to determine which version of each attribute should be shown to the user in order to replicate what they see in Microsoft Project.

Version 13.4.2

08 Oct 15:21
Compare
Choose a tag to compare
  • Added the ProjectCalendarDays.getCalendarHours() method to allow direct access to the ProjectCalendarHours instances for each day of the week.

Version 13.4.1

07 Oct 19:44
Compare
Choose a tag to compare
  • Added the ProjectCalendarDays.getCalendarDayTypes() method to allow direct access to the DayType instances for each day of the week.

Version 13.4.0

18 Sep 14:42
Compare
Choose a tag to compare
  • Added support for reading and writing resource shifts for P6 schedules.
  • Ensure the Scheduling Progressed Activities project property is populated when reading Phoenix schedules.
  • When reading milestones from an Asta schedule, ensure that the Activity Type attribute is populated to allow start milestones and finish milestones to be differentiated.
  • Fix an issue which occurred when writing MSPDI files with manually scheduled tasks starting on non-working days where their timephased data is split as days.

Version 13.3.1

30 Aug 20:09
Compare
Choose a tag to compare
  • Handle duplicate custom field value unique IDs when reading MSPDI files.
  • Handle missing remaining early start date when reading timephased data from a P6 schedule.

Version 13.3.0

22 Aug 19:04
Compare
Choose a tag to compare
  • When reading multiple Primavera schedules from the same source, MPXJ now ensures that instances of activity code definitions, user defined field definitions, locations, units of measure, expense categories, cost accounts, work contours, and notes topics are shared across projects. This will allow you to, for example, filter tasks from multiple projects using a Location instance. Previously each project had its own independent instances for each of these types, which could not be used across multiple projects.
  • When reading Powerproject schedules, ensure that the Activity ID attribute for WBS entries is populated using Powerproject's Unique Task ID attribute.
  • Add support for reading timephased planned work from MPP files for manually scheduled tasks (Contributed by Fabian Schmidt).