Several unrelated tools are lumped together:
* Bulk Update * Shop Item Generator * XML Template Generator * XML Converter * Content Indexer
The XML tools were created in order to ease the labour of bulk upload. You don't want to pay an other secretary to click through the PO web interface set all fields and type in captions. You need some kind of automated way to assign the exisiting shooting data to each of your photo before upload, then let PO do the rest. That's why you need XML files.
You can convert your exisiting shooting data files into XML, which than can be used to automate bulk upload. So far three formats are supported:
\\ \\ [[http://balint.k-i-s.net/sw/gicon|gIcon]]
As first step of the conversion, you have to select a shooting data file you want to convert. The system will analyse the format and apply the proper converter. You will be promted with a dialog, to input default values, and specify the equipment used to take the photos. This is more ore less automatic, but some times it isn't possible to determine the used equipment. Say one of your photos were taken with focal length 105. In your profile you have a fixed 105 and a 80-200 zoom. Since the focal length matches excatly the fixed 105 mm lens, that lens will be selected as default, but you can override and select the zoom instead.
In case you have created your profile, the converter will include identifiers of all your equipment used in the creation of the photo, as well as the high resolution image name. The images to be uploaded must have a well formed name of the following format:
A valid filename woule be “F00293.0023.jpeg”, where “<filename>” is “F00293”, the “<number>” is “0023” and “<extension>” is “jpeg”. The files must be in continous series, should there be gaps in the file name sequence you will need to edit the XML file which can be complicated.
After pressing the “Convert” button the XML file will be generated, which you will have to copy and paste into an other document.
Most of you might not have a Nikon system and so perhaps the shooting data might be in some kind of other format, say Excel sheet. If you need converters from other formats send a mail to firstname.lastname@example.org to discuss your request.
The XML generator will compile an empty XML file where certain tags like the file name and the storage location are filled out accoridng to your specification. Other fields can be set to default values, which you can alter afterwards.
Now that you have got your XML description file we can proceed and perform a bulk upload. First copy the XML sequence that is displayed by the XML converter | generator into a file called “data.xml”. Review the XML file that all attributes are fine, double check dates, permissions, storage location and most of all write detailed captions to your photos.
A sample XML file would look like this:
<?xml version="1.0"> <!DOCTYPE BULKUPLOAD SYSTEM "http://www.k-i-s.net/sw/po/demo/po.dtd"> <bulkupload> <folder id="9"> <photo title="Title"> <file name="F.0023.0012.jpeg" remark="Version Remark" master="yes"/> <file name="F.0023.0012.tif" remark="Version Remark" /> <author>Bálint Kis</author> <keyword>Keyword_1 Keyword_2 Keyword_3</keyword> <caption>Caption</caption> <copyright>Copyright Statement</copyright> <web_statement>URL to a Web Statement, must start with http:// and end with /</web_statement> <caption_writer>Caption Writer</caption_writer> <category>ABC - limited to 3 ASCII characters, the rest - including this comment - is truncated.</category> <supplemental_category>Supplemental Category</supplemental_category> <credit>Credit</credit> <source>Source</source> <headline>Test Headline</headline> <instructions>Special Instructions</instructions> <transmission_reference>Original Transmission Reference</transmission_reference> <expdate year="2003" month="9" day="30" /> <location id="1" /> <storage type="TRAY" id="23" idx="69" /> <access type="protected" original="owner" /> <camera id="2" meter="matrix" prog="manual" speed="1/125"/> <lens id="4" focal="85" apert="3.2" /> <filter id="2" /> <film id="2" override="40" /> <flash id="1" mode="normal" comp="+0.3" /> <scanner id="2" dpi="2700" bitdepth="8" pass="1" /> <support id="1" /> </photo> <photo caption="Garry and Shane" /> <file name="F.0023.0016.jpeg" /> <access type="public" original="owner" /> </photo> <photo caption="Spider macro with big eyes - so scary."> <file name="F.0023.0015.jpeg" /> <access type="protected" original="all" /> <camera id="3" meter="center" speed="1/40" comp="+0.7" /> </photo> </folder> <folder id="10"> <photo copyright="2003 © Bálint Kis"> <file name="F.0039.0042.jpeg" /> <access type="private" original="owner" /> </photo> </folder> </bulkupload>
Let's see how is an XML document organized. For those not familiar with the XML volcabulary, the so called tags are colored with royal blue, the attributes are medium sea green and the attribute values are tan. The document has two parts, the first part describes the document version - which is the first line in our case - while the second part is the content of the XML file.
Photo Organizer uses a three layer XML architecture. The first layer describes the operation, that is <bulkupload> in our case. In the future Photo Organizer will support other operations mainly to automate photo processing, but for now bulk upload is the only recognized operation. The end of the bulk upload description is marked by the </bulkupload> end tag.
The second layer is embedded in the <bulkupload> tag and consistst of multiple <folder> tags. Everything that is described within the <folder> tags apply on the specified folder. In our case we will operate on folder with identifier 9 and 10. So far the XML file tells the system that we are going to perform a bulk upload into folder with identifier 9 and aferwards into folder with identifier 10. The folder identifiers are important to be correct, this was one of the main reasons to introduce XML tools.
The third layer is embedded into the <folder> tag and consists of multiple <photo> tags. The <photo> tags describe each photo that will be uploaded into the folder that contains them. We will upload three photos into folder 9 and one photo into folder 10.
The first photo description - with file name F.0023.0012.jpeg - contains all tags and attributes that are recognized by Photo Organizer. Each tag describes a certain property of the photo. As you can see not all tags and attributes are mandatory but the <file> tag, which is the most important one because this links the physical picture file with the photo description. All other tags are optional.
Just like for folders the equipment and the shooting location is described with identifiers. If you are not using the XML generator to create an XML template, you can create your own XML document, but you will need to extract the equipment identifier which are displayed in your profile.
Now that you have your XML document let's compose the compressed file for upload. In our case we copy _five_ image files into a directory together with the XML description file named “data.xml”. We chose to upload five images out of which only four are described by the XML file, to illustrate the system's flexibility. Zip or tar the file into one compressed file (you can use “.zip”, “.tgz”, “.bz2” or plain “.tar”) and upload the compressed file as you would do with any other photo file. In the same upload dialog, fill in the default shooting data - which will be applied on images not described by the “data.xml” file.
Photo Organizer will recognize that you are uploading a compressed file, that will be uncompressed. The system will seek first for a file called “data.xml” - that is found in our case - and will start parsing the document and it will upload all image files found in the XML description file. When the document parsing is complete, the system will check if there are any other image files left - not described in the XML description file. In our case there is one image file, that will be also uploaded. For this image the default shooting data will be applied.