This is the first post in a series elaborating on my
presentation at the Umbraco 5th birthday event in Stockholm,
excellently arranged by Milagro.
Through Milagro, I was tasked with
developing a PDF Creation Tool, the project brief was something
along the lines of the following:
"Editors should be able to create campaign materials, in the
form of posters, folders and flyers, in sizes ranging from A5 to
A3. End users should then be able to modify these materials
according to parameters set by the editors. The output should be a
high resolution PDF, ready for printing."
Time was short, and the whole time allotted, from our initial
meeting, to launch day, was just under six weeks. At the time of
the meeting, nothing had been done. No pre-studies, no proof of
concept, no design, no nothing. You could think this is unusual,
but unfortunately, it's quite common. As this project had come to
them as a last-minute thing, all of their developers were busy in
other projects, I was tasked with doing a short pre-study to select
a PDF creation component, while Åsa, their designer at the time,
did the design and started on the front-end development.
I began by looking at ABCpdf, ITextSharp and DynamicPDF. A
funny thing about the PDF format, is that it's drawn from the
bottom left corner and diagonally up to the right, instead of, as
everything else is, from the top left and down to the bottom right.
I ran into all sorts of issues because of this, and as DynamicPDF
is the only component that encapsulates this behavior, I went with
that one. I did some quick proof-of-concept, just to see if the
component was able to do what I wanted it to. Obviously, it
did.
Very early in the project, I mentioned Umbraco to the project
manager, as I have been working with the CMS since version 2.1
(that's 2006, if you didn't know), and to me, it all sounded like
shuffling data between the client and the server (isn't
everything?), and Umbraco is an excellent tool to do just that, in
addition to create and store information. If you have no idea what
Umbraco is, I suggest you look it up, you won't regret it. Anyway,
no one at Milagro had worked with Umbraco, so I started
evangelizing it from the get go (if I got a penny every time I said
how good Umbraco is, I'd be filthy rich). Since I was the only
developer on the project, I got to choose, but that was the only
perk.
So, there we had it. Umbraco, DynamicPDF, a
half-finished UI, and five weeks 'til deadline.
Next up:
Creating the PDF Templates in Umbraco