Upload via FTP
If you are not using the SCM to upload your files, you can upload via FTP. You will need the following information and files:
- An FTP application
- An FTP account for the staging server (ftp.bvdep.com or ftp-bow.bvdep.com)
- One or more Safari user accounts on the staging server
- Metadata.xml
- FPID.epub or FPID.pdf
- 4 cover images
- Companion files/Extras
NOTE: Companion files/Extras should be uploaded to your separate EXTRAS ftp account, in a folder named for the FPID. See the Companion Files/Extras chapter for details. It’s best to upload the related files prior to uploading the metadata containing the <relatedfiles> element.
- E-formats: EPUB and MOBI files for token downloading should be uploaded to your EXTRAS ftp account, in an /FPID/e-formats folder. See the Offline Reading Options chapter for details.
File and Folder Structure
Here is the file and folder structure of a book ready for upload to ftp.bvdep.com (before it is zipped):
- FPID
- metadata.xml
- fpid.epub1
- fpid.pdf1
- fpid_cs.jpg
- fpid_xs.jpg
- fpid_s.jpg
- fpid_large.jpg
Metadata.xml
Metadata associated with a book, including such details as MSRP, author, page count and publisher, should be included in a file named “metadata.xml”. The metadata specifics are detailed in the Metadata chapter.
The following XML version header should be included at the top of each metadata.xml:
<?xml version="1.0" encoding="utf-8"?>
Cover Images
When uploading via FTP, Safari requires four copies of the cover art at different sizes. Widths should take their maximum value, and heights should take the appropriate value to maintain the aspect ratio of the original cover image.
Safari requires a particular naming convention be used for these files:
- FPID_cs.jpg, which must have a maximum width of 42 pixels.
- FPID_xs.jpg, which must have a maximum width of 76 pixels.
- FPID_s.jpg, which must have a maximum width of 145 pixels.
- FPID_large.jpg, which must have a minimum width of 400 pixels.
For more details on the Safari FPID, see the Files and Metadata Overview chapter.
Prepare a Book for Upload via FTP
Follow these steps to prepare a book for uploading to the Safari staging server:
- Create a folder using the FPID for the book. The FPID must be unique (across all of Safari) and must match the FPID used in metadata.xml.
- Place the EPUB or PDF and metadata.xml for the book into the FPID folder.
- Gather the 4 cover image files into the FPID folder.
- Create a ZIP archive called FPID.zip containing the book folder prepared using steps 1–3 above.
- The archive must be constructed so when it is unzipped it will create the FPID folder in the current directory. (Mac OS X's built-in compress function makes zip files that contains Mac specific information that, when extracted on a PC, looks like garbage. If you're zipping on a Mac, use a utility such as YemuZip that lets you choose a PC-friendly zip format.)
- Create a text file called FPID.txt for the trigger. The FPID.txt file must contain the keyword “update” (without the quotes).
- Using your FTP login information, FTP the .zip file to ftp.bvdep.com.
- Once the .zip is completely finished uploading, FTP the .txt file to ftp.bvdep.com. It is important to send this file after the .zip file is uploaded, so that the staging server does not attempt to process a .zip file while it is still being transferred.
The system constantly monitors the FTP for new content and will upload the updates as soon as it detects a trigger file.
Indexations Schedule
The title will not appear on the staging server (http://bowindex5.bvdep.com/) until indexation is complete. Safari indexations of the staging server occur approximately every three to four hours. You can access our Indexations Dashboard at http://safaridatabo.bvdep.com/dashboard/ to see if the upload has been successful and to access the log.
Indexations of the live server occur nightly.
Testing on the Staging Server
Safari has an internal QA process for accepting brand new titles to our live site, but we recommend the following minimal testing requirements:
- Check that TOC links work (and take you to the correct page).
- Spot-check that index links work (and take you to the correct page).
- Check for missing images and unreadable or blurry images in book content.
- Make sure that the book cover images are displaying properly in the UI.
- Check to make sure chapter numbering is correct. For example, open the first page of Chapter 3 in the reader and verify that it does indeed say “Chapter 3.”
- Check to make sure ALL pages are visible and in proper order.
- Make sure all fonts are displaying correctly.
- Check that chapter tokens and downloads are correct.
- Verify that downloaded PDF content displays properly and matches what you uploaded to the staging server.
- Make sure that all Extras content is present.
Modifying a Staged Book
To modify a book already uploaded to the staging server, follow the steps outlined for a new book. You may omit any file from the ZIP archive that has not been modified, speeding the reprocessing time.
There is no publisher-controlled method of removing books from the staging server.
Modifying a Live Book
To modify a book that is live on Safari, first upload the modified content to the staging server. Then test the corrected book on the staging server and upload a promotion trigger to your /promote folder, as described in Promotions to the Live Server. The book will be uploaded to the live site in the next indexation.
Complete List of Updating and Promoting Options (Including Multiple Titles)
Updates to the Staging Server
Full Update (Single Title)
Files are uploaded to the FTP root:
- FPID.zip: contains an FPID folder and within that folder, the book files as described in Preparing a Book for Staging.
- FPID.txt: contains the “update” keyword.
Metadata Update (Single Title)
Files are uploaded to the FTP root:
- FPID.zip: contains an FPID folder, and within that folder, the metadata.xml file (any book files present will be ignored).
- FPID.txt: contains the “metadata” keyword.
Metadata Update (Multiple Titles)
Files are uploaded to the FTP root:
- metadata_nnn.zip: Contains one folder per title, named with the FPID, and within that folder, the metadata.xml file; nnn is replaced with a sequence number or any value that will give the file a unique name for uploading. The contents of this file would be similar to:
9780596522506/metadata.xml
9780596102340/metadata.xml
- metadata_nnn .txt: Contains the list of FPIDs that are present in metadata_nnn.zip
This allows multiple independent uploads in the same folder, such as:
metadata_046.zip
metadata_046.txt
metadata_047.zip
metadata_047.txt
Note that the system will split the multiple metadata uploads into single files named for the FPIDs, and will process them that way, so you may not see your metadata_nnn .zip file after uploading.
Promotions to the Live Server
Full Promotion (Single Title)
Trigger files are uploaded to the /promote folder:
- FPID.txt: contains the keyword “promote”; this FPID will be fully promoted to the live server.
Metadata Promotion (Single Title)
Trigger files are uploaded to the /promote folder:
- FPID.txt: contains the keyword “promote_metadata”; the metadata for this FPID will be promoted to the live server.
Full Promotions (Multiple Titles)
Trigger files are uploaded to the /promote folder:
- promote_nnn.txt, where nnn is replaced by a sequence number or any value that will give the file a unique name for uploading. Contains the list of FPIDs to fully promote to the live server.
Metadata Promotions (Multiple Titles)
Trigger files are uploaded to the /promote folder:
- promote_metadata_nnn.txt, where nnn is replaced by a sequence number or any value that will give the file a unique name for uploading. Contains the list of FPIDs for which the metadata is to be promoted to the live server.
- Only include one format or the other for new titles. Both formats can be included for legacy titles that are already dual-format. ^