5.0.0 (2015-06-29)
License
For Tremor Video internal use only. Tremor Video 2011
Authors
Leandro Silva
System Requirements
- Mac OS X >= 10.6
- Windows >= 7
Quick Links
Description
Developed for the Creative Department, and used in the New York, Los Angeles, and Singapore office, this application provides a cross operating-system tool to assist in making creative demos and live units. It supports over 20 unit types, removes all current pain points, and helps to decrease the need for make-goods. This application will copy files to the needed directories/servers, update Salesforce with pertinent data, write to a central data warehouse for demo creation, and purge Akamai, all while enforcing a unified naming convention and checking for a multitude of errors. Additionally, it unifies the creative workflow.
This automated process has saved countless hours of production time (conservatively estimated at over 600 hours per month). As of April 2015, it has helped to create over 14,000 unique demos.
Old Process
The old process was riddled with unnecessary manual labor and inconsistent processes between team members. It involved a higher learning curve and the need to pass files back and forth between multiple people. The steps were as follows:
Upon completion of creative unit:
- Designer:
- Copy all assets to creative drive.
- Copy live assets to campaigns drive.
- Pass responsibility to tag maker:
- Copy assets to demo server.
- Customize XML ad file.
- Customize HTML/PHP demo page.
- Pass responsibility to smoke tester:
- Add test files to Java harness
- QA demo for proper tracking.
- Pass responsibility back to designer:
- Send for client approval.*
- Pass responsibility back to tag maker:
- Copy files to static server.
- Pass responsibility back to designer:
- Set assets live.*
*Through management
New Process
Upon completion of creative unit:
- Run through the application.
- QA demo for proper tracking.
- Demos are created through an external automated process based on data from the application.
- Send for client approval.*
- Set assets live.*
*Through management
Documentation
Modes
3rd Party Systems
- Salesforce
- Akamai
- MCS Toolkit
Supported Unit Types
- MVEC
- MVSS
- CTV
- MV
- MV CTA
- SMV
- MVP
- MXP
- SPR
- SPR CTA
- SPR TO
- PR
- PRP
- PRP GB
- PRP FO
- PR CTA
- PR CTA PL
- PXP
- CLF
- SOL
- SOL TO
- OL TO
- VIB
- VIB TO
- vC
- vC S
- PgR
- EB
- SB
Application Flow (Demo Mode)
Every step is automated unless noted.
Instream
- Check for internet connection.
- Confirm proper servers are mounted.
- [Manual] User drags and drops creative unit (CU) directory into the application.
- Check to makes sure directory structure matches requirements.
- Load SWF files from dropped directory and check them for errors.
- Checks file against manager defined size restrictions (this was deprecated in v5.0.0).
- Check for additional errors and requirements.
- Use Salesforce API to confirm correct CU number and pull relevant data.
- The CU number is the unique id.
- [Manual] User confirms data, adds comments (optional), and presses the commit button to initiate the "push" process.
- Entire CU directory is copied to the campaigns directory on the creative server.
- The live assets are copied to the CDN staging server (for global replication).
- Directory in versioned to maintain separate demo and live assets.
- Live asset paths are added to a purge queue.*
- These paths are created by listing all the live assets that were copied to the CDN staging server.
- Data is added/updated in the application database. The columns are as follows:
- AS Number = ceo_num
- CU Id = cu_num
- Advertiser = advertiser
- Agecny = agency
- Unit Type = type
- Demo URL = demo_url
- CDN Path = cdn_loc
- Campaign Path = campaign_loc
- Sales Rep Name = sales_rep
- Account Manager Name = account_manager
- Creative Designer Name = member
- Date = timestamp
- Ad Vertical = vertical
- Show in Demo Library = show_in_lib
- Select as Managers Choice = mgmt_choice
- Rate Type = rate_type
- Features = features
- Ad Name = name
- Additional Data = misc
- Companion
- Banner Size
- MCS Id
- Mobile Demo Video path
- Is Instream Takeover
- Preroll CTA message
- Click Events = clicks
- VideoHub Ad = isVideoHub
- Data is written into Salesforce. The API keys are as follows and are pulled from the Creative Unit table unless noted:
- Name = Creative_Name__c
- AS Number = ASNumber__c
- CU Id = Name
- Sales Rep = Primary_Sales_Rep__c
- Ad Type = Type__c
- Status = Status__c
- CTA Msg = CTA_Message__c
- Features = Features__c
- Live Revisions = NUM_of_Live_Revisions__c
- Unit Location = Unit_Location__c
- Version Major = Template_Version__c
- Version Minor = Patch__c
- Labels = Labels__c
- Advertiser = Advertiser_Name__c
- Account Manager = Account_Manager__c
- Test Tag = Creative_Test_Tag__c
- Agency = Agency__c
- Comments = Comments__c
- Companion Banner = Links_for_Companion_Banners__c
- Vertical = Vertical__c
- Size = Size__c
- Rate Type = Rate_Type__c
- Base URL = Base_URL__c
- Mobile App Id = Demo_Destination__c
- Video Link = Video_Link__c
- Video Length = Video_Length__c
- MP4 = MP4__c
- Buy Now Component = Buy_Now_Template__c
- Account Manager = Name (User table)
- Advertiser = Name (Account table based on Advertiser Id)
- Agency = Name (Account table based on Agency Id)
- Process completes (assuming there was no error along the way).
*As a separate process, and every sixth minute, the purge queue is check for content. If there are files to be purged, a purge request is sent to Akamai via their REST API. This process runs every sixth minute to align with the Systems Departments script to copy files from our local servers to net storage every fifth minute.
Mobile
This process requires you to have the applications 'MCS Bookmarklet' link in your browser.
- [Manual] Ensure the MCS 'publish' modal is open and click your 'MCS bookmarklet.'
- If your browser supports the Flash browser-invocation feature, a "Send to CAT" button will appear in the modal window. Otherwise, a download button is presented:
- If a "Send to CAT" button is available:
- [Manual] Select "Send to CAT" button to launch the application with a 'browse for directory' window.
- The browser sends a command to open you native application if it is not already opened.
- If a download button is presented:
- [Manual] Choose a location to save the CAT MCS file (.catm).
- Open the catm file to initiate the applications 'browse for directory' window.
- Choose the location of your current CU directory.
- Zip file is downloaded and extracted.
- File contents are saved to the selected directory.
- Proceed with current application process.
- Process is slightly altered for mobile units (e.g. files do not need to be copied to the CDN).
- See above instream process.
Application Flow (Move Mode)
Same error checking and directory copying as above, but data is not pushed to any databases. Use in cases where a CU is incomplete and needs to be sent to another designer.
Expected Directory Structure
../Advertiser/Ad Sale Id/Creative Unit Id/
Instream:
`- CU
|
|- bin
| |
| |- vids
| | |
| | `- video.flv
| |
| `- creative.swf
|
|- src
| |
| |- ad
| | |
| | `-AdClass.as
| |
| `- creative.fla
|
`- elements
|
`- asset.psd
Mobile:
`- CU
|
|- bin
| |
| `- creative.zip
|
`- src
|
|- manifext.xml
|
`- vidurl.txt
Preroll:
`- CU
|
|- companion (optional)
| |
| `- image.jpg
|
`- video.flv
On Windows, the cmd key is mapped to the ctrl key.
- File
- Documentation
- Open Catm (cmd + o)
- Actual Error (cmd + e)
- More detailed error information.
- Restart (cmd + r)
- Logout
- Data
- Purge Info (cmd + p)
- Open the purge queue window.
- Purge File
- Open the purge list to send to Akamai.
- Purge Log (cmd + shift + p)
- Open the log containing purge response data.
- Akamai Status
- Open a dialog to check the purge status based on an inputted id.
- Main Log (cmd + shift + l)
- Go To Database (cmd + d)
- Navigate to a URL that outputs database entries.
- Go To Error Definitions
- Opens a window with a list of errors and there meanings.
- Location
- California
- Selects LA as your current location.
- Used to define what servers the application should push too.
- New York
- Singapore
- Customize
- Bypass Runtime Error
- Ignore Flash runtime errors.
- Only use with manager approval.
- File Copying Override
- Skip file copying.
- Only use if the server is causing permissions locks and I.T. is unavailable for support.
- Only use with manager approval.
- Configure
- Custom Skin
- Import a custom application skin.
- Update
Config File
The available configurations are:
- Acceptable video encoding extensions.
- Ad Sale ids that should be used as demos.
- Salesforce locked status types.
- Admin users (obfuscated).
- Paths:
- URLs
- Files
- Directories
- Servers (New York, Los Angeles, Singapore)
Errors
Id: e001
Message:
Currently, only Mac and Windows Operating Systems are applicable. Sorry.
Note:
Mac and Win OS only.
-
Id: e002
Message:
There is a conflict between your data and the Salesforce data. Make sure your CU# is a correct match to your AS#.
Note:
Occurs if the users folder structure is incorrect.
-
Id: e003
Message:
AS# from SalesForce does not match AS# from dropped file.
AS# from SalesForce: [# pulled from SalesForce query]
AS# from folder: [# pulled from drag/dropped file].
Note:
Occurs if the users folder structure is incorrect.
-
Id: e004
Message:
There was a problem adding your data to the database. Please try again.
Note:
Database error.
-
Id: e005
Message:
There was a problem copying your files to the [errored location].
Please reach out to I.T. and try again. If this unit needs to be pushed ASAP, manually move your assets and use the 'File Copying Override' menu option.
Note:
An OS permissions error or file lock is most likely the cause.
-
Id: e006
Message:
Make sure your folder structure is setup correctly. Expecting a 'bin' folder.
If this is a preroll, make sure your folder name includes "preroll" (no 'bin' folder needed for prerolls).
Note:
If not a preroll, checks for 'bin' folder before attempting to move files to the CDN.
-
Id: e007
Message:
You're trying to purge too many files at once.
This app accepts no more than 90 URLs at a time.
Note:
See CCU API documentation (Content_Control_Interfaces.pdf).
-
Id: e008
Message:
Akamai purge-file creation failed. Please try again.
Note:
Occurs if the app fails to properly create a purge file.
-
Id: e009
Message:
Make sure the following is in your XML:
<supportedProfiles>extendedDesktop</supportedProfiles>
If on a Windows machine, make sure you have the Java JRE (v6+) installed.
Note:
To run the Java process, you need to have the above node in your apps descriptor xml.
-
Id: e010
Message:
There was an error sending your purge request to Akamai.
See CCU-API documentation "Result Code" definitions.
Note:
See CCU API documentation (Content_Control_Interfaces.pdf).
-
Id: e011
Message:
There was an error logging your data. Everything else has succeeded.
Note:
You should re-run your last CU so that the log is properly updated.
-
Id: e012
Message:
A internet connection is needed to proceed.
Note:
Internet is needed for database communication.
-
Id: e013
Message:
There was an error getting your Akamai login credentials.
Note:
Database may be down or Akamai login name/password was possibly changed. Update the name/password located in air-to-mysql.php.
-
Id: e014
Message:
Make sure your advertiser folder is correctly named. Please rename your advertiser folder to match the folder on the creative drive and try again.
Note:
The advertiser folder should already be on the creative drive. If the users advertiser folder does not match the name of the folder on the server, he/she must correctly rename the folder. If the folder does not exist, please ask Creative Management to create a folder on creative drive.
-
Id: e015
Message:
Your 'bin' folder should only have two files (the creative and live assets file). All additional files should go inside their respective folders.
Note:
Bin folders should only have one swf (or zip for mobile) file.
-
Id: e016
Message:
Your preroll folder should not have a 'bin' folder. It should only have a video file (and companion folder if needed).
Note:
Specific to prerolls.
-
Id: e017
Message:
This Creative Unit is locked. Please have your Creative Manager change its Salesforce status.
Note:
Checks the configData.lockStatus array for Salesforce statuses that lock this app. Also checks via a query to the 'Creative Unit History' table in the Salesforce database. The query is mainly used to check instances where the CU is locked even though the status is one that allows us to edit it (e.g. the CUs status is okay for updates, but there is a lock-icon in the CU in SalesForce).
-
Id: e018
Message:
There was an error attempting to list files in your directory.
Note:
Plan prerolls are the only CUs that have no bin folder.
-
Id: e019
Message:
No spaces or ampersands are allowed in file/directory names.
Note:
No spaces or ampersands are allowed in any part of the file or directory name(s).
-
Id: e020
Message:
Please have your manager update Salesforce with a CTA message before re-running.
Note:
Preroll CTA messages should be set by Creative Managers.
-
Id: e021
Message:
There is in an error in your config file.
Note:
Most likely caused by malformed XML.
-
Id: e022
Message:
The config files app id is not correct.
Note:
The config app id should match the Creative Automation Tool's app id.
-
Id: e023
Message:
You're missing files in the expected locations.
Note:
An Alert windows pops up showing the expected locations.
-
Id: e024
Message:
The app is currently locked due to maintenance. Contact Leandro for more info.
Note:
Toggled via lockswitch.xml.
-
Id: e025
Message:
There was a problem accessing Salesforce.
-Make sure your CU is correct.
-This error may be caused by an unacceptable character entered in the comments field.
Note:
SalesForce connection error. If error occurs when trying to write to SalesForce, make sure the key you are trying to update is flagged for update. In PHP (CATSFConn.class.php), "$this->keySelect"s third arguement should be "true" if you want that field to be updatable.
-
Id: e026
Message:
There is a conflict between your data and the Salesforce data.
Note:
Salesforce fails to return data (possibly due to an incorrect CU#).
-
Id: e027
Message:
There was a problem getting your toolkit version.
Note:
The CAT loads the CU SWF to get toolkit version.
-
Id: e028
Message:
There was an error connecting to the php->sql file.
Note:
Check the PHP database communication file.
-
Id: e029
Message:
There was a problem writing your data to Salesforce. Please try again.
Note:
May be caused by an incorrect CU#.
-
Id: e030
Message:
Your companion banners file size is too large (75kb = max).
Note:
Use Adobe's save-for-web feature to decrease file size.
-
Id: e031
Message:
There is an error in the Flash file you're working on!
Note:
The creative SWF has runtime errors.
-
Id: e032
Message:
Make sure all necessary drives are mounted (e.g. the R:\ and CDN drives).
Note:
Needs drives mounted for copying files and reading data.
-
Id: e033
Message:
You need a default image (jpg or gif) for inBanner CUs.
Note:
InBanner CUs need a default image.
-
Id: e034
Message:
A demo units advertiser must be "demo."
Expected folder structure: /demo/asXXXXX.
Note:
Supported demo AS numbers can be found in the config file.
-
Id: e035
Message:
Your 'bin' folder should have one 'export' zip file
(i.e. mvp_creative_export.zip).
Note:
Applies to mobile units that are not MVs.
-
Id: e036 [deprecated]
Message:
Your mobile 'src' folder should have a .mov file begining with the as#
(i.e. as00000_anytext.mov).
Note:
Applies to mobile units that are not MVs.
-
Id: e037 [deprecated]
Message:
Your mobile 'src' folder should only have 1 .zip file and 1 .mov file.
Note:
Applies to mobile units that are not MVs.
-
Id: e038 [deprecated]
Message:
Your mobile 'src' folder should only have 1 .zip file and at least 1 .mov file.
Note:
Applies to mobile units that are not MVs.
-
Id: e039 [deprecated]
Message:
Your mobile folder should only have a .mov/flv file begining with the correct as#
(i.e. as00000_anytext.mov).
Note:
Applies to mobile MV units.
-
Id: e040 [deprecated]
Message:
The file "[file name]" is too large.
It should be no larger than [acceptable size in mb].;
Note:
A file throws a warning if larger than the set warning size or throws this error if larger than the max size.
-
Id: e041
Message:
Please push files from a directory that is not on the Creative Drive.
Note:
You cannot push files from the Creative Drive (since it copies files to that drive).
-
Id: e042
Message:
An unknown error occurred.
Note:
An uncaught error.
-
Id: e043
Message:
One of your companion banners is of an unacceptable file type.
Note:
Companion banners must be of a specified image type.
-
Id: e044
Message:
A video length must be inputted for every video.
Note:
Mobile CUs need video lengths added (in seconds rounded down). If the applciation fails to automatically read a video length, please input it in manually.
-
Id: e045
Message:
Mobile SMV, MVP, and MXP units need [mobile video export file name].
Note:
The demo URL file exported by the mobile toolkit must be present (config node = <mobileVidName>).
-
Id: e046
Message:
The file name "[file name]" must be lowercase.
Note:
Since the CDN is case sensitive and does not allow me to change the cases of file/directory names, all directory names must be in lowercase.
-
Id: e047
Message:
The file "BuyNow.zip" must be named "[buy now zip name]."
Note:
The old name "BuyNow" is no longer accepted.
-
Id: e048 [deprecated]
Message:
There was a problem copying your files to the [errored location].
Copy confirmation failed.
Note:
There may have been a hiccup in the internet connection.
-
Id: e049
Message:
Your 'src' folder must have the video list file [vid url file name].
Note:
Mobile reads this txt file to get a list of videos used in the CU.
-
Id: e050
Message:
There was a problem versioning your mobile CU.
Note:
A mobile CU has its 'bin' folder versioned in the Creative drive. Does not apply to MVs.
-
Id: e051
Message:
Your mobile CU directory should not have any video files.
Note:
All mobile videos should be in the parent asset-containing directories.
-
Id: e052
Message:
Your files are outdated.
Note:
Make sure to move your files to their proper locations before using the "File Copying Override" menu option.
-
Id: e053
Message:
No file should have the "_v" naming convention. Please remove the "_v" from "[file name]."
Note:
The CAT uses "_v" as its versioning convention.
-
Id: e054
Message:
There was a problem in the MCS process.
-
Id: e055
Message:
Please remove the default video "[file name]."
Note:
The default video ("the.flv") is a placeholder and should be removed.
-
Id: e056
Message:
The directory "[directory path]" is missing from the Creative Drive.
Changelog
Support for Windows was dropped after v3.6.3 (11/06/13)
5.0.0 (2015-06-29)
- Fix issue where closing main app window will sometimes throw a silent error.
- Add a 2 second delay between file copy commands (to allow servers to finish applying the group policy, etc).
- Add option to copy files via shell script instead of AIR.
- Backup CAT DBs.
- Remove CU file-size restrictions.
- Copy files to servers before updating DB and SFDC.
- Store CU revision count for improved benchmarking.
- Add separate parameter in the config for reading mobile video metadata.
4.2.0 (2015-04-22)
- Update MCS documentation.
- Add supported file types to README.
- New Creative Types - MVEC and MVSS
- Update MCS logic to read a custom file (catm) for download instructions.
- Create file icon for catm.
- Add menu item for documentation.
4.1.1 (2015-03-09)
- Create README.
- Add date stamp to live assets file in order to help Akamai debugging.
4.1 (2014-12-30)
- Support MV_CTA.
- Update log to properly output the errored location on error e005.
4.0.5 (2014-11-06)
- Add checker for CDN files before creating a purge list.
- Fix 'location' menu issue caused by Menus Class update.
- Convert all single quotes to double quotes in main Class.
4.0.4 (2014-10-22)
- Add Click_UNSPECIFIED as default for PR and PR CTA units.
- Add support for CTV units.
- Update support for apostrophes in the CTA message.
4.0.3 (2014-08-25)
- Update MP4 variant from 153 to 193.
- Fix issue with demo description drop down.
- On mobile video (length) read, fix issue where if a video fires both status and meta events, the CAT errors.
4.0.2 (2014-08-06)
- Fix MCS version naming on SFDC.
- Add Demo "directory too large" note.
- For MCS, re-add support to create a new 'bin' directory if no directory is present.
4.0.1 (2014-07-14)
- Fix issue where mobile unit versioning was incomplete.
- Add error e056.
4.0 (2014-07-09)
- Update app versioner to support I.T. releases.
- Improve mobile live-revision logic.
- In MCS, treat duplicate videos as unique.
- In MCS, delete all existing zips in 'bin' before downloading a new one.
- Replace vidurl.txt with MCS JSON data.
- Update bookmarklet to use the MCS helper JSON data response.
- Connect CAT with SFDC OM for DB changes.
- Allow admins to override error e040.
- Create simple admin logic.
- Fix issue where CDN path is not reset on error e032.
3.9 (2014-05-30)
- Validate email address on login.
- Obfuscate Akamai credentials being sent over HTTP.
- Add Akamai "purge status" and "queue length" dialog.
- Remove CopyConfirm logic.
- Support nyc-cdn02 server.
- Migrate Akamai API from SOAP to REST.
- [deprecated] Add retry option to confirmation logic in case the internet connection hiccups.
- [deprecated] Add time limit to the file confirmation process.
3.8 (2014-03-12)
- Add error e055.
- Throw error if placeholder video "the.flv" has not been removed.
- Increase preroll videos max and warn sizes if CUs vid size in SFDC is greater than .30.
- Fix issue where splitting text based on the "bin" fails if the advertiser has that letter sequence ("b-i-n") in its name.
3.7.1 (2014-03-06)
- Revert AIR version back to 3.4 due to compatibility issues with our CUs.
- Fix issue where a new MCS feature is expected from an old (non MCS) mobile build.
3.7 (2014-03-06)
- Bump AIR version to 4.0.
- Update MCS bookmarklet.
- Note whether video is cached or streaming.
- Map MCS video name to actual video name.
- Update MCS workflow.
- Add more details to copy errors in log file.
3.6.7 (2014-02-25)
- Show unit location if MCS unit.
3.6.6 (2014-02-21)
- When pushing an MCS CU, remove the need to have a demo_url file.
3.6.5 (2013-12-31)
- Point to application directory for CopyConfirm worker file.
- If error e042, write actual error data to the log file.
3.6.4 (2013-12-30)
- Add logic to use companion banner with default "companion" name if available.
- Put CopyConfirm logic in a separate (worker) thread.
- Work on issue where the CAT gets stuck on the file confirmation step (Singapore only).
- Add progress counter for file confirmation step.
- Update FileItems listFiles method.
- Update FileReporter logic.
- Update loading circle animation.
- Fix issue where if the CAT is opened via browser (MCS) invoke, the MCS alert window opens twice in a row.
- Add error alert to bookmarklet if unit has yet to be published.
- Work on MCS Bookmarklet issues with Chrome.
3.6.3 (2013-11-06)
- Fix issue where hyphens prevent data writing to the DB.
3.6.2 (2013-10-29)
- Support new mobile toolkit (MCS).
- Update file size caps.
- Update error-list.
- Write MCS id to DB.
- Remove restart option from confirming file move phase.
- Download MCS zip file to temp location and unzip contents.
- Auto open app and begin MCS process on bookmarklet click.
- Create bookmarklet for MCS.
3.6.1 (2013-10-07)
- Minor updates.
- Support hyphens in CTA message.
- Support hyphens in Account Manager names.
- Bump PXP SWF max file size limit to 300kb.
- Update demo description drop down.
- Fix mobile video file name splitting issue.
3.6 (2013-09-11)
- Add purge support for https locations when creating a share unit.
- Update error list.
- App delays on drop: Show loading icon.
- Fix issue when writing certain characters to SFDC.
- Replace unescaper() with StringUtls.htmlEntitiesToUnicode().
- Fix issue where text-escaping logic is not working properly.
- Add position logic so app remembers x/y on close.
- Error e053 added. Prevent file names from using the CAT version naming-convention.
- Make beep-boop icons shadows more transparent.
3.5 (2013-06-06)
- Support instances where there are multiple prerolls (via date swap).
- Update error list.
- Error e052 added.
- When in file override mode, check the end files timestamp to confirm it is the latest version.
- Update Akamai creds.
- Update warning cap sizes.
- Add strict file size policy (type specific).
- Videos:
- PR:
- PR CTA:
- Alert: 3072kb
- Error: 4096kb
- PXP:
- Alert: 9216kb
- Error: 11264kb
- SPR (get preroll from AdClass):
- Alert: 3072kb
- Error: 4096kb
- Other:
- Alert: 10240kb
- Error: 15360kb
- SWFs:
- PXP:
- Alert: 150kb
- Error: 250kb
- PRP FO:
- PRP GB:
- Alert: 150kb
- Error: 250kb
- SPR:
- SOL:
- Alert: 400kb
- Error: 500kb
- SPR TO:
- SOL TO:
- OL TO:
- Alert: 500kb
- Error: 700kb
- Other:
- Alert: 300kb
- Error: 400kb
- Other:
3.4.1 (2013-04-23)
- Update mobile 'unit location' path logic
- Fixed: New schema updates broke MV support
- Fixed: New schema updates broke parts of move-mode
- Move-mode is adding Preroll items to the Akamai purge queue. It should not be doing this.
- Mobile 'bin' folder renaming should not happen in move-mode.
3.4 (2013-04-22)
- Update mobile video-loader logic to grab videos from the Creative drive instead of a local directory
- Make it so that in move-mode for mobile units, there are no requirements for zip files
- Update error-list page
- Error e051 added
- Error e050 added
- Error e049 added
- Prevent any video file from being saved to the mobile CU directory
- Air is returning the wrong video duration of certain mov files
- Update the VideoData class to use the shell (mdls) to get the video duration if on an OS X system
- If on Windows or if the shell command fails, default to the original (v2.9) code
- If video length is less than or equals 10 seconds, assume the wrong metadata was returned
- Alert the user to manually input the length (if auto get fails)
- Update "file copying override" logic to support new mobile schema
- Update logic for mobile CUs to version on the Creative drive
- Retire the "CreativeTransfer/mobile" directory
- All other CU types continue to get versioned on the CDN
- Read video list file for mobile CUs
- Update to read a txt with a list of videos for encoding.com path creation
- Done in order to remove duplication of large video files
- Right now, it reads the actually video file
- Use path for creating URLs for SalesForce (using config files mobileEncodeURL node)
- Use file name from path to search CUs parent directories for the listed videos
- amended to read parent on Creative Drive
- Get the native paths for each video in order to auto detect video lengths (detect logic added in v2.9)
- Update file-copy paths to support new server schema
- Remove zip requirements from the mobile src directory
- Deprecate errors e036 - e039
- All these errors are related to old mobile CU requirements
- Update config file
- Remove <mobileEncode>
- Remove <transfers>
- Clear <watchRoot>
- Remove deprecated media.scanscout server file moving logic
- Support CIFS protocol on OS X
- Rename all instances of SMBShare to OSXShare since the code base now covers CIFS and SMB
- Minor clean ups
3.3 (2013-03-18)
- Add local user info to logs:
- IP
- OS Version
- User
- Is overwriting a file
- Make sure all directories are copied successfully
- Checks all three drives as needed
- Add error definitions landing page
- Remove logic to auto erase demo_url.txt
- Improve logging location data (US/NY, US/CA, SG)
- Update MV logic to support MP4
- Update config nodes for LA office
3.2.1 (2013-02-26)
- Update log message for copying files to CreativeTransfer.
- Update regex logic to correctly write the .zip location into SalesForce for Singapore units.
- Support mobile status "StreamNotFound."
- Move current backlog to Trello.
3.2 (2013-02-14)
- location detection (via IP) to determine closest server
- Singapore at 10.0.19.x
- California at 10.0.17.x
- New York at any other
- find volume properties of Mac OS
- needed to determine closest server
- used to map filesystem to correct mounted drive
- move configData object to external codebase
- support buy-now component in mobile units
- deprecate media.scanscout (a.k.a. /cdn/cat) file moving
- remove SalesForce-based status checker
- use local lock-status checker only
- update lock-status types (match SalesForce) and move list to config file
- update logic for the initial mounted-drives checker
- update logic for issue where SalesForce comments ignore line breaks
- support MXP unit types
- allow mobile to accept mp4 as main videos extension
- create live assets list (not for PR or Mobile units)
- to help dev team with live asset reporting
- minor fixes
3.1.2 (2012-12-03)
- update Akamai password
- move Akamai credentials from database to PHP for easy updating
- no longer need to release new app for an Akamai password change
3.1.1 (2012-11-16)
- fix unit-location logic for non-mobile units (mobile logic update caused an issue)
3.1 (2012-11-16)
- error e046 added to check if folder names have uppercase letters ("_CU" = only allowed uppercase word)
- fix issue with InBanner CUs where CDN URL is written to SalesForce instead of media.scanscout URL
- inclusion of the summary.txt file in the mobile bin is now supported
- MV now supports FLVs
- drag-drop support added for restart buttons
- disable scroll wheel if mouse is over companion-preview
- permanent removal of 'creative assets location' (was deprecated in v2.3)
- minor fixes
3.0 (2012-10-05)
- major updates to AirBase
- fix Versioner flicker in OS X Lion
- support new mobile bin folder setup (with demo url file)
- prevent mobile videos from playing audio when loaded for metadata retrieval
- if mobile video metadata can not be read, prompt for manuel video length input
- error e044 added for cases where mobile video length in not inputted
- prompt removed for toolkit versioning for MVs (since not applicable)
- error e045 added requiring SMVs and MVPs to have a file with the web.js path
- mobile demos numbered-extension for video URLs moved to config file (e.g. ...146.mp4)
- minor fixes
2.9 (2012-09-21)
- option to open purge-list file
- if field is empty in CAT, erase data from SalesForce (i.e. labels)
- add timer to mode-tabs to prevent unwanted mode switching
- fix to ignore commented out labels
- error e042 added (catch all)
- separate purge log created (separate log file for purge responses)
- preroll error e016 has been updated
- mobile updates
- load videos, get lengths in seconds and write to SalesForce
- write mp4 paths to SalesForce mp4 field
- fix issue on Windows where purge queue is rewriting purge-list instead of concatenating
- additional minor Windows fixes
- complete menu revamp (new items and new orders)
- fix issue where "r" characters were improperly escaped when writing to SalesForce
- add keyboard support for toggling purge queue window
- rewrite companion banner logic to support custom naming
- error e043 added (companion banner file type checker)
2.8.2 (2012-08-30)
- fix for bad 2.8.1 release (released in debug mode)
2.8.1 (2012-08-30)
2.8 (2012-08-27)
- update file size logic for warning text
- point demo location to media.scanscout
- add media.scanscout locations to purge queue
- remove hidden '.DS_Store' and 'Thumbs.db' files pre directory copy
- fix issue where running the CAT through multiple purge intervals causes an error
2.7 (2012-08-16)
- include 'video link' field for OL TO in SalesForce
- confirm quit if purge queue has files
- create temp file in CU directories that the CAT is using when uploading to media.scanscout staging location
- push CU name to database
- recursive update for CU name in database (new column)
- update preroll logic for creating purge list
- show file size in 'file too large' warning alert
2.6.1 (2012-08-07)
- update preroll logic for media.scanscout
- copy companion banner to media.scanscout location
- update companion banner URL to media.scanscout path in SalesForce
- update mobile URL to media.scanscout path in SalesForce
2.6 (2012-08-06)
- move live assets to new CAT folder (staging => media.scanscout)
- 'file-copy override' mode updated to support new location
- update 'Unit Location' to use media.scanscout domain
- update purge logic (version 1)
- send purge request in 6 minute intervals per user
2.5.1 (2012-07-24)
- fix issue with automatically getting exposed labels (when using double quotes instead of single)
- new error (e041) added to prevent pushing files from directories in the Creative Drive (to prevent unintended overwrites)
2.5 (2012-07-19)
- set warning size caps for files (swf, flv, zip)
- clean up old server folders at "./creative/creative-push" (all but demos)
- commas now supported in CTA messages
- update handling of SalesForce comments
- option to move assets only (to work as file transfer app for Singapore)
- remember apps current mode on close (move assets mode vs demo creation mode)
- update logic to use JSON in all AS3 to/from PHP communication
- secondary lock status check (via SalesForce API)
- checks if the CU is has a "Action" of "locked" (has a lock-icon in SalesForce)
- mobile toolkit version now automatically retrieved
- update SQL logic (+ SQL security improvements)
- ignore runtime error #2028 (which has to do with the users trusted location settings)
- remove line-breaks when writing CDN Location to Database (specifically for inBanner updates)
2.4.1 (2012-06-15)
- SFConn Class update
- MV demo support added
- send encoding.com URL to database for MVs (misc column)
- remove duplicates from demo-description drop-down
- auto-capitalize first letter of demo-description
2.4 (2012-06-15)
- update write properties (to database and SalesForce)
- if demo, prompt a dialog to describe what the demo is showcasing (15 char max)
- read current descriptions from database and present drop-down (to unify descriptions)
- if demo, set 'show_in_lib' to false (unless already set on past push)
- rewrite air-to-mysql logic to simplify updates
- recursive database update
- new demo URLS (change from '/creative-push' directory to '/cat')
- rate types (new column)
- features (new column)
- remove rate type from database misc column
- add multi-line support for applicable fields (plus-icon added)
- remove old-app checker
- fix double CU# addition in cases where the letters "_cu" exists in the filename
- general database updates
2.3 (2012-06-07)
- remove 'creative assets location' from SalesForce read and write
- update SalesForce R-drive logic for mobile 'unit location' field
- update mobile push logic for SalesForce
- unzip manifest file for mobile toolkit units
- automatically get labels for mobile units
- properly reset 'assumeInBanner' param
2.2 (2012-05-29)
- rebrand from CreativePush to CAT (Creative Automation Tool)
- config file and logic update
- new error checkers added (39 total)
- fix for escaping apostrophes (in comments and CTA-messaging)
- product-demo support (config file updated to support additional demo-specific AS numbers if needed)
- fix for "_v" in parent folder names (was interfering with auto versioning)
- support mobile (mvp, smv, and mv)
- rate-type added
- air-to-myql.php update
- option to override file moving
2.1.1 (2012-04-25)
2.1 (2012-04-19)
- AdClass parser function rewrite
- get expand size from ad (get stage dimensions)
2.0 (2012-04-16)
- auto update checker
- update to log file (much more detailed logs now)
- update CU# checker (to only replace CU# and not "_cu" in file name)
- new error checkers added (30+ error checks now available)
- added config file
- PHP caller rewrite
- general Database updates
- collect custom exposed events
- toolkit version reading
- fixed versioning issue where if the file name has an "_v" in it, it fails
- fixed incorrect error if app errors twice in a row
- remove JS scraper
- rewrite companion banner file copying (support for in-page)
- added companion banner preview
- login page update (password no longer needed)
- added lock to in-app CU input if CU is added to folder name
- data-loading graphic redesign
- SalesForce API (reading and writing)
- [read] vertical
- [read] advertiser
- [read] agency
- [read] CEO (AS)
- [read] CU
- [read] type
- [read] sales rep
- [read] account manager
- [read] live revision
- [read] features
- [read] status
- [read] name
- [read] size
- [read] CTA message
- [read/write] companion banner
- [read/write] creative assets location
- [read/write] creative test tag
- [read/write] uint location
- [read/write] comments (prepend to existing)
- [write] toolkit version (read from swf file)
- [write] toolkit revision (read from swf file)
- [write] custom labels (read from adClass)
- general inBanner updates
- check CUs 1st frame swfs for runtime (not compiler) errors (helps to prevent a CU that is created with errors from being pushed)
- misc data logic rewrite (for Database)
- resizable window
- OL TO youtube support
2.0b3 (2012-03-28)
[Beta Release]:
- Release details coming with full 2.0 release
2.0b2 (2012-03-26)
[Beta Release]:
- Release details coming with full 2.0 release
2.0b1 (2012-03-15)
[Beta Release]:
- Release details coming with full 2.0 release
1.9.3 (2012-03-06)
- Unit Location TextField is updatable again
1.9.2 (2012-03-02)
- Support added for instream takeovers
1.9.1 (2012-03-05)
- Update to handle server migration
1.9 (2011-11-08)
- Preroll CTA message now support some special characters (< > $ " ')
- Product demos are now supported
- Logging out now saves login name
- On commit page, URL info is no longer editable
- Lock switch added (allows me to lock all instances of the app if needed)
1.8.2 (2011-10-31)
1.8.1 (2011-10-27)
- Update to support VIBs (CTA Message scraper fix)
1.8 (2011-10-26)
- CU# auto added to folder name if not already present
- OL TO video is read and added to database (logic reads largest video)
- New button 'See Additional Data'
- Error018 update
- New Preroll CTA template support (sans 'bin' folder)
- SF scraper update (scrape 'CTA Message' and 'Features' fields)
- Add 'misc' column to database
- Change app id to tremorvideo
1.7.1 (2011-09-28)
- Prevent spaces in file/directory names [update]
1.7 (2011-09-28)
- WMV preroll supported
- Preroll companions supported
- Proper parsing of punctuation marks
- Default error display
- SF scraper updated
- Click out added to see DB Data
- Fail container dimmer added
- Form fields updated
- Prevent spaces in file/directory names
1.6 (2011-08-30)
- Update to SalesForce scraper
- Added 'Restart' keyboard shortcut (command+R)
- Preroll versioner fix
- Release to entire team
1.5b (2011-08-08)
[Beta Release]:
- Update to SalesForce scraper
1.4b (2011-07-28)
[Beta Release]:
- Update to support preroll CTA
- New error to check if 'bin' folder is needed
- Support ampersands from SalesForce names
1.3b (2011-07-25)
[Beta Release]:
- Preroll versioning now supported
- Preroll purge process updated (Only latest preroll gets purged)
- Ability to see latest purge list via the app has been added
- Improved password security
1.2 (2011-07-19)
[Beta Release]:
- Database updated
- Commit page tab names now match SalesForce fields (simply copy and paste the proper tab data into its correlating SalesForce field)
- Campaign tab updated to what SalesForce expects
- Per Ryan's awesome request, the option to add a custom skin to the app has been added
1.1 (2011-07-14)
[Beta Release]:
- Versioning support
- Creation of ChangeLog
1.0 (2011-06-17)
[Beta Release]:
Known Bugs
- Server replication and permissions issues may on occasion prevent files from being properly copied and result in the application canceling a request. These issues are outside of the CATs scope and must be resolved by I.T.