This server will be upgraded at 3pm Sydney time on December 3rd (December 2nd, 8pm PST) and will be down for up to 30 minutes.

GanttProject plugin

Name GanttProject plugin
Version 1.0.0
Product Versions Confluence 2.1.2+
Author(s) Dmitry Barashev
Homepage ganttproject.org
Price Free
License BSD
JavaDocs  
IssueTracking  
Download JAR plugins-ganttconfluence.jar ganttproject.jar mpxj.jar
Download Source ganttconfluence.zip

Description/Features

GanttProject plugin enables generating and rendering Gantt chart from MSProject file attached to a wiki page.
It is possible to define chart size and start/end dates of a rendered time frame using web interface and configure Gantt chart details using wiki macro parameters

Usage

Installation instructions

  1. Plugin needs libraries MPXJ (plus all libraries required for MPXJ) and GanttProject in the classpath. Download them from attachment page and drop to $CONFLUENCE_HOME/confluence/WEB-INF/lib
  2. Download and install plugin jar using Plugin Manager web interface.

Usage instructions

  1. Attach MS Project file to a wiki page (.mpp, .mpx and .mspdi formats produced by MS Project 8+ are supported).
  2. Write the following macro code in the page with attached MS Project file:
    {msproject2ganttchart:ms-project-file=your_attached_file.mpp}
    
  3. Define start and end dates of the displayed timeframe in the input fields "chart begin date" and "chart end date" using ISO date format (YYYY-MM-DD).
  4. Select width of the displayed image using combo box "image size"

Zoom factor of the displayed image depends on the start/end dates and image width. Plugin tries to make chart details as large as possible and fit the selected time frame into the selected image size

Configuration options

It is possible to define text labels which are rendered near task bars using macro parameters. There are four parameters: taskLabelRight, taskLabelLeft, taskLabelUp and taskLabelDown. If some parameter is specified then a text label is rendered in the corresponding position. The following values are accepted:

value meaning
name Task name
taskDates Task start and end dates
length Task duration
advancement Task completion percentage
predecessors Predecessor tasks
id Task identifier
resources Assigned human resources
coordinator Task coordinator

Examples

The following snippet renders file HouseBuildingSample.xml (in MSPDI format) with task name above task bar and task progress on the right side. You may see the result in screenshots section

{msproject2ganttchart:ms-project-file=HouseBuildingSample.xml|taskLabelRight=advancement|taskLabelUp=name}

Source code and compilation

Sources are packaged as Eclipse plugins, without MPXJ libraries. Download them, extract, import to Eclipse workspace, put MPXJ libraries in org.ganttproject.impex.msproject/lib/mpxj directory and add necessary libraries from Confluence installation

Plugin for Confluence may be built using Confluence plugin development tools (build.xml in the Confluence installation)

Licensing

MPXJ library is licensed under LGPL. Official release of GanttProject code is under GPL, but sources used here are going to be released under some other license (LGPL or Apache).

Version History

Screenshots

Labels

plugin plugin Delete
codegeist codegeist Delete
macro macro Delete
non-repository non-repository Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Aug 04, 2006

    Ruben Miranda says:

    Very useful plugin...thanks for providing this to the community. There does app...

    Very useful plugin...thanks for providing this to the community.

    There does appear to be some discrepancies in chart formatting between GanttProject and this plugin, at least when exporting to .mpx format. Dependencies seem to overlap each other on my project. I'll have to mess with it some and see if it's anything on my end.

    Some minor requests, actually more of a few default preferences I'd like to change:

    1. Remove the javascript to auto-focus on the chart begin date textbox; and
    2. Eliminate the auto-population of the word "unknown" in both date textboxes (or at least, remove the word on focus)
  2. Sep 19, 2006

    Rajendra says:

    Hi Dmitry, We are trying to use this macro. Following is call {msproject2ga...

    Hi Dmitry,

    We are trying to use this macro. Following is call

    {msproject2ganttchart:ms-project-file=project_plan.mpp}
    

    But it throws exception:

    2006-09-19 12:15:37,937 ERROR [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: msproject2ganttchart
    java.lang.NoSuchMethodError: org.apache.poi.hpsf.Property.getID()I
    at com.tapsterrock.mpp.SummaryInformation.getPropertyMap(SummaryInformation.java:102)
    at com.tapsterrock.mpp.SummaryInformation.<init>(SummaryInformation.java:58)
    at com.tapsterrock.mpp.MPP9File.processPropertyData(MPP9File.java:164)
    at com.tapsterrock.mpp.MPP9File.process(MPP9File.java:115)
    at com.tapsterrock.mpp.MPPFile.read(MPPFile.java:139)

    Any idea why ?

    We have following jars in lib directory :
    poi-3.0-alpha1-20050704.jar
    poi-scratchpad-3.0-alpha1-20050704.jar

    Is there something we are missing ?

    thanks,
    Rajendra

    1. Jan 31, 2007

      Fabio Paiano says:

      I do have the same problem. Has anyone been able to solve this already? Here is...

      I do have the same problem. Has anyone been able to solve this already?

      Here is the page generated:
      Here are my logs:

      2007-01-31 20:33:24,718 ERROR [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: msproject2ganttchart
      java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
       at org.ganttproject.impex.msproject.GanttMSPDIOpen.load(GanttMSPDIOpen.java:52)
       at org.ganttproject.impex.msproject.ImporterCore.importDocument(ImporterCore.java:25)
       at org.bardsoftware.ganttconfluence.MSProjectToThumbnailConverter.generateImage(MSProjectToThumbnailConverter.java:39)
       at org.bardsoftware.ganttconfluence.GanttMacro.execute(GanttMacro.java:132)
       at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
       at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:336)
       at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:237)
       at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:130)
       at com.atlassian.renderer.v2.components.MacroRendererComponent.handlePotentialMacro(MacroRendererComponent.java:115)
       at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:77)
       at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:54)
       at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
       at sun.reflect.GeneratedMethodAccessor195.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
       at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:18)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
       at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
       at $Proxy24.convertWikiToXHtml(Unknown Source)
       at com.atlassian.confluence.renderer.DefaultWikiStyleRenderer.convertWikiToXHtml(DefaultWikiStyleRenderer.java:23)
       at com.atlassian.confluence.pages.actions.ViewPageAction.execute(ViewPageAction.java:118)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
       at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:39)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.atlassian.confluence.core.ConfluenceValidationInterceptor.intercept(ConfluenceValidationInterceptor.java:16)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:39)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:114)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:82)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:39)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:133)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
       at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
       at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
       at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
       at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
       at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
       at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
       at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
       at com.atlassian.confluence.servlet.simpledisplay.SimpleDisplayServlet.doGet(SimpleDisplayServlet.java:51)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:117)
       at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:143)
       at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:51)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.confluence.util.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:30)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:45)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
       at bucket.custom.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:31)
       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:122)
       at com.atlassian.confluence.util.error.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
       at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
       at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
       at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
       at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
       at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
       at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
       at java.lang.Thread.run(Thread.java:534)

    2. Sep 25, 2007

      Chris McIntyre says:

      I had the same problem with the .mpp and .xml formatted exports. When I exported...

      I had the same problem with the .mpp and .xml formatted exports. When I exported as .mpx it worked like a charm. Hope this helps someone!

  3. Oct 05, 2006

    Thomas Burkhart says:

    Hi Dmitry, I installed the plugin and it displays the chart, but everytime I pr...

    Hi Dmitry,

    I installed the plugin and it displays the chart, but everytime I press Refresh I get the following error message:

    HTTP Status 404 - /display/WDC/MS+Project+Demo


    type Status report

    message /display/WDC/MS+Project+Demo

    description The requested resource (/display/WDC/MS+Project+Demo) is not available.


    Apache Tomcat/5.5.17

    Any idea?

    Cheers

    Thomas 

    1. Oct 06, 2006

      Michael Redinger says:

      Same problem here:  The plugin does not seem to use the base server URL co...

      Same problem here:

       The plugin does not seem to use the base server URL correctly but uses a hardcoded URL. So if your URL base directory is not "/" but eg. "/confluence/", you get an error ...

  4. Jan 22, 2007

    Ziad Afra says:

    any update to this plugin yet? If i try and edit the time frames it crashes H...

    any update to this plugin yet? If i try and edit the time frames it crashes

    HTTP Status 404 - /display/PROJ/ELT+Data+Requirements


    type Status report

    message /display/PROJ/ELT+Data+Requirements

    description The requested resource (/display/PROJ/ELT+Data+Requirements) is not available.


    Apache Tomcat/5.5.9

  5. Mar 16, 2007

    tahiry andriamananjara says:

    I think that it would be useful if the plugins pages had a dedicated section tha...

    I think that it would be useful if the plugins pages had a dedicated section that showed the requirements and other such useful information.

    In this case, it looks like this is installed on the server but required additional libraries. I can't figure out what I need to have this on my site. I really would like to set this up as it would trmendously help our project so can anyone describe further what I need *before* I install this?

    Thanks, 

  6. Apr 01, 2007

    konglukl says:

    Hi Dmitry,  We are trying to use this macro. Following is call &nbs...

    Hi Dmitry,

     We are trying to use this macro. Following is call

    &nbsp;{msproject2ganttchart:ms-project-file=project_plan.mpp}
    
    

    But it throws error:

    input=/opt/confluence-2.2.9-std/confluence/temp/ganttconfluence4654testplan.mpp output=/opt/confluence-2.2.9-std/confluence/temp/ganttconfluence4653.pngException: null

    thanks!

    carter

  7. May 25, 2007

    David Laks says:

    Hi Cater, I'm not Dmitry but I know what's happen. If your ms project isn't in...

    Hi Cater,

    I'm not Dmitry but I know what's happen.

    If your ms project isn't in English language, or better, if your default calendar name isn't "Standard", the nullPointerException will occurs in the line 235 of the abstract class org.ganttproject.impex.msproject.GanttMPXJOpen. You can see in the line 192 the method getBaseCalendar("Standard") return null, this is the access point to the error.

    Att,

    David Laks 

  8. Jul 26, 2007

    SB says:

    Thanks Dmitry: very nice plugin! However the "name" attribute is not showing up ...

    Thanks Dmitry: very nice plugin!
    However the "name" attribute is not showing up for milestone type tasks. Any Suggestions?

  9. Aug 15, 2007

    Felix Seyfarth says:

    Hi - after installing all libraries in Web-Inf/lib folder and manually installin...

    Hi - after installing all libraries in Web-Inf/lib folder and manually installing Plugin, I see the following error in my Administration/Plugin list:

    msproject2ganttchart
    Creates a gantt chart from MS Project file.
    Error: There was a problem loading the descriptor for module 'macro' in plugin 'Gantt chart macro'. Error retrieving dependency of class: org.bardsoftware.ganttconfluence.GanttMacro. Missing class: org/w3c/util/InvalidDateException

    using confluence 2.5.4 and german language pack...

    1. Aug 21, 2007

      Richard Clark says:

      I had the same problem, the cause was I'd missed out the ganttproject.jar from t...

      I had the same problem, the cause was I'd missed out the ganttproject.jar from the WEB-INF/lib folder. After uploading this the problem was fixed.

      1. Sep 01, 2007

        Felix Seyfarth says:

        thanks for the tip, Richard, but the .jar is there... and no change.

        thanks for the tip, Richard, but the .jar is there... and no change.

  10. Aug 21, 2007

    Richard Clark says:

    Trying to use MS Project files saved from MS Project 2007 I get the following er...

    Trying to use MS Project files saved from MS Project 2007 I get the following error:

    input=/app/users/gbbrbi/Confluence_server_2/CONFLUENCE/temp/ganttconfluence3572Outstanding Activity.mpp output=/app/users/gbbrbi/Confluence_server_2/CONFLUENCE/temp/ganttconfluence3571.pngException: Invalid file format: MSProject.MPP12

    If I re-save the Project file in Project 2000-2003 format I get the following error instead:

    input=/app/users/gbbrbi/Confluence_server_2/CONFLUENCE/temp/ganttconfluence3568Plugintest.mpp output=/app/users/gbbrbi/Confluence_server_2/CONFLUENCE/temp/ganttconfluence3567.pngException: Can't set length=0 start=Thu May 11 00:00:00 BST 2102

    Anyone else had this or have a workaround?

  11. Oct 12, 2007

    Chainsaw says:

    I've added mxpj.tar and ganttproject.tar into the WEB-INF/lib directories as per...

    I've added mxpj.tar and ganttproject.tar into the WEB-INF/lib directories as per the instructions and then uploaded the plugins-ganttconfluence.jar using the plugins manager. I too get the message:

    Error: There was a problem loading the descriptor for module 'macro' in plugin 'Gantt chart macro'. Error retrieving dependency of class: org.bardsoftware.ganttconfluence.GanttMacro. Missing class: org/w3c/util/InvalidDateException

    Any one have a solution?

    1. Oct 23, 2007

      Joe Van Quakebeke says:

      I got past this error by doing a jar -xvf ganttproject.jar and copying the o...

      I got past this error by doing a jar -xvf ganttproject.jar and copying the org/w3c directory and the ganntproject directory to my WEB-INF/classes/org directory.  I don't know if this all you have to do but it allowed the plugin to load.   I have since found out that I had to do a jar -xvf for all the jars required and copy the files to WEB-INF?classes.  Once I did that, the plugin works great. 

  12. Apr 04, 2008

    Tom Potter says:

    Maybe compatibility issue with mpxj.jar I have had no success getting this to wo...

    Maybe compatibility issue with mpxj.jar I have had no success getting this to work.

    http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q270139

    The following table summarizes the versions of Microsoft Project that can create or read the MPX 4.0 file format: Create Read
    ----------------
    Microsoft Project 4.0 Yes Yes
    Microsoft Project 4.1 Yes Yes
    Microsoft Project 98 Yes Yes
    Microsoft Project 2000 No Yes

  13. Jun 30

    Buelent Caliskan says:

    I get this error message:  input=/tmp/confluence/temp/ganttconfluence25862...

    I get this error message: 

    input=/tmp/confluence/temp/ganttconfluence25862project-test-file.mpp output=/tmp/confluence/temp/ganttconfluence25861.pngException: Unknown sub project type 16

  14. Aug 25

    Steven Herod says:

    So, is this thing dead? Seems to suffer from some major issues with rendering o...

    So, is this thing dead? Seems to suffer from some major issues with rendering our mpp files (Cropping etc) - and there have been no updates.