Mac Client Interactions
1.  Print jobs coming through CUPS are intercepted by a custom LPD backend.
2.  The backend invokes the Popup Client to collect Popup data.
3.  The Popup Client obtains Popup Questions from the Popup Server and interacts with the user.
4.  User answers and job properties from CUPS are collated and returned to the backend.
5.  The backend prepends the information to the current spool file, and sends everything to the LPD Server.
6.  When a job has been fully spooled on the server, it is picked up by the Print Server.
7.  If Informed Print is configured, the Print Server sends an Informed Print Request to the Notify application.
8.  If required by the Print Server, the Notify application returns a response.
9.  If all is well, the Print Server will either release the job, or hold it for Secure Release Here.

 

 

 

Windows Client Interactions
1.  Print jobs coming through the Spooler are intercepted by a custom Port Monitor.
2.  The Port Monitor invokes the Popup Client to collect Popup data and job information.
3.  The Popup Client launches the Popnet executable (if not already running) to keep track of a file that contains Last Answers.
4.  The Popup Client obtains Popup Questions from the Popup Server and interacts with the user.
5.  The Popup Client requests job information from the AppTracker Task, which collects data by injecting code into running applications.
6.  The AppTracker returns available data. No data is available with Terminal Services, Vista or Office.
7.  The Popup Client provides Popup Answers and AppTracker data back to the Port Monitor.
8.  The Port Monitor prepends the information to the current spool file, and sends everything to the LPD Server.
9.  When a job has been fully spooled on the server, it is picked up by the Print Server.
10.  If Informed Print is configured, the Print Server sends an Informed Print Request to the Notify Task.
11.  The Notify Task displays information to the user using the Popup GUI, and obtains a response, if required.
12.  If required by the Print Server, the Notify Task returns a response. Status balloons do not require a response.
13.  If all is well, the Print Server will either release the job, or hold it for Secure Release Here.