Cirrato Printer Terminal for Ricoh
version: 13.3 - Update 1 2019-07-08
Known limitations, known issues, installation notes: See end of document.
LRS recommends that the CPT is used with the latest release of the Cirrato server.
Changes in 13.3 - Update 1
- Application renamed to Pull Print
Changes in 13.3
- Added various configuration settings related to cleaning up the address book.
- Added configuration to unlock the scanning app even though scan off is selected when logging in.
- Cleaned up cpt.properties file to make it easier to configure the application.
- Minor bug fixes.
Changes in 13.2
- Fixed encoding issue in web service calls.
- Added support for secure communication with the address book over SSL.
- Login page colors are now configurable.
Changes in 13.1.111
- The software supports Ricoh devices with SDK/J version 4, 7, 10 and 11. Devices with SDK/J version 2 are no longer supported and will have to use an older version of the Cirrato software.
- To work on SDK/J version 11 devices (xx03), where the application is installed to the flash drive, the following line may need to be added to the cpt.properties file:
sdPath = /mnt/usb
- For performance reasons, this version only works with Cirrato server 2.0.0R16P8.6 and newer.
- Updated graphical user interface to work with both WVGA and uWVGA displays.
- Supported USB card readers is the Elatec TWN3 Mifare USB.
- The short ID login button is displayed on the login page unless enableShortIdLogin has been set to false in cpt.properties.
The username login button is displayed on the login page unless enableUsernameLogin has been set to false in cpt.properties.
- Session timeout value from server can be overridden by the cpt.properties setting "sessionTimeout".
- Printer ID may be overridden with the cpt.properties setting "printerId".
- Display of quota may be configured with the cpt.properties setting "displayQuota". The default is true (display).
- Added startup checks that Xlet is installed to the same SD card as SDK/J.
- Login can be initiated by sending a HTTP GET request to the device URL, e.g. http://mfp.example.com:8088/card?cardNumber=1234. To enable this functionality test.cardServlet must be set to true and cpt.webserver.port to an available port number in cpt.properties. This allows login with network card readers communicating through the Cirrato card reader service, like the HID Global EHR-40.
- The login page now shows a "scan on/off" button, which the user has to press to unlock scanning. The scan button is shown unless showScanToMeButton is false in cpt.properties. Customers who always want the device address book to be populated on login with the home folder and/or email of the user, may set showScanToMeButton to false and PopulateAddressBook to true in cpt.properties.
- Improved handling of access to scan application when the address book is locked by the device.
- The third column of the job list displays the time the job ticket was created in Cirrato. If the ticket was created the previous day, the date is displayed instead of the time. The format of the time and date may be set in cpt.properties by the settings shortTimeFormat and shortDateFormat respectively. In the Details dialog, where the full date and time is shown, the format is controlled by the setting DateFormat_xx-YY, where xx-YY is an IETF language tag. The syntax of the value is defined by the Java class SimpleDateFormat. For details about the syntax, see Java documentation from Oracle.
- By default the Print and Retain (proof print) buttons print the jobs that are selected in the list. If the retain button is used, the selected jobs stay in the list and remain selected after being printed. If it is desired for the print buttons to print jobs which are not selected, this can be enabled by setting noSelectPrint to true in cpt.properties.
- Changed behavior of numerical keypad while logged in. If the user wants to print more than one copy of the job, the numpad can be used to set the number of copies. Each press on any numerical key adds one digit to the number of copies value, displayed to the left of the job list. The value wraps around after four digits. The number of copies can be reset to 1 by pressing the C-key on the keypad or by clicking the Copies button to the left of the list. Setting the number of copies may be disabled by setting followPrint.disableCopies to true in cpt.properties.
- If one or more jobs are selected, the Details button opens a dialog which displays information about the topmost selected job.
- The Tools button displays a dialog with a number of buttons. There may be buttons that: displays the price list, searches/sets the client billing code used with copy/scan, and one which opens an external (3rd party) application like AutoStore. The external application button is only displayed if a product ID has been entered for the cpt.properties setting externalAppl.prodId.
- Added followPrint.disableRetain option to cpt.properties, which can be used to hide the Retain button.
Changes in 2.0.12
- Fixed bug which was introduced in 2.0.10, which registered only simplex copies.
- Improved grouping of events to make sure the FACE2 event is associated with the correct FACE1 event.
- Added exception handling to copy control function.
- Scan/print functions are disabled on login if address book is locked by device.
- Updated with JSSE library from JDK 7 to solve certificate issue with SSL.
- Default trust- and key-stores included with the Xlet are now empty. The documentation describes how to generate certificates.
- Added disclaimer to documentation about SSL unsecure renegotiation issue on SDK/J v. 10 devices, which use a faulty Java version.
Changes in 2.0.11
- Compatibility tested with devices that have SDK/J versions older than v. 10, for example v. 2 and v. 4.
Note: Certified only with SDK/J versions 7 and 10, but tested with older versions.
- Login page is refreshed every 40 seconds. This ensures that the domains and printer information are updated even if the connection to the Cirrato server is down initially.
- Adding destroyCardReader setting. If set to true, the card reader is deinitialized by destroyXlet function. The default is "false". This is an attempt to solve the issue that has been reported with the reader not catching the first character after power-save.
- Fixed NullPointerException when attaching unknown USB device.
- Fix for SC991 and SC997 error codes MPC4502. If an empty sessionId or similar is sent to WSAPI in logout or quotagetbysessionid we get an exception back that we did not handle.
- Fixed error that made login buttons disappear.
- Do not show low quota warning if logging price plan.
- Selected client billing codes displayed at printing. Print jobs associated with a billing code are marked as such.
- Corrected English translation.
Changes in 2.0.10
- Support for SDK/J v 10 devices, which require Device Management Package v 1.23 and home screen icons.
- New Cirrato logo.
- Disabled START/LOGIN hard button while on login screen, because pressing it multiple times will cause a WindowOpenException.
- Fixed bug causing SC990 error on SDK/J v 4 devices.
- Fixed "No suitable queue found"-problem when printing if the xlet was started while the network connection to the Cirrato server was unavailable.
- Fixed bug which would keep the xlet from starting on SDK/J v 2 devices, unless the device hostname was specified in cpt.properties.
- Fixed bug which would cause a NullPointerException when stopping the xlet
- Fixed bug which would cause the login screen to be garbled if the xlet was started while the network connection to the Cirrato server was unavailable.
- Added PopulateAddressBook setting to cpt.properties. If set to false, the address book will not be polulated by the xlet even though there are scan destinations defined by the Cirrato server. By default the address book is populated.
- Added CopyControl setting to cpt.properties. If set to false, the xlet will not be registered as an External Authentication module. This should allow the xlet to run on SDK/J v 2 devices without custom copy-lock firmware. When CopyControl is set to false, the xlet will not unlock copying/scanning and will not register copies with the Cirrato server. By default CopyControl is enabled.
- Fixed WindowOpenException which was thrown if pressing apply before selecting a client billing code.
Changes in 2.0.9
Duplex copies are now registered as 1 duplex sheet instead of 1 simplex and 1 duplex.
The number of FACE_1 events which will be buffered can be set in cpt.properties as eventBufferSize.
The default value is 5, which means at most 5 FACE_1 events are buffered.
When a FACE_2 event is received, the corresponding FACE_1 event is removed from the buffer and one duplex copy is registered.
If a 6th FACE_1 event is received before any FACE_2 event, the 5 first FACE_1 events are registered as a 5 page simplex copy.
When a FACE_2 event is received, if there is no corresponding FACE_1 event in the buffer, the FACE_2 event is ignored.
On logout, any remaining FACE_1 events are registered as one simplex copy.
This means that setting the eventBufferSize value too high might loose copies if contact with the Cirrato server
is lost. Setting the eventBufferSize value too low might cause duplex copies to be lost.
- The username is truncated before entered into the address book for E-mail destinations. The maximum length may be set
in cpt.properties with the value addrBookNameLenMax. The default value is 16 characters (corresponding to the limitation on the Ricoh device).
The e-mail address is also truncated by means of the value addrBookMailLenMax. The maximum length of the email address is 128 characters.
- In version 2.0.8 the user displayname was logged when copying. This has now been changed to the username.
- The client billing code should no longer be displayed twice in the print job information box.
- The input language of the on-screen keyboard can be specified in cpt.properties with the keyboardLanguage value.
Default is auto. Available languages are
Your device might support just a subset of the listed languages.
||Czech Republic word
Selected client billing code is now registered when copying.
Client billing code for copy/scan/fax is now cleared between logins.
The domain shown in the domain list when there is no contact with the server can be set by the value noContactDomain in cpt.properties.
A client billing code which is always available can be added in cpt.properties. This can be used to add a "none"-code, which users can select if they have selected a different code but need a way to remove that code.
The value localRegistrationPrice in cpt.properties can be set to true/false.
If set to true the terminal decrements the user quota between every page copied,
even though the pages might not have been registered with the server yet. This
setting should be false if copies are charged to cost centers. Otherwise it will
look like the user is paying for the copy.
A message is shown on low quota if enabled in cpt.properties.
When you change client billing code for copy/scan, any buffered copy events are committed. This makes it possible to use different codes without having to log-out/in.
Dialogs are no longer modal (no gray background). The gray background tended to stay even after the dialog was closed, which prevented the user from doing anything. Dialogs now occupy the entire screen instead.
There is now a redundancy-mode which can be enabled in cpt.properties.
If you swipe your card while logged in, all jobs are printed (has to be enabled in cpt.properties). If you swipe your card while logged in, but you have no print jobs in the list, you are logged out.
Card login is now possible even if the login page is not visible. Configured in cpt.properties.
Changes in 2.0.8
- Fixed memory leak. After a number of logins/logouts a OutOfMemoryError
would be thrown.
Users should no longer be logged out automatically while browsing the
Changes in 2.0.7
- When jobs are printed or deleted, and there are more jobs to be fetch from
the server, the operations automatically activates an update to
fetch more jobs from the server
- The Delete, Print and Copies buttons are now grayed out until a
job is selected.
- The green LED on the big green button is now turned on.
- Fixed, loss of application focus when error message is displayed in the
Pull Print listing. After login if an error message popped up and was
not closed by pressing the "OK" button before the automatic logout took
place, the displayed login screen were not in focus and did not respond
to any user interaction.
- Instant delete of all jobs in Pull Print queue. This requires that
fast-release is enabled on the server and that all jobs are selected on
the terminal without proof-print marked on any of them. Since this is a new
feature in the P8 Cirrato server is is by default disabled in the
- Instant release of all jobs in a Pull Print queue. This requires that
fast-release is enabled on the server and that all jobs are selected on
the terminal without proof-print marked on any of them.
- Limitation of the job listing. When the terminal request a job-listing
it specifies a limit of number of jobs that it is to be returned.
If more jobs are returned then requested they are simply thrown away.
- Fixed, jobs that have been requested to be printed but has not yet been
transferred on the server to the printer queue do no longer show up in
the listing on the terminal.
- Log in and out actions can now be done with the green button on the
- Fixed crash when login out with an other card while jobs are being
released from the Pull Print queue. The logout operation is now
blocked both for "logout" button and card until all selected jobs
- Fixed crash when "copies" button for selecting number of
copies were disabled.
Changes in 2.0.6
- Fixed bug - NumberFormatException if the button is clicked which
shows the number of copies but no number of copies is entered using
Changes in 2.0.5
- Changed to hostnames reserved for example use by RFC 2606 in cpt.properties.
- Fixed bug - Jobs printed 12:xx where shown as 00:xx
- Fixed bug - Language was wrong after Xlet startup
- Fixed bug - Jobs were sorted in wrong order.
Changes in 2.0.4
- Fixed crash when logging in on slow server with short session
timeouts. This gave the WindowOpenException with message
"The maximum number of sheets of Windows ... "
Fixed crash while printing lagre number of jobs. When a larger
number of jobs were selected for printing then what could be released
for printing within the limited session time resulted in a crash with
required Xlet restart.
- Selections of number of copies can be hidden. The number of copies is
number of times selected jobs are printed, and if a job it self contain
20 copies of a document the number of printed documents can by accident
become huge. Disabling this input field avoids this problem.
- Pull Print listing in reverse order of how it is received from
server. Under normal conditions the latest job is how displayed first
and the oldest job at the end, but the order is fully controlled by
- Fixed domain button crash. When the "Enter" button for domain selection
on the login page is rapidly pressed multiple times could course the Xlet
- The server register setting showDomainList is honored. By setting the
register value to 0 the domain field will be hidden on the login.
- Optimized address book cleaning. The address book is now only cleaned from
old entries if there are any entries to remove. This results in faster
logout in case the address book is not populated with scanning destinations
and the scan feature is disabled in the cirrato server.
Changes in 2.0.3
- Added external application button. An external application can now be be
invoket directly from the Pull Print page.
- DisplayName attribute in UserFeatures message is honored. For cases when
the user's username is not in a human understandable form, the DisplayName
attribute can be used to supply an arbitrary name that will be displayed in
- GUI improvements. The user interface has been improved both in terms of
speed and special consideration has been taken to improve the readability
for those with weaker eyesight.
- Jobnames are cutoff from the front. This means that the tailing part of
long jobname is shown in the Pull Print listing.
- Added time-stamp in the Pull Print listing. The time when a job was
created is now displayed along with the job-name. Time for jobs older then
16 hours are displayed in a short date format eq, May07.
- The job icon has been removed. The small icon at the beginning of each
line in the Pull Print listing has been removed.
- Fixed faulty handling of proof-print. The proof-print attribute on a job
was not properly cleared after printing of the job, and could therefore
be printed together with next selection of jobs.
- Improved USB-card reader handling. USB-card readers can now be hot-plugged,
unknown devices are mapped to a GeneralCardReader, devices are identified
on both vendor and product identity, more then one card reader can
be connected at the same time, and a SUB-hub can be used. The behavior of
the GeneralCardReader is configurable on device basis, see
- Faster Xlet start-up on SDK/J v4.xx platforms. Platform dependent
socket connectors are used to make use of the advantages in newer
versions of the SDK/J.
- Fixed Xlet failures on hot plug in or out of USB devices.
- USB-card reader is enabled with a trigger in cpt.properties file, instead
of presence of the cpt.cardreader.properties file.
Changes in 2.0.2
- The different language translation files has been moved out from the
signed cpt.jar to now be placed directly in the product installation
directory. This enables on-site customization.
- The three different ways to login: user/password, short-id and card-login
can now be individually enabled from the server and the login page's
appearance is modified accordingly.
- Reduced login time. Under normal conditions, if scanning is
not configured from the server, the login is practically instant. Otherwise
it takes 3 seconds plus 1 second for each address book entry.
- New machines supported:
RICOH Aficio MP C2000/C2500/C3000,
RICOH Aficio MP C3500/C4500,
RICOH Aficio MP 4000/5000,
RICOH Aficio MP 2550/3350,
RICOH Aficio MP C6000/C7500,
RICOH Aficio MP C4000/C5000,
RICOH Aficio MP C2800/C3300,
RICOH Aficio MP C2050/C2550
- Ability to remote retrieve version information from the running
- Client Billing name and comments are truncated to fit within their
screen areas in the client billing selection dialog.
- Scan does not support client billing.
- Fax does not support client billing.
- If the user recharges his quota while logged on to the terminal, he
has to log out and back in again before the quota is properly updated.
- As long as the card number or short ID is in the Cirrato database, the
user can log in, even if the corresponding AD user account has been removed
or locked. This is a limitation in the Cirrato server.
- No handling of received FAX. If the CPT is configured for FAX
billing information is only registered when sending a document
- Devices with SDK/J version 2 are not supported.
- If the user quota is too high (above one million), login fails.
- When copying is aborted because the user quota is too low, a few pages
might overrun and the user is not billed for these.
- The Elatec TWN3 card reader must be unplugged before the program can be stopped.
- If the Xlet is stopped and restarted multiple times, memory might leak and make the system unstable.
The installation of the Cirrato Printer Terminal is described in a separate
document, Ricoh Cirrato Embedded installation guide .pdf
Installation on models with SDK/J 2.x VM Card type C (only valid for version
2.0.12 or earlier) requires a special customized firmware and associated SDK/J with the
"CopyLock" function. This can be orderd from Ricoh-partnr: B2385601R_CS5857.fwu