Best practice in writing xmp metadata?

I know to switch off the 'automatically write to xmp metadata' feature. But, after doing this, what is the best way to ensure the xmp metadata does actually stay up to date?
My understanding is that by switching the automatic writing back on, LR goes through the whole catalogue, comparing the data in its database with the data in the xmp files, and every time it finds something different, it copies from the database to the xmp. However, there would seem to be two problems with this. i) it's extremely slow, because it's such a big job, and (b) presumably any changes made elsewhere, eg in ACR, will be overwritten.
The alternative seems to be to right click on the folder while in library mode and select "save metadata". However, for some unknown reason, this is unbelievably slow. What prompted me to write this message is that nearly an hour ago, I did this with a folder of 78 files, and it's still churning away. In that time, I've had time to log on to this forum, read a few messages, do a search to see if there is anything helpful, and then write and edit this. I don't dare try this with the folders I have with three hundred photos in!
The LR catalogue is in a partition with hardly anything else in it, on a different physical drive from LR itself. It gets defragged more frequently than the defrag utility thinks it needs to be. During metadata writing and many other operations, the CPU maxes out at 100% yet only about 75% of my 1GB memory is used.
Is there anything I can do?
I'm on an old-ish PC and am not in a position to upgrade (please - any messages just saying I need a newer computer are not going to be any help :-) ). Any other help would be appreciated.

Thanks, Mel. You just posted as I was writing the previous message!
I think you nailed it. The 78 pictures, I did by right-clicking on the folder name in the right-hand fly-out panel in library and selecting 'save metadata' (hope the choice of words here is clear!). I've just tried the ctrl-a, ctrl-s technique you describe, and it whizzed through a folder of 127 photos in no time.
So, you're right - there appears to be a bug.
One more problem - there was an error in saving to the tifs in the folder. A separate problem which I'll look at tomorrow.
Back to the other part of my original question. What is the most efficient way to keep the xmp data up-to-date? Considering that there's massive scope for human error in having to remember to save manually all the time, this can't, surely, be the best way to do it. What do people generally do, and has anyone evolved a 'best practice'?

Similar Messages

  • "Writing XMP Metadata Did Not Complete Successfully" Issue

    Hi all,
    I've been using Lightroom for a bit now. I'm on V2.5 now.  I just did a new system build and so reinstalled Win Vista 32.  My photos and XMP files are on a seperate external drive and I saved my catalog file (plus did a backup).  When I reinstall Lightroom and did the updates I then copied the old catalog 2 file to the right location.  All my pics were there with edits no problem.  I've done this several times now when I have had to reinstall the OS for various reasons. Never had an isuse
    This time I went back to change some status data on a photo that I took before the reinstall.  When I went to update the metadata I get a message that says "Writing XMP Metadata Did Not Complete Successfully".  I looked in Bridge and the data did not update.  This happens for all my RAW photos that were taken before the reinstall.  I can make changes fine but cannot get the XMP to write.
    Bridge will not make changes either. I tried changing the star rating and color label and it does nothing.
    For files that I have imported after the reinstall it all works fine.
    It is like the old XMPs are locked or the programs can't find them.  I can see them in the file manager so they are all there.
    Any ideas on the problem and how to fix it?

    I don't think they are locked.  I think Vista is just blocking Lightroom.  I went back this morning and deleted a few of the xmp's as you suggested and Lightroom worked fine and wrote the files.  Then I thought about the potential lock issue and tried opening Lightroom "As an administrator".   When I did that everything worked fine.  For some reason Vista won't let lightroom open the older files unless it sees it as the admin.  All works fine now.  Thanks!!
    Glenn

  • Error writing XMP metadata

    I'm running version 1.4.1 under Vista Home Premium. I have imported several hundred jpegs from my HDD and some of these have a downward arrow at the top right of the thumbnail in Library view. On clicking this, a dialog tells me the metadata has changed in Lightroom and I need to save the changes to disk. On clicking "save"I get an error dialog stating "'Writing XMP metadata' did not complete successfully". I've also tried selecting a whole folder of jpegs, or a batch selected by Keyword, and updating them all at once using the "Metadata - Save metadata to files" menu option, but more often than not there are some photos in the batch that will not write the metadata successfully. I have been unable to detect any pattern to the images "chosen" for rejection. I think they are all pictures that were originally scanned from prints, but so were many others that update successfully. The metadata I am trying to update on them consists of Keywords and Capture dates.
    Can anyone suggest how I might get these files to update?

    I posted a similar query a little while ago, and judging from the response this was not widespread so I reasoned it was something peculiar to my catalogue.
    After extensive testing of my set-up I could find nothing - indeed the XMP data APPEARED to be written fine to the XMP segment of the jpegs, etc. and to the XMP sidecar files for the RAW images - just Lightroom was sure it wasn't OK.
    To cut a long story short, I found that I had a spurious and invisible control character in one of my metadata fields. I guess I inserted this character when I was fumbling round the keyboard trying to find the correct key combination for the '©' (copyright) character. Unfortunately I did this when setting my standard metadata template I use on all imports!
    When Lightroom writes the XMP data it doesn't write this control character, however the character exists (invisibly to the Lightroom user) in the catalogue database. As a result the file-based and database versions will never match - with manual or automatic syncing - so you (nearly) always get the 'File Metadata needs updating' arrow icon.
    To check this out you need to choose an image and remove metadata one field at a time - trying the save between each change. When it saves OK then you have found your culprit and can sort out the rest of the images.
    Strictly speaking this is a bug. The interface should show all characters in the database and shouldn't store in the database anything that is invisible in the GUI...

  • Books / links on best practices when writing on-line Help

    Hi everyone
    Not sure were to place this topic...
    I have not posted in here for ages...
    I am a RoboHelp user and I am looking for one or several
    books about best practices when writing on-line help. For examples,
    what are the "rules" or "do's" and "don'ts" for CSS, topic linking,
    number of clicks, links within a topic, index building, etc.
    Just wondering if some people on this forum know about some
    good books where all of the rules or do's would be compiled?
    Thanks in advance for any input.
    Regards

    KeepItSimple,Stupid!
    That is, just because there are neat things like drop-down
    text, marquees, and such, doesn't mean you should use them.
    Stick to the basic HTML fonts and colors (use the
    w3schools web site for all
    things HTML and CSS.
    Instead of styles, create your lists by selecting Normal
    paragraphs and formatting with the Bullet and Number toolbar
    buttons.
    Keep your tables as simple as possible (try not to nest them
    and have all sorts of row and column spans, and try to avoid lists
    and figures, if you can). Also, break up very long tables into
    functional groupings with introductory headings.
    Use
    Peter Grainge's web
    site and
    Rick
    Stone's web site for all the best workarounds and diagnostics.
    Good luck,
    Leon

  • Resolving " Writing XMP Metadata did not complete successfully " Errors

    On certain files, when I try to save the metadata, I get this error - Writing XMP Metadata did not complete successfully
    Does anybody know why and how to resolve the issue?
    Thank you.

    Check if your files are write protected! For RAW files, the xmp sidecar file must not be write protected. For JPG and other non-RAW files, the image file itself must not be write protected.

  • Best practice for writing browser detector?

    I am looking into an old bean that was written several years ago that was supposed to perform a browser detection, however, its function appears solely to look for a regular expression pattern inside a String that is supposed to represent HttpServletRequest.getUserAgent(), however, it never references the request object; it "blindly" assumes it receives a String that looks like a user-agent string.
    Is this a best-practice method for doing browser detection? I would assume that it would have a better performance than having an actual browser detection bean that derives the browser OS name directly from HttpServletRequest.getUserAgent() itself, however, wouldn't it be not as accurate as "direct from the source"?
    Thanks

    Phil_The_Lifeless_Programmer wrote:
    I am looking into an old bean that was written several years ago that was supposed to perform a browser detection, however, its function appears solely to look for a regular expression pattern inside a String that is supposed to represent HttpServletRequest.getUserAgent(), however, it never references the request object; it "blindly" assumes it receives a String that looks like a user-agent string.
    Is this a best-practice method for doing browser detection? I would assume that it would have a better performance than having an actual browser detection bean that derives the browser OS name directly from HttpServletRequest.getUserAgent() itself, however, wouldn't it be not as accurate as "direct from the source"?
    ThanksI really don't understand you. There is no such method as getUserAgent() in the HttpServletRequest object, as mentioned before. I also really don't understand the performance and accuracy concern.
    But anyway, I would after all just say, keep in mind that clients can change/make/spoof request headers the way they want. Use the user-agent information for statistics only and don't let your code logic depend (that much) on it, that would also make no sense in the server side which is supposed to be completely client independent. It's only useful in the client side scripting language Javascript (because it have to take account with browser proprietary API's and browser specific behaviours) and there are much better and reliable ways to do it in Javascript.

  • Writing XMP Metadata did not complete successfully

    The subject line is the message Lightroom 1.3 (trial version installed today) under Windows XP gave me after selecting 102 Photoshop .psd files and trying to 'Save Metadata to Files' with <Ctrl-S>.  Fifty-two of the 102 files failed to update. The directory where these are stored (no files other than the .psd files) now has a bunch of files named 'filename.psd.swp', which are the ones that failed to update the metadata.<br /><br />All of the subject files, as well as the ones that updated successfully, are layered Photoshop files created in October 2004 with whatever version of Photoshop (CS?) was current at that time.  I'm going back and adding IPTC core contact info, as well as locations and 'Date Created' when that was missing.<br /><br />If I open the problem files in Photoshop CS3, make an invisible change and resave them then Lightroom will successfully update the metadata.  But that's a very tedious chore.  The .psd files are anywhere from 15K to 250K in size.  There's no pattern in the file sizes to the ones that failed to update.<br /><br />I've been doing this in Bridge CS3, but got tired of waiting for files to write.  They're on a Buffalo Terrastation on my network.  Lightroom seemed worth a try, editing the metadata in its internal database and then writing the updates to the original files in bulk while I sleep.  But this doesn't appear to be reliable.<br /><br />I didn't fine anything in Help, the Knowledge Base, nor this Forum that provided any clues.<br /><br />Any ideas?<br /><br />Thanks,<br /><br />-- Mark Turner

    I don't think they are locked.  I think Vista is just blocking Lightroom.  I went back this morning and deleted a few of the xmp's as you suggested and Lightroom worked fine and wrote the files.  Then I thought about the potential lock issue and tried opening Lightroom "As an administrator".   When I did that everything worked fine.  For some reason Vista won't let lightroom open the older files unless it sees it as the admin.  All works fine now.  Thanks!!
    Glenn

  • Best Practice for writing device independent DAQ code

    I am looking for the best way to handle a situation...
    I have LabVIEW code talking to a DAQ card that has been configured through MAX. Now I need to change the DAQ card for a different model. I could be using any one of three different models with the same code. What is the best way to setup the LabVIEW code and/or the MAX configuration to handle this situation.
    I know this is all a bit vague, but it's hypothetical for now so I don't have model numbers, etc.
    Thanks

    TobyD wrote:
    I am looking for the best way to handle a situation...
    I have LabVIEW code talking to a DAQ card that has been configured through MAX. Now I need to change the DAQ card for a different model. I could be using any one of three different models with the same code. What is the best way to setup the LabVIEW code and/or the MAX configuration to handle this situation.
    I know this is all a bit vague, but it's hypothetical for now so I don't have model numbers, etc.
    Thanks
    CRELF mentioned on LAVA recently using the project to manage his hardware config.
    I generally avoid using MAX to configure my hardware since maintaining the MAX config along side my app gets complicated. So i do all of my configuration explicitly in LV via code.
    I am going be starting a new porject shortly where I will have to support multiples types of interfaces from serial through DAQ. My intention is to implement the hardware using LVOOP with child classes for each variation of hardware. Depending on the hardware config selected by the end user, I'll just let LVOOP handle all of the dirty work of using the right code for the config.
    Just trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • What's the reason for " 'Writing XMP Metadata' did not complete successfully

    I rightclicked an image and selected "save metadata to file" and got this not-so-very-informative error message. What could be the cause? The file is there and it is not write protected.
    Adobe - what about giving some more information when LR encounters errors?
    Win XP, LR 1.3.1

    While read only is the most likely cause, I have been trying to track down a similar problem which so far I can only equate to the creation time of the file ending in 00.
    For example, I have a file taken at 6/13/2006 1:00:00 PM
    If I do Metadata -> Edit Capture Time...
      and set the time to be 6/13/2006 1:00:01 PM
    Then click twice on the Resolve Conflicts button for Metadata, the second one works.  Both times I tell it to overwrite the metadata on disk.  My assumption is that the data processing logic has issues reading in entries like:
       2006-06-13T13:00:00-08:00
    I would even go so far as speculating it treats them as just the day and drops the hour / minute portion.  The reason for this conjecture is that I stumbled on this issue when exporting images would occasionally have 2006/06/13 12:00AM as the timestamp and when I checked which ones had problems, they all were taken at 00 seconds into the minute.
    Henrik, if you are still having this problem, does the file happen to have a 00 second creation timestamp?  If so, try changing it by a second and I would be curious if you it starts working for you too.
    Cheers,
    John

  • Best practice when writing multi window gtkmm application?

    Hello
    Anyone here who knows gtkmm? I'm in the progress of learning it, and now I'm stuck. I can't really find a good, clean and _working_ way to add more windows.
    For example I want to create a "New project" window where the user have to enter some information, and when the user hits "Create" a new main window opens.
    Right now I have done it like this:
    main.cpp
    int main(int argc, char** argv){
    //tk_init(&argc, &argv);
    Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.gtkmm.control");
    NewProject newProject;
    return app->run(newProject);
    class NewProject : public Gtk::Window{
    private:
    //Stuff for the "new_project" window
    Gtk::Label locationLabel;
    Gtk::Entry locationEntry;
    Gtk::Label descriptionLabel;
    Gtk::Entry descriptionEntry;
    Gtk::Button createButton;
    Gtk::Grid grid;
    void CreateProject();//Callback for createButton
    public:
    NewProject();
    virtual ~NewProject();
    NewProject::NewProject()
    locationLabel("Location"),
    descriptionLabel("Description and notes"),
    createButton("Create")
    set_title("New Project");
    add(grid);
    //gtk_grid_set_column_spacing(GTK_GRID(grid), 5);
    //gtk_grid_set_row_spacing(GTK_GRID(grid), 5);
    grid.add(locationLabel);
    grid.add(locationEntry);
    grid.attach_next_to(descriptionLabel, locationLabel, Gtk::POS_BOTTOM, 1, 1);
    grid.attach_next_to(descriptionEntry, locationEntry, Gtk::POS_BOTTOM, 1, 1);
    grid.attach_next_to(createButton, descriptionLabel, Gtk::POS_BOTTOM, 2, 1);
    //locationEntry.show();
    createButton.signal_clicked().connect(sigc::mem_fun(*this,
    &NewProject::CreateProject));
    show_all_children();
    show();
    NewProject::~NewProject(){
    void NewProject::CreateProject(){
    gProject.location = locationEntry.get_text();
    gProject.description = locationEntry.get_text();
    //printf(gProject.location.c_str());
    //printf(locationEntry.get_text().c_str());
    Glib::RefPtr<Gtk::Application> app = get_application();
    //std::vector<Window*> windows = app->get_windows();
    MainWindow mainWindow;
    app->add_window(mainWindow);
    //mainWindow.Create(); //Create just calls show() on the window, tried it as a simple double check, didn't work
    hide();
    And MainWindow is defined like this:
    class MainWindow : public Gtk::Window{
    private:
    Gtk::Button testLabel;
    public:
    void Create();
    MainWindow();
    virtual ~MainWindow();
    MainWindow::MainWindow(){
    printf(gProject.location.c_str());
    if(gProject.location.empty()){
    printf("EMPTY");
    }else{
    printf("Notempty");
    set_title("asd");
    Gtk::Button testButton("TEST");
    add(testButton);
    testButton.show();
    show();
    //this->project = project;
    //Show the new project window
    //Glib::RefPtr<Gtk::Application> app = get_application();
    //app->add_window(newProject);
    MainWindow::~MainWindow(){
    void MainWindow::Create(){
    show();
    So, why doesn't the window show up? I know the code is executed, because I can see the printf() output in the terminal. Instead of showing the new window, the application just exits "successfully". If I open MainWindow from main, the windows shows up, but opening NewProject from MainWindow doesn't work.
    As I said, I'm pretty new to GTK programming, so I am not completely sure about how I should organize the code, so what I've done here might for what I now, be completely wrong, so please guide me in the right direction I will take a look at other gtkmm applications to see how they have done it, but right now I have a very limited network connections, so I will have to wait until I get home in a few days.
    Thank you I can post more code if needed, but I don't think there is any more GTK relevant code in the project.
    Edit: I kind of solved this case, since I made the NewProject window as a dialoge, so it's fine for now. However, if somebody have a general solution, it would be nice
    Last edited by Hakon (2012-06-22 20:53:42)

    Hello
    Anyone here who knows gtkmm? I'm in the progress of learning it, and now I'm stuck. I can't really find a good, clean and _working_ way to add more windows.
    For example I want to create a "New project" window where the user have to enter some information, and when the user hits "Create" a new main window opens.
    Right now I have done it like this:
    main.cpp
    int main(int argc, char** argv){
    //tk_init(&argc, &argv);
    Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc, argv, "org.gtkmm.control");
    NewProject newProject;
    return app->run(newProject);
    class NewProject : public Gtk::Window{
    private:
    //Stuff for the "new_project" window
    Gtk::Label locationLabel;
    Gtk::Entry locationEntry;
    Gtk::Label descriptionLabel;
    Gtk::Entry descriptionEntry;
    Gtk::Button createButton;
    Gtk::Grid grid;
    void CreateProject();//Callback for createButton
    public:
    NewProject();
    virtual ~NewProject();
    NewProject::NewProject()
    locationLabel("Location"),
    descriptionLabel("Description and notes"),
    createButton("Create")
    set_title("New Project");
    add(grid);
    //gtk_grid_set_column_spacing(GTK_GRID(grid), 5);
    //gtk_grid_set_row_spacing(GTK_GRID(grid), 5);
    grid.add(locationLabel);
    grid.add(locationEntry);
    grid.attach_next_to(descriptionLabel, locationLabel, Gtk::POS_BOTTOM, 1, 1);
    grid.attach_next_to(descriptionEntry, locationEntry, Gtk::POS_BOTTOM, 1, 1);
    grid.attach_next_to(createButton, descriptionLabel, Gtk::POS_BOTTOM, 2, 1);
    //locationEntry.show();
    createButton.signal_clicked().connect(sigc::mem_fun(*this,
    &NewProject::CreateProject));
    show_all_children();
    show();
    NewProject::~NewProject(){
    void NewProject::CreateProject(){
    gProject.location = locationEntry.get_text();
    gProject.description = locationEntry.get_text();
    //printf(gProject.location.c_str());
    //printf(locationEntry.get_text().c_str());
    Glib::RefPtr<Gtk::Application> app = get_application();
    //std::vector<Window*> windows = app->get_windows();
    MainWindow mainWindow;
    app->add_window(mainWindow);
    //mainWindow.Create(); //Create just calls show() on the window, tried it as a simple double check, didn't work
    hide();
    And MainWindow is defined like this:
    class MainWindow : public Gtk::Window{
    private:
    Gtk::Button testLabel;
    public:
    void Create();
    MainWindow();
    virtual ~MainWindow();
    MainWindow::MainWindow(){
    printf(gProject.location.c_str());
    if(gProject.location.empty()){
    printf("EMPTY");
    }else{
    printf("Notempty");
    set_title("asd");
    Gtk::Button testButton("TEST");
    add(testButton);
    testButton.show();
    show();
    //this->project = project;
    //Show the new project window
    //Glib::RefPtr<Gtk::Application> app = get_application();
    //app->add_window(newProject);
    MainWindow::~MainWindow(){
    void MainWindow::Create(){
    show();
    So, why doesn't the window show up? I know the code is executed, because I can see the printf() output in the terminal. Instead of showing the new window, the application just exits "successfully". If I open MainWindow from main, the windows shows up, but opening NewProject from MainWindow doesn't work.
    As I said, I'm pretty new to GTK programming, so I am not completely sure about how I should organize the code, so what I've done here might for what I now, be completely wrong, so please guide me in the right direction I will take a look at other gtkmm applications to see how they have done it, but right now I have a very limited network connections, so I will have to wait until I get home in a few days.
    Thank you I can post more code if needed, but I don't think there is any more GTK relevant code in the project.
    Edit: I kind of solved this case, since I made the NewProject window as a dialoge, so it's fine for now. However, if somebody have a general solution, it would be nice
    Last edited by Hakon (2012-06-22 20:53:42)

  • FIM R2 - best practice handling large AD groups

    On attempting to create large security group (with 35k users) in AD, i get "dropped connection from the domain controller.
    The MS AD guy we have attached here tells me that there are some limitations on LDAP and even some known issues with writing 5k+ objects to a DC.
    Are there any "best practices" for writing large groups to AD?
    /Nicolai

    Well, that is a large group indeed, and I would say most organizations use nested groups instead of adding these behemoths to the directory as they are quite difficult to work with.  If it's a one-time thing, you could create it manually in bite-sized
    chunks with LDIF or the like, so that FIM only has to do small delta changes afterwards.
    The 5,000 member limit mostly applies to groups prior to the change to linked value storage.  What is your forest functional level, and have you verified that this group is using linked values?
    Steve Kradel, Zetetic LLC

  • Can I automate the writing of XMP metadata into JPEG and TIFF files?

    I have written an ASP.NET 3.5 website application on behalf of an annual international photographic competition. Entrants will be uploading digital photos in either JPEG or TIFF format. Ideally, I would write entrant identity and image title information into the XMP metadata for each image immediately after upload - but so far, I have failed to find any way to do this in ASP.NET.
    Thousands of images are involved, so I need to find a way to automate the metadata insertion, perhaps with some sort of script that uses a text file (extracted from the SQL Server database on my website) as the source of the metadata for a batch of images. Is this the sort of task that can be done by writing a script for Bridge CS3? Are there any scripts already in existence that I could use? I am a total beginner in this area.
    I use a Win XP PC, though I have a colleague who, I think, has CS3 on his Mac (running under the Leopard OS), so scripts for either platform might be usable.
    David

    You are the man X!
    Ok here is another version with a check for the dll.
    #target bridge 
       if( BridgeTalk.appName == "bridge" ) {
    addInfo = new MenuElement("command", "Update Entry Details", "at the end of Thumbnail");
    addInfo .onSelect = function () {
         main();
    function main(){
    var csv = File.openDialog("Please select CSV file.","CSV File:*.csv");
    if(csv != null){
    loadXMPScript();
    csv.open("r");
    while(!csv.eof){ 
       strInputLine = csv.readln();
       if (strInputLine.length > 3) {
          strInputLine = strInputLine.replace(/\\/g,'/');
       inputArray  = strInputLine.split(",");
       var csvFile = new File(inputArray[0]);
       var title = inputArray[1];
       var author = inputArray[2];
    if(!csvFile.exists) {
    alert(csvFile + " Does not exist"); //////////Check if file exists
    return;
    if(csvFile.exists){
    var file = new Thumbnail(csvFile);
    try{
    var xmpFile = new XMPFile(file.path, XMPConst.UNKNOWN,XMPConst.OPEN_FOR_UPDATE);
    }catch(e){
          alert("Problem opening xmp for update:-\r" + file.path +"\r" +e.message);
          return;
    try{
    var xmp = xmpFile.getXMP();
    }catch(e){
          alert("Problem opening xmp data:-\r"  + e.message);
          return;
    xmp.deleteProperty(XMPConst.NS_DC, "creator");
    xmp.deleteProperty(XMPConst.NS_DC, "title");
    try{
    xmp.appendArrayItem(XMPConst.NS_DC, "creator", author, 0,XMPConst.ARRAY_IS_ORDERED);
    xmp.appendArrayItem(XMPConst.NS_DC, "title", title, 0,XMPConst.ARRAY_IS_ORDERED);
    }catch(e){
          alert("Problem writing xmp data:-\r"  + e.message);
          return;
    if (xmpFile.canPutXMP(xmp)) {
    xmpFile.putXMP(xmp);
    }else{
    alert("Can not write new metadata to " + csvFile.spec); 
    xmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
    unloadXMPScript();
    function loadXMPScript()
       var results = new XMPLibMsg("XMPScript Library already loaded", 0, false);
       if (!ExternalObject.AdobeXMPScript)
          try
             ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');    
             results.message = "XMPScript Library loaded";
          catch (e)
             alert("Could not load AdobeXMPScript \r" + e.message);
             results.message = "ERROR Loading AdobeXMPScript: " + e;
             results.line = e.line;
             results.error = true;
       return results;
    function unloadXMPScript()
       var results = new XMPLibMsg("XMPScript Library not loaded", 0, false);
       if( ExternalObject.AdobeXMPScript )
          try
             ExternalObject.AdobeXMPScript.unload();
             ExternalObject.AdobeXMPScript = undefined;
             results.message = "XMPScript Library successfully unloaded";
          catch (e)
             results.message = "ERROR unloading AdobeXMPScript: " + e;
             results.line = e.line;
             results.error = true;
       return results;
    function XMPLibMsg (inMessage, inLine, inError)
       this.message = inMessage;
       this.line = inLine;
       this.error = inError;

  • Metadata Loads (.app) - What is best practice?

    Dear All,
    Our metadata scan and load duration is approximately 20 mins (full load using replace option). Business hfmadmin has suggested the option of partial dimension loads in an effort to speed up the loading process.
    HFM System Admins prefer Metadata loads with replace option as there seems to less associated risk.
    Using partial loads there appears to be risk to cross dimension integrity checking, changes are merged, potentially duplicating of members when moved in Hierarchy.
    Are there any other risk with partial loads?
    Which approach is considered best practice?

    When we add new entities to our structure and load them with the merge option, they will always appear on the bottom of the structure. But when we use the replace option they will appear in the order that we want it. For us, and for the user friendlyness we always use the replace option. And for us the Metadata-load usually takes at least 35 minutes. Last time - 1.15...

  • Best practice to populate metadata of the content based on the folder

    Hi,
    What is the best practice to follow to automatically populate metadata of a content being checked-in based on the folder in which it is coming in?!
    The folder I have may be a contribution folder or a collab project folder.
    But I would like to populate the metadata of the content automatically when the content is dropped into a folder using the desktop integrator.
    Thanks,
    Leo

    Yes Leo, that's correct, all documents inheriting the metadata of the folder and the option to propagate changes to documents and sub-folders is out-of-the-box functionality.
    Just create a folder and set the metadata fields you want, then add some documents via the desktop integartion or simply via webdav (you can map ucm as a web folder in windows explorer without having to install the UCM desktop integration).. all the document should have the folder's metadata by default.
    Give it a try and let me know how you go.
    Regards,
    Juan

  • What do you find to be best practice when it comes to writing AS code to manage a big app ?

    Right now I am considering 3 options:
    1) I write all the code in a root component that extends group for example like this:
    <s:Application>
         <s:AppGroup>
                   <s:List />
         </s:AppGroup>
    </s:Application>
    So in it I will write the code to manage the list. Ok but Imagine now I have 10 views inside that AppGroup each having a list which needs to be managed. So here comes my option 2.
    2) I write code in the AppGroup component to manage what's on it's level and for new level (view for example) I create another component like ViewGroup1, ViewGroup2 etc which extends group or something else and I write code in it to manage what's inside of it. This looks like this:
    <s:Application>
         <s:AppGroup>
              <s:ViewGroup1>
                   <s:List />
              </s:ViewGroup1>
              <s:ViewGroup2>
                   <s:List />
              </s:ViewGroup2>
         </s:AppGroup>
    </s:Application>
    So this time the code to manage the views will be in AppGroup and the code for managing the Lists will be in the ViewGroup1/2 component.
    3) of course sometimes mixed architecture if for example the ViewGroup1 is very simple and doesn't have list but a label or something like that the code could be written in the AppGroup.
    What do you think of this code structure? Is my logic good or there's something else considered a best practice at the moment ? Thanks!

    Thank you all for the thoughts. Could we please stick to flex only for now...
    Currently I have a project where I see this structure:
    <Application creationComplete="init();">
         <fx:Script source="MainApp.as" /> - all initialization code is here
         <components /> - many components
    </Application>
    In the creation complete of the Application which is in MainApp.as, dataProviders are set and a controller class is initiated to which the Application is passed as Object and everything is manipulated from that controller. As you mentioned I guess you can always create additional controllers and pass them the Application or some other components from which they could start controlling so to speak.
    I am not sure if this structure is good or not, I started comparing it with mine and I ended up here...
    What I see at this point compared to mine is that:
    - in the included MainApp.as in Application I have question marks when i type something like "stage" in a function, I needs me to type "this.stage", which I don't like. To me it looks like including is bad and maybe everything should have started with creationComplete in the Application mxml with importing and initiating the controller with passing him the Application right away. Is that correct?
    - in the example given above, after MainApp initiates the controller by passing him the Application, the controller looses all of the nice code hints since now the Application is an object... maybe it's wrong for it to be object ? Should it be something else?
    Compared to my approach when I separate my logic into AS Group which is then extended as MXML Group. All I have to do is declare the instances in AS which I have as IDs in MXML and voila... I can control them and write their logic with all the nice code hints present.
    So basicly at this point you say instead of extending Group in AS every time I want to separate logic, write a controller right ?
    Here is what I summarized for now:
    1) Create a RootController class
    2) Initiate it in the creation complete of the Application passing the Application (as what type - object or something else?)
    3) manage all logic in that controller
    4) if parts of the application are too complex they can be separated into additional controllers.
    5) the RootController can initiate SubControllers which can initiate SubSubControllers
    6) to all controllers a component must be passed as a starting point for the logic
    Is this correct? If yes, what about the code hinting compared to my approach?
    Would be very nice if someone of you could make a very very very simple app with the model you are talking about, or if you have an article you took it from share the link! Thanks!

Maybe you are looking for

  • Mac formatted iPOD to windows

    My ipod is formatted for my powerbook itunes the trouble is i have itunes also on a pc that has a different music library and iwant to be able to add the pc library to my ipod without having to re-format it to windows and loose all my data.I do not h

  • How do i charge my usa i touch in uk if i do not have PC?

    I am travelling to the UK and will not have access to a computer , using a regular adapter can I plug the i touch directly into UK electric socket or will this damage the unit due to voltage difference Pls advise

  • PeopleSoft FSCM , Account Payable i got error

    Hi All, I got error while creating new voucher in AP module , origin missing on your operater profile. How to define origin , where can i define . Navigation : Main menu --> AP -->Vouchers -->Add/Uppdate -->Regular Entry and one more issue i have , H

  • Macbook Pro (2012) keeps crashing

    My new macbook pro (one month old) keeps crashing. I think I get a kernel panic, but I'm not sure. My "crashreporter" folder is empty despite my macbook having crashed several times, and I don't know why this is. But this time I copied the crash repo

  • Can I customize the Spell Checker?

    I am new to Pages coming from Office... In Office, I can customize the Spell Checker to do many things. It will let me have it "auto-correct" any misspellings I commonly make... like if I type "dont" it will automatically change it to "don't". Does t