iText 7 Core with pdfHTML and pdfRender: at the heart of SpeedyPDF Sign-Offs for Jira
RadBee’s innovative and disruptive solution for integrating electronic signatures into Jira Cloud workflows.
Background
RadBee is a UK-based technology company which specializes in providing custom eQMS software solutions to the MedTech, biotech, and pharmaceutical sectors. Serving companies from startup to enterprise, they develop innovative quality management processes that align with their customers’ product development needs.
Companies in these sectors lean heavily on such quality management processes, since they often need to comply with stringent regulatory requirements, such as the United States Food and Drug Administration’s (FDA) 21 CFR Part 11. Historically, FDA submissions and audits required hard copies signed with a pen, however, as paper documents became electronic files and items (i.e., databases), the FDA needed to define acceptable digital documentation parameters.
In a nutshell, CFR Part 11 defines a set of conditions designed to ensures the authenticity of any submitted electronic file, which means if an electronic file is compliant with the requirements of 21 CFR Part 11, it can be inspected by the FDA. Similar regulations and guidelines are in effect from European authorities and others, and achieving the standards needed for compliance and auditing is crucial in MedTech, biotech, and pharmaceutical fields.
In turn, companies and organizations working in these sectors have increasingly adopted electronic quality management (eQMS) software solutions to assist with their workflows and processes. A popular choice in these (and many other) sectors are the solutions developed by Atlassian, such as Jira and Confluence.
RadBee was established to fill a need for custom eQMS software which RadBee’s co-founder, Rina Nir experienced at first-hand with the pain of processing a mountain of regulatory-related documents and bills for her successful MedTech startup. “Shortly after that” she says, “I launched RadBee to deliver to life sciences companies quality management processes that align with their product development needs. I wanted to see less waste and more impact.”
One such product is Speedy PDF Sign-Offs for Jira Cloud. This is an Atlassian Cloud Application designed to help agile teams capture electronic signatures and document issue resolution and approvals without slowing down their flow. It takes just seconds to install and is immediately available to support your entire Jira instance, projects, and issue types by creating a beautifully formatted Speedy PDF record of a specific moment in time, which can be electronically signed and archived safely in a matter of seconds.
Speedy PDF Sign-Offs benefits organizations by delivering an easy, trustworthy way to demonstrate that a team or enterprise followed their standard operating procedures, such as industry-specific testing processes when releasing a product. It provides a virtual, time-stamped paper trail that shows all proper governance was followed during workflows, with evidence that all of the required documentation was provided, reviewed, and signed.
Crucially for RadBee’s customer requirements, the sign off process complies with regulations such as FDA CFR 21 Part 11. This means that the electronically signed Speedy PDF records can also facilitate passing regulatory audits.
Goals
- make it easier for people to have official signatures on JIRA issues, to serve as an official record
- include all required content from Jira issues in a signed, archivable PDF documents
- seamless integration of eSignature within the Jira Cloud platform
Challenges
- developing an application for a multi-cloud environment
- including all relevant fields and attachments from a ticket
- finding a suitable PDF library capable of meeting the task
Solution
Actually, iText was not RadBee’s first choice when developing their solution. Initially they began development of Speedy PDF using a competing commercial PDF library SDK and utilizing Apache’s XSL-FO to design their document templates. However, they quickly ran into technical problems.
Firstly, with one of the key product requirements of embedding files within a PDF as attachments, but also with the design element. “We had some problems working with styles inside XSL-FO” says lead developer Dmitrii Saltykov. “It's difficult to make a design with this format.”
When the problems proved to be insurmountable, it was clear a better solution was needed. “After that, we decided to research a new library and I found iText” continues Dmitrii. “We began using it and it looked like it would be very suitable for us, it was extremely easy to connect to and work with.”
iText also proved to be easy to pick up, with Dmitrii making use of the wealth of user documentation. “If I want to do something I just open the official site and very quickly find what I need” he says. “iText is very readable and easy to understand. Also, in iText I don't need to write lots of code, you already provide almost all the methods necessary to do something.”
Making the Speedy PDF records PDF/A compliant for long-term archival requirements is on the roadmap, and iText’s PDF/A capabilities were actually an important factor for RadBee. Indeed, its reputation amongst developers for PDF specification compliance, performance, and stability is a benefit. “It's good for us to be using a commercial high-end library used by so many big organizations and so well recognized. I think it makes the product more powerful, and future proofs our investment” says Rina.
iText is very readable and easy to understand. Also, in iText I don't need to write lots of code, you already provide almost all the methods necessary to do something. |
Dmitrii Saltykov, RadBee Senior Software Engineer |
How it works
Speedy PDF’s front-end is built using Firebase, a platform developed by Google for creating mobile and web applications. There is a server layer that runs on Firebase, which when a Speedy PDF record request is made retrieves the data from Jira. It is then sent to a serverless application running on Google Cloud which prepares a HTML template for iText to process.
The process is remarkably simple and straightforward from a user perspective, although many steps are involved behind the scenes. Getting all the components to work smoothly was a significant challenge for RadBee’s development team “We had a lot of adventures around getting it all to work with the Firebase and Google Cloud platforms” says Rina. “Happily, from all the different moving parts that we have, using iText has been quite a good experience. We had no major problems or significant bugs whatever.”
All this complexity is hidden from the user however, since everything happens within Jira, using a pop-up interface. When someone creates a new Speedy PDF record request, the Speedy PDF UI generates an HTML template containing all the necessary documentation from the Jira issue, including any attachments. This template is processed by iText’s pdfHTML add-on, and a PDF is generated for the specified people to sign. RadBee utilizes the pdfRender add-on to display the actual PDF within the Speedy PDF UI Jira pop-up, and users can download the PDF to verify what they are signing off on. Signatures are authorized with the use of emailed OTP tokens, and then inserted into the PDF. Once all this is completed, the signed Speedy PDF record appears in Jira for the requestor’s approval.
The Speedy PDF record PDF acts as a standalone ready-to-archive record which is kept separate from the Jira issue. So, even if the issue is deleted, the record will remain, compatible with the FDA CFR 21 part 11 requirements.
The wealth of documentation available for iText was a boon for RadBee’s development team. As Rina puts it, “You have a lot of code snippets in your documentation, so a lot of examples that we could use - very straightforward
An additional benefit during development was iText RUPS, our PDF debugging tool. This allows you to inspect a PDF and see its structure and syntax using a graphical interface. “I wrote some specific logic to implement annotations inside our PDFs for attachments. For example, we're using some JavaScript so that when you click on an annotation you will download the file attachment immediately” explains Dmitrii. “It was very useful to use this tool to implement the logic for our attachments, because it was very difficult to understand which dictionary I should get in my specific logic, and this tool really helped to solve my problem.”
Indeed, RUPS has frequently proved invaluable to our internal developer and support teams, and we’re pleased to hear other developers find it useful too. If you’re not using it already, download it now!
From a technical standpoint, iText was really a highlight in terms of the fact that it was easy to implement and easy to get working. |
Rina Nir, RadBee co-founder and CEO |
Result
Speedy PDF Sign-Offs is available now on the Atlassian Marketplace for Jira Cloud users and is currently free-to-use. “We released it for free so that we can get as much feedback and see what are the use cases that people are picking up on” says Rina. The feedback from users will guide RadBee’s plans to expand on the feature set, based on their customers’ requirements.
One thing that was quite surprising to RadBee was that the users are not necessarily from heavily-regulated industries. The automotive industry, development houses, and even marketing agencies count among Speedy PDF’s userbase, and it is clear that the features and benefits of being able to track and sign-off on Jira workflows extend beyond their traditional customers.
At iText, we’re interested to see how Speedy PDF develops, and we wish RadBee luck with its future endeavors.
About RadBee
RadBee is a company of software developers dedicated to helping organizations level up their QA and compliance game. Specializing in the MedTech, biotech, and pharmaceutical fields, they provide custom eQMS software solutions delivering quality management processes that align with the product development needs of life sciences companies.
Comprising a development team of IT specialists with expertise in developing custom extensions for Jira and Confluence; and working with a stable of Computer System Validation (CSV) specialists, regulatory experts, and Quality Assurance (QA) pros, they build hands-on partnerships with their clients, garnering field-validated knowledge of what doesn’t work — and what does.
Using this knowledge and experience, they have built a set of tried-and-true configuration practices and code libraries, to deliver significant value quickly.
Ready to use iText?
As always, if you have any technical questions, you can contact support with your valid support subscription or head over to one of our community support pages on Stack Overflow to see if your question has already been answered for our open source AGPL users.