Modify XMP data of a document

Hi!
I want to store some information in the metadata of the document. This storage event takes place at a button click event on my UI. The user can click the button N number of times, and the storage will take place N times too (depending on whether the information has not already been stored). I found many examples on the internet pertaining to this, for eg., XMP-Toolkit-SDK, and XMPCore libraries for Action Script. But, I found that both these methods required that the document be saved to disk at the time of managing the XMP data. This has become a hurdle to my plugin, as it is not mandatory that when user clicks the button on the UI, the document is saved.
Please guide, as to what should be the correct way to go about this.
Thanks!

Hi,
We have an updated version of the InDesign Host Adapter library available for download:
http://cssdk.host.adobe.com/sdk/1.5/patch/id_hostadapter_mac.zip
In terms of examples, please look at the AssetFragger CS extension example which shows adding/modifying XMP metadata using XMP Namespace Designer and InDesign Host Adapter library.  This extension is available in CS Extension Builder under File > Import > CS Extension Builder > Samples.  For further information, please refer to http://www.adobe.com/devnet/creativesuite/samples.html
Kind regards,
Lea
From: Adobe Forums <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
Date: Sat, 5 Nov 2011 19:45:40 +0000
To: lab user <[email protected]<mailto:[email protected]>>
Subject: IDHostAdapter.getInstance().getXMPString(doc); returns null
Re: IDHostAdapter.getInstance().getXMPString(doc); returns null
created by Harbs.<http://forums.adobe.com/people/Harbs.> in Creative Suite Extension Builder - View the full discussion<http://forums.adobe.com/message/4009511#4009511

Similar Messages

  • Pipe xmp data into indesign document

    Hi there!
    My situation is: My InDes plugin calls a server-script which returns XMP-Data as text format.
    What I want to do is: To append the XMP-Data without any local file operations to the XMP section of my InDes. document.
    My problem is: Class MetadataPreference only provides a append method, which needs a local XMP file as an object.
    Is there any way to wrap the text data, which comes from the server, into a file object? The only way, as I understand it, is to get the data from the server as a file and use this one with the append method.
    Would be very nice if anyone has a good idea to get this working without local file operations.
    Thanks in advance

    This question might get more traction in the InDesign scripting forums. In general, if you can do it with ExtendScript, you should be able to do it with ActionScript. Also, you might want to look into the InDesign Host Adapters which allows you to get the XMP from a document, here's a recent question on the topic: http://forums.adobe.com/message/4008254.
    Does that help any?

  • How can I display the date a word document was last modified on my web page?

    I have lists of links to word documents on my web pages. I
    want to be able to show the date the word document was last
    modified next to each link. My pages are straight html.
    Thanks.

    >but I would have to go to each individual file (I have
    hundreds) and put this code on each link.
    No, you can use the FileSystemObject to get a list of the
    files in the directory. See if you can adapt this for your site:
    <link href="/CSS/dirlist.css" rel="stylesheet"
    type="text/css">
    <%
    Function FormatSize(SizeInBytes)
    if SizeInBytes > 1024^2 then
    FormatSize = formatnumber(SizeInBytes / 1024^2,2) & "
    MB"
    elseif SizeInBytes > 1024 then
    FormatSize = formatnumber(SizeInBytes / 1024,2) & " KB"
    else
    FormatSize = SizeInBytes & " Bytes"
    end if
    end function
    %>
    <%
    dim parts
    dim part
    dim BrowseLine
    dim RelLink
    dim i
    url = Request.ServerVariables("URL")
    Parts = split(URL,"/")
    for part = 1 to ubound(Parts)-1
    ' calc link
    RelLink = ""
    for i = 1 to ubound(Parts) - part - 1
    RelLink = RelLink & "..\"
    next
    If trim(BrowseLine) <> "" then
    BrowseLine = BrowseLine & "/"
    end if
    BrowseLine = BrowseLine & "<A href=" & RelLink
    & ">" & parts(part) & "</A>"
    next
    ' add "back" link
    BrowseLine = Browseline & "  " &
    "<A href='javascript:history.back();'><img
    src='/images/return.gif' border=0></A>"
    Response.Write "<P class = 'NavTop'>" & BrowseLine
    & "</P>"
    Dim fso
    set fso = server.CreateObject("Scripting.fileSystemObject")
    dim fldr
    dim fle
    %>
    <a href="../index.asp"><img
    src="../images/leftbanner.jpg" width="343" height="70"
    border="0"></a>
    <link href="/CSS/dirlist.css" rel="stylesheet"
    type="text/css">
    </p>
    <p></p>
    <table width="85%" border="0" cellspacing="0"
    cellpadding="0">
    <tr>
    <th width="63%"><div
    align="left">   Document
    Name</div></th>
    <th width="14%">Size</th>
    <th width="23%"><div
    align="left">  Date</div></th>
    </tr>
    <%
    ' display folders
    for each fldr in
    fso.GetFolder(server.MapPath(".")).SubFolders
    %>
    <tr>
    <td class="FileName"> <a href='<%=
    fldr.Name %>'><img src="/images/folder.gif" border=0>
    <%= fldr.Name %></a></td>
    <td class="FileSize">  <%=
    FormatSize(fldr.Size) %></td>
    <td class="FileDate"><div
    align="left">  <%=
    FormatDateTime(fldr.DateLastModified,2)
    %></div></td>
    </tr>
    <%
    next
    %>
    <%
    ' display files
    for each fle in fso.GetFolder(server.MapPath(".")).Files
    dim ext
    ext = fso.GetExtensionName(fle.path)
    if (ext <> "asp") and (ext <> "scc") then
    %>
    <tr>
    <td class="FileName"> <a href='<%=
    escape(fle.Name) %>'><img src="/images/file.gif"
    width="14" height="16" border=0>
    <%= fle.Name %></a></td>
    <td class="FileSize">  <%=
    FormatSize(fle.Size) %></td>
    <td class="FileDate"><div
    align="left">  <%=
    FormatDateTime(fle.DateLastModified,2) %></div></td>
    </tr>
    <%
    end if
    next
    Set fso = Nothing
    Set fle = Nothing
    Set fldr = Nothing
    %>
    </table>
    <p><a href="/index.asp">Return to Home
    Page</a></p>

  • XMP data not showing up in the custom file info panels when upgraded to CC

    For several versions of Photoshop, I have been able to use a modified custom file info panel to input, update, and track psd files. With each version of photoshop there are always some changes in the way the object data is handled. The lastest challenge is:
    1. XMP data not showing up in the custom file info panels when upgraded CC from CS6.
    2. Raw data is not visible in CC in the File info panel.
    3. This occurs in new documents where we create the xmp wrapper while the file template is built.
    4. When metadata is manually entered into the file, the data is not added to the XMP wrapper when it is recreated on the save.
    5. When a file that was created in CS6 is opened that contains the Metadata in the file info template. It is visible. the Raw data is also visible. Once the XMP wrapper is recreated - write and then close. The data is no longer available. the Raw data will not pull up in the file info panel.
    Any feedback or a direction will be appreciated.

    I have a script that the user runs to input xmp data into a Customized version of the generic file info panel. it is data that is gathered from the user when the psd file is created. once the file is open in photoshop. the information is visible in the File info panel , the raw data, and as a schema addition in the advanced tab.
    in CC the nodes and the children of the XMP packet have changed positions. so that the XML -this.XMP.child(0).appendChild(this.createNode())
    is no longer the node that can be appended.
    Where XML.child(0).elements().length(); would enable the xmlns to be added in CS6
    <rdf:Description xmlns:phsa="' + this.namespace + '" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:x="adobe:ns:meta/" rdf:about="" />'
    it is visible in CC as namespace in a different arrangement. XML.child(0).child(0).namespaceDeclarations().toString()) and the children are  XML.child(0).child(0).elements().length().toString()); There are now 7 child nodes where before there were 1.
    with all shifted, the initialize of the values and the delete XMP packet wrapper and create new or the amend to the XMP packet wrapper is undefined.

  • Can you remove XMP data from .eps files in Illustrator-CS5.5?

    Background:
    I'm using font software called Typetool 3 and Illustrator CS5.5.
    I am using these on Windows 7, 64 bit.
    This is entry level font software released by Fontlab.
    This software accepts artwork through the .eps file format in both theory and practice.
    However: it refuses illustrator CS5.5 .eps files.
    When I looked at this I came up with two highly interesting things: First- CS5.5 illustrator files are roughly 13 times the size of CS5 files, of this type (a simple font glyph-comparing a 29-30 kbfile to a 420-450 kb file in cs5 and cs5.5 respectively).
    Thing two came from looking at what that data was (by opening it in a text editor). It appears that some of the data XMP data, illustrators data for tracking things like who created the file, copyright, and other. In document info many of these fields were blank. I'm sure this isn't the only issue because my exported xmp data is 64 kb large, but it does account for a chunk of the file.
    The main question being: Can this xmp data; which for my purposes is redundant, because I have to put copyright and other data in the font, be removed or not included at the point of document creation?
    The technical question being:Can the file be saved in a manner which will allow it to be exported from adobe CS5.5 and imported into Typetool 3?
    Things I've tried:
    In saving .eps file: removing document headers, previews, color data, saving as different versions of the language. Basically saving it without all settings.
    In saving .ai file: saving without any settings checked (without compression, pdf editting, ect.) and saving it to a different level of illustrator.
    I do not know enough about postscript programming to navigate the file or remove the offending data. Nor do I have time to do this over multiple glyphs.
    As a matter of opinion I do not like that my software is including potentially identifying information (which is one of the intents of XMP data, to provide identification) without notifying the creator, let alone allowing me to keep it from doing that. I would not mind or bother-except for the fact its messed up an established workflow. If someone editted this data without my knowledge, say with a virus or heaven forbid manually, it would be also be bothersome. Having a check that identifies that I am sending this data out would give me something to know if this situation was in fact happening. Additionally for a situation like mine-communication between programs in a closed environment where no other users are involved, its unnecessary and wasteful... like putting gold rims on what is intended to be an oxcart.
    I'm planning on going to Fontlab for later this week, as it is as much thier issue as it is Adobe's. From what I know XMP is both a useful and popular technology- having a workaround for this situation seems like it would be a good idea. If necessary I can attach some working files for comparision.

    I would save it as EPS (version Illustrator 3). This should be compatible to almost any  software that takes EPS.

  • Coredump when adding new data to a document

    Hi,
    I have managed to get a coredump when adding data to a document,
    initially using the Python API but I can reproduce it with a dbxml script.
    I am using dbxml-2.2.13 on RedHat WS 4.0.
    My original application reads XML data from files, and adds them
    one at a time to a DbXML document using XmlModify.addAppendStep
    and XmlModify.execute. At a particular document (call it "GLU.xml") it
    segfaults during the XmlModify.execute call. It is not malformed data in
    the file, because if I remove some files that are loaded at an earlier stage,
    GLU.xml is loaded quite happily and the segfault happens later. Changing
    my application so that it exits just before reading GLU.xml, and loading GLU.xml's
    data into the container file using the dbxml shell's "append" command produces
    the same segfault. The stacktrace is below. Steps #0 to #7 inclusive are the
    same as the stacktrace I got when using the Python API.
    Can anyone give me any suggestions? I could send the dbxml container file and
    dbxml script to anyone who would be prepared to take a look at this problem.
    Regards,
    Peter.
    #0  ~NsEventGenerator (this=0x9ea32f8) at NsEventGenerator.cpp:110
    110                     _freeList = cur->freeNext;
    (gdb) where
    #0  ~NsEventGenerator (this=0x9ea32f8) at NsEventGenerator.cpp:110
    #1  0x009cacef in DbXml::NsPullToPushConverter8::~NsPullToPushConverter8$delete ()
        at /scratch_bernoulli/pkeller/dbxml-2.2.13/install/include/xercesc/framework/XMLRefInfo.hpp:144
    #2  0x00a5d03c in DbXml::NsDocumentDatabase::updateContentAndIndex (this=0x96b7a60,
        new_document=@0x96e3608, context=@0x96a3fc8, stash=@0x96a4098) at ../scoped_ptr.hpp:44
    #3  0x009a71b1 in DbXml::Container::updateDocument (this=0x96a71d0, txn=0x0, new_document=@0x96e3608,
        context=@0x96a3fc8) at shared_ptr.hpp:72
    #4  0x009b8465 in UpdateDocumentFunctor::method (this=0xb7d3a008, container=@0x96a71d0, txn=0x0, flags=0)
        at TransactedContainer.cpp:167
    #5  0x009b70c5 in DbXml::TransactedContainer::transactedMethod (this=0x96a71d0, txn=0x0, flags=0,
        f=@0xbff66500) at TransactedContainer.cpp:217
    #6  0x009b71e4 in DbXml::TransactedContainer::updateDocument (this=0x96a71d0, txn=0x0,
        document=@0x96e3608, context=@0x96a3fc8) at TransactedContainer.cpp:164
    #7  0x009d7616 in DbXml::Modify::updateDocument (this=0x96c1748, txn=0x0, document=@0xbff665b0,
        context=@0xbff669dc, uc=@0xbff669e4)
        at /scratch_bernoulli/pkeller/dbxml-2.2.13/dbxml/build_unix/../dist/../include/dbxml/XmlDocument.hpp:72
    #8  0x009d9c18 in DbXml::Modify::execute (this=0x96c1748, txn=0x0, toModify=@0x96a7280,
        context=@0xbff669dc, uc=@0xbff669e4) at Modify.cpp:743
    #9  0x009c1c35 in DbXml::XmlModify::execute (this=0xbff666c0, toModify=@0x96a7280, context=@0xbff669dc,
        uc=@0xbff669e4) at XmlModify.cpp:128
    #10 0x08066bda in CommandException::~CommandException ()
    #11 0x0805f64e in CommandException::~CommandException ()
    #12 0x08050c82 in ?? ()
    #13 0x00705de3 in __libc_start_main () from /lib/tls/libc.so.6
    #14 0x0804fccd in ?? ()
    Current language:  auto; currently c++

    Hi George,
    I can get the coredump with the following XML data (cut down from its original
    size of around 900Kb):
    <file name="GLU.xml">
    <_StorageUnit time="Wed Apr  5 11:06:49 2006" release="1.0.212"
    packageName="ccp.ChemComp" root="tempData" originator="CCPN Python XmlIO">
    <parent>
      <key1 tag="molType">protein</key1>
      <key2 tag="ccpCode">GLU</key2>
    </parent>
    <StdChemComp ID="1" code1Letter="E" stdChemCompCode="GLU" molType="protein" ccpCode="GLU" code3Letter="GLU" msdCode="GLU_LFOH" cifCode="GLU" merckCode="12,4477">
      <name>GLUTAMIC ACID</name>
      <commonNames>L-glutamic acid</commonNames>
    </_StorageUnit>
    <!--End of Memops Data-->
    </file>This happens when the data from 106 other files have been inserted beforehand
    (ranging in size from 1Kb to 140Kb). If I manipulate the order so that the above data
    is loaded earlier in the sequence, it inserts fine and I get the coredump when
    loading data from a different file.
    The actual XmlModify calls look something like:
      qry = mgr.prepare("/datapkg/dir[@name='dir1']/dir[@name='dir2']", qc)
      mdfy.addAppendStep(qry, XmlModify.Element, "",
                         '<file name='" + fileName + '">' +
                          data[pos:] + "</file>")
      mdfy.execute(XmlValue(doc), qc, uc)where data[pos:] points to the location in the mmap-ed file containing the
    above data just after the <?xml ...?> header.
    If you want to try to reproduce the crash at your end there are a couple of ways
    we could do it. I have just figured out that this forum software doesn't let me
    upload files or reveal my e-mail address in my profile, but you can contact me with
    username: pkeller; domain name: globalphasing.com and I can send the
    data to you.
    Regards,
    Peter.

  • Issue for creation date of Billing document in third party ???

    Hello SAP Folks,
    This issue is related to third party scenario. The basic requirement is to create to a billing document with a creation date same as
    Good issue date of Sales Order.
    For your information, with the help of enhacement we have passed on the value of posting date of material document generated
    from MIGO to Goods issue date in Sales Order. I am very much aware that setting up a new copying routine would help me but
    relating the GI date field of Sales Order from the techincal point of view is a complete work stopper. Could anyone throw light on
    the workaround for mapping this case ???
    Regards,
    Sarthak

    Hello,
    Thanks Alex for your input on the topic !!
    But i would like to say that the billing relevance of the item category has to "B" as this process of Third part Sales talks about creation of billing document after the MIGO. And i am basically interested to Populated the posting date of MIGO for Biling creation date. 
    In Sales Order, the GI date is modified to Posting date of MIGO through enhancement. I have been looking around relevant tables to fetch the GI date of Sales Order but not getting the right track...
    Could anyone provide any other workaround to implement this sort of requirement ???
    Eager to hear from Lakshmipathi ...
    Regards,
    Sarthak

  • FileInfo Custom Panel doesn't show xmp data: flex 3.6, FileInfo SDK 5.1

    Just getting into XMP. Decided to make custom File Info panel for our custom xmp namespace data that will be applying to all our images in our archive.
    Since still on Adobe CS 5.5, got the FileInfo 5.1 SDK. Got the Flex 3.6a package. I'm on Mac OS X 10.7.5, java version "1.6.0_37".
    Compiled the "TestPanel" that comes with the SDK. That works. It has a fi:XMPTextInput item that shows the xmpPath="dc:title" dublincore xmp data, i can change it and save it and when i come back it is the changed data. When i look in the Raw fileinfo tab, it is there as i had modified it.
    Now when i add a fi:XMPLabel for xmpPath="xmp:CreatorTool" no data is shown in my custom FileInfo panel. And when i add in my own custom xmp namespace data "mydata" that does not show either. The labels and textboxes are there for entering, but it appears that it is not parsing correctly to find the data to populate what is in the file already. I can type something in but it doesn't save it to the file. My custom xmp data namespace "mydata" data is showing in the Raw FileInfo panel so i know it is there, as i put it there with exiftool.
    I have the required namespace lines in the mxml file for the panel:
    <fi:XMPNamespaces>
    <fi:XMPNamespace prefix="mydata" value="http://example.com/xmp/mydata/"/>
    <fi:XMPNamespace prefix="dc" value="http://purl.org/dc/elements/1.1/"/>
    <fi:XMPNamespace prefix="xmp" value="http://ns.adobe.com/xap/1.0/" />
    </fi:XMPNamespaces>
    The mxml file compiles and the panels load and display so it doesn't seem like it is the source files. It seems like a runtime issue. Since it does show the one  dublincore xmp data it does seem like the panel is working, except for the "xmp" namespace and  my "mydata" namespace. That's got to be a clue but being so new to this it is not giving me any directions to go in.
    Any and all ideas are most appreciated.
    Peace,
    Dan

    For some reason SpeedGrade updated through the Application manager. I tried downloading the updates from adobe's website but it won't install. Prelude's update fails before it can even get started whereas the extension manager does install but it doesn't seem to be updating.
    I've done as much investigation as I can think of and I'd rather not create a new user just to check that out but if I have to I will. How exactly do I create a new user on a mac?

  • How to retreive the modified XML data?

    Hi..
    i had a problem in retrieving the modified xml data.
    Iam using apache's DOMParser
    In the my class my xml data is stored in a string.so i used following statement to read xml data from that string:
    String abc="<? xml version=... some data goes here"
    InputSource in=new InputSource(new ByteArrayInputStream(abc.getBytes()));
              DOMParser domParser = new DOMParser();
              domParser.parse(in);
              Document doc = domParser.getDocument();
              Element root = doc.getDocumentElement();
    and i did some operations like adding ,removing and replacing elements etc.
    It was fine when the checked the data.
    but..i need my modified xml data as String.
    is there any method to retrieve the modified xml data "as it is" in String?

    You can use XMLSerializer.
    Here is an example that dump your document on the console:
    OutputFormat formatter = new OutputFormat();
    formatter.setPreserveSpace(true);
    XMLSerializer serializer =
    new XMLSerializer(System.out, formatter);
    serializer.serialize(doc);
    where doc is your Document.

  • Problems modifiing field data

    I am having a problem using SetProperty to modify fields in a multipage pdf file.
    First i use xmpMeta.DumpObject ( DumpCallback, sLogFile );
    to dump the existing data to a terminal window.
    At first run this works fine and i get the existing value set in the Category field of the "Categories" Panel.
    Next i use xmpMeta.SetProperty ( kXMP_NS_Photoshop, "Category", "2" );
    to change the value of a field and then call xmpFile.PutXMP ( xmpMeta ); to save the file.
    When i open the file again in my test application the data is empty when doing the dump to the terminal window.
    If I open it in acrobat, however, the data is there. I am some how corrrupting the data when wrtiting it. Can anyone help quide me as to what I may be doing wrong?
    here is a sample of my code:
    static void EditProperties ( const char * fileName )
    bool ok;
    SXMPMeta xmpMeta;
    SXMPFiles xmpFile;
    XMP_FileFormat format;
    XMP_OptionBits openFlags, handlerFlags;
    XMP_PacketInfo xmpPacket;
    xmpFile.OpenFile ( fileName, kXMP_UnknownFile, kXMPFiles_OpenForUpdate );
    ok = xmpFile.GetFileInfo ( 0, &openFlags, &format, &handlerFlags );
    if ( ! ok ) return;
    ok = xmpFile.GetXMP ( &xmpMeta, 0, &xmpPacket );
    if ( ! ok ) return;
    // Remove extaneous properties to make the dump smaller.
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/camera-raw-settings/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/tiff/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/exif/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/exif/1.0/aux/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/pdf/1.3/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/t/pg/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, kXMP_NS_XMP, "Thumbnails", true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://purl.org/dc/elements/1.1/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/xap/1.0/mm/", 0, true );
    SXMPUtils::RemoveProperties ( &xmpMeta, "http://ns.adobe.com/pdfx/1.3/", 0, true );
    //dump the data
    fprintf ( sLogFile, "\n:::::::::: Initial XMP from %s ::::::::::\n\n", fileName );
    xmpMeta.DumpObject ( DumpCallback, sLogFile );
    //change the properties
    xmpMeta.SetProperty ( kXMP_NS_Photoshop, "Category", "2" );
    //dump it again
    fprintf ( sLogFile, "\n\n:::::::::: Modified XMP from %s ::::::::::\n\n", fileName );
    xmpMeta.DumpObject ( DumpCallback, sLogFile );
    xmpFile.PutXMP ( xmpMeta );
    xmpFile.CloseFile();

    Are any of you going to the Adobe Developer Conference scheduled to be held for plugin providers at San Jose on Nov 7/8?

  • Adobe XMP data and Spry

    Just wondering if anyone could point me in the direction of
    examples of how to use Adobe's embedded XMP in Spry. I've tried
    building an example using some of the code samples on this site,
    but they all deal with generic XML.

    I am also looking for a metadata modification solution. Check out this: http://www.lodgephoto.com/articles/pshop_scripting.htm. It has javascript reading the XMP data and writes it to a file. I modified the js in order to add the title and author IPTC fields, but am unable to find the correct variable for the keywords. If you have any knoledge of the way to correctly target the keywords, please reply.
    Thanks in advance,
    Dave Hulting

  • Who modified the data of table ?

    Hi people,
    You can help me again, please.
    It's possible to know, who modified any data in a table  ?
    For example:
    Someone modified the data DocNum in the table J_1bnfdoc.
    it's, possible to know, who does it ? When ? The user name ?
    tks for all,
    Flavio

    I think you need to look into these fiels
    CREDAT     Create date
    CRETIM     Creation time
    otherwise check any change documents available for this table in CDHDR or CDPOS
    and find this table is NOT buffered so you will not find records from DBTABLOG

  • Editing XMP data related to image files.

    Dear members:
    While working on organizing my photo library I have encountered a problem.
    How can the XMP data file related to image files be edited in a way that the file info panel can see these changes ?
    I made a mistake while saving the current filename as part of my file renaming scheme and need to have the XMP data edited so that it reflects the right (original) filename. I tried using the Mac's TextEdit application but it doesn't seem to have worked properly. Although the file was edited and then re-saved when I use the file info command to look at the data the old filename still appears under the raw data tab instead of the new, revised one.
    What is the best way to edit this information ?
    Any help will be appreciated as this is a semi-urgent matter.
    Thank you in advance,
    Joseph

    So I was missing something. Thank you Hal.
    I had not realised that XMP goes inside of actual image files with those file types. Obviously my new backup routine spotted that, as I was on backuping only modified/new files.
    I would much prefer that also with above mentioned file types XMP-data would be stored in sidecar files instead of modifying the original file. To support this there are two arguments that I think are valid:
    1) modification of the file is always risky (and spesifically, with image originals I prefer to avoid that),
    2) modification leads to the fact that "smarter" backup strategies relying on "full backup" supported with differential or incremental backups lead to unnecessary long backuptimes and media consumption.
    That said, I prefer to have XMP-data also outside of the catalog so that other tools can also utilise it  (further, in addition to the catalog with sidecars I have sort of failover approach, and some of you may now say "belt and syspenders" after mentioning backups...).
    Is there a way to have all file types to utilise sidecars rather that modifying original file?

  • Display data from multiple document Libraries in List View Webpart

    Hi All,
    I want to display data from multiple document libraries into one list view webpart(custom i have created)
    I went through the following link http://blogs.msdn.com/b/ramg/archive/2009/04/22/implementing-a-simple-cross-site-collection-list-view-webpart.aspx
    but it tells to display only from one document library.
    My motive behind displaying data in the list view webpart is to achieve the functionality of Check In ,Check Out and other OOB features.
    With Regards,
    Jaskaran Singh

    Hi,
    As there is no such OOTB feature, a workaround is to create a visual web part to gather items from libraries and implement functionalities like Check in, Check out files
    in different libraries.
    The links below will provide more details:
    Create Visual Web Parts in SharePoint
    2010
    A demo about displaying list items in visual web part:
    http://www.dotnetcodesg.com/Article/UploadFile/2/217/Web%20Part%20in%20SharePoint%20To%20Show%20All%20List%20and%20List%20Items.aspx
    About the Check In and Check Out:
    How to Check In a document programmatically
    SPFile.CheckIn method
    and SPFile.CheckOut method
    Best regards
    Patrick Liang
    TechNet Community Support

  • Can I modify the data type of a dynamic parameter?

    I am using CR2008 against an Oracle 11 db and have a report with dynamic parameters.
    One of the report sources is a custom view that selects all of the possible 'pay ending dates' where one of the fields from this view is used as the source for the dynamic parameter.
    The view performs a TRUNC on the date field in an effort to eliminate the TIME component.
    The problem is that the parameter definintion defaults to DATE/TIME (vs. just DATE). I'm wondering if there is any way to modify the data type of the parameter to be DATE only.
    I've searched several forumns but have not found anything.
    One solution I can think of is to have the custom view format the date field as a VARCHAR (sans the time component) which I assume would force the dynamic parameter data type to string, and then have the report perform a todate function on the value when applying the criteria.
    Anyone else have an idea? Just seems like CR should allow the developer to specify the data type- especially b/w Date and Date/Time, rather than make an assumption.
    Thank you in advance-
    emaher

    emaher,
    Here's what you can do:
    Leave the existing date column as it is in the view...
    Just add another column to the view that casts the the date as a VarChar data type and formats the date as you would like it to be.
    So now you'll have 2 date columns in the view... 1 that's still a date and another that a character string.
    Now for your parameter, use the date version as the parameter value and the text version as the parameter description.
    Be sure to set the "Prompt with description only" is set to true.
    This way the user sees the LoV in the desired format but there's not need to wrangle it back into a date for data selection.
    HTH,
    Jason

Maybe you are looking for