Skip navigation
Currently Being Moderated

~~ New XMP CS6 SDK Releases ~~

May 22, 2012 6:47 AM

Hi,

 

You can now find new versions of our XMP SDKs on Adobe Devnet:

http://www.adobe.com/devnet/xmp/

 

So please check  out the CS6 versions of the SDKs and post your feedback in this forum!

The prior versions are still listed.

 

Updates:

  • Updated XMP Specifications [version: April 2012]
  • New version of the XMP Toolkit SDK (c++)  [version: CS6]
    • Compiler Upgrade: Xcode 4.x, Visual Studio 2010 (VC10)
    • A plug-in SDK for XMPFiles that allows you to add custom file handlers, or replace existing file handlers with custom ones in XMPFiles
    • A new version of the file handler for RIFF-based formats that also support AIFF. The AVI handler still uses the old code, but WAVE and AIFF are based in the new file handler
    • New functions in XMPFiles that allows you to use your own I/O code in XMPFiles
    • Support of EXIF 2.3 properties
    • A new XMPFiles function, GetFileModDate(), that retrieves the most recent OS file modification date for the associated metadata of a file
    • Many bug fixes and minor improvements in XMPFiles
  • The XMP FileInfo SDK is now available in version CS6
    • Custom Panel Plugin for Flash builder 4.x
    • EVE Panel converter (to convert CS 2/3 panels)
    • Create generic panel without Action Script (XML only)
  • XMPCore Java is now is now available in version CS6 and seperated from the C++ toolkit  (see new Java section)
    • Many bug fixes and minor improvements

 

The Adobe XMP Team

 
Replies
  • Currently Being Moderated
    May 30, 2012 9:33 AM   in reply to Samy Makki

    I am by no means a programmer, but have created custom metadata panels using the "generic panel(XML only)" with fair success.  Is it possible to just move my generic panel to CS6 without any issues?

     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 9:58 AM   in reply to RBemendo

    Just copy your panel folder from folder .../3.0/panels to folder .../

    4.0/panels. I have not noticed any differences so far.

     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 10:14 AM   in reply to Carl Rambert

    Thanks Carl Rambert, appreciate the response!

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 18, 2013 1:43 AM   in reply to Samy Makki

    Hi,

     

    i used the previous version of the java XMPCore. I tried to upgrade however i got the following exception (using java 1.5 and 1.6):

     

    java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String ;Z)V

        at com.adobe.xmp.impl.XMPMetaParser.createDocumentBuilderFactory(Unknown Source)

        at com.adobe.xmp.impl.XMPMetaParser.<clinit>(Unknown Source)

        at com.adobe.xmp.XMPMetaFactory.parseFromBuffer(Unknown Source)

        at com.adobe.xmp.XMPMetaFactory.parseFromBuffer(Unknown Source)

     

    On further investigation the problem is, that you are trying to call a method

    factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

    on an abstract class however you are not catching that error, as you propably intended to.

    The code has been introduced into the new version:

    class XMPMetaParser.java:

    [...]

    try

            {

                // honor System parsing limits, e.g.

                // System.setProperty("entityExpansionLimit", "10");

                factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

            }

            catch (Exception e)

            {

                // Ignore IllegalArgumentException and ParserConfigurationException

                // in case the configured XML-Parser does not implement the feature.

            }

    }

     

    The exception is of the type "Error" and thus won't be catched by the "catch (Exception)" block at this point. If you change the following to:

    try

            {

                // honor System parsing limits, e.g.

                // System.setProperty("entityExpansionLimit", "10");

                factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

            }

            catch (Throwable t)

            {

                // Ignore AbstractMethodError, IllegalArgumentException and ParserConfigurationException

                // in case the configured XML-Parser does not implement the feature.

            }

     

    or to

     

    try

            {

                // honor System parsing limits, e.g.

                // System.setProperty("entityExpansionLimit", "10");

                factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

            }

            catch(Error e){

                // Ignore AbstractMethodError in case there is no implementation at all

            }

            catch (Exception e)

            {

                // Ignore IllegalArgumentException and ParserConfigurationException

                // in case the configured XML-Parser does not implement the feature.

            }

    Everything is working as aspected again...

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 18, 2013 1:47 AM   in reply to ToM_1st

    Hi,

     

    appreciated the investigation and feedback!

    We will change this for the next version.

     

    Thanks,

     

    Stefan

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)