Installing Final Cut Server on Lion & Mountain Lion Server

Thanks to Allan Sanderson for the following submission, which outlines how to install Final Cut Server in Lion and Mountain Lion Server.
In ————- Websites: Check “Enable PHP web applications” Install Java ———— Open /Applications/Utilities/Java You’ll be prompted by Software Update service to install Java, click “Continue”, provide admin credentials when promopted. Install Final Cut Server ———————— Run Final Cut Server installer. Then run Software Update to get ProApplications 2010-02 & Final Cut Server v1.5.2 updates. Check Configuration ——————- 1) Check fcsvr user has been created: dscl /Local/Default -search /Users RecordName fcsvr Output should look something like this: fcsvr RecordName = ( fcsvr ) 2) Check “fcsvr” user’s home folder location is set to “/Library/Application Support/Final Cut Server” dscl /Local/Default -read /Users/fcsvr NFSHomeDirectory Output should look something like this: NFSHomeDirectory: /Library/Application Support/Final Cut Server If it doesn’t, caorrect it with this command: sudo dscl /Local/Default -create /Users/fcsvr NFSHomeDirectory “/Library/Application Support/Final Cut Server” Customisations To Make It Work —————————— A word to the wise, I personally take a backup before making any changes to system files, Time Machine is nice ‘n all, but I’d prefer not to have to go there in the first place. 1) An out the box FCSvr install doesn’t set an “AUTH_TYPE” key/value pair in the file. Under 10.5 & 10.6 this didn’t cause any issues, but 10.7+ does seem to be an issue. So for Local and Open Directory authentication, this command will do the job: sudo defaults write /Library/Preferences/ “AUTH_TYPE” -int 2 If you’re being more daring and trying to work with an Active Directory, then you’ll want the following: sudo defaults write /Library/Preferences/ “AUTH_TYPE” -int 1 2) Because of how things have changed between 10.6 and 10.7 & 10.8, its necessary to manually copy the apache site config into a users apache space. sudo cp “/Library/Application Support/Final Cut Server/Final Cut Server.bundle/Contents/Resources/share/conf/client_apache2.conf” “/etc/apache2/users/fcsvr.conf” 3) Now in order for the apache site config to be read by apache, we need to add in the necessary direction for httpd. Append “UserDir Sites” to end of “/etc/apache/httpd.conf”, this can be done as a one-liner if you like: sudo echo “UserDir Sites” >>/etc/apache2/httpd.conf 4) Lastly we have to add in the redirection settings for 10.7+ as the installers isn’t able to do this due to file path changes between the OS revisions. So, in your /etc/apache2/sites/0000_any_80_.conf file, paste in the following lines after the IfModule for mod_ssl.c: <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} ^TRACE RewriteEngine On RewriteRule .* – [F] RewriteRule ^/FinalCutServer$ /~fcsvr/Sites/webstart/index.php [NC,L] RewriteRule ^/FinalCutServer/FinalCutServer_mac.jnlp$ /~fcsvr/Sites/webstart/macJnlp.php [NC,L] RewriteRule ^/FinalCutServer/FinalCutServer_windows.jnlp$ /~fcsvr/Sites/webstart/windowsJnlp.php [NC,L] RewriteRule ^/FinalCutServer/FinalCutServer_other.jnlp$ /~fcsvr/Sites/webstart/jnlp.php [NC,L] </IfModule> ORIGINAL_SOURCES: SPECIAL_MENTIONS: Matt Geller, David Colville

Archive & Restore Assets with fcsvr_client

Final Cut Server has an option to archive and restore assets. When archiving an asset, the asset will be moved to a file system path that is represented by the device ID. The archival and restore can be done using the steps shown in this video:
The process of archival and restore can be kicked off from the command line, which will initiate the movement of the asset. To archive an asset, you will use the archive verb with the fcsvr_client tool. This will require you to provide the asset ID number along with the device that you will be archiving the asset to. For example, to archive an asset with an ID of 318 to a device with an ID of 8 you will use the following command:
fcsvr_client archive /asset/318 /dev/8
Once archived, the asset can be easily restored provided that it is still in the archive path that it was backed up to. So assuming that the asset is still on /dev/8 you could use the following command to restore the asset (the device path is implied as it is tracked in the metadata that corresponds to the asset ID:
fcsvr_client restore /asset/318
If archiving and restoring, it is never a bad idea to log that the action was sent to the queue. For example, if the asset ID were a variable of ASSET and the device had an ID of DEV then you could use the following to log that the automation had been fired off:
fcsvr_client archive /asset/$ASSET /dev/$DEV /usr/bin/logger “Asset $ASSET is being copied to device $DEV”

Scripting Productions and Assets in Final Cut Server

When you’re integrating Final Cut Server with other products, you often find yourself writing scripts to perform various tasks. One of those tasks might be to create a new project, or a production as it’s called in Final Cut Server. Because a production can have a number of attributes, a great way to do this is to create a template production and then make copies of it (or clones) when you want to create subsequent projects. To do so, you’ll use the fcsvr_client command, along with the clone verb. The -name option will allow you to set the name of the production which would then be followed by the unique ID of the production template that you manually create using the Final Cut Server application. Presuming we are creating a production called Emerald with a template of /project/298, we could use the following:
fcsvr_client clone –name Emerald /project/298
If we wanted to get the ID of this project, we would then use:
fcsvr_client search –crit Emerald /project
We could then go a step further and actually create an asset in this new project by using the –projaddr option for createasset. In the below example, we’ll presume that the new project ID was 299 and then create an asset called that is stored on a device with an ID of 5 as well as provide a description and a tag:
fcsvr_client createasset –background –projaddr /project/299 pa_asset_media /dev/5/ CUST_DESCRIPTION=”Emerald throwing food at daddy” CUST_KEYWORDS=”food fight”
Now to throw it all together in a little script that could be fired off through another application that can be kicked off from another application. In the below, we assume that it is a bash script that was handed a project name via $1, a device ID in $2 and a file name in $3:
#!/bin/bash fcsvr_client clone –name $1 /project/298 MyProjectID = fcsvr_client search –crit “$1” /project /usr/bin/logger “Production $MyProjectID with name of $1 created” fcsvr_client createasset –background –projaddr /project/$MyProjectID pa_asset_media /dev/$2/$3 CUST_DESCRIPTION=”Automatically uploaded file” CUST_KEYWORDS=”movie, automated” /usr/bin/logger “Asset $3 on device $2 created in production $1”
If we had just wanted to create the asset, we could have simply used line 5, placing the Project ID in $1 by changing out $MyProjectID with $1. We could also use Transmogrifier to easily return the assetID once it has been created in Final Cut Server, allowing that to be returned to the application that might be calling up this script. This allows you to integrate the asset and production creation part of Final Cut Server with other solutions, such as a PHP web upload application, FileMaker or even another Digital Asset Management solutions.

Xsan + serialnumberd Troubleshooting

With Mac OS X 10.5.8 and 10.6.x, Mac OS X Server, Xsan, Final Cut Server and a number of other serialized products were switched to a whole new solution for managing serial numbers: a newly redone serialnumberd. If you run otool against serialnumberd in 10.5.7 and below you’ll notice no dependencies; it stood alone so to speak. If you run otool against the latest and greatest then you’ll notice that it has a number of dependencies that run the gambit of otherwise unthinkable services. This caused minor growing pains during the summer with multihomed network connections, maximum number of clients and other aspects of servers with certain solutions, but that got ironed out quickly with the 10.5.8v1.1 and 10.6.1. But there have been some minor issues I’ve seen still, mostly due to installer packages not holistically cleaning up old artifacts with regards to daemons that manage serial numbers (likely due to their author being concerned about the potential for other services to have dependencies on them). This is a problem that seems to manifest itself more frequently if you are running both Mac OS X Server and Xsan on the same host (which is basically all metadata controllers, etc) and have upgraded from Xsan 1.x to 2.x and potentially upgraded from Mac OS X 10.4.x to 10.5.x and ultimately to 10.6.x. The /System/Library/StartupItems/SerialNumberSupport StartupItem initially invoked the SerialNumberSupport daemon. However, that’s no longer needed for any product that I’m aware of. Therefore, you can stop it using the SystemStarter command and telling it to ‘stop SerialNumberSupport’:
SystemStarter stop SerialNumberSupport
SerialNumberSupport overall is deprecated and so if stopping it does not cause any adverse effects but does resolve some form of volume issues you might be having with your Xsan then you can also move it off somewhere that it can’t be overly troublesome, like your desktop:
mv /SystemLibrary/StartupItems/SerialNumberSupport ~/Desktop/SerialNumberSupport.OLD
Additionally, since serialnumberd is invoked by in /System/Library/LaunchDaemons then in many cases you do not need the /System/Library/LaunchDaemons/ If it is loaded and you are still having problems then try unloading it using launchctl. If your problems are gone then so should the SNServer, so consider moving it using:
mv /System/Library/LaunchDaemons/ ~/Desktop/
These artifacts are likely left behind for a reason. So before you go removing them, check that a temporary stop of them resolves issues without adversely effecting other services. There is a good reason that not everything gets removed, although sometimes they can have unintended consequences…

Mac OS X Server Groups on LinkedIn

In case you haven’t seen them there are a number of groups for Mac OS X Systems Administrators on LinkedIn:

Podcast Producer on Your iPhone

PCP Remote is a great little application for initiating Podcast Producer workflows from your iPhone. In the current iteration you can also record audio tracks from the iPhone and use them in workflows as well. Oh, and it can connect to multiple Podcast Producer servers to kick off workflows. Since one workflow can summon another or write data into Final Cut Server, this gives a lot of options for different ways to integrate Podcast Producer and automate a number of items from your iPhone. Great stuff and I for one am really looking forward to the next version as soon as the App Store approves it!

Problems Opening Final Cut Server client?

One thing to try, especially if you get an error that Mac OS X is ‘Unable to launch the application.’ is to do a get-info (command-I when clicked on the application) for the application and then check the box for ‘Open in 32-bit mode’. I have actually found running applications in 32-bit mode to resolve 3 different issues, only one of which was with Final Cut Server. Anyway, hope this helps someone else!

Rough Cut Editor for Final Cut Server

Artbox allowed you to generate Final Cut Projects. But that was a feature lost when Apple acquired Artbox and turned it into Final Cut Server. Apparently I’m not the only one that noticed and wanted this feature. Andre Aulich, of ConSol in Germany published a movie awhile back showing how they had developed a similar feature. See it here: Well, now it’s in beta. Contact them at for a beta of the tool if your interest is peaked!