PrintGate Thin Client – v.2.00.0001 - database specifications draft -
This document describes the PrintGate database tables and fields, as extended and modified to accommodate the new PrintGate XML communication protocol and, noew client capabilites, and future server extenstions. ASSESMENT – same as in previous version, no change. AVAILABLESERIALS – same as in previous version, no change. CID – same as in previous version, no change. CLIENTSETTINGS – this new table stores the client settings as described in the clientV2 protocol specifications settings request/response, along with company, server and user identification data, and some additional fields. These settings, if available for the current user, take precedence over GLOBALSETTINGS, which are only read if no client settings are available, except for the PANICMODE field that if set to ‘Y’ in GLOBALSETTINGS will trigger silent uninstallation of all installaed clients, no matter of the current client settings. Additional fields: AUTHENTICATION – controlls the client authentication method (PRINTGATE, WINDOWS, LDAP, SILENT). ROUTING – enables/disables routing for the curent user – not yet used but may be usefull. OVERRIDE – enables/disables routing overriding for the current user – not yet used but may be usefull. DRIVER – enables/disables driver property pages pop-up on job routing for the current user – not yet used but may be usefull. REMOVEMETHOD, REMOVEPASS – current user’s uninstall policy as described in the clientV2 protocol specifications uninstall request/response. UPDATEVERSION, UPDATEMETHOD, UPDATEADDRESS – current user’s update policy as described in the clientV2 protocol specifications uninstall request/response. PANICMODE – switch (‘Y/N’) triggering if set to ‘Y’ imediat silent client uninstallation for the current user. CLIENT_ROUTES – this new table stores a list of relationships between stored printers as possible routes, and user accounts, thus making it possible to define certain routes for certain users. The first field, ROUTEID – primary key in PRINTER table defines the route printer, while the next six fields identify the user account for which this route is to be used. The last field, ROUTE – is a ‘Y/N” switch controlling if this route is currently active. This table is used to populate the list of possible routes for the original printer the user tried to print to, if the respective printer is set to route jobs, and there are client routes defined and active for the current user. These routes take precedence over any printer routes defined in their respective table.
GLOBALSETTINGS – this new table stores the global settings as described in the clientV2 protocol specifications settings request/response, along with company and server identification data, and some additional fields. These settings are only read if no CLIENTSETTINGS are available for the current user, except for the PANICMODE field that if set to ‘Y’ in GLOBALSETTINGS will trigger silent uninstallation of all installaed clients, no matter of the current client settings. In the current implementation, upon first settings request/response, client settings are automatically created for each user by copying the global settings, thus the global settings are only used for the first cycle, then client settings can be tweaked individually. A simple line change in the clientV2Settings class can change this behavior so no client settings are created automatically and global settings are used each time. Additional fields: AUTHENTICATION – controlls the client authentication method (PRINTGATE, WINDOWS, LDAP, SILENT) globally for all clients ROUTING – enables/disables routing for all clients – not yet used but may be usefull. OVERRIDE – enables/disables routing overriding for all clients – not yet used but may be usefull. DRIVER – enables/disables driver property pages pop-up on job routing for all clients – not yet used but may be usefull. REMOVEMETHOD, REMOVEPASS – current uninstall policy as described in the clientV2 protocol specifications uninstall request/response for all clients. UPDATEVERSION, UPDATEMETHOD, UPDATEADDRESS – current update policy as described in the clientV2 protocol specifications uninstall request/response for all clients. PANICMODE – switch (‘Y/N’) triggering if set to ‘Y’ imediat silent client uninstallation for the all installed clients. INSTALLS – same as in previous version, no change except for the added field: CLIENTLOCALE – stores the installed client locale (I.E.: en_US); set by the clientV2 authorization request. PRINTER – same as in previous version, no change except for the added fields: PRINTERTYPE – stores the printer type field of most requests (I.E.: LOCAL, NETWORK); this field is relative to the client that reported the printer so it should not be used as is in identifying a printer. DATATYPE – stores the installed data type for the printer; this field is relative to the client that reported the printer so it should not be used as is in identifying a printer. PRINTERLOCATION – stores the reported printer location, if available for this printer installation; this field is relative to the client that reported the printer so it should not be used as is in identifying a printer. PRINTERCOMMENT – stores the reported printer comment, if available for this printer installation; this field is relative to the client that reported the printer so it should not be used as is in identifying a printer. ROUTE – switch controlling if routing is allowed from this printer; should be set to ‘Y’ if routing is to be allowed, or to ‘N’ not to allow routing from this printer. If routing is
allowed, the possible routes for the current printer mus be defined in the PRINTER_ROUTES table; this field must be manually controlled at this time, neither the web interface nor the client have the ability to set its value, it is only read by the clientV2 server engine to determine the proper routing response for the current printer; it could also be ignored and dinamically determined at runtime according to received client, printer and job data. ROUTECONDITION – string specifying any parseable condition that would trigger routing for the client printer. Not yet used in this implementation. DRIVERROUTE – switch controlling if routing to the current printer will take place silently or by popping up the driver properties page to the user for possible intervention; should be set to ‘Y’ so that any routing to this printer will pop up the driver properties page for user review and changes, or to ‘N’ so that routing to this printer take place silently, with the same properties as the initial job; this field must be manually controlled at this time, neither the web interface nor the client have the ability to set its value, it is only read by the clientV2 server engine to determine the proper routing response for the current printer; it could also be ignored and dinamically determined at runtime according to received client, printer and job data. OVERRIDEROUTE - switch controlling if routing from the current printer will still give the user the posibility to override the routing recomendation and print to the original destination, or not; should be set to ‘Y’ so that any routing from this printer will allow the user to ignore the routing recomendation and print to the original destination, or to ‘N’ so that routing from this printer will disallow the client to ignore and override the routing recommendation and force him to choose one of the possible routes; this field must be manually controlled at this time, neither the web interface nor the client have the ability to set its value, it is only read by the clientV2 server engine to determine the proper routing response for the current printer; it could also be ignored and dinamically determined at runtime according to received client, printer and job data. PRINTERPROJECTS – same as in previous version, no change. PRINTER_ALIASES – this new table, not yet used, may be necessarry to store different reported printer names as reported by different clients, that point to the same printing device. This may cause problems in identifying the printer to each user installation, unless it is first parsed to it’s user alias before pasing it’s data, as a route or else, the the user who requested it. This way the user can associate the printer with it’s installed device more easily and secure. PRINTER_ROUTES – this new table stores a list of relationships between stored printers, and the corresponding printing routes for each printer. The two fields are the PRINTER_ID – primary key in PRINTER table and, the corresponding ROUTE_ID – same primary key in the same PRINTER table, of a route that should be available for the current printer. This table is used to populate the list of possible routes for the original printer the user tried to print to, if the respective printer is set to route jobs, and there are no client routes defined for the current printer and user, which have precedence over the printer routes.
PRINTFAILURE – same as in previous version, no change except for a lot more fields to cover all reported print job data by the clientV2 new model; field names are similar with names of the XML properties in the clientV2 protocol and should be self explanatory. PRINTREQUEST – same as in previous version, no change except for a lot more fields to cover all reported print job data by the clientV2 new model; field names are similar with names of the XML properties in the clientV2 protocol and should be self explanatory. PRINTERPROJECTS – same as in previous version, no change. PROJECT – same as in previous version, no change. PROJECT_FOLDER – same as in previous version, no change. PROJECT_USERS – same as in previous version, no change. REQUESTERROR – same as in previous version, no change except for a few more fields to cover all reported user data by the clientV2 new model; field names are similar with names of the XML properties in the clientV2 protocol and should be self explanatory. ROLES – same as in previous version, no change. SERIALS – same as in previous version, no change. SETTINGS – same as in previous version, no change except for the added fields: SMTPUSESSL – additional email setting switch. Not yet used, but will be an usefull extension, allowing sending administrative and alert emails to servers requiring SSL connection (I.E.: gmail). Set to ‘Y’ to trigger sending email through secure sockets. Set to ‘N’ to send email through regular unsecured connection. SMTPPORT – additioonal integer specifying the SMTP port number. Not yet used, but will be an usefull extension, allowing sending administrative and alert emails to servers requiring using non-standard email ports (I.E.: gmail). Set to the required port number if necessarry, otherwise leave blank and the default SMTP port will be used. COMPANYINFO, SERVERINFO – new fields, storing values to be passed back to clientV2 installers upon authentication. AUTHMESSAGE…UPDATEFAILURE – strings to be passed back in case of different actions success or failure, not used for now but may be usefull. AUTHMETHOD, UNINSTMETHOD, UNINSTPASS, PANICMODE – settings controlling client behavior, not used anymore, superseeded by the settings in the GLOBAL_SETTINGS and CLIENT_SETTINGS tables.
UNINSTALLS – same as in previous version, no change except for a few more fields to cover all reported user data by the clientV2 new model; field names are similar with names of the XML properties in the clientV2 protocol and should be self explanatory. USERLOG – same as in previous version, no change. USERS – same as in previous version, no change. USER_ACCOUNTS – same as in previous version, no change. USER_ROLES – same as in previous version, no change.