Adobe FrameMaker Server 10 and its command line capability
You must be aware that Adobe FrameMaker Server 10 comes with a graphic interface to create, modify, run and schedule server tasks. In this blog, I intend to show you how to execute server tasks through “command line” and bypass the server UI and scheduler.
The “server tasks” contain the jobs that the server needs to perform. Once these tasks are created, they can be run directly via GUI or command line. (Click here to see how to create server tasks).
Steps to use FrameMaker server in command line:
1. Create a server task file
This can be done using <SERVER INSTALL DIR>\FrameMakerServer.exe. It allows us create a new task or modify an existing task. (It also allows to schedule or run the task, which is optional). The tasks are stored in a file at “%APPDATA%\Adobe\FrameMakerServer\10\ServerData\tasks\<taskname>.fmsn” by default. Making any changes to an existing task using FrameMakerServer.exe rewrites the whole fmsn file; so be careful if you are trying to create/modify the fmsn file manually.
Although it is possible to create the server task file (fmsn file) manually, it will be easy to first create a task using GUI and then continue modifying it.
2. Execute the task
Once you have a task (fmsn file), you can execute that task using the following command:
<SERVER INSTALL DIR>\FrameServerEx.exe [options] <FMSN FilePath>
-userlog <filepathname of log file>
(Optional) This log contains the logs that the user has requested like SupportedEncodings, AvailableFontFamilies, NumberOfChaptersInBook etc. These logs are specified in the FMSN file itself (and in GUI ofcourse)
-applog <filepathname of log file>
(Optional) This log contains the traces of the server task execution. This gives the idea of steps of execution by the server.
(Optional) This is used for naming purposes only (as of now).
Triggering more than one FrameServerEx.exe’s simultaneously will not put extra load on the machine because all these tasks run in a queue.
I hope this helps in automating some tasks without interacting with the Server UI.