Priyanshu & Ashish – Kapture Report Engine

A new decade brings our focus onto the brilliant minds behind the development of Kapture’s intuitive Reporting Engine. Priyanshu Sharma and Ashish Dass, the dynamic duo,  dedicated their expertise towards making it what it is today – a custom report engine. The Senior Java Developers who have been a part of Kapture for more than 5 years tell us about their experience and how they went about perfecting every element of Kapture’s highly customisable report engine – their brainchild.

Kapture gives its users a plethora of options when it comes to generating reports.  More than 500 different report types are made available ranging from Ticket reports and Real-time reports to SLA reports and Daily User Activity Reports. It is possible to get the numbers on every aspect of a business, for example, tickets, service requests, check-in & check-out, FCR, productivity, etc. just to name a few. These reports can also be generated for a specific time-frame and also be differentiated zone-wise or location-wise.

The custom report engine aids in defining business objectives in the best possible way for any company. Company protocols can be completely accommodated under reporting and the end result is a fully structured format suited to the user’s needs. What the custom report engine really brings is better usability, giving the user more control over their actions. Kapture always strives to let users “make their own defaults” thus promoting higher productivity. Another key benefit is scalability– as a business grows, changes take place. A rigid system does not allow for much required modifications, but having a custom report engine at your disposal means that the user is the true end-user in command. It can be argued that customisation in software is a safe long-term investment.

Data that dates back to months or years ago can be extracted without much complication using custom reports. The system is unconditional when It comes to the kind of data you seek and is even flexible with the time period. Once the template is configured (based on designation with or without restricted access), and the parameters are set, the report engine goes to work for you and pulls data in an organised manner. Since the rendering process can be time-consuming, there is an option to set a notification reminder for once it is complete. A key advantage is that it works even when there is a loss of network connection.

What the Kapture developers have brought about is a fully customised reporting system which lets users choose fields, the position of fields, enter required parameters, create custom templates and design a whole new reporting format on their own. Priyanshu Sharma, Java Developer, said, “This (Kapture’s Report Engine) is a truly remarkable achievement that has gone on to become one of the unique selling propositions of Kapture CRM. Customised reporting leads to more clarity about one’s performance as each business has its own method of calculating productivity.”

Creating a custom report template on Kapture involves not only changing pre-defined fields and adding new fields but also making said reports available for download, for a limited period of time. Once data is requested, it Is generated and the user is notified when the report is ready. This uber-intelligent system was built for its solid performance and time-saving abilities.

The code involved is quite compact and minimal but packs a great load. Set with a common function to redirect based on commands, it reduced the time taken to develop by a great deal. The cardinal attribute was allowing the engine to render multiple threads at once instead of just one. So, faster responses to report requests was made possible. Further, the functions were shifted to ReactJS from JSP to ensure stored sessions need not be maintained on servers regularly.

The user request to generate custom reports looks like this:

OfflineReportRequest offlineRequest = new OfflineReportRequest(request, OfflineReportTypeEnum.CUSTOMER_DETAIL_REPORT);

public enum OfflineReportTypeEnum {
TICKET_REPORT("TICKET_REPORT", "com.adjetter.offline.report.generator.TicketOfflineReportGenerator")
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OfflineReportResponse offlineResponse = new OfflineReportResponse();
downloadCustomerReportOffline(offlineRequest, offlineResponse, param);
if (offlineResponse.isStatus()) {
if (offlineResponse.getXSSFWorkbook() != null) {
String fileName = offlineResponse.getFileName() + ".xlsx";
EnquiryExcelConfig.writeResponse(fileName, baos, response);
} else {
request.setAttribute(WhiteLabelHandler.MESSAGE, "No Data Available");
} else {
request.setAttribute(WhiteLabelHandler.MESSAGE, "your report request couldn't be processed.");
ReportTypeGenerator reportTypeGenerator = ReportTypeGenerator.getInstance(reportType);

“Just like the custom reports are the custom dashboards. The idea is to be able to have a design the user wants; be it reports or dashboards. The user gets a say in almost all aspects of the CRM and that is what we have worked towards developing at Kapture”, said Ashish.

A by-product of the custom reporting engine is the custom dashboard. This is yet another feature that has favourable reviews from users. Primarily, it allows you to change the look and feel of your dashboard. On Kapture you can rename fields, assign access to specific lists and decide parameters for the same. The user has the freedom to create a template by their own by simply selecting the fields that are required. Said fields will show up on the dashboard and can be aligned and adjusted exactly how the user sees fit.

The ultimate takeaway of the custom options of the dashboard and reports is more flexibility and control over actions. A user always has the final say in all things business.

Shining a light at these two college best friends will show us how far the two of them have come. Having completed their Post-Graduation together at their alma mater IIT, Roorkee back in 2015, they began work at Kapture CRM shortly afterwards. Priyanshu enjoys travelling to offbeat and exotic locations on getaways. Being a biker, he rides his bike on off-road tracks to experience adventure during his vacations. Ashish, on the other hand, fancies himself to be a cook owing to his love for food. A travel lover himself, he has journeyed throughout India to be more close with nature.

Be the First to comment.

Leave a Comment

Your email address will not be published. Required fields are marked *