Technical FAQs

Question

We want to use one PAS instance for multiple customers while ensuring their calls and data are separated so that other customers cannot access them. Is there a way PrizmDoc can accomplish this?

Answer

How To:

Use the following steps to set up the multi-tenancy feature:

  1. Add a new line inside of /usr/share/prizm/pas/pcc.nix.yml (Linux) or C:\Prizm\pas\pcc.win.yml (Windows) in the following format:

undocumentedFeature.multiTenancy: “enabled”

  1. After enabling this feature, all requests to PAS must include the header accusoft-tenant-id. The following shows an example request for creating a new viewing session:
POST /ViewingSession HTTP/1.1
Host: localhost:3000
Content-Type: application/json
accusoft-tenant-id: myUniqueTenantId
cache-control: no-cache
Postman-Token: 5edd698a-5e4f-46d2-b93a-42cc57371dce
  {
  "source": {
  "type": "document",
  "fileName": "1040ez.pdf"
   }
  }

NOTE: All Tenant Ids are converted to lowercase and must be unique between tenants. This means that in terms of the application both “MyTenant” and “mytenant” are equivalent and would be able to see the same files. Tenant Ids are not generated for the application and must be generated and handled by the integration components. Tenant Ids are also strictly alphanumeric at this time.

File storage including Documents, markupXml, formDefinitions and markupLayerRecords will now be appended with the
{tenantId} as shown in the above example with a Documents configuration of /usr/share/prizm/Samples/Documents. The request would attempt to create a viewing session from the following file: /usr/share/prizm/Samples/Documents/myuniquetenantid/1040ez.pdf

Viewing Package data stored in the database will have the tenantId included in the composite index as well as include an accusoftTenantId column.

Question

Is it possible to automatically annotate a document, similar to the Auto-Redaction feature, using PrizmDoc?

Answer

An auto-annotation feature isn’t an out-of-the-box feature but with some work, it can be done. This would involve creating a searchTask and using the information from it to programmatically create XML markup that can be used in the MarkupBurner.

To do this you would need to create a searchTask for the pattern you would like to annotate. You can then get the results of the searchTask as JSON which will contain all occurrences of that pattern/search. Each search result will include the selected text, the page on which it occurs, the starting index of the result, and the dimensions and coordinates of the bounding rectangles for that search result.

All this information can be used to construct the markup XML to add the annotations with the markup burner.

Once you have constructed the XML you would post to the MarkupBurner with the XML as the body to burn the document.

Question

What type of license should I be using?

Answer

Accusoft supports 3 primary license types: Evaluation, Toolkit, and Runtime licenses.

Evaluation License:

An Evaluation license is available upon download and will allow you to try our products and determine if they will suit your needs. Most downloads include free demo applications that demonstrate the core functionality of our product and will show you how to get up and running integrating Accusoft products with your solution. While the Evaluation license is free to download it does come with some restrictions. These restrictions may come in the form of water marked documents, pop-up dialogue boxes, or a time limit on the Evaluation license itself.

Toolkit License:

Should you decide that an Accusoft product is right for you, the next step should be to purchase one or more of our Toolkit licenses. Accusoft requires each developer using an Accusoft component to have a Toolkit license on their development machine. Once registered, the Toolkit license will unlock all restrictions of the Evaluation license. Please note, the Toolkit license is strictly to be used for development purposes, and when activated, it will be tied the specific development machine that it was registered on. Understandably, the occasion may arise where a Toolkit license needs to be moved from one development machine to another. In such a scenario, please contact sales@accusoft to see if this is feasible. For more information on how to register a Toolkit license on a development machine please see the ‘Toolkit Licensing’ section of your products Help documentation.

Runtime License:

Finally, once you have completed your solution and are ready for deployment, you will need to purchase a Runtime license. Accusoft offers 2 types of Runtime licenses. Most commonly, you will purchase an Automatically Reported Runtime (or Node-Locked) license, which requires a license for every machine your solution will be deployed to. It is very important to note that Runtime licenses are tied to the machine they are activated on and should not be used for development purposes. Doing so will quickly use up your Runtime licenses and cannot be refunded. For more information about how to activate an Automatically Reported Runtime license, please see the ‘Automatically Reported Runtime License’ section of your products Help documentation. In certain circumstances, Accusoft will issue a Manually Reported Runtime licenses that allow you to embed all of the licensing information directly into your application. These licenses are only distributed under certain circumstances and eligibility is determined by Accusoft sales. For more information on how to activate this type of license, please see the ‘Manually Reported Runtime License’ section of your products Help documentation.

Here at Accusoft, we’re always looking for new ways of connecting people with progress to improve productivity and drive innovation. It’s why we put so much work into our standards-based APIs and SDKs. We understand that developers need mature integrations that are ready to enhance their applications from day one and will be supported by extensive, accurate documentation. From the onset of 2020, we had a strategy in place to help us focus on making it easier for our customers to solve their business problems.

And then, well, 2020 happened…

As this challenging year finally comes to a close, we wanted to take a look back at how we adapted to stay focused on our enduring mission to deliver better products and services to our customers.

2020 Customer Advisory Board Meetings

Since most of our products are delivered through APIs and SDKs, we often encounter situations where our customers and partners independently purchase, download, and extend applications with minimal interaction. Historically, this made it difficult to gain insight into how our clients utilized many of our solutions and what features they would like to see from them in the future.

