MetadataDeluxe / adobe_bridge_custom_export-import

User customizable Adobe Bridge JavaScript plugin to export and import embedded XMP metadata using tab-delimited text files.
MIT License
4 stars 0 forks source link

Export Process Did Not Export All Metadata Values and Import Process Did Not Import All Metadata Values #4

Open UXPublishing opened 1 year ago

UXPublishing commented 1 year ago

I just starting using the custom export import script in the latest version of Adobe Bridge on Windows 10. I tried to export a bunch of metadata fields for a folder of PDFs, I edited the metadata values in Excel, I saved the changes as a Unicode 8 text file, and then I tried to import the text file back into Adobe Bridge.

The file exported by Adobe Bridge Custom Export Import is missing a lot of metadata values. The metadata values display in Adobe Bridge so they exist. The import process didn't work as expected. The import file contained values for every PDF file in the folder. However, after the import process completed, only a handful of files contain the new metadata values. The files that received new metadata aren't the same files that properly exported the metadata either.

So then I tried to use Adobe Bridge CS5 to repeat the whole process. The same issues occurred.

Would you be able to help me troubleshoot this issue?

MetadataDeluxe commented 1 year ago

Yes, I can help troubleshoot this. Were you exporting/importing to files in subfolders? Can you share your text and Excel files?

UXPublishing commented 1 year ago

Thanks! I was not using the subfolders option. I tried using the selected files option and the folder options during the export process. I used the folder option without the subfolders option during the import process.

Screenshot of a Subset of the PDF Files Keywords in Adobe Bridge: image

File Exported from Adobe Bridge Using the Custom Export Import script: 0Custom PDF Custom Metadata Panel_metadata_2023-05-22.txt 0Custom PDF Custom Metadata Panel_metadata_2023-05-22.txt

File Imported into Adobe Bridge Using the Custom Export Import script: 0importpagecount.txt 0importpagecount.txt

I was worried that maybe the PDF files were corrupted so I opened a few files and they worked fine.

MetadataDeluxe commented 1 year ago

Looks like you are using a custom field list ( I see some PRISM properties). Can you share that file? You can locate it by clicking "Manage" when you are in the "Edit Fields" window.

Which fields did not export as expected in 0Custom PDF Custom Metadata Panel_metadata_2023-05-22.txt ?

UXPublishing commented 1 year ago

Yes, I did try to export custom columns, mostly from the PRISM standard. Some Prism metadata (e.g. ISBN Prism) values did populate for a few PDF files. So I am not sure if the custom columns were incorrectly configured.

Also, the metadata for standard columns like Title, Description, Keywords, Publisher, and Creator also were not populating for every PDF file, even though the metadata values exist. Some metadata was entered in Calibre and some metadata was entered in Adobe Bridge CS5.

Here is the custom metadata file you requested. Custom PDF Custom Metadata Panel.txt

MetadataDeluxe commented 1 year ago

For the import, I think the problem is that some filenames are surrounded by quotes. "Be Very Afraid - The Cultural Response to Terror, Pandemics, Envastation, Nuclear Annihilation, and Other Threats [Oxford 2010].pdf" 305 305

The filenames have to match exactly, so the quotes make it a mismatch.

Probably, the quotes were added by Excel when it generated the .txt file. Excel will add quotes when a comma exists in a cell. I did not think of this happening in the filename field, but I could edit the code to compensate for it.

For now, can you try doing a test by opening 0importpagecount.txt in a text editor and removing all the quotes (") ? You could try it with just one PDF that failed to import and see if that's the problem.

UXPublishing commented 1 year ago

Sure, I'll test that right now.

FYI I just ran a different test where I exported only a few standard metadata fields using this file. Standard Fields Test.txt

The same issue occurred, where clearly Titles, Descriptions, Creators, and Keywords were not exported. I am now wondering if the export import tool is reading historical metadata from the PDF file, if that is possible. I thought I read somewhere in the RAW metadata that there is revision history.

UXPublishing commented 1 year ago

I tried removing the quotations around the filenames that included commas. 0importpagecount - without quotes.txt

Unfortunately. the import process still did not write Page Counts to many PDF files. Filenames without commas are missing values and filenames with commas are missing values. The issue isn't easy to solve!

MetadataDeluxe commented 1 year ago

For the custom metadata fields file, I see a few problems. First I have to apologize because creating the file is cumbersome and the instructions could be better.

  1. The XMP_Property must contain the prefix and the property name separated by a colon, e.g. dc:title I don't know the prefix for PRISM, but I think it's "prism". If so, the correct XMP_Property would be prism:subtitle (as an example).
  2. The XMP_Type must match the property specification. I couldn't find the PRISM 2.0 spec, so I can't confirm what they should be.

For both of these issues, if we can't get the schema XMP specifications, the easiest way to make the export work is to look at the raw XMP metadata for a PDF that has metadata in all the fields you want (or as many as possible). To do this, open Bridge, select a PDF, open File Info (Cmnd/Ctrl+i), select "Raw Data" on the left, copy and past the entire XML text shown in the window. This will tell us the XMP_Property and XMP_Type

image

UXPublishing commented 1 year ago

Ok. Thanks for the tip. Yes, prism is the correct prefix. I had to use that while setting up a different extension (Custom Metadata Panel). Should I update the property values via the GUI? for instance: XMP_Property: prism:isbn instead of XMP_Property: isbn

Earlier today, when I tried edited the text file directly, the Bridge extension was buggy and wouldn't let me import predefined custom fields. I had to uninstall, delete some configuration folder where the file was stored, and then reinstall and setup the extension. I got it to work again, I just didn't want to deal with that bug while troubleshooting a different issue.

Edit: Actually, I just tried to add the prism prefix via the GUI and Bridge crashed. I couldn't see the error message in time. Error Message: Invalid subscript. I restarted Bridge and tried adding the prefix again and it seems to work. The error message only appears the first time I edit a field.

MetadataDeluxe commented 1 year ago

It might be better to edit the custom metadata file directly. When you run the export script, it should load the custom file and configure the fields. You can open the custom field GUI to confirm the fields loaded as expected.

Are you using Bridge 2023? It is very buggy and I've been thinking of making a new version of the script that eliminates the GUI customization and moves into the JavaScript code directly (you edit a similar list of fields in the script code).

BTW, I am a big fan of the Custom Metadata Panel. If needed, I can look at your config file for that and help make this export/import config compatible.

MetadataDeluxe commented 1 year ago

I forgot to say - yes, XMP_Property: prism:isbn instead of XMP_Property: isbn

UXPublishing commented 1 year ago

So after I added the prefixes for all the custom metadata fields (via the GUI), I tried to export all the defined fields. Unfortunately, the issue still persists. Standard and Custom metadata fields are not exporting for all the PDF files.

Yeah, I am using Bridge 2023. The Custom Metadata Panel wouldn't work with Bridge CS5 so I installed Bridge 2023 this week. I'm a novice when it comes to writing Javascript so that's why I was hoping to get your extension to work. :)

Here is the json template for the Custom Metadata Panel. As far as I can tell, all the metadata values are populating as expected for all of the custom fields that I added. I am pretty sure I used the same prefixes, name spaces, properties, and data types for both the Custom Metadata Panel and your extension. testjson.zip

MetadataDeluxe commented 1 year ago

Thanks. I'll have a look and get back to you as soon as I can.

UXPublishing commented 1 year ago

No problem. Thank you so much for your assistance!

MetadataDeluxe commented 1 year ago

Would you like the export fields to match the Custom Metadata Panel fields exactly - same names, same order?

UXPublishing commented 1 year ago

Hi,

Yeah, that would be great as long as the solution won't "break" if the Custom Metadata Panel fields change.

I am planning to remove and/or re-sort the Custom Metadata Panel fields after I test my workflow some more.

Thanks!

On Mon, May 22, 2023, 10:53 PM Metadata Deluxe: Embedded Metadata < @.***> wrote:

Would you like the export fields to match the Custom Metadata Panel fields exactly - same names, same order?

— Reply to this email directly, view it on GitHub https://github.com/MetadataDeluxe/adobe_bridge_custom_export-import/issues/4#issuecomment-1558572868, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU4HSG53DI2SXWT47ZYA63DXHRGGNANCNFSM6AAAAAAYLH2G54 . You are receiving this because you authored the thread.Message ID: <MetadataDeluxe/adobe_bridge_custom_export-import/issues/4/1558572868@ github.com>

MetadataDeluxe commented 1 year ago

I got an error with the custom metadata panel config file. Filename field (PreservedFileName). "-XMP-xmpMM" should be "xmpMM"

UXPublishing commented 1 year ago

I think I used "-XMP-xmpMM" because of something written in an Exiftool forum. In a test, a few days ago, I used Exiftool GUI to populate the PreservedFileName. Afterwards, I opened the PDF in Bridge and I successfully saw the PreservedFileName value in the corresponding Custom Metadata Panel field.

UXPublishing commented 1 year ago

I decided to retest the export and import processes using 3 different folders of PDF files.

You were correct that the Excel text file quotation marks were part of the problem.

It seems the import process may working as expected. Although, I may not have configured some metadata columns correctly.

I am not sure what is different between the folder of PDFs I tested yesterday and the folder of PDFs I tested today.

MetadataDeluxe commented 1 year ago

Attached is the script custom fields file I came up with and I was able to export and import to a test PDF with metadata created by the Custom Metadata Panel. TEST_Custom_PDF.txt Copy it to the same folder as your other fields file then run the script again. When you click "Load Saved Custom Fields" select the new list. image

MetadataDeluxe commented 1 year ago

The script customization GUI works better on Bridge 2022. Depending on your Adobe account, you might be able to install it. I think it depends on your account history, but I'm not certain.

In Creative Cloud Desktop, open the ... menu beside Bridge and click "Other Versions" (if it is there). image

UXPublishing commented 1 year ago

Thanks for the updated file. Using both Bridge CS5 and Bridge 2023, I tried exporting metadata from the problem folder and most of the metadata values were exported. Some PDF files still don't have metadata values though.

Apparently, I don't have the option to downgrade in my Creative Cloud Desktop app. That seems to be a problem for a lot of people.

Thank you so much for your assistance! If you need any help testing or improving your script's user experience, please don't hesitate to ask.

UXPublishing commented 1 year ago

Do you know how I can "purge" the script and all related files and history?

I tried disabling the startup script and then removing the actual jsx file from the startup scripts folder, but I can't seem to get the script to run at all anymore. I am not sure what changed but now both Bridge CS5 and Bridge 2023 won't run the Custom Export Import script from the menu bar. Nothing happens when I click on the button.

I just uninstalled Bridge 2023. I may uninstall Bridge CS5 if I can't remove all the script related files.

MetadataDeluxe commented 1 year ago

There might be a small error in custom field list .txt file. I had that problem when I was testing the PRISM fields. I had a double quote instead of a single quote.

Aside for the script .jsx file, the only other associated files are in the folder "Metadata_Deluxe_Import_Export" which is the parent folder where the custom fields lists are.

You can delete the folder "Metadata_Deluxe_Import_Export" and when the script runs again, it will recreate it. You'll have to add you field list .txt files again.

UXPublishing commented 1 year ago

I didn't find any quotation marks or double single quotation marks in the custom field text file.

I just uninstalled CS5, and removed, I hope, all the program and common files related to Bridge. Once Bridge reinstalls, I will try to install the Custom Export Import startup script. If I can't access the Metadata_Deluxe_Import_Export folder via the script GUI, would you be able to provide the folder path so I can use Windows Explorer to open the folder?

MetadataDeluxe commented 1 year ago

For Windows: C:\Users\Computer User\AppData\Roaming\Metadata_Deluxe_Import_Export\

I'm not sure for Mac, but I think it's: /Library/Application Support/

MetadataDeluxe commented 1 year ago

I can check your custom field text file, if you would like. A very minor mistake can cause a problem. I need to add a safeguard for this that still allows the script to open with a warning message.

UXPublishing commented 1 year ago

I have tried uninstalling CS5 Bridge in a few different ways (Adobe cleaner, standard uninstall all CS5 and deleted program and common files that might be related to Bridge. Every time, I deleted the Startup Scripts folder. Somehow the MetadataDelux script is still installed, but the Roaming Metadata_Deluxe_Import_Export folder is not found. That may be the problem.

Here is the custom field text file. I did rearrange the order of the fields inside the file. Perhaps that caused the initial issue. custom_export_import_Custom_PDF.txt

I am going to try and remove the Metadata Deluxe folder and start Bridge again. Edit: Ok after I removed the folder, the script started working again. I'll try to load the field list text file now.

MetadataDeluxe commented 1 year ago

custom_export_import_Custom_PDF.txt looks fine to me and it worked for an export.

UXPublishing commented 1 year ago

Thank you so much for your assistance, again! The script is working again. The solution was to delete the Metadata_Deluxe_Import_Export folder. I am not sure if uninstalling CS5 and deleting folders all helped solve the problem.

MetadataDeluxe commented 1 year ago

Glad it's working. The custom list GUI was meant to avoid errors, so it's frustrating that it doesn't work in Bridge 2023. I reported it to Adobe so hopefully it will get fixed.

MetadataDeluxe commented 1 year ago

Another thing to note is that the column headers in your export/import spreadsheet must match the Label: in your custom fields text list. for example: Label:'ISBN plus' must have the column header 'ISBN plus'

You can change these as long as they match.

The order of the columns does not have to match the order in the custom fields text list. The script looks for the Label value to match a column to an XMP property.