You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Fred Hansen (JIRA)" <ji...@apache.org> on 2013/08/29 23:39:51 UTC

[jira] [Commented] (PDFBOX-1187) Cut dependency between pdfbox and jempbox

    [ https://issues.apache.org/jira/browse/PDFBOX-1187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754091#comment-13754091 ] 

Fred Hansen commented on PDFBOX-1187:
-------------------------------------

The "right thing to do"?

Note that jempbox and xmpbox have the SAME function: to access meta-data.
They have many similarly named modules (xmpbox =~= jempbox):
{quote}
    AdobePDFSchema.java    =~=    XMPSchemaPDF.java
    DublinCoreSchema.java    =~=    XMPSchemaDublinCore.java
    PhotoshopSchema.java    =~=    XMPSchemaPhotoshop.java
    XMPBasicJobTicketSchema.java    =~=    XMPSchemaBasicJobTicket.java
    XMPBasicSchema.java    =~=    XMPSchemaBasic.java
    XMPMediaManagementSchema.java    =~=    XMPSchemaMediaManagement.java
    XMPRightsManagementSchema.java    =~=    XMPSchemaRightsManagement.java
    XMPSchema.java    =~=    XMPSchema.java
{quote}

Note that jempbox is imported ONCE in all of the pdfbox code: 
bq.    pdfbox/pdmodel/common/PDMetadata.java

Note that 9 modules of preflight import methods from xmpbox.

Note that xmpbox has more sophisticated code (not necessarily better).

So the "right thing to do" is to abandon jempbox in favor of xmpbox.
BUT, I hear you scream, WHAT ABOUT CLIENTS?  
Yup, some number of clients manage pdf metadata with jempbox. 
Indeed, ten files in pdfbox/examples import jempbox.

How many clients??? We could do a usage survey. Or assume the number is large
and build a bridge so client software can continue to call the jempbox methods,
but each forwards the call to the corresponding xmpbox methods.

In a long term evolution, we can deprecate all the jempbox stuff.
Metadata access would be via two new methods in pdfbox/pdmodel/common/PDMetadata.java 
that would offer the xmpbox version of jempbox.XMPMetadata.

                
> Cut dependency between pdfbox and jempbox
> -----------------------------------------
>
>                 Key: PDFBOX-1187
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1187
>             Project: PDFBox
>          Issue Type: Wish
>          Components: PDModel
>            Reporter: Guillaume Bailleul
>            Assignee: Guillaume Bailleul
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: cut_jempbox.patch
>
>
> pdfbox artifact depends on jempbox only in PDMetadata class where two methods export or import XMPMetadata :
> * exportXMPMetadata
> * importXMPMetadata
> The work on serializing/unserializing could be done in the calling code without complexity (see attached patch)
> Please give opinion

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira