<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>André Aulich - Digital Asset Management &#38; Workflow Automation</title>
	<atom:link href="http://www.andre-aulich.de/en/feed" rel="self" type="application/rss+xml" />
	<link>http://www.andre-aulich.de/en</link>
	<description>Apple Consultant, Filesystems, Storage, Final Cut Server, Mac OS X Server, Xsan, StorNext, DAM, MAM</description>
	<lastBuildDate>Fri, 09 Jul 2010 21:21:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Use Xsan 2.2.x&#8217;s Filesystem Events and Archiware PresSTORE 4.x to Protect Large Volumes</title>
		<link>http://www.andre-aulich.de/en/perm/use-xsan-2-2-xs-filesystem-events-and-archiware-presstore-4-x-to-protect-large-volumes</link>
		<comments>http://www.andre-aulich.de/en/perm/use-xsan-2-2-xs-filesystem-events-and-archiware-presstore-4-x-to-protect-large-volumes#comments</comments>
		<pubDate>Fri, 09 Jul 2010 21:21:35 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Video]]></category>
		<category><![CDATA[Xsan/StorNext]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=382</guid>
		<description><![CDATA[If you work with a storage system larger than 10TB and let&#8217;s say houndred thousands or more files stored on it, saving these data as a backup or mirror can be quite challenging. I know many systems, which solely rely on RAID level 5 as the only security feature, which is somehow frightening if you [...]]]></description>
			<content:encoded><![CDATA[<p>If you work with a storage system larger than 10TB and let&#8217;s say houndred thousands or more files stored on it, saving these data as a backup or mirror can be quite challenging.<br />
I know many systems, which solely rely on RAID level 5 as the only security feature, which is somehow frightening if you consider the value of your data.</p>
<p>In this article I will explain how Xsan 2.2.x&#8217;s fsevents feature in conjunction with Archiware PresSTORE&#8217;s 4.x Synchronize module can help you creating a secure copy of your data during normal business hours without interrupting your real-time I/O operations.</p>
<h2>A. The challenge</h2>
<p>Why is it that so many people don&#8217;t create copies of their online data?</p>
<ol>
<li>To copy a large volume&#8217;s data to tape or disk, you need to spend money for the backup device, and nowadays most production environments need to be as cost-effective as possible. So it&#8217;s tempting not to spend money for a backup, which in an ideal world you are never going to use anyway.</li>
<li>If the primary online volume fails, most people need to be able to work on the backup as soon as possible, probably even without much or any interruption. That&#8217;s why you usually need to have a copy of your online data on a second disk set in exactly the same form like on the primary volume. Using a proprietary backup format on the secondary disk set wouldn&#8217;t help you much in disaster scenarios, because you would need to restore your data before you could actually use them. If you consider, that after some time you don&#8217;t need instant access to project data anymore, this leads to a typical three tier setup as a minimum environment: primary online volume, secondary online volume, tape archive (with data which can be removed from the disk sets). This setup can be complex and expensive.</li>
<li>If you are willing to spend the money for a primary and secondary disk volume, as well as for a tape library, you need to make sure that the copy on your secondary disk set is as recent as possible. With very large volumes, scanning the volume for file changes takes a reasonable amount of time (like a couple of hours) which you probably don&#8217;t have very often, probably even not at the weekend. In addition, this scanning process can put so much load on your storage system, that you can&#8217;t scan your volumes during normal business operations without interrupting your real-time I/O. So with large volumes and constantly changing files, in many environments you would simply not find a backup window to create regular copies of your data.</li>
</ol>
<p>Regarding point 1 I&#8217;d like to say that yes, in an ideal world you would never need to restore data from your backup. In the real world I&#8217;d say, that you would only not need your backup if you have a very good backup strategy. As soon as you don&#8217;t set up your backup, you would probably need it. I haven&#8217;t seen a single system without some kind of backup, versioning, etc. where people haven&#8217;t lost data sooner or later, no matter if it was by accidentally deleting files, file system corruption, or hardware issues with or without power failures.<br />
Ah, and did I mention that you absolutely need a UPS for your whole storage system?</p>
<p>So whatever you do, you need a copy of your data. Some people argue that they still have their footage on tape, Professional disk, P2 media, etc. But what happens with your Photoshop files, FCP project files, Word documents, etc? And how long would it take to re-ingest/-transfer your footage to your storage system?<br />
And what about metadata? If you use an asset management system like Final Cut Server, you need to relink your reingested material to the metadata available in your asset management&#8217;s database only. Not so easy, especially if you are in a hurry.<br />
I treat the copy of my XDCAM, P2, etc. files as the new originals, as in most environments the original media (I mean e.g. the Professional disk) would simply not be stored forever, or at least not in an environment, which would guarantee media availability after some years.</p>
<p>So I would simply never recommend to design a production system which doesn&#8217;t include any kind of backup.</p>
<p>How you deal with point 2 depends on your environment. If you never work on time-critical projects, you might backup your data from your online volume directly to tape. Depending on your tape library, this can be as fast as copying files over to a second storage system.<br />
If in a disaster scenario you think you would still have enough time to restore your data before you continue working on them, that&#8217;s a good approach.<br />
Yet, you still need to scan your online volume for file changes, and you would probably not do that during normal business operation as this might interrupt your real-time I/O.<br />
So not having a second disk based volume would only work in environments which either have not many data on their primary volume (so scanning the filesystem for file changes would be superfast), or they don&#8217;t need recent backups and are fine if they only create a nightly backup. But even then you need to make sure that your backup window is large enough, so that you can scan your whole volume and copy the file changes to tape.</p>
<p>If your budget allows for it, you should try to get (at least) a setup like this one:<br />
<img alt="" src="http://www.andre-aulich.de/en/wp-content/uploads/2010/05/Topology.pdf" title="3 tier data cycle" class="aligncenter" width="674" height="446" /></p>
<h2>B. Concepts</h2>
<p>Let&#8217;s have a look at some concepts, which are going to help us implement the 3 tier setup shown in the picture above.</p>
<h3>1. Secondary Online Disk</h3>
<p>In point A.2. I said, that you would probably need to design a 3 tier storage environment, with primary online storage, secondary online storage, and tape based archive.<br />
As the secondary online storage is supposed to be a most recent copy of the primary online storage, this raises the question how to mirror the two volumes.</p>
<p>The first thing that comes to my mind is using a block level hardware solution like e.g. <a href="http://www.cloverleafcomm.com/pages/ISN.asp">Cloverleaf&#8217;s iSN</a>. I&#8217;ve used it in a 24/7 broadcast environment and was not unhappy with it, but what happens if the file system breaks? This would affect both the primary and the secondary volume. To avoid this you could use snapshots, which are supported by iSN, but the whole thing gets really complex at some stage, and I&#8217;d like to keep things as simple as possible.</p>
<p>So I&#8217;d prefer to have two independent file systems and make sure, that I only copy files from one file system to the other. If one system breaks, I could then simply repair/recreate it and copy my data onto it.</p>
<p>What happens if the primary volume really fails? How do I access the second volume?</p>
<p>Let&#8217;s say your volumes are called XsanVolume1 and XsanVolume2. They share the same size.<br />
If XsanVolume1 is mounted on all your servers and your clients, XsanVolume2 needs to be mounted on your backup/synchronize machine at least, because at least one machine needs access to both volumes to copy data from volume 1 to volume 2.<br />
In case XsanVolume1 fails, you would use Xsan Admin to unmount XsanVolume1 from all servers and clients, mount XsanVolume2 on all servers and clients, and then e.g. use Remote Desktop or something alike to create a symlink on all machines from /Volumes/XsanVolume2 to /Volumes/XsanVolume1.<br />
Test this with your specific applications before you try this in a disaster scenario, but this will work with most apps.</p>
<p>You could of course fully automate this, but I would recommend to prepare the tools for a manual failover. This way you would be able to first investigate the reason for the failure.</p>
<h3>2. Filesystem Scan vs. Filesystem Events</h3>
<p>The functionality that we need to create a copy of our primary volume on the secondary volume is a synchronization function. If we use PresSTORE, we can still decide to support versioning like in a backup, and this would not prevent us from working on the secondary volume directly if we needed to. But right now we just need a way to synchronize our two volumes.</p>
<p>As I said, scanning our primary volume for file changes since the last synchronization puts a reasonable amount of load on our system and would probably interrupt real-time I/O like ingest and playout, so a full scan of our volume should only happen at night, at the weekend, or whenever we find the time to do so. A full scan can easily take a couple of hours, depending on the number of files on your file system.</p>
<p>The solution to this sounds very easy: let&#8217;s use filesystem events instead. This means, that each time a file in our filesystem gets created, deleted, or modified, this event will be written into a database. When my next synchronization starts, it just reads the database and copies the modified data to volume 2.<br />
No scanning necessary, and instead of let&#8217;s say 5 hours of scanning, the process takes a couple of seconds only.<br />
Wow!</p>
<p>Since version 2.2 Xsan supports filesystem events. Apple doesn&#8217;t really tell you about it directly, but you can extract it from their <a href="http://support.apple.com/kb/HT3172">knowledge base articles</a> if you understand, that Spotlight uses filesystem events as its foundation.<br />
In Xsan environments, every file modification will trigger a filesystem event on the machine which writes the file (if it&#8217;s a Mac) as well as on the active metadata controller. The only machine which catches all filesystem events on your Xsan volume is the currently active metadata controller.</p>
<h3>3. How PresSTORE Synchronize 4.x uses Xsan 2.2.x Filesystem Events</h3>
<p>Even PresSTORE 3.x supports filesystem events, so why do I need PresSTORE4.x? In version 3, the filesystem event needed to happen on the machine on which PresSTORE was running. So with PresSTORE 3 you would need to run your synchronization software on the currently active metadata controller to copy data from volume 1 to volume 2.<br />
The data copy processes  would put so much load on your MDC, that its latency during metadata access would increase until your clients might loose frames during ingest or playout.<br />
The idea in version 4 is to run the Synchronize module on a normal client system and have a little tool running on the MDC, which does nothing but collecting all the filesystem events of your active Xsan volumes.<br />
Whenever your Sync process starts on the PresSTORE machine, it will simply copy the minimal information from the MDC, check if it needs to move some data, and then do the dirty work without impacting the load of the active MDC.<br />
You can say, that PresSTORE 3&#8242;s fsevents implementation was supposed to support local HFS+ volumes only, while version 4 now supports fsevents in Xsan environments, too.</p>
<p>How does it look like?<br />
You just install the PresSTORE client software on your MDCs (remember that you need a valid license for each of them), then you set up a synchronize plan which syncs XsanVolume1 to XsanVolume2.<br />
In the &#8220;Synchronize Options&#8221; section of the sync plan you now find the option to set up an fsevents server, which in Xsan environments has to be the currently active MDC:<br />
<a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/FSEventsSettingsForXsanInPresSTORE.jpg"><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/FSEventsSettingsForXsanInPresSTORE-450x438.jpg" alt="" title="FSEventsSettingsForXsanInPresSTORE" width="450" height="438" class="aligncenter size-medium wp-image-397" /></a><br />
In case your primary MDC goes down, just select the secondary MDC as fsevents server for your sync plan.</p>
<h3>4. Apple&#8217;s Implementation of Filesystem Events in Xsan 2.2 (in my understanding) and how to deal with it</h3>
<p>There&#8217;s the <a href="http://developer.apple.com/mac/library/documentation/Darwin/Conceptual/FSEvents_ProgGuide/Introduction/Introduction.html">File System Events Programming Guide</a> available on the Apple website, which describes the general fsevents mechanisms Apple uses in HFS+ and Xsan 2.2.<br />
At this stage you might think that with fsevents support, PresSTORE would simply get a list of files which have changed and would then work through it.<br />
That would be great. If you work in the fsevents team at Apple and read this article, please add this feature – that would be so awesome.</p>
<p>Anyway. What really happens if the Apple fsevents programming guide applies to the Xsan world, too, is this:</p>
<ul>
<li>Instead of receiving an event, that a file has changed, you get an event, that something within a folder has changed. So your application (like PresSTORE), still needs to scan this folder for file changes. In video environments this could be a folder with an image sequence (150.000 files?, no problem, that&#8217;s just 40 minutes made of 60 frames per second), so scanning all these files would take some time. If you work with Final Cut Server, most of the assets will be stored on the root level of one folder, so you also end up with many files in one folder. Each time you upload a txt file into Final Cut Server, you get an fsevent, that you need to scan the whole FCSvr Library. You can structure your Final Cut Server environment to better work with this fsevents strategy, but you can&#8217;t rely on FCSvr&#8217;s default settings. Be aware of this when you design your Xsan&#8217;s folder structure.</li>
<li>When you have too many fsevents at the same time or within a short time frame, the fsevents mechanism can merge these events and point your application to the common point of the events in the folder hierarchy. In the worst case this can mean that the fsevent says &#8220;Scan your whole Xsan volume&#8221;. Your app could then still ignore the whole event, but hey, you&#8217;d like to protect your data, wouldn&#8217;t you?</li>
<li>All applications which register for fsevents share the same buffer. The first application to work on the fsevents list is Spotlight, which seems to deal with it pretty well. If you use other fsevents application, they might slow down the process so much, that new events don&#8217;t fit into the buffer anymore. This means, you will not catch all the events, which again means, that a part of your data would not be protected. Yet, you should not run any software on the MDC anyway, so chances are very, very high, that you never run into this problem.</li>
</ul>
<p>The main message here is that in very rare situations it might happen that the fsevents mechanism doesn&#8217;t catch all the file operations on your Xsan volume, so at least from time to time you would still need a full scan of your volume.<br />
I would recommend to use fsevents for your Synchronize module during the day and during normal business operation, and then use full scans as often as possible. If this is once a week, I would feel secure.</p>
<h2>C. To Do</h2>
<p>While Archiware&#8217;s implementation of fsevents support in Xsan environments is simply great, the current version doesn&#8217;t automatically deal with Xsan Metadata Controller failover. The perfect solution would be if for any Xsan volume you could enter multiple MDCs as fsevents source in a PresSTORE Synchronize plan, and then PresSTORE would automatically detect which one is the currently active server. If you don&#8217;t have a split-brain problem with one of your volumes (or run software on one of the MDCs which writes data to your Xsan volume), there will always be a single MDC serving your fsevents, so this is something which would greatly improve the software.<br />
If you think that you really need automatic failover detection in PresSTORE 4, please go ahead and file a feature request at Archiware.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/use-xsan-2-2-xs-filesystem-events-and-archiware-presstore-4-x-to-protect-large-volumes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Cut Server: How to import metadata from external MAMs</title>
		<link>http://www.andre-aulich.de/en/perm/final-cut-server-how-to-import-metadata-from-external-mams</link>
		<comments>http://www.andre-aulich.de/en/perm/final-cut-server-how-to-import-metadata-from-external-mams#comments</comments>
		<pubDate>Fri, 09 Jul 2010 10:21:54 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Final Cut Server]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=352</guid>
		<description><![CDATA[Lately I&#8217;ve seen more and more people connecting their Final Cut Server systems to other MAMs, and one of the main questions in these &#8220;multiple MAMs&#8221; environments is how to exchange metadata in between the different systems. If you want to copy asset metadata from an external MAM into Final Cut Server, this basically includes [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve seen more and more people connecting their Final Cut Server systems to other MAMs, and one of the main questions in these &#8220;multiple MAMs&#8221; environments is how to exchange metadata in between the different systems.</p>
<p>If you want to copy asset metadata from an external MAM into Final Cut Server, this basically includes the following steps:</p>
<ol>
<li>copy media file into Final Cut Server</li>
<li>copy related metadata as an XML file into Final Cut Server</li>
</ol>
<p>Both steps would work with or without watch folders, you can e.g. copy new assets into FCSvr as part of a Final Cut Pro project file and let Final Cut Server automatically grab any related XML files after analyzing a file. The real challenge lies in creating the proper XML file.</p>
<p>At <a href="http://developer.apple.com/mac/library/technotes/tn2009/tn2255.html">http://developer.apple.com/mac/library/technotes/tn2009/tn2255.html</a> you find a very good article, which describes how the XML file needs to be structured.<br />
If your external MAM can create Final Cut Server import XML file structures directly, that&#8217;s great. If not, you need to restructure the XML file to prepare it for Final Cut Server usage.</p>
<p>While the latter is not part of this article, the main challenge lies in the fact, that Final Cut Server creates an asset ID for each new asset in its database, which needs to be contained in the related import XML file. This article mainly explains the process of finding this ID and writing it into the XML file.</p>
<p>Let&#8217;s start.</p>
<p>First we create a &#8220;Run an external script or command&#8221; response in the Final Cut Server administration panel. I call it &#8220;Add FCSvr Asset ID to VPMS XML&#8221;, as in my case I take an XML file as my input file, which has been generated by <a href="http://www.s4m.com/site/index.php?id=39&#038;L=1">S4M&#8217;s VPMS</a>.</p>
<p>Then I enter the path to the script I am going to show you in a minute, and then tell FCSvr to send the file name and the asset id as parameters:</p>
<p><a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/AddFCSvrAssetIDToVPMSXML.jpg"><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/AddFCSvrAssetIDToVPMSXML-450x130.jpg" alt="" title="AddFCSvrAssetIDToVPMSXML" width="450" height="130" class="aligncenter size-medium wp-image-354" /></a></p>
<p>At a later stage this would basically invoke my script like e.g.</p>
<p><code>/usr/local/vpms2fcsvr mytestfile.mxf 34</code></p>
<p>where &#8220;mytestfile.mxf&#8221; is the name of my file, and &#8220;34&#8243; is the asset ID.</p>
<p>Now let&#8217;s have a look at the script, which is going to process everything:</p>
<p><code>#!/bin/bash<br />
#<br />
#######################################################<br />
#                                                     #<br />
# vpms2fcsvr reads an XML file exported by S4M's      #<br />
# VPMS and adds the Final Cut Server asset id of      #<br />
# the related media file to it.                       #<br />
# copyright 2010 by Andre Aulich, www.andre-aulich.de #<br />
#                                                     #<br />
#######################################################<br />
# First we define some variables:<br />
VPMSFOLDER="/Users/cadmin/Desktop/Final Cut Server/VPMS_IN"<br />
LOGFILE="/Users/cadmin/Desktop/Final Cut Server/vpms2fcsvr.log"<br />
MEDIAFILENAME="$1"<br />
ASSETID="$2"<br />
TOBEREPLACED="STRING_TO_BE_REPLACED"<br />
FCSvrXMLIN="/Users/cadmin/Desktop/Final Cut Server/Watchers/XML"<br />
# Log some debugging information:<br />
echo "Starting XML import at "$(date)"." >> "$LOGFILE"<br />
echo "Media filename is "$MEDIAFILENAME"." >> "$LOGFILE"<br />
echo "Asset ID is "$ASSETID"." >> "$LOGFILE"<br />
# Let's generate the path to the XML file:<br />
x="$MEDIAFILENAME"<br />
XMLFILE="${x%.*}".xml<br />
XMLFILEPATH="$VPMSFOLDER/$XMLFILE"<br />
echo "The XML file is named \""$XMLFILEPATH"\"." >> "$LOGFILE"<br />
# Now it's a good time to quit and log an error if the XML file doesn't exist.<br />
if ! [[ -e "$XMLFILEPATH" ]]; then<br />
        echo "No XML file found at "$XMLFILEPATH". Can't import metadata from VPMS." >> "$LOGFILE"<br />
        exit 0<br />
fi<br />
# Now we replace STRING_TO_BE_REPLACED in our XML file with the FCSvr asset ID:<br />
sed -i "" s/"$TOBEREPLACED"/"$ASSETID"/ "$XMLFILEPATH" >> "$LOGFILE"<br />
# Copy the modified XML file into the FCSvr XML watch folder and remove the original XML file.<br />
cp "$XMLFILEPATH" "$FCSvrXMLIN"/<br />
rm "$XMLFILEPATH"<br />
# We also remove the original media file.<br />
rm "$VPMSFOLDER"/"$MEDIAFILENAME"</code></p>
<p>You see, there&#8217;s no magic involved.<br />
But let&#8217;s go through it step by step:<br />
First I tell my script where it finds all the media and XML files exported by your external MAM:<br />
<code>VPMSFOLDER="/Users/cadmin/Desktop/Final Cut Server/VPMS_IN"</code><br />
This folder is not a Final Cut Server device.<br />
Then I define a log path:<br />
<code>LOGFILE="/Users/cadmin/Desktop/Final Cut Server/vpms2fcsvr.log"</code><br />
In the next step I map the FCSvr parameters filename and asset id to my scripts global variables:<br />
<code>MEDIAFILENAME="$1"<br />
ASSETID="$2"</code><br />
The incoming XML file uses a fixed text string instead of the asset ID which I am going to replace.<br />
So I need to define which text string needs to be replaced:<br />
<code>TOBEREPLACED="STRING_TO_BE_REPLACED"</code><br />
My final XML input file will be copied into a FCSvr watch folder, and here I define the path of that folder:<br />
<code>FCSvrXMLIN="/Users/cadmin/Desktop/Final Cut Server/Watchers/XML"</code><br />
For debugging purposes, I log some information each time I invoke the script:<br />
<code># Log some debugging information:<br />
echo "Starting XML import at "$(date)"." >> "$LOGFILE"<br />
echo "Media filename is "$MEDIAFILENAME"." >> "$LOGFILE"<br />
echo "Asset ID is "$ASSETID"." >> "$LOGFILE"</code><br />
Starting with the file name of the media file, I generate the path of the related XML file:<br />
<code># Let's generate the path to the XML file:<br />
x="$MEDIAFILENAME"<br />
XMLFILE="${x%.*}".xml<br />
XMLFILEPATH="$VPMSFOLDER/$XMLFILE"<br />
echo "The XML file is named \""$XMLFILEPATH"\"." >> "$LOGFILE"</code><br />
If this XML doesn&#8217;t exit, we quit the script:<br />
<code># Now it's a good time to quit and log an error if the XML file doesn't exist.<br />
if ! [[ -e "$XMLFILEPATH" ]]; then<br />
        echo "No XML file found at "$XMLFILEPATH". Can't import metadata from VPMS." >> "$LOGFILE"<br />
        exit 0<br />
fi</code><br />
Now we replace the place holder text string in the original XML file with the asset ID:<br />
<code># Now we replace STRING_TO_BE_REPLACED in our XML file with the FCSvr asset ID:<br />
sed -i "" s/"$TOBEREPLACED"/"$ASSETID"/ "$XMLFILEPATH" >> "$LOGFILE"</code><br />
And then we copy the new XML file into our XML watch folder before deleting the original XML file:<br />
<code># Copy the modified XML file into the FCSvr XML watch folder and remove the original XML file.<br />
cp "$XMLFILEPATH" "$FCSvrXMLIN"/<br />
rm "$XMLFILEPATH"</code><br />
We also delete the original media file:<br />
<code># We also remove the original media file.<br />
rm "$VPMSFOLDER"/"$MEDIAFILENAME"</code><br />
Removing the media and XML files is optional depending on your workflow, and instead of in-place-replacing the asset ID in the XML file you might also want to not touch the original XML file but redirect the &#8220;seded&#8221; XML file into the XML watch folder directly.</p>
<p>Take this as an example only and adapt it to your needs.</p>
<p>Now, as a next step, we need to tell Final Cut Server to trigger our script whenever a new asset gets created.<br />
To do so, open the subscription panel in the FCSvr admin interface and create a new subscription which is attached to assets.<br />
I call my subscription &#8220;Update VPMS metadata during asset creation&#8221;, enable it, and choose &#8220;Analyzed&#8221; as the only Event Type filter.<br />
This means, that my subscription gets triggered whenever an asset gets analyzed. If you choose &#8220;Created&#8221; as your trigger, your script might be invoked before Final Cut Server analyzed technical metadata of your file, and then Final Cut Server might overwrite the metadata you just imported through the XML import. Feel free to choose the filter which best fits your needs.</p>
<p>In the Response List I select my response &#8220;Add FCSvr Asset ID To VPMS XML&#8221; and then I enable the subscription:<br />
<a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/UpdateVPMSMetadataDuringAssetCreation.jpg"><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/UpdateVPMSMetadataDuringAssetCreation-450x264.jpg" alt="" title="UpdateVPMSMetadataDuringAssetCreation" width="450" height="264" class="aligncenter size-medium wp-image-366" /></a></p>
<p>Now I need to define my XML watch folder.<br />
I take Final Cut Server&#8217;s default Watchers device and create a subfolder inside called &#8220;XML&#8221;.<br />
Now I create a &#8220;Read XML&#8221; response called &#8220;Read XML&#8221;.<br />
After that I create a watcher called &#8220;Import translated VPMS XML&#8221; with these settings:<br />
<a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/ImportTranslatedVPMSXML_Details.jpg"><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/ImportTranslatedVPMSXML_Details-450x264.jpg" alt="" title="ImportTranslatedVPMSXML_Details" width="450" height="264" class="aligncenter size-medium wp-image-367" /></a><br />
<a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/ImportTranslatedVPMSXML_PollWatcher.jpg"><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/07/ImportTranslatedVPMSXML_PollWatcher-450x264.jpg" alt="" title="ImportTranslatedVPMSXML_PollWatcher" width="450" height="264" class="aligncenter size-medium wp-image-368" /></a><br />
As you can see, I use the XML subfolder of my Watchers device as the Monitor Address, then I use &#8220;Read XML&#8221; and &#8220;Delete&#8221; as my responses, which means, that the XML will be read in and be deleted afterwards, if the read process worked well. This all gets triggered after a file has been created.<br />
The process starts if the files has been listed twice without file size changes, and FCSvr pauses for 10 seconds before listing a file again, so the whole process takes at least a bit more than 10 seconds.</p>
<p>My watcher only scans for xml files and ignores any other file types.</p>
<p>If you enable this job, and copy both a media file and a related XML file (with the same name like the media file, but with xml as suffix) into our input folder, and from there drag the media file into FCSvr, Final Cut Server will now write the asset&#8217;s ID into the XML and import the XML into its DB.</p>
<p>Of course this assumes, that your incoming XML file is already structured in the way Final Cut Server likes it.<br />
If not, you might want to adapt the script we use to restructure the incoming XML file.<br />
For this you might want to use <a href="http://sourceforge.net/project/showfiles.php?group_id=66612">XMLStarlet</a> within bash or better use Ruby, Python, or Perl instead.</p>
<p>If you need any help designing your XML workflow, please feel free to <a href="http://www.andre-aulich.de/en/send-feedback">get in touch with me</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/final-cut-server-how-to-import-metadata-from-external-mams/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad Printing – Send PDF as email to Mac OS X Server 10.6</title>
		<link>http://www.andre-aulich.de/en/perm/ipad-printing-%e2%80%93-send-pdf-as-email-to-mac-os-x-server-10-6</link>
		<comments>http://www.andre-aulich.de/en/perm/ipad-printing-%e2%80%93-send-pdf-as-email-to-mac-os-x-server-10-6#comments</comments>
		<pubDate>Wed, 12 May 2010 11:43:06 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=303</guid>
		<description><![CDATA[Well, everybody seems to be asking why the iPad can&#8217;t print files, yet. If you are looking for iPad printing solutions, you might have come across funny approaches like this one, but this article is about a serious solution. Credits: to use Mac OS X Server&#8217;s mail services to provide printing features for the iPad [...]]]></description>
			<content:encoded><![CDATA[<p>Well, everybody seems to be asking why the iPad can&#8217;t print files, yet.</p>
<p>If you are looking for iPad printing solutions, you might have come across funny approaches <a href="http://www.engadget.com/2010/04/15/ipad-printing-solved/">like this one</a>, but this article is about a serious solution.</p>
<p><strong>Credits: to use Mac OS X Server&#8217;s mail services to provide printing features for the iPad was Armin Briegel&#8217;s idea. You can follow him on <a href="http://twitter.com/titanonearth">Twitter</a>. I was just the guy to write the few lines of code.</strong></p>
<p>The idea is very easy: iPad&#8217;s iWork applications as well as other iPad apps can export PDF files, which you can send to an email address of choice.</p>
<p>If now you use a Mac OS X Server machine (can be a Mac mini server, e.g.) which runs mail services to print all PDF files sent to a specific address, you have an easy solution to the iPad printing &#8220;challenge&#8221;.</p>
<p>I guess you know how to set up Mac OS X Server 10.6 to run basic mail services, if not, read <a href="http://www.oreilly.de/catalog/macosxsrvrkommplger/">my wonderful O&#8217;Reilly book</a> on it :-D The book comes in german only, so see it as a chance to improve your german :-D , or get in touch with O&#8217;Reilly, that you want it translated into english.</p>
<p>So this is how it works:</p>
<h2>1. List available printers and test them</h2>
<p>First open the Terminal on your Mac OS X Server 10.6 and type the following line to see which printers are available for our mail printer.<br />
<code>mothership:iPadPrint root# lpstat -a<br />
EPSON_Perfection_2480_2580 accepting requests since Mon Aug 31 18:33:07 2009<br />
Fax accepting requests since Tue May 11 21:25:40 2010<br />
hp_deskjet_5550 accepting requests since Tue May 11 21:55:46 2010</code><br />
In this example you see that there are three printers available on my machine, where the EPSON device actually is a scanner, and there is a Fax available, too, but imagine that there are multiple printers you might want to use.</p>
<p>Now try if you can print PDF files to one of your printers:<br />
<code>lp -d "hp_deskjet_5550" 1.pdf</code><br />
In the line above replace &#8220;hp_deskjet_5550&#8243; with the name of your printer. Replace &#8220;1.pdf&#8221; with the absolute file path of a pdf file.<br />
If this works fine, go to the next step.</p>
<h2>2. Set up printing mail accounts on Mac OS X Server</h2>
<p>I assume that your Mac OS X Server runs as an Open Directory Master. Now open the Workgroup Manager and create a new mail account for your printer. In my case the user will be called &#8220;hp_deskjet_5550&#8243;, the domain is &#8220;andre-aulich.de&#8221;, so the complete email address will be &#8220;hp_deskjet_5550@andre-aulich.de&#8221;.</p>
<p><strong>Note:</strong> If you don&#8217;t want some Internet folks printing thousands of pages on your machines, make sure that this machine can not be reached from the internet. If this is not possible, create a dedicated internal domain which can not be reached from outside.</p>
<p>This is how the new account looks like in Workgroup Manager:<br />
<img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/05/wgmanagerprinter_1.jpg" alt="" title="wgmanagerprinter_1" width="589" height="531" class="aligncenter size-full wp-image-313" /><br />
<img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/05/wgmanagerprinter_2.jpg" alt="" title="wgmanagerprinter_2" width="589" height="531" class="aligncenter size-full wp-image-314" /><br />
Save theses settings, send an email without any attachements, and a second one with a PDF file as attachment to this account, and then open the Terminal and change into your dovecot&#8217;s mail directory:<br />
<code>mothership:mail root# cd /var/spool/imap/dovecot/mail<br />
mothership:mail root# ls -al<br />
total 0<br />
drwxrwxr-x  10 _dovecot         mail   340 Mar 25 09:56 .<br />
drwxr-xr-x   4 root             wheel  136 Aug 31  2009 ..<br />
drwx------  15 valerie          mail   510 Nov 10  2009 14167B4C-211D-4AA9-A2B4-4641AD5C508B<br />
drwx------  25 andre            mail   850 May 12 11:38 22D9FA73-A1CA-4981-AD37-3E06D7E4F457<br />
drwx------  13 public           mail   442 Nov 10  2009 2AF362D6-E665-48D7-98AF-E347B055135A<br />
drwx------  11 ab               mail   374 Mar 12 10:48 2EF9F9D2-69FD-4670-B1FE-2C8FC55D3675<br />
drwx------  16 ical             mail   544 Jan 15 16:32 A1BB97FC-5E6D-491C-AAED-F8B9212FE3D3<br />
drwx------  10 hp_deskjet_5550  mail   340 Mar 25 09:56 B806EEC7-9C41-49B7-8D7C-DF507DFE21DF<br />
drwx------  16 sadmin           mail   544 Nov 18 12:15 E8043686-DCCC-432F-BD96-85C400288357<br />
drwxrwxrwx   7 andre            mail   238 Nov 10  2009 Public<br />
mothership:mail root# cd B806EEC7-9C41-49B7-8D7C-DF507DFE21DF/<br />
mothership:B806EEC7-9C41-49B7-8D7C-DF507DFE21DF root# ls -al<br />
total 32<br />
drwx------  10 hp_deskjet_5550  mail  340 Mar 25 09:56 .<br />
drwxrwxr-x  10 _dovecot         mail  340 Mar 25 09:56 ..<br />
drwx------   2 hp_deskjet_5550  mail   68 Mar 25 09:56 cur<br />
-rw-------   1 hp_deskjet_5550  mail   84 Mar 25 09:56 dovecot-uidlist<br />
-rw-------   1 hp_deskjet_5550  mail    8 Mar 25 09:56 dovecot-uidvalidity<br />
-rw-------   1 hp_deskjet_5550  mail    0 Mar 25 09:56 dovecot-uidvalidity.4bab2555<br />
-rw-------   1 hp_deskjet_5550  mail  220 Mar 25 09:56 dovecot.index.log<br />
-rw-------   1 hp_deskjet_5550  mail   11 Mar 25 09:56 maildirsize<br />
drwx------   3 hp_deskjet_5550  mail  102 Mar 25 09:56 new<br />
drwx------   2 hp_deskjet_5550  mail   68 Mar 25 09:56 tmp<br />
mothership:B806EEC7-9C41-49B7-8D7C-DF507DFE21DF root# cd new<br />
mothership:cur root# ls -al<br />
total 0<br />
drwx------   2 hp_deskjet_5550  mail   68 Mar 25 09:56 .<br />
drwx------  10 hp_deskjet_5550  mail  340 Mar 25 09:56 ..<br />
-rw-------   1 hp_deskjet_5550  mail   1.3K May 12 12:02 1273658576.M795669P68535.mothership.intern,S=1327,W=1364:2,<br />
-rw-------   1 hp_deskjet_5550  mail   1.3K May 12 12:03 1273658602.M6558P68554.mothership.intern,S=1325,W=1362:2,<br />
-rw-------   1 hp_deskjet_5550  mail    77K May 12 12:05 1273658717.M385494P68662.mothership.intern,S=78367,W=79416:2,<br />
-rw-------   1 hp_deskjet_5550  mail    77K May 12 12:05 1273658742.M267533P68676.mothership.intern,S=78365,W=79414:2,</code><br />
What have we done here? Dovecot stores emails in /var/spool/imap/dovecot/mail. We list the content of the folder and see that each user has its own folder, named like the UUID of the user. If you don&#8217;t know how to look up the UUID of a user, or if you just don&#8217;t want to spend the time doing it, just look for the folder which is owned by our new printer user.<br />
If you need to look up the UUID of our newly created user, you can also type<br />
<code>dscl /LDAPv3/127.0.0.1 -read /Users/hp_deskjet_5550 | grep apple-generateduid</code><br />
in Terminal to get an output like this:<br />
<code>dsAttrTypeNative:apple-generateduid: C784550D-B2A6-4881-8DAF-0FC96D4BE8ED</code><br />
Now you can search for the mail folder of our freshly created mail user.<br />
In the code above we see that the folder B806EEC7-9C41-49B7-8D7C-DF507DFE21DF is owned by hp_deskjet_5550, so we change into this directory and list its contents. New mails will always be copied into the &#8220;new&#8221; folder, so we change into this directory and list its content, which already holds 4 emails in my case.</p>
<h2>3. Extract attachments from emails and print them</h2>
<p>First, make sure you have <a href="http://www.macports.org/">MacPort</a>s installed, then install ripmime:<br />
<code>bash-3.2# port install ripmime<br />
--->  Computing dependencies for ripmime<br />
--->  Fetching ripmime<br />
--->  Attempting to fetch ripmime-1.4.0.6.tar.gz from http://lil.fr.distfiles.macports.org/ripmime<br />
--->  Verifying checksum(s) for ripmime<br />
--->  Extracting ripmime<br />
--->  Configuring ripmime<br />
--->  Building ripmime<br />
--->  Staging ripmime into destroot<br />
--->  Installing ripmime @1.4.0.6_0<br />
--->  Activating ripmime @1.4.0.6_0<br />
--->  Cleaning ripmime</code></p>
<p>Now, create a new directory and a bash script which we are going to use for further automation:<br />
<code>mkdir -p /usr/local/iPadPrint/<br />
cd /usr/local/iPadPrint/<br />
touch printpdfs<br />
chmod +x printpdfs</code><br />
Open the script using nano and insert the following code:<br />
<code>#!/bin/bash<br />
TMPDIR="/usr/local/iPadPrint/tmp/"<br />
mkdir -p /usr/local/iPadPrint/tmp/<br />
for i in /var/spool/imap/dovecot/mail/C784550D-B2A6-4881-8DAF-0FC96D4BE8ED/new/*; do<br />
        if [[ "$(grep "Content-Type: application/pdf;" "$i")" == "" ]]; then<br />
                echo "Deleting file $i as it holds no pdf files."<br />
                rm "$i"<br />
        else<br />
                echo "Printing pdf attachment(s) of file $i"<br />
                /opt/local/bin/ripmime -i "$i" -d "$TMPDIR"<br />
                rm "$i"<br />
        fi<br />
done<br />
for i in "$TMPDIR"*; do<br />
        if [[ "$i" != *.pdf ]]; then<br />
                echo "$i deleted. No pdf file"<br />
                rm -r "$i"<br />
        else<br />
                echo "$i will be printed."<br />
                lp -d "hp_deskjet_5550" "$i"<br />
                rm "$i"<br />
        fi<br />
done</code></p>
<p>You can also download the script from <a href='http://www.andre-aulich.de/en/wp-content/uploads/2010/05/printpdfs1.zip'>here</a>. Just extract it, copy it into /usr/local/iPadPrint and make it executable.<br />
Change /var/spool/imap/dovecot/mail/C784550D-B2A6-4881-8DAF-0FC96D4BE8ED/new/* to match your environment.<br />
Now invoke the script.</p>
<p>It will extract all attachments out of your emails. If an email doesn&#8217;t contain a pdf file, it will be deleted without printing.<br />
The tool will print all contained pdf files and delete everything after printing.</p>
<h2>4. Automate it</h2>
<p>To run this whenever a new email arrives in the account of our printer mail account, download <a href='http://www.andre-aulich.de/en/wp-content/uploads/2010/05/de.andre-aulich.ipadprinter.plist_.zip'>this file</a>, copy it into /Library/LaunchDaeomons, and make sure, its permissions look like this:<br />
<code>-rw-r--r--   1 root  wheel   458 May 12 13:38 de.andre-aulich.ipadprinter.plist</code><br />
Change the line <string>/var/spool/imap/dovecot/mail/C784550D-B2A6-4881-8DAF-0FC96D4BE8ED/new/</string> to match your environment.<br />
Then load the job:<br />
<code>launchctl load -w /Library/LaunchDaemons/de.andre-aulich.ipadprinter.plist</code></p>
<p>Now Mac OS X Server 10.6 automatically discovers new print jobs you send via email and prints all included pdf files to the selected printer.</p>
<p>You can use this solution to work with multiple printers by simply creating more scripts and launchd jobs.</p>
<p>Hope this helps!</p>
<p>P.S.: Most cli commands need to be invoked as root user or with sudo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/ipad-printing-%e2%80%93-send-pdf-as-email-to-mac-os-x-server-10-6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting Final Cut Server To Archiware PresSTORE &#8211; new tool and documentation !</title>
		<link>http://www.andre-aulich.de/en/perm/connecting-final-cut-server-to-archiware-presstore</link>
		<comments>http://www.andre-aulich.de/en/perm/connecting-final-cut-server-to-archiware-presstore#comments</comments>
		<pubDate>Thu, 06 May 2010 11:48:32 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Final Cut Server]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Xsan/StorNext]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=134</guid>
		<description><![CDATA[Many of us would like to use Final Cut Server (FCSvr) as an archive solution to write high res media files to tape (or disks). By default, FCSvr can write archives onto various file systems, but it can&#8217;t directly access tape drives. Now download my little middleware tool fiprecon to connect Final Cut Server to [...]]]></description>
			<content:encoded><![CDATA[<p>Many of us would like to use Final Cut Server (FCSvr) as an archive solution to write high res media files to tape (or disks).<br />
By default, FCSvr can write archives onto various file systems, but it can&#8217;t directly access tape drives.</p>
<p>Now download my little middleware tool <a href='http://www.andre-aulich.de/en/wp-content/uploads/2009/02/fiprecon.pkg_.zip'>fiprecon</a> to connect Final Cut Server to <a href="http://www.archiware.com">Archiware PresSTORE</a> in a way which can look like this:</p>
<p><a href='http://www.andre-aulich.de/en/wp-content/uploads/2010/05/Topology.pdf'><img src="http://www.andre-aulich.de/en/wp-content/uploads/2010/05/Topology.pdf" alt="elgato_turboHD264_01" title="elgato_turboHD264_01" width="550" height="350" class="aligncenter size-medium wp-image-190" /></a></p>
<p>Make sure to install fiprecon on your Final Cut Server system. The PresSTORE server can be a separate machine which fiprecon controls over the network, but fiprecon supports running FCSvr and PresSTORE on the same machine, too.</p>
<p>After the installation, run the config tool using</p>
<p><code>sudo /usr/local/fiprecon/bin/config.command</code></p>
<p>and enter the paths /usr/local/fiprecon/bin/postarchive.command and /usr/local/fiprecon/bin/prerestore.command as postarchive and prerestore script paths of your archive volume in FCSvr.</p>
<p>I recommend to set the retry count in FCSvr to 10 and the timeout setting to 300 seconds.</p>
<p>I wrote a detailed documentation about &#8220;Backup and Archive setups with Final Cut Server, Xsan, and PresSTORE&#8221;, which can be downloaded <a href="http://www.andre-aulich.de/en/wp-content/uploads/2010/05/Whitepaper_FCSvr_PresSTORE_10.pdf">here</a> and describes fiprecon in detail.</p>
<p>It also explains these topics:</p>
<ul>
<li>Archiving FCSvr assets on tape.</li>
<li>Automatic archiving after x days</li>
<li>Automatic archiving right after asset creation (great for moving video tape based archives into the digital world)</li>
</ul>
<p>Please feel free to use both the tools and the documentation – they come for free.<br />
If you need any customization, or any other kind of Final Cut Server consulting, please get in touch with me.</p>
<p>Looking forward for your feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/connecting-final-cut-server-to-archiware-presstore/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Cut Server presentation available as download</title>
		<link>http://www.andre-aulich.de/en/perm/final-cut-server-presentation-available-as-download</link>
		<comments>http://www.andre-aulich.de/en/perm/final-cut-server-presentation-available-as-download#comments</comments>
		<pubDate>Fri, 19 Mar 2010 10:01:58 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Final Cut Server]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Xsan/StorNext]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=253</guid>
		<description><![CDATA[If you&#8217;d like a copy of the Final Cut Server presentation I will give in London at the VideoVisions event in London next week, here it is. Besides other topics the presentation deals with Rough Cut Editing FCSvr CLI XML and data exchange with other MAMs Automatic fetching of news feeds incl. XML metadata Working [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;d like a copy of the Final Cut Server presentation I will give in London at the VideoVisions event in London next week, <a href='http://www.andre-aulich.de/wp-content/uploads/2010/03/2010_03_18_FCSvr.pdf'>here</a> it is.</p>
<p>Besides other topics the presentation deals with</p>
<ul>
<li>Rough Cut Editing</li>
<li>FCSvr CLI</li>
<li>XML and data exchange with other MAMs</li>
<li>Automatic fetching of news feeds incl. XML metadata</li>
<li>Working with growing clips</li>
<li>Automatic XDCAM ingest</li>
<li>FCSvr Archiving to tape</li>
</ul>
<p>The presentation contains a great deal of demo parts, so not every topic will be explained in detail in the linked PDF file.</p>
<p>If you got any questions regarding the topics dealt with in the presentation, or if you&#8217;d like to hire me for one of these things, please use my feedback form to get in touch with me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/final-cut-server-presentation-available-as-download/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation in Berlin: Mac OS X Server 10.6 as communication platform for Mac, Windows, Linux, and iPhone</title>
		<link>http://www.andre-aulich.de/en/perm/presentation-in-berlin-mac-os-x-server-10-6-as-communication-platform-for-mac-windows-linux-and-iphone</link>
		<comments>http://www.andre-aulich.de/en/perm/presentation-in-berlin-mac-os-x-server-10-6-as-communication-platform-for-mac-windows-linux-and-iphone#comments</comments>
		<pubDate>Thu, 25 Feb 2010 12:11:17 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Calendars]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=250</guid>
		<description><![CDATA[On Tuesday, March 2nd 2010, I am going to present Mac OS X Server 10.6 as the central communication platform for Mac OS X, Windows, Linux, and iPhone. I will follow the setup guide described in my new book published by O&#8217;Reilly (in german). Everything will be done using a live demo system. More information [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday, March 2nd 2010, I am going to present Mac OS X Server 10.6 as the central communication platform for Mac OS X, Windows, Linux, and iPhone.</p>
<p>I will follow the setup guide described in my new book published by O&#8217;Reilly (in german). Everything will be done using a live demo system.</p>
<p>More information regarding entry fee, location, etc. can be found at <a href="http://www.lob.de/pics/BK04_Veranstaltung02032010.jpg">http://www.lob.de/pics/BK04_Veranstaltung02032010.jpg</a>.</p>
<p>I am looking forward to seeing you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/presentation-in-berlin-mac-os-x-server-10-6-as-communication-platform-for-mac-windows-linux-and-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My new Mac OS X Server 10.6 book has just been published by O&#8217;Reilly</title>
		<link>http://www.andre-aulich.de/en/perm/my-new-mac-os-x-server-10-6-book-has-just-been-published-by-oreilly</link>
		<comments>http://www.andre-aulich.de/en/perm/my-new-mac-os-x-server-10-6-book-has-just-been-published-by-oreilly#comments</comments>
		<pubDate>Thu, 25 Feb 2010 11:51:54 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Calendars]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=248</guid>
		<description><![CDATA[My new Mac OS X Server 10.6 book has just been published by O&#8217;Reilly. It&#8217;s available in german and explains you how to set up your own mail, calendar, addressbook, and webserver based on Mac OS X Server 10.6 within no time. You find more details about it at O&#8217;Reilly. The focus of the book [...]]]></description>
			<content:encoded><![CDATA[<p>My new Mac OS X Server 10.6 book has just been published by O&#8217;Reilly.</p>
<p><img src="http://www.andre-aulich.de/wp-content/uploads/2010/02/macosxsrvrkommplger.s.gif" alt="" title="macosxsrvrkommplger.s" width="153" height="198" class="aligncenter size-full wp-image-300" /></p>
<p>It&#8217;s available in german and explains you how to set up your own mail, calendar, addressbook, and webserver based on Mac OS X Server 10.6 within no time.</p>
<p>You find more details about it at <a href="http://www.oreilly.de/catalog/macosxsrvrkommplger/">O&#8217;Reilly</a>. The focus of the book is to use Mac OS X Server as the communication central for your Mac OS X, Windows, Linux, and iPhone users.</p>
<p>I&#8217;d appreciate your feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/my-new-mac-os-x-server-10-6-book-has-just-been-published-by-oreilly/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final Cut Server sessions at VideoVision events in Munich and London</title>
		<link>http://www.andre-aulich.de/en/perm/final-cut-server-sessions-at-videovision-events-in-munich-and-london</link>
		<comments>http://www.andre-aulich.de/en/perm/final-cut-server-sessions-at-videovision-events-in-munich-and-london#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:52:25 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Final Cut Server]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=242</guid>
		<description><![CDATA[On Thursday, March 18th, I will give a talk on Final Cut Server (FCSvr) workflows in Munich, including MXF media files for edit-while-ingest scenarios as well as XML interfaces between FCSvr and other applications. You will find more details about the session and the event at the VideoVisions site. Please register for the free event. [...]]]></description>
			<content:encoded><![CDATA[<p>On Thursday, March 18th, I will give a talk on Final Cut Server (FCSvr) workflows in Munich, including MXF media files for edit-while-ingest scenarios as well as XML interfaces between FCSvr and other applications.</p>
<p>You will find more details about the session and the event at <a href="http://www.archiware.com/index.php?hp=464">the VideoVisions site</a>. Please register for the free event.</p>
<p>The same event will take place in <a href="http://www.archiware.com/index.php?hp=559">London on March 23rd</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/final-cut-server-sessions-at-videovision-events-in-munich-and-london/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StorNext Storage Manager (4.0) in Final Cut Pro and Final Cut Server environments</title>
		<link>http://www.andre-aulich.de/en/perm/stornext-storage-manager-4-0-in-final-cut-pro-and-final-cut-server-environments</link>
		<comments>http://www.andre-aulich.de/en/perm/stornext-storage-manager-4-0-in-final-cut-pro-and-final-cut-server-environments#comments</comments>
		<pubDate>Mon, 01 Feb 2010 11:55:54 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Final Cut Server]]></category>
		<category><![CDATA[Xsan/StorNext]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=238</guid>
		<description><![CDATA[In many video production environments it&#8217;s a challenge to both backup and archive production data. This is because video data take a reasonable amount of disk space, and you don&#8217;t want to interrupt real-time ingest, playback, and playout by backing up your data. One of the best ways to backup and/or archive your video data, [...]]]></description>
			<content:encoded><![CDATA[<p>In many video production environments it&#8217;s a challenge to both backup and archive production data.<br />
This is because video data take a reasonable amount of disk space, and you don&#8217;t want to interrupt real-time ingest, playback, and playout by backing up your data.</p>
<p>One of the best ways to backup and/or archive your video data, is by using Quantum&#8217;s StorNext filesystem in conjunction with their StorNext Storage Manager.</p>
<p>StorNext is compatible with Apple&#8217;s Xsan filesystem, and it&#8217;s very easy to replace your existing Apple Xsan metadata controllers with Linux-based StorNext metadata controllers, which is a prerequisite if you want to implement Quantum&#8217;s StorNext Storage Manager.</p>
<p>What&#8217;s so special about the Storage Manager, though?</p>
<p>If you create files on your filesystem, there&#8217;s three ways for your backup and archive software to find out, that there are new files which need to be copied to a second storage device:</p>
<ul>
<li>The backup software can scan the filesystem for modified or freshly created files. This puts a reasonable amount of load on your storage, so this is an approach for environments with long backup windows. During real-time operations you usually don&#8217;t want to scan your central storage.</li>
<li>The application, which writes a file, needs to inform the backup solution, that it has to back up a file. While <a href="http://www.andre-aulich.de/en/perm/connecting-final-cut-server-to-archiware-presstore-concept-overview">this works between Final Cut Server and Archiware PressSTORE</a>, e.g., this depends on the operability between your application and your backup/archive solution.</li>
<li>The filesystem can send a filesystem event to your backup/archive app. This way your backup app doesn&#8217;t need to scan your whole filesystem and can write your data in a very efficient way.</li>
</ul>
<p>Archiware PresSTORE supports filesystem events with HFS+ and Xsan 2.x volumes, so PresSTORE would be one way to back up your data without the need to scan your Xsan volumes for changed files.</p>
<p>Another way of doing this is the StorNext Storage Manager. The Storage Manager integrates with the StorNext filesystem, and can send freshly created or modified files to the backup and/or archive without scanning your central SAN volume.</p>
<p>In version 3.5.1 the Storage Manager runs on the active metadata controller, which under certain circumstances might cause so much load, that filesystem latency exceeds the critical limit for real-time operations. To deal with this, you can either schedule Storage Manager activity to run at uncritical times, or you use the brand-new StorNext Data Mover (part of StorNext 4.0), which means, that your primary MDC works as a MDC only, and a dedicated client machine actually moves files into the archive to keep your primary MDC responsive, even if there&#8217;s lots of Storage Manager activity going on.</p>
<p>Another great thing which comes with StorNext 4.0 is deduplication. Deduplication allows your filesystem to use less disk or tape space when it stores your data. If StorNext sees that a data block in a new file is the same like a data block in a file which is already part of the archive, then it doesn&#8217;t store that data block again, but instead creates a reference from the new file to the existing data block.<br />
This is great for archive volumes, yet, on your primary (online) storage, this slows things down a bit, so you might want to turn on deduplication for your archive only, if you work in real-time environments.</p>
<p>If everything is set up properly using StorNext file system and Storage Manager, it allows you to work on your central storage without the necessity for backup/archive windows.</p>
<p>If you need help planning or implementing a StorNext based solution, please feel free to g<a href="http://www.andre-aulich.de/en/send-feedback">et in touch with me</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/stornext-storage-manager-4-0-in-final-cut-pro-and-final-cut-server-environments/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac OS X Server 10.6: accept mails with empty subject line</title>
		<link>http://www.andre-aulich.de/en/perm/mac-os-x-server-10-6-accept-mails-with-empty-subject-line</link>
		<comments>http://www.andre-aulich.de/en/perm/mac-os-x-server-10-6-accept-mails-with-empty-subject-line#comments</comments>
		<pubDate>Sun, 11 Oct 2009 09:10:58 +0000</pubDate>
		<dc:creator>André Aulich</dc:creator>
				<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://www.andre-aulich.de/en/?p=211</guid>
		<description><![CDATA[If you use Mac OS X Server 10.6 (Snow Leopard Server) as a mail server, by default it rejects mails without a subject line. If you want to change this behavior, you just need to open the file /etc/postfix/main.cf and change the line header_checks = pcre:/etc/postfix/custom_header_checks to # header_checks = pcre:/etc/postfix/custom_header_checks Afterwards, type sudo postfix [...]]]></description>
			<content:encoded><![CDATA[<p>If you use Mac OS X Server 10.6 (Snow Leopard Server) as a mail server, by default it rejects mails without a subject line.</p>
<p>If you want to change this behavior, you just need to open the file /etc/postfix/main.cf and change the line</p>
<p><code>header_checks = pcre:/etc/postfix/custom_header_checks</code></p>
<p>to</p>
<p><code># header_checks = pcre:/etc/postfix/custom_header_checks</code></p>
<p>Afterwards, type</p>
<p><code>sudo postfix reload</code></p>
<p>to activate the new setting.</p>
<p>You could also change the rule set in /etc/postfix/custom_header_checks to do the same thing, yet, as currently the only rule in this file is to reject incoming mails with an empty subject, we can easily ignore the whole file like described above.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andre-aulich.de/en/perm/mac-os-x-server-10-6-accept-mails-with-empty-subject-line/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
