Updating Events

Top  Previous  Next

Events can be edited using the Event Editor and then copied to the iPad using either a web site or via Dropbox. The same interface for updating events is presented to the user for both options:

 

events screen run or update

 

Tap on "Refresh list" to update the list of events available to the iPad. This will download the events.xml file containing a list of events and an event_info.xml for each event containing more detailed information about each event. Tapping "Refresh list" does not update any events: it only updates the list of available events.

 

Tap on "Update all events" to refresh the list of events and update each event. Alternatively left swipe on an event in the list and select "Update" to update just that event.

 

An event can also be updated while it is running by creating a "Sync event" touchscreen action.

 

Updating via Dropbox

Events can be updated via Dropbox. This provides a convenient and secure way to update events without requiring a website. It can also save time when editing events because the event information is available to downloaded to the iPad as soon as it is saved on the apps' Dropbox folder on the PC.

 

For a simple introduction see this blog post.

 

In order to use Dropbox to hold events you need to sign into DropBox from the app settings screen. When you tap "Sign in to Dropbox" the official Dropbox app will open on the iPad and ask you whether you want to allow Breeze Booth to access the folder Apps/Breeze Booth in your Dropbox account. Tap "Allow" to allow Breeze Booth to access this folder.

Please note: Breeze Booth will only be allowed to access files within the Apps/Breeze Booth folder in your Dropbox account. It will not be able to access any other files in your Dropbox account.

 

An error message will be displayed ff the official Dropbox app is not installed on the iPad when you tap "Sign in to Dropbox".

Tap "Sign out of Dropbox" to sign out of Dropbox if access is no longer required.

 

Security

Once signed in to Dropbox Breeze Booth will be able to access the Apps/Breeze Booth folder in your Dropbox account until you sign out of Dropbox from the app settings screen or you revoke the app's access from your Dropbox account.

Please either sign out of Dropbox from the Dropbox app or uninstall the Dropbox app after signing in from Breeze Booth. This will ensure that unauthorized people will not be able to access your Dropbox account if they get hold of the iPad. Breeze Booth will still be able to access the Apps/Breeze Booth folder even you have signed out from the official Dropbox app or it has been uninstalled.

 

After signing in to Dropbox from Breeze Booth a folder named Apps/Breeze Booth will be created in your Dropbox account. Create a subfolder named 'events' in this folder and then copy the events.xml file and the event subfolders into the events folder. It should look something like this:

 

dropbox

 

By default the app will download events from the Apps/Breeze Booth for iPad/events folder in your Dropbox account.

You can specify a different folder by entering its name in the "Dropdox sync prefix" setting in the App Settings screen e.g. setting the Dropbox sync prefix to "weddings" will tell the app to look for events in the Apps/Breeze Booth for iPad/events/weddings folder in your Dropbox account. You can also use tokens in the Dropbox sync prefix e.g. set the prefix to {user_name} to download events based on the username used to log the iPad in.

 

WARNING: Do not delete the Apps/Breeze Booth folder in Dropbox. If you do delete this Dropbox will assume that you have revoked Breeze Booth's permission to access Dropbox and none of your iPad's will be able to access it. If you do accidentally delete the Apps/Breeze Booth folder you need to sign out of Dropbox by tapping on "Sign out of Dropbox" in the app settings screen in Breeze Booth and then sign back in again. Dropbox will ask you again whether you want to allow Breeze Booth to access the folder Apps/Breeze Booth in your Dropbox account. Tap "Allow" and Dropbox will create the Apps/Breeze Booth folder and you can copy the files back into it.

 

IMPORTANT NOTE: Free Dropbox accounts impose rate limits on the number of files that can be synced in a given time and may not be suitable for hosting iPad events. If you get errors like the one below you may need to switch to a paid Dropbox account.

 

dropbox_rate_error

 

 

Updating Events from a Website

There are two methods of updating events from a website:

1.The default option which is to simply get each file directly from the website using an HTTPS GET. All you need to do to use this option is to upload the event files to a folder on your website and then enter the URL of the folder in the "Events sync server" field of the app settings.
 
2.For more secure hosting of events select the "Use HTTPS POST when syncing" option in the app settings and set a password. For this to work you will need a suitable server side script to accept the request and check the password before returning the file. The POST request is sent with the following JSON encoded parameters:
{
       "request": "download",
       "password": "<password>",
       "id": "<ipad_id>",
       "name": "<ipad_name>",
       "model": "<ipad_model>",
       "Filename": "<relative_pathname>"
}
Where:
<ipad_id> is the ID of the iPad which is displayed at the bottom of the app settings screen
<ipad_name> is the name of the iPad as defined in the iPad's settings under General->About
<ipad_model> is information about the iPad model
<relative_pathname>" is the relative pathname of the file to be downloaded

 

Please note: When accessing a website via the internet only secure websites with SSL certificates can be used i.e. websites with URLs starting with https:// not http://

 

Shortened URLs

You can also use shortened URLs from https://bit.ly or https://tinyurl.com to specify the URL for the events server. bit.ly allows custom backends to URLs so that you can use meaningful names for URLs. The app will treat the URL as a bit.ly URL if it starts with https://bit.ly, bit.ly or the bit.ly backend. It will treat the URL as a tinyurl it it starts with https://tinyurl.com or tinyurl.com.

e.g. the URL for the demo events is https://bb4ipad.com/sync which can be replaced with https://bit.ly/bb4ipad or https://tinyurl.com/ybql8rn9. The following values will all work:

https://bit.ly/bb4ipad

bit.ly/bb4ipad

bb4ipad

https://tinyurl.com/ybql8rn9

tinyurl.com/ybql8rn9

 

Event Files

A set of events consists of an events.xml file and one or more subfolders containing the files for each event. The events.xml file contains a list of events with their title, a short description and a link to the events' event_info.xml file. When the event list is refreshed the events.xml file is downloaded to the iPad and any old events that are on the iPad but not in the events.xml file are deleted.

 

An event's event_info.xml file includes a list of profiles for that event and a list of manifest files. The profile files contain details of the settings for different options for an event (e.g. the number of photos, print layout, email text etc.). A manifest.xml file is simply a list of files required for that event together with a checksum. When an event is updated the event_info.xml file for that event is downloaded to obtain a list of the manifest.xml files for that event. Each manifest.xml is then downloaded and the listed files are compared with the files already on the iPad. If a file is not on the iPad or has a different checksum from the one in the manifest the file is downloaded to the iPad. Any files that are on the iPad but are not in the manifest will be deleted.

 

The event related files on the iPad can be viewed using the iOS Files app by browsing "On my iPad" and selecting "Breeze Booth" then the "assets" folder.

 

Advanced Usage

Tokens can be used to automatically modify the events that are updated on an iPad. For example you may wish to make different sets of events available to different users. This can be done using the {user_name} or {user_id} tokens. The {user_name} token returns the username when the user the iPad is logged in and {user_id} returns the user Id.

 

When updating events from a website add the token to the URL e.g. change https://acmephotobooth.com/sync to https://acmephotobooth.com/sync/{user_name}

Then create a subfolder of the sync folder on your website, give it the same name as the user name and copy the events.xml file and event folders into it.

 

When updating events via Dropbox set the Dropbox prefix in the app settings screen to {user_name}.

Then create a subfolder of the Apps/Breeze Booth/events folder in your Dropbox account, give it the same name as the user name and copy the events.xml file and event folders into it.

 

For example suppose you run corporate events and social events and wish to keep them separate. You could do this by creating two users e.g. breeze_corporate and breeze_social. Then append {user_name} to the events sync server URL in the app settings screen (e.g. https://acmephotobooth.com/sync/{user_name}) or set the Dropbox prefix to {user_name}. Now when the iPad is logged in as the user "breeze_corporate" it will update the events from https://acmephotobooth.com/sync/breeze_corporate when updating from a website or from the Apps/Breeze Booth/events/breeze_corporate folder when using Dropbox. If the iPad is logged out and then logs back in again as "breeze_social" it will update the events from https://acmephotobooth.com/sync/breeze_social when updating from a website or from the Apps/Breeze Booth/events/breeze_social folder when using Dropbox.

 

Updating the App Settings

The settings in the app settings screen are saved in a file named settings.xml in the Breeze Booth folder on the iPad. Some or all of these settings can be updated when "Update all events" is tapped in the events screen by placing a file named device_settings.xml in the same folder as the events.xml on the update website or in the Dropbox events folder. When "Update all events" is tapped the iPad will update its app settings using the information in the device_settings.xml file if it is available.

 

The device_settings.xml file can be edited so that only a few settings are changed on the iPad. For example suppose you want to update the event name on the iPad and leave all the other settings the same. This could be done by editing the device_settings.xml file so that it is something like this:

 

<?xml version="1.0" encoding="utf-8" standalone="no"?>

<breeze_booth version="1.0" build="23">

       <device_settings>

               <getEventStringsFromBreezeHub>false</getEventStringsFromBreezeHub>

               <localEventName>New Event Name</localEventName>

       </device_settings>

</breeze_booth>

 

Please use this feature with care otherwise updating all events may result in unexpected changes to the app settings.

 

The simplest way create a device_settings.xml file is to setup the app as required on an iPad and then copy the settings.xml file to a PC where they can be edited in a text editor. To do this run the Files app on the iPad, in the "Locations" list select "On my iPad" and tap on "Breeze Booth" and you should see a list of files similar to the screenshot below:

 

white label files

 

If you have email setup on your iPad you can email the settings.xml file by tapping and holding on the "settings" file until a menu is displayed. Select share from the menu and then select Mail to email the file.

After emailing the settings.xml file to your PC save with the filename device_settings.xml and then edit it using a text editor.

 

Summary of useful XML tags in the settings.xml file

 

XML tag

Description

<showAdvancedSettings>true</showAdvancedSettings>

Show advanced settings in Settings screen

<syncServer>https://bb4ipad.com/sync</syncServer>

URL of sync server when syncing using HTTPS GET or POST

<syncServerPost>false</syncServerPost>

Selects HTTPS GET or POST when syncing

<syncServerPostPassword></syncServerPostPassword>

Optional password when syncing using HTTPS POST

<syncViaDropbox>false</syncViaDropbox>

Sync events using Dropbox

<dropboxPrefix></dropboxPrefix>

Optional prefix when syncing using Dropbox

<lastEvent>1</lastEvent>

Index of the event that is displayed in the start screen

<copyOutputToDropbox>false</copyOutputToDropbox>

Sync output to Dropbox

<hideEventsMenu>false</hideEventsMenu>

<hideSignOutMenu>false</hideSignOutMenu>

<showQuickSetupButton>true</showQuickSetupButton>

<startupScreenAssetsFolder>.</startupScreenAssetsFolder>

<startupScreenTitle></startupScreenTitle>

<startupScreenSubTitle></startupScreenSubTitle>

<startupScreenBackgroundImage></startupScreenBackgroundImage>

<startupScreenBackgroundImageLoggedIn></startupScreenBackgroundImageLoggedIn>

<startupScreenBackgroundImageLoggedOut></startupScreenBackgroundImageLoggedOut>

<startButtonImage></startButtonImage>

<qrSetupButtonImage></qrSetupButtonImage>

<menuLabelColor blue="1.0" green="0.478431" red="0.0" alpha="1.0" />

<eventLabelColor red="1.0" blue="1.0" alpha="1.0" green="1.0" />

<loginStatusLabelColor red="1.0" alpha="0.3" blue="1.0" green="1.0" />

These tags control the appearance of the start screen. Please see Customizing the Start Screen and Removing Branding for details

<airPrint>false</airPrint>

Enable printing via AirPrint

<exitPassword></exitPassword>

Password to protect exiting from from photo booth mode

<setupPassword></setupPassword>

Password to protect access to the App Settings screen

<logActivityToFile>false</logActivityToFile>

Log photo booth activity to a journal file

<autoRunEventWhenAppStarts>false</autoRunEventWhenAppStarts>

Automatically switch to photo booth mode when the app starts

<syncEventDailyAt4am>false</syncEventDailyAt4am>

Automatically sync the event every day at 4am

<purgePhotosDailyAt4am>false</purgePhotosDailyAt4am>

Automatically purge photos every day at 4am

<frontCamera>true</frontCamera>

Controls where to use the front or rear camera in photo booth mode

<mustBeSignedIn>false</mustBeSignedIn>

iPad must be signed in to run in photo booth mode

<connectToPrintServer>false</connectToPrintServer>

<getEventStringsFromBreezeHub>false</getEventStringsFromBreezeHub>

<syncServerBroadcastPort>5500</syncServerBroadcastPort>

<syncServerPassword></syncServerPassword>

<copyAllOutputToPrintServer>false</copyAllOutputToPrintServer>

Settings for using Breeze Hub. Please see App Settings for details.

<bluetoothConnect>false</bluetoothConnect>

<bluetoothPrefix>Breeze</bluetoothPrefix>

Bluetooth settings. Please see Using Bluetooth for details.

<uploadToCloud>false</uploadToCloud>

<onlyUploadProcessedPhotosToCloud>false</onlyUploadProcessedPhotosToCloud>

<uploadToCloudURL></uploadToCloudURL>

<uploadToCloudPassword></uploadToCloudPassword>

<uploadToCloudRetries>10</uploadToCloudRetries>

Settings for uploading files to a web server. Please see Upload Option for details.

<textUsingTwilio>false</textUsingTwilio>

<twilioPhoneNumber></twilioPhoneNumber>

<twilioCountryPrefix>+1</twilioCountryPrefix>

<twilioAccountSID></twilioAccountSID>

<twilioAuthToken></twilioAuthToken>

<smtpEmail>false</smtpEmail>

<smtpServer></smtpServer>

<smtpUsername></smtpUsername>

<smtpPassword></smtpPassword>

<smtpPort>0</smtpPort>

Settings for sending texts and emails from the iPad. Please see App Settings for details.

<removeBgAPIKey></removeBgAPIKey>

The API key used for AI background removal services. Please see AI Background Removal for details.

<qrCodeCommands>true</qrCodeCommands>

<qrCodeStrings>true</qrCodeStrings>

Enable the scanning of QR code strings and commands when running in photo booth mode