Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-42368

Site Info > upgrade to Apache FOP 2.0+

    Details

    • Type: Bug
    • Status: OPEN
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 21.0 [Tentative]
    • Fix Version/s: None
    • Component/s: Site Info
    • Labels:
      None
    • Test Plan:
      • Site Info > Manager Participants > Printable View
        • Verify the PDF is generated with no errors

      Description

      In SAK-41909 we upgraded the xmlgraphics-commons library from 1.5 to 2.3. This caused the Site Info > Manage Participants > Printable View to stop working, because site-manage is still using Apache FOP v1.0, which requires a method that's not present in xmlgraphics-commons v2.0+.

      As a stop-gap measure, we added the v1.5 of xmlgraphics-commons back to the site-manage project so that the feature will work again in the interim (SAK-42346). However, this is only a temporary solution. The proper fix here is to upgrade site-info to Apache FOP v2.0+.

      The library versions are defined in site-manage/site-manage-tool/tool/pom.xml:

              <dependency>
                  <groupId>org.apache.xmlgraphics</groupId>
                  <artifactId>fop</artifactId>
                  <version>1.0</version>
              </dependency>
      
              <!-- This old version of xmlgraphics-commons is needed to support Manage Participants > Printable View.
                   With the newer (2.3) version (provided by master's pom.xml), you'll get a runtime NoSuchMethodError on org.apache.xmlgraphics.xmp.Metadata.mergeInto(Lorg/apache/xmlgraphics/xmp/Metadata;)V.
                   Until the code in SiteInfoToolServlet.generatePDF() is updated to use FOP v2.0+, this needs to stay here. -->
              <dependency>
                  <groupId>org.apache.xmlgraphics</groupId>
                  <artifactId>xmlgraphics-commons</artifactId>
                  <version>1.5</version>
              </dependency>
      

      The code that needs to be updated is located in SiteInfoToolServlet.generatePDF() (possibly other locations that generate PDFs in the Site Info tool).

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  maintenanceteam Core Team
                  Reporter:
                  bjones86 Brian Jones
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                    Dates

                    Created:
                    Updated:

                      Git Integration