Archive for the ‘Technical’ Category

Enabling Acrobat Shared Review using ColdFusion

Monday, December 17th, 2007

The PDF annotations in Acrobat are impressive, but the implementation was much more suited to an Intranet rather than an Internet environment. In Acrobat 8, Adobe introduced a new type of online annotation for PDFs, called a ‘Shared Review’. In a shared review the information for configuring the annotation store is on the PDF itself, which makes it much more flexible and robust than previously.

Shared Reviews are normally initialed by a user from within Acrobat. The user follows a wizard, which adds some JavaScript to the PDF. To enable a Shared Review programmatically, needs a suitable library.

ColdFusion8 has a lot of new PDF related functionality provided by the new <cfpdf> tags. Adding JavaScript isn’t one of them. JavaScript can be added, however, by using the iText library, which is included in ColdFusion, presumably to help implement the CFDocument functionality.

The JavaScript that you need to insert into the PDF can be copiedĀ  from an existing PDF made using the manual approach, and then tweaked to suit your requirements.

Here is a snipped showing how to insert the JavaScript using the iText PdfStamper class.

    reader = CreateObject("java", "com.lowagie.text.pdf.PdfReader") 
    opFile = CreateObject("java", "") 
    stamper =CreateObject("java", "com.lowagie.text.pdf.PdfStamper") 

New Asset Storage System

Tuesday, December 11th, 2007

This morning we completed the migration of all of our web applications to a new modular storage cluster from Isilon.

Our storage needs for assets have been increasing exponentially. We have upgraded our storage capacity three times over three years and gone from direct attached storage (DAS) to a SAN. The cost of upgrading our current SAN had become prohibitive, so we took a fresh look at our long term storage requirements.

  • We store a lot of assets on behalf of our clients,
    the prices we charge our clients have to be competitive.
  • We need very high availability and reliability
  • We need high levels of redundancy in both the hardware and the assets themselves. We keep a copy of the assets at our disaster recovery system and have redundancy within the primary system.
  • The system needs to integrate wel with our backup and archive systems.

We chose an Isilon modular clustered solution, over other SAN and NAS based alternatives because

  • We can add new capacity on the fly with no down time
  • We have complete redundancy with no single point of failure
  • Good performance
  • Competitive price
  • Provides us with new interesting architectural options for our web applications

The installation was very impressive; the boxes were delivered the day after we placed the order, and the engineers installed the main system in less than 3 hours. The installation in our Disaster Recovery facility also went like clockwork.

We are also using Isilon systems for most of our TV production work, where the main driver is IO performance. We have been using an Isilon system for our London TV production for over 12 months. Last week we installed an additional Isilon system, this time in our New York production facility.