Depending on your preference, there are a lot of ways to start using web-to-print in the DMP FLO Suite. Most of our customers use the existing web2print possibilities, and configure them differently depending on the present needs. In many cases these and other customers also hire an integrator for specific projects. Something customized for either a single project (an end customer coming to the printing company with specific demands) or a "generic" application (the ideas of the printing company, resulting in their very own web-to-print solution to offer to all of their end customers). But a growing number of customers is also able to create their very own contentFLO interfaces from scratch. Let's see how they would do this for a simple web-to-print website.
Analysis
First of all, they start with an analysis of what they want. For the current example, let's assume this as the functional requirements. We want to create an incredibly simple web2print tool. Users don't have to log in, and need to be able to order personalized stationary and marketing materials. More templates may follow later on. The orders need to be extracted from the web-to-print application on a regular basis by the production department. The MIS system (let's call it "my_mis" for the example) needs information about these orders for billing.
That pretty much describes a web2print solution. Obviously a real-life example would be more complex, but it would generally be more of the same.
Databases
The analysis is followed by the creation of the basic databases. Since this can be done within the web interface of FLO itself, often it is included in the analysis part (to help out programmers, and to prevent misinterpretations). For the current sample, we might set up a structure like this:
- W2PTemplateCategories
- W2PTemplates
- Category -> link to W2PTemplateCategories
- Name
- SortOrder
- Preview -> link to the digital asset management module
- TemplateName -> link to the actual InDesign templates
- my_mis_ID
- W2POrders
- DateOrdered
- Template -> link to W2PTemplates
- recordID -> link to one of the variable data modules ("EmployeeBased", ...)
- amount
- status -> initially: "ordered". After extraction to MIS: "processed
- EmployeeBased
- FirstName
- LastName
- Tel
- ....
- ProductBased
- ProductNumber
- Image -> link to the digital asset management module
- Description
- ...
Any customer with a bit of administrative experience with the FLO system would be able to set up this data structure within ten minutes.
Most of this should be reasonably clear to any programmer. The only thing that would require some more detail is the link to the InDesign templates and the underlying "EmployeeBased" and "ProductBased" tables. These tables are used for the database publishing part of the web2print application. Your prepress department can create templates based on the information in these modules. On top of the "EmployeeBased" module, you can create business cards, letter heads, with compliments, and so on. With the "ProductBased" module, you can publish leaflets, flyers, ads, and more. But really it's completely transparent for the programmer. As a matter of fact, if the end customer later on requires more fields or even completely new types of data in the templates (e.g. "PromotionBased"), you won't need to do additional programming. DTP can simply create a new module (or new fields in the existing module), create a new template on top of that module, and insert a record in the "W2PTemplates" database to put that template online.
Templates
The templates are typically not created by the programmers. It's the prepress department's job. The programmer usually just ads a couple of very rough, basic templates for testing purposes (usually not with InDesign Server, since that requires some graphical knowledge). But these things can happen at the same time. While the programmer is developing the interface, the prepress department can create and test the templates in the backoffice of the FLO Suite.
Filling the database
Similarly, you will need to do some configuration for the application before being able to fill the interface. In this case it could be easy:
- add 2 records to W2PTemplateCategories: "Stationary" and "Marcom"
- add templates to W2PTemplates as needed ("BusinessCard", "With Compliments", ...)
Interface
Creating the website on top of all of this is the job of the programmer. He will follow these steps (all online):
- Create a new contentFLO website with 1 template and 1 css styleshet. The template contains the basic page information (header/footer/...)
- Create 5 pages:
- step1 -> Choose Category
- step2 -> Chooste template
- step3 -> Enter variable data (FirstName, LastName, ...) and get preview
- step4 -> Enter order information (amount, ...)
- step5 -> Thank you, come again
Step 1 should be quite easy. Get the available modules from the Custom Module, and visualize them. Go to step 2 with the id of the selected catagory in the querystring.
In step 2, you use that id to show the templates within the category. Here, the visualization typically also user "PreviewImage" (if it is filled). If it is not filled, you might choose to show nothing, or maybe the preview that we extract automatically from the InDesign Template.
Step 3 is the most complex part of the entire product. Well... actually it's just copy/paste. Even we don't program this part anymore. Plenty of samples available in the documentation. The most common sample works in a completely generic way. It looks at the used Template, finds out which database it is based on, build an input form for that module (where the end user can enter the variable data), and only shows those fields that are used in the current template. And after saving this data, the user gets a preview in PDF, JPG or Flash.
Step 4 takes the id of the created preview record and asks for some processing information. This can be simple (just an amount, like in the current sample) or complex (amount, delivery information, visualization of calculated prices, invoicing information, and so on). All of that is saved into the W2POrders module, and the user is sent to step 5: thank you very much, we appreciate your business.
MIS Integration
On regular times the production department will push a "Extract" button in the W2POrders module. The programmer creates this button as follows:
- Add a new "Action" to the database, with a PDF icon and a little script behind it
- The script is going to loop though all orders with status "ordered" and for each order:
- Write the PDF file to disk
- Write an XML or JDF file to disk (including amount and my_mis_id)
- Set the order status to "Processed"
Additional functionalities
Obviously this was a very very basic sample. No logging in, no validation of orders, no emails. Many more functionalities can be added in similar ways.