Why BatchDoc ?
Last Updated on Sunday, 10 January 2010 18:31 Written by Ahmed Charfeddine Sunday, 06 December 2009 21:05
Whether your business activities necesserily involve the repetitive, en-masse production of client data based documents or you just want to leverage existing front end client interactions amidst large client base, BatchDoc is a solution choice.
Document production solutions often come at the expense of document design : a new editor forces you to learn it all from the beginning, forcing your organizings to lose existing design skills, or at most, a conversion operation is needed resulting in a degradation of your existing document models quality. This is all at the pretext of having to allow the sequent production rules.
In BatchDoc, the document production data and logic lies outside the document itself. Our approach ensures that separate expertises apply to each step of the document production process. Your design expertize is free to create the document model without limitation. The only disavantage is we can only handle Office Word 2007 documents. However, no plugin for Word is needed : and evry document is ensured to work : you can reuse templates from other parties as well.
Seamless data integration
How can you ensure a document production solution that has determinictic results without resorting to software enginners for wiring your the data sources in your infrastructure with the document template and coding the production process for you ? BatchDoc employs a powerful data abstraction from the production logic through the concept of virtua datasets. With the ease of few clicks, you get access to your CSV files , SQL databases, XML data and more. Heteregenous data is no more an issue : at last, a plug-In framework allows you to import unsupported data sources. You database administrator can work on this stage separately, using his knowledge of the data connection and the details of the physical data sources.
Complexe scenario handling
You gathered your document model, the data is available, but your production scenario is not limited to the mere replacement of text zones with certains SQL table fields. Rather, different elemnts type composing the document need be dynamic, some content portion have to be iterated for each document instance, some content elements would depend on teration contexts and so on. BatchDoc can handle this. It allows you to bind text, pictures and even charts. There can be a chain of datasources that provide their final values depeding on dynamic parameters. The concept of "repetitive line" helps achieve ioterative content. The Document iteration script that describe the production logic is however a few clicks away without writing anything : only the mouse is needed.
Abvoiding the expense or simply solving the impossiblity of a drudgereous manual document production is but the reason why you would run after an automated solution, from the first place. Fulfilling it,however, you have to make sure that you are not running after new issues that were not taken into account at the choice moment. In any standard software, once you are statisfied by the publicied functionalities and with the real evaluation of the product, there is really little chance of a bad surprise. Except for bugs which the author is normally commited to solving them for you. In the document production domain, particularly, a key demand might often be the speed of the program. The excellence of a certain choice in particular functionnalities should not hinder the assesment of its performance. Once choices are made : if the performance turns out to be catastrophic in case of hundred of thousand if not millions of documents (invoices, reports etc) that have to be produced periodically, big chances are that the producer would be unable to fix the issue unless he had to rewrite his software. At Batch Document, we are proud to tell that BatchDoc was designed from the start for the ultimate performance. We relied on the knowledge of the published Office Open XML specification and we wrote, with paralellism in mind, a C++ solution that achieves the result we were glad to show you at the Benchmarks page.