This is a prime example of a seemingly simple question that has a lot of potential answers with varying degrees of complexity!
In short, there are two main paths you could follow: modifying Document Templates, or using PlanetPress Workflow.
Modifying templates:
You could insert a conditional page as the first page in every document template you have and specify that it should only print when ¤t.printpage is equal to 1.
Now if the cover page contains only static information, you should first render it to PDF once and store it somewhere. Then, simply call that PDF dynamically from the conditional page you added to your templates.
If the cover page contains dynamic information, then you'd have to design it as a you would any other page and make sure you copy/paste that design to every template you have.
However, this solution quickly becomes impractical if you have many templates to manage. But for a small number of templates, it works just fine and has minimal impact on your processes.
Using PlanetPress Workflow:
With this option, you don't have to modify any of your current templates, other than creating a specific, simple template just for your cover page.
The easiest way to do this would be to render both the Cover Page and the Print Job to separate PDFs, then concatenate them before sending the PDF to your printer. This is the easiest implementation, but not the most efficient because you're going through an extra step of converting/unconverting jobs to/from PDF. You would also be losing any finishing information in the job.
In my mind, the best way to proceed is the following, which will require a bit more work at first but little maintenance after that.
First, create a new Printer Queue in the Worfklow tool. Use a "Send To Folder" printer queue and give it a siginificant name. Specify the name of the folder where jobs will be sent and a static filename for the output (e.g. MyPostScriptFile.ps). Make sure you set the option to Concatenate files, specifying \015\012 as the sparator string (which is just a carriage return/line feed combination).
Then, create a new SubProcess and name it something like "Generate Cover Page". In this process, add every step required to generate a cover page (for instance, loading an external data file as your source, setting some JobInfos to be used on the cover page, etc.). Then send the Cover Page job to the printer queue you just created.
Finally, in all your processes that require a cover page, insert a Go Sub task to call the cover page subprocess. Make sure you insert it immediately after the initial input.
Modify your processes so they send the original job to the same Printer Queue. Since the printer queue is set to concatenate jobs, the PS code for that job will be appended to the one for the cover page you generated at the very top of the process.
Finally, add a Folder Capture task to grab the concatenated PS file and send it in passthrough mode to whatever actual printer queue you want.
This solution is the most efficient since it requires no conversion to/from PDF and simply concatenates PS jobs before sending them to the device.
There's a number of other possibilities that could accomplish the same kind of concatenation (for instance, using the Add Document task, then picking up the resulting file and prepending it to the actual job), and they would certainly all be valid as well. The idea is that concatenating Output Files is the most efficient way to proceed.
_________________________
Technical Product Manager
I don't want to achieve immortality through my work; I want to achieve immortality through not dying - Woody Allen