That’s why we hosted our first Board of Connectors (BoC) meeting in 2019 to bring customers and product managers together in an ongoing dialogue about business needs and product strategy. These meetings also had the benefit of allowing our customers to build relationships with our internal teams, provide feedback on product features, share their business challenges, and discuss key development trends impacting their respective industries.

We had the good fortune to hold our first BoC meeting in-person before the COVID-19 pandemic forced us to adopt rigorous social distance and work-from-home protocols for the safety of our employees and customers. Our second meeting took place in virtual format later in the year, which allowed us to learn first-hand how our customers were dealing with pandemic pressures and how we could adjust our product strategies to meet their rapidly shifting needs.

An Eventful 2020 for PrizmDoc Viewer

One of the principal beneficiaries of these meetings was our popular PrizmDoc Viewer solution. As a best-in-class HTML5 viewer, PrizmDoc Viewer was already a powerful and versatile viewing integration capable of enhancing a variety of applications. But if there’s one thing we’ve learned over the years, it’s that there’s always room for improvement.

That’s why we made it a point of emphasis to implement the top five requests we heard at the first BoC meeting of 2020. Despite all the disruption of COVID-19, we’re incredibly pleased that we were able to deliver on every one of these requests. We also rolled out a host of new product features and continued to optimize PrizmDoc Viewer for improved performance.

Here’s a quick rundown of the five big PrizmDoc Viewer upgrades of 2020:

v.13.11: February 2020 

For the first release of the year, we focused on improving performance when viewing large raster images. We also wanted to make PrizmDoc Viewer easier to install and upgrade.

What we did:

  • Improved the PrizmDoc Viewer Raster Conversion Service to significantly reduce memory consumption and reduce the time it takes to generate raster tiles when viewing large image files.
  • In addition to our traditional installers for Windows and Linux, we released new PrizmDoc Server and PrizmDoc Application Services (PAS) Docker images for production deployments, making the setting up of the PrizmDoc Viewer backend dramatically easier.
  • Released a new .NET SDK for PrizmDoc Server – for .NET developers doing backend document processing with PrizmDoc Server this wrapper around the PrizmDoc Server REST APIs makes it easy to use PrizmDoc Server functionality in .NET.
  • Upgraded the PrizmDoc Server installer to allow for in-place upgrades so users no longer need to uninstall the previous version before installing the newest version.

v.13.12: April 2020 

For the second release of the year, we expanded our use of Docker technology to make PrizmDoc Viewer easier to evaluate. We also worked to improve the performance and stability of PrizmDoc Server.

What we did:

  • Released a new evaluation Docker image that provides a demo web application to explore the viewer and its features, and start a complete PrizmDoc Viewer backend to begin using for local development.
  • Updated online help with a new look and feel for easier navigation. Added a new getting started topic for streamlined evaluation, and initial integration topic for an easy transition after evaluation. 
  • Improved performance and stability of PrizmDoc Server when viewing complex PDF documents.

v.13.13: June 2020 

This release saw the rollout of a new redaction feature along with myriad performance improvements.

What we did:

  • Provided support for multiple redaction reasons via our client API so users can apply more than one reason, selected from a customizable list, to any redaction reason. Reasons appear on top of the black box of redacted content and can be burned into a downloadable PDF along with the rest of the redacted content. Developers can also import a pre-built set of redaction reasons from an existing JSON file for streamlined end-user application.
  • Improved conversion times and memory consumption when viewing multi-page DWF documents.
  • Improved performance when retrieving revision data and scrolling through results when comparing two versions of a Word document.

v.13.14: September 2020

The fall release saw new support for viewing email attachments, more redaction features, and continued improvements to the upgrade process.

What we did:

  • Added support for opening email attachments in the same viewer window where the original email is being viewed. Improved the client UI to show email attachments in a compact dropdown menu.
  • Added server-side support for multiple redaction reasons using the Redaction Creators API.
  • Released the ability to draft redactions without obscuring the content, allowing users to produce PDF documents with transparent redactions that display the document content underneath the redaction rectangles.
  • Added the ability to retain configuration setting when upgrading PrizmDoc Server and PAS.

v.13.1: December 2020

The final update of 2020 focused primarily on reducing resource strain, but also saw the release of new sample code and added new Java Virtual Machine (JVM) controls.

What we did:

  • Optimized log entries for the PrizmDoc PDF processing service to dramatically reduce log file size and storage needs.
  • Enhanced PrizmDoc service health detection to automatically return to healthy status as soon as a failed backend service returns to normal operation, eliminating a potential need to restart PrizmDoc Server.
  • Released two new Angular samples on GitHub: a .NET backend sample and a Java backend sample.
  • Added new parameters in central configuration that provide controls for JVM settings when starting PrizmDoc Server Java-based services.

What’s Next for 2021?

Following our virtual BoC meeting in Q3, our product teams have been hard at work developing new features for the upcoming year that will continue to meet the diverse use case needs of our clients’ applications. We want to build on our successes in 2020 when it comes to engaging our customers and using their direct feedback to make beneficial and lasting improvements to our family of SDK and API solutions.

If you’re currently using our products and would like to participate in one of our upcoming BoC meetings for 2021 to submit feedback or learn about future releases, contact us today! We’re looking forward to working with you in the new year!