Project

mpxj

0.25
A long-lived project that still receives updates
The MPXJ gem allows Ruby applications to work with schedule data from project management applications including Microsoft Project, Primavera, Asta Powerproject and Gnome Planner amongst others. The gem provides a Ruby wrapper around the MPXJ Java JAR.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0

Runtime

 Project Readme

MPXJ

Welcome to MPXJ! This library enables you to read project plans (sometimes known as schedules or programmes) from a variety of file formats and databases, and can also write that information to a variety of file formats.

The library is based on data structures which follow the way schedule data is represented by Microsoft Project, extended to accommodate features and concepts from other applications.

Sponsors

Work to build and maintain MPXJ is kindly supported by my sponsors:

Steelray Logo Vose Logo Buildots Logo

Bryntum Logo Turbo Chart Logo RationalPlan Logo

Cora Systems Logo ALICE Technologies Logo

Head over to my sponsors page if you'd like to see your name and logo here!

File Formats

MPXJ can read file formats including MPX, MPP, MSPDI, MPD, Planner, Primavera P6 PMXML and XER, Primavera P3, SureTrak, Asta Powerproject, Asta Easyplan, Phoenix, Fasttrack, GanttProject, TurboProject, ConceptDraw PROJECT, Synchro, Gantt Designer, SDEF, Sage 100 Contractor Schedule Grid, Project Commander and Deltek Open Plan BK3.

MPXJ can also write schedule data as MPX, MSPDI, PMXML, XER, Planner and SDEF files.

More details of the supported file formats can be found here.

Languages

MPXJ is written and maintained in Java, however this is no barrier to using its functionality in other languages. Thanks to IKVM, MPXJ is available for .Net, allowing it to be used from any .Net language.

There is also now a Ruby Gem which provides native Ruby access to read from schedule files using MPXJ, and a Python package which wraps the Java library to provide full read/write access to schedule files.

You may be able to leverage MPXJ from other languages too, for example the PHP/Java Bridge can be used to expose the complete MPXJ API in PHP.

Contact

Having problems? Need support? All the details you need can be found on the support page.

Using MPXJ successfully somewhere? I'd love to hear from you about your experiences. Do tell me what's missing or what could be better - I can use this feedback to guide future development work. It would also be great to add a link to your website from the MPXJ users page.

Finally, if you're deriving value from MPXJ, please consider sponsoring me to ensure I can continue enhancing and maintaining the library. Thank you!

Licensing

MPXJ is distributed under the terms of the GNU LGPL a copy of which can be found in the root of the distribution. Please read this license carefully! It will cost you nothing to use MPXJ commercially or non-commercially, but you must comply with the terms of the license.

Please see the legal folder within the distribution for details of the licences for the third party libraries used by MPXJ.

Acknowledgements

This library includes functionality provided by:

This library has been built with the assistance of: