Managing many client matter accounts

KB Home   |   Managing many client matter accounts

Main.LargeSharedAccountDeployments History

Hide minor edits - Show changes to output

December 24, 2015, at 09:25 AM by rossm - made changes as per Debbie Augusteyn instructions.
Changed lines 1-9 from:
(:title Managing large numbers of Shared Accounts:)

!!Managing large numbers of Shared Accounts

[[https://www.papercut.com/tour/shared-accounts/|Professional Service]] industries such as the Legal, Accounting or Architecture rely on PaperCut's ability to charge jobs to matter, fund, cost or client codes (in PaperCut terms, we call these [[https://www.papercut.com/tour/shared-accounts/|Shared Accounts]]).

Since 15.3 there have been steady improvements in optimising how PaperCut handles Shared Account requests. This article is designed to be of a reasonably high level and help avoid any need to redesign after deployment.

When deploying a large volume of Shared Accounts, it is important to consider the scalability of the solution ahead of installation.This includes
to:
(:title Managing many client matter accounts:)

!!Managing many client matter accounts

[[https://www.papercut.com/tour/shared-accounts/|Professional Service]] industries such as Legal, Accounting or Architecture, rely on PaperCut's ability to charge jobs to matter, fund, cost or client codes (in PaperCut terms, we call these [[https://www.papercut.com/tour/shared-accounts/|shared accounts]].

Since 15.3 there have been steady improvements in optimising how PaperCut handles shared account requests. This article is a reasonably high level overview of how to avoid the need to redesign after deployment.

When deploying a large volume of shared accounts, it is important to consider the scalability of the solution before installation.This includes
Changed lines 11-12 from:
* Responsiveness when loading many Shared Accounts at an MFP (if using PaperCut MF)
* Loading time of Shared Accounts when using the (optional) Desktop Client software
to:
* Responsiveness when loading many shared accounts at an MFP (if using PaperCut MF)
* Loading time of shared accounts when using the (optional) Desktop Client software
Changed lines 18-19 from:
Any site with a large number of Shared Accounts (or users / devices) will see performance gains from using an external database. Using an external database will help future proof an install by providing scalability.  For information please see: [[https://www.papercut.com/products/ng/manual/ch-ext-db-upsizing.html|Upsizing to an External RDBMS]]
to:
Any site with a large number of shared accounts (or users / devices) will see performance gains from using an external database. Using an external database helps future proof an install by providing scalability. For more information please see: [[https://www.papercut.com/products/ng/manual/ch-ext-db-upsizing.html|Upsizing to an External RDBMS]]
Changed line 23 from:
Install or upgrade to v15.3 or later. The code for this has been further optimised to improve performance at the [[https://www.papercut.com/products/mf/find-my-mfd/|MFD]] by only loading the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves.
to:
Install or upgrade to v15.3 or later. This release has  optimised the performance at the [[https://www.papercut.com/products/mf/find-my-mfd/|MFD]] by loading only the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of shared accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory.
November 26, 2015, at 04:40 AM by 203.222.91.204 -
Changed lines 1-3 from:
(:title Deployments with a large number of Shared Accounts:)

!!Installations with a large number of Shared Accounts
to:
(:title Managing large numbers of Shared Accounts:)

!!Managing large numbers of Shared Accounts
November 26, 2015, at 04:25 AM by 203.222.91.204 -
Changed line 5 from:
[[https://www.papercut.com/tour/shared-accounts/|Professional Services]] such as the Legal Industry, Accounting, Architecture, or the like rely on PaperCut's ability to charge jobs to matter, fund, cost or client codes (in PaperCut terms, we call these [[https://www.papercut.com/tour/shared-accounts/|Shared Accounts]]).
to:
[[https://www.papercut.com/tour/shared-accounts/|Professional Service]] industries such as the Legal, Accounting or Architecture rely on PaperCut's ability to charge jobs to matter, fund, cost or client codes (in PaperCut terms, we call these [[https://www.papercut.com/tour/shared-accounts/|Shared Accounts]]).
November 26, 2015, at 04:22 AM by 203.222.91.204 -
Changed line 1 from:
(:title Large Shared Account Deployments:)
to:
(:title Deployments with a large number of Shared Accounts:)
November 26, 2015, at 02:56 AM by 203.222.91.204 -
Changed line 3 from:
!!Considerations for installations with large numbers of Shared Accounts
to:
!!Installations with a large number of Shared Accounts
November 26, 2015, at 02:54 AM by 203.222.91.204 -
Changed lines 3-5 from:
!!Large Shared Account Deployments

to:
!!Considerations for installations with large numbers of Shared Accounts

[[https://www.papercut.com/tour/shared-accounts/|Professional Services]] such as the Legal Industry, Accounting, Architecture, or the like rely on PaperCut's ability to charge jobs to matter, fund, cost or client codes (in PaperCut terms, we call these [[https://www.papercut.com/tour/shared-accounts/|Shared Accounts]]).

Changed lines 23-24 from:
Install or upgrade to v15.3 or later. The code for this has been further optimised to only load the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves.
to:
Install or upgrade to v15.3 or later. The code for this has been further optimised to improve performance at the [[https://www.papercut.com/products/mf/find-my-mfd/|MFD]] by only loading the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves.
Changed line 28 from:
When using Shared Accounts, the account list is downloaded to the Desktop Client from the PaperCut server if the list on the server is newer than the version the Desktop Client has (i.e., new accounts being added). This download is triggered in response to a print job. If the accounts list is updated on a regular basis, then this could lead to a delay in the client experience proportional to the number of accounts in the system, and increased network traffic during every print request.
to:
When using Shared Accounts, the account list is downloaded to the [[https://www.papercut.com/tour/client-tool/|Desktop Client]] from the PaperCut server if the list on the server is newer than the version the Desktop Client has (i.e., new accounts being added). This download is triggered in response to a print job. If the accounts list is updated on a regular basis, then this could lead to a delay in the client experience proportional to the number of accounts in the system, and increased network traffic during every print request.
Changed lines 22-23 from:
Install or upgrade to v15.3 or later.he code for this has been further optimised to only load the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves. .
to:
Install or upgrade to v15.3 or later. The code for this has been further optimised to only load the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves.
Changed lines 34-35 from:
@@'''Inside Info''' - If the shared file is not available for some reason the client falls back and queries the database directly.@@
to:
@@'''Inside Info@@'''  - If the shared file is not available for some reason the client falls back and queries the database directly.
Changed line 50 from:
If you have additional questions then please do not hesitate to get in touch with our support team.
to:
If you have additional questions, then please do not hesitate to get in touch with our support team.
Changed lines 68-70 from:
@@'''Note''' - If Shared Accounts are imported then the structure is often dictated by the source. Be sure to clean up the source before import.@@

to:
@@'''Note'''@@ - If Shared Accounts are imported then the structure is often dictated by the source. Be sure to clean up the source before import.

Changed line 89 from:
@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the [=XMLWeb=] Services API.@@
to:
@@'''Pro Tip@@ -''' Remember to set IP address level security and Authentication tokens when using the [=XMLWeb=] Services API.
Added lines 2-4:

!!Large Shared Account Deployments

Changed lines 81-82 from:
All the tools ([[https://www.papercut.com/kb/Main/ExternalDataSourceAPI|API]], [[https://www.papercut.com/products/ng/manual/apdx-tools.html|server commands]] etc.) available work in a similar fashion. The [[apdx-tools-web-services.html|Web Services]] option can be more responsive when running in parallel and has the advantage of not needing direct access to the PaperCut server file system
to:
All the tools ([[https://www.papercut.com/kb/Main/ExternalDataSourceAPI|API]], [[https://www.papercut.com/products/ng/manual/apdx-tools.html|server commands]] etc.) available work in a similar fashion. The [[https://www.papercut.com/products/ng/manual/apdx-tools-web-services.html|Web Services]] option can be more responsive when running in parallel and has the advantage of not needing direct access to the PaperCut server file system
Changed lines 86-87 from:
@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the XMLWeb Services API.@@
to:
@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the [=XMLWeb=] Services API.@@
Changed line 91 from:
Our ASC network has written many 3rd party connectors that have taken data from all kinds of places and used it to create usable Shared Account data. Some examples include AD, Exchange, Sage, SQL, Oracle, Access, Excel, PostgreSQL, flat files, AS/400, Web Services .  [[https://www.papercut.com/products/mf/buy/|Contact an ASC]]
to:
Our ASC network has written many 3rd party connectors that have taken data from all kinds of places and used it to create usable Shared Account data. Some examples include AD, Exchange, Sage, SQL, Oracle, Access, Excel, [=PostgreSQL=], flat files, AS/400, [=Web Services=] .  [[https://www.papercut.com/products/mf/buy/|Contact an ASC]]
Added lines 86-87:
@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the XMLWeb Services API.@@
Added lines 89-92:


Our ASC network has written many 3rd party connectors that have taken data from all kinds of places and used it to create usable Shared Account data. Some examples include AD, Exchange, Sage, SQL, Oracle, Access, Excel, PostgreSQL, flat files, AS/400, Web Services .  [[https://www.papercut.com/products/mf/buy/|Contact an ASC]]

Deleted lines 95-97:
@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the XMLWeb Services API.@@

Our ASC network has written many 3rd party connectors that have taken data from all kinds of places and used it to create usable Shared Account data. Some examples include AD, Exchange, Sage, SQL, Oracle, Access, Excel, PostgreSQL, flat files, AS/400, [[apdx-tools-web-services.html|Web Services]].  [[https://www.papercut.com/products/mf/buy/|Contact an ASC]]
Changed line 33 from:
@@'''Please note''' - There is a minor limitation of using the client account file method. When the account selection popup is used, it will display all shared accounts regardless of user permissions. No need to panic, the PaperCut server still enforces the Shared Account security so users can only charge to the accounts they have permission to access.@@
to:
'''Please note''' - There is a minor limitation of using the client account file method. When the account selection popup is used, it will display all shared accounts regardless of user permissions. No need to panic, the PaperCut server still enforces the Shared Account security so users can only charge to the accounts they have permission to access.
Changed line 46 from:
to:
\\
Added lines 1-96:
(:title Large Shared Account Deployments:)

Since 15.3 there have been steady improvements in optimising how PaperCut handles Shared Account requests. This article is designed to be of a reasonably high level and help avoid any need to redesign after deployment.

When deploying a large volume of Shared Accounts, it is important to consider the scalability of the solution ahead of installation.This includes
* Upsize to an RDBMS
* Responsiveness when loading many Shared Accounts at an MFP (if using PaperCut MF)
* Loading time of Shared Accounts when using the (optional) Desktop Client software
* Server sizing considerations

'''Using an External Database'''


Any site with a large number of Shared Accounts (or users / devices) will see performance gains from using an external database. Using an external database will help future proof an install by providing scalability.  For information please see: [[https://www.papercut.com/products/ng/manual/ch-ext-db-upsizing.html|Upsizing to an External RDBMS]]

'''Decreasing Loading Times on the MFD:'''


Install or upgrade to v15.3 or later.he code for this has been further optimised to only load the required number of results needed for a request. The 15.3 update leads to considerable improvements in the loading time of a large number of Shared Accounts. The workflow has been improved to rely on the databases ability to sort and order large collections of data rather than perform these operations in memory ourselves. .

'''Optimising the Desktop Client Experience'''


When using Shared Accounts, the account list is downloaded to the Desktop Client from the PaperCut server if the list on the server is newer than the version the Desktop Client has (i.e., new accounts being added). This download is triggered in response to a print job. If the accounts list is updated on a regular basis, then this could lead to a delay in the client experience proportional to the number of accounts in the system, and increased network traffic during every print request.


While the list is in a compressed format, it can be a beneficial when dealing with 10ís of thousands of Shared Accounts to load this client list from a file shared on the network. The file approach is beneficial if you have a lot of clients on the network, instead of each client calling the database and querying the Shared Account list the call is made once and a file is created with the Shared Account list. You then configure the PaperCut client to watch this file instead of the main PaperCut database. This file can be distributed to remote sites as well to save traffic over a WAN link. This file creation can be scheduled so the account list is updated as often as the customer requires.
We discuss the client file in more detail in the manual here: [[https://www.papercut.com/products/ng/manual/apdx-capacity-many-accounts.html | Managing Large Client Account Lists on Distributed Sites]]
The additional benefit of this approach is that the PaperCut clients will import an updated file into the client before a print job is triggered, reducing the wait time for the user.

@@'''Inside Info''' - If the shared file is not available for some reason the client falls back and queries the database directly.@@

@@'''Please note''' - There is a minor limitation of using the client account file method. When the account selection popup is used, it will display all shared accounts regardless of user permissions. No need to panic, the PaperCut server still enforces the Shared Account security so users can only charge to the accounts they have permission to access.@@

'''Server Specifications'''


Any successful deployment will require careful planning. The following documents should put any install off to a good start.


[[https://www.papercut.com/kb/Main/WhatSizeServersDoINeed|What Size Server Do I Need to Run PaperCut?]] \\
[[https://www.papercut.com/products/ng/manual/apdx-capacity-planning.html|Capacity Planning]]\\
[[https://www.papercut.com/products/ng/manual/apdx-capacity-planning-bandwidth.html|Network Bandwidth Planning]]\\
[[https://www.papercut.com/kb/Main/PaperCutOnVM|Does PaperCut work on a Virtual Machine (VM) or Virtual Server?]]\\
[[https://www.papercut.com/products/ng/manual/ch-ext-db-upsizing.html|Upsizing to an External RDBMS]]\\

If you have additional questions then please do not hesitate to get in touch with our support team.
 
'''Shared Account setup suggestions:'''

While there is no right or wrong way to setup Shared Accounts a popular method is to use a parent and child structure as per the below screen grab.

Attach:%lsad_account_list.png

Having the name and the code make searching for a Shared Account in a list much easier.

If we send a print job the client will display all Shared Accounts I have access to:

Attach:%lsad_print_notification.png

I can then filter this list by using the search box, in this example I searched for 2222 and it returned two sub (child) accounts that contain 2222 in their code. The client will also display the top level (parent) account so you can be sure the correct Shared Account is selected.

Attach:%lsad_selected.png

@@'''Note''' - If Shared Accounts are imported then the structure is often dictated by the source. Be sure to clean up the source before import.@@


'''Shared Account Import and Export Options'''

There is a multitude of options for moving Shared Account lists between PaperCut and other sources. Out of the box (and via the intuitive Admin UI) there are options to import manually a file, as long as it is in a tab delimited format. The Admin UI also allows you to synchronise against a text file or a folder/directory structure; this is useful when a 3rd party application is creating the Shared Accounts you wish to import.

Taking the import a step further it is possible to use options such as SQL Server Integration Services (SSIS). Integrators can write custom SSIS package that takes their accounts lists (be it a  CSV file, file structure or any format from any other database system). The SSIS package then calls the PaperCut XML Web Services API to perform checks so it can:
* Import Shared Accounts (often new accounts)
* Delete unneeded Shared Accounts
* Update existing Shared Accounts 

At the same time, it is possible to directly query the papercut database to help with this process.

It is possible to achieve this without using SSIS, for example, an .exe file or [[https://www.papercut.com/kb/Main/AdministeringPaperCutWithPowerShell|PowerShell script]] would give you much the same results. SSIS is a good option as it allows some control over the scheduling of the updates (perhaps they need to be every 15 minutes or only out of hours)

All the tools ([[https://www.papercut.com/kb/Main/ExternalDataSourceAPI|API]], [[https://www.papercut.com/products/ng/manual/apdx-tools.html|server commands]] etc.) available work in a similar fashion. The [[apdx-tools-web-services.html|Web Services]] option can be more responsive when running in parallel and has the advantage of not needing direct access to the PaperCut server file system

Regardless of the import option used it is vital the source data be in a format that PaperCut understands before it is imported, this may involve some manipulation during export. Other things to be aware of include; No two top level or sub-level (parent / child) accounts for the same top level Shared Account can have the same name.
If there is to be a parent / child structure, then this must be explicit in the source data before import.

'''Resources:'''\\
[[https://www.papercut.com/kb/Main/IntegratingWithBillingSystems|Integrating with 3rd Party Billing Systems]] \\
[[https://www.papercut.com/kb/Main/3rdpartyintegration|3rd Party integration examples]]

@@'''Pro Tip -''' Remember to set IP address level security and Authentication tokens when using the XMLWeb Services API.@@

Our ASC network has written many 3rd party connectors that have taken data from all kinds of places and used it to create usable Shared Account data. Some examples include AD, Exchange, Sage, SQL, Oracle, Access, Excel, PostgreSQL, flat files, AS/400, [[apdx-tools-web-services.html|Web Services]].  [[https://www.papercut.com/products/mf/buy/|Contact an ASC]]

----
''Categories:'' [[Category.Administration|+]],  [[Category.Architecture|+]], [[Category.Implementation |+]], [[Category.Configuration|+]]
----

Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.

Article last modified on December 24, 2015, at 09:25 AM
Printable View   |   Article History   |   Edit Article