Releases: joniles/mpxj
Releases · joniles/mpxj
Version 13.5.0
- 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. TheResource.addRoleAssignment()
andResource.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
andgetShowDurationText
methods to theTask
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
- Added the
ProjectCalendarDays.getCalendarHours()
method to allow direct access to theProjectCalendarHours
instances for each day of the week.
Version 13.4.1
- Added the
ProjectCalendarDays.getCalendarDayTypes()
method to allow direct access to theDayType
instances for each day of the week.
Version 13.4.0
- 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
- 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
- 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).
Version 13.2.1
- Make the MPXJ.Net assembly strong named.
Version 13.2.0
- Implemented the
UserDefinedField.Builder
class. - Marked the
UserDefinedField
constructor as deprecated. Use the builder class instead. - Marked the
UserDefinedField.setDataType()
method as deprecated. Use the builder class instead. - Updated to address an issue when writing XER files where a project does not have an explicit Unique ID value, and there are project UDF values.
- Added the convenience method
ActivityCode.addValue
to make it easier to add a value to an activity code.
Version 13.1.0
- Updated to POI 5.3.0
- Add support for reading and writing timephased data for activities in P6 schedules which have a "manual" curve. (Note: MPXJ does not currently support translating timephased data between different applications, so timephased data read from an MPP file won't be written to a P6 schedule and vice versa).
- Add an attribute to the
ResourceAssignment
class to represent timephased planned work. This is read from/written to P6 as Budgeted Work. - Update Phoenix schemas to ensure that cost types are represented as doubles.
- Updated to avoid reading apparently invalid resources from Project Commander files.
- Correct the
Finish
attribute for resource assignments when reading PMXML files. - Improve accuracy of the
RemainingDuration
attribute for resource assignments when writing PMXML files. - Improve recognition of non-working days when reading calendars certain PMXML files.
- Add support for the Resource Assignment field Remaining Units. (Note: this field defaults to the same value as Units if it is not explicitly populated).
- Ensure the Resource Assignment field Remaining Units is read from and written to P6 schedules.
- Improve handling of invalid calendar exception data when reading P6 schedules from XER files or a P6 database.
- Improve the implementation of the Unique ID sequence generator used by MPXJ to avoid issues when multiple classloaders are used.
- Deprecated the original
StructuredNotes
constructor. A new version of the constructor takes an additionalProjectFile
argument. - Deprecated the original
UserDefinedField
constructor. A new version of the constructor takes an additionalProjectFile
argument. - Add support for reading and writing the Project Website URL attribute for P6 schedules.
- Add support for the Notes attribute as part of the
ProjectProperties
class. - Ensure that project notes are read from and written to PMXML files.
- Usability improvements to the Notes class hierarchy to make it easier to update notes.
- Improvements to notes handling when writing PMXML files to make it easier to construct structured notes using plain text.
Version 13.0.2
- When writing XER files, provide a default value for the Resource ID if it is not populated.