Interfaces

QBO is a toolset intended to allow buisness experts (“power users”) configure solutions to automate many business tasks. Some tasks have already been automated by other software providers. Such tasks include:

Common Tasks

  • Mail merging documents
  • Document imaging
  • Document delivery
  • Document printing
  • Mapping and geocoding
  • Telephony
  • Email
  • MSP Integrations (pre-built)

Geeky Tasks

  • Security (authentication)
  • Encryption
  • Importing data
  • Number crunching
  • Queuing
  • Logging
  • Business rule enforcement

Rather than re-invent the wheel with such tasks, Quandis adopts the following philosophy:

  • Evaluate 3 of the top software providers
  • Figure out how QBO can work with all of them (create a programming interface)
  • Create a plugin for the providers our clients wish to use

If your company has a proven solution covering part of what QBO does, QBO can adopt your solution as-is, rather than forcing you to re-invent something.

IGenerate: Mail Merge

There are many tools for creating documents with data “mail merged” from a database, such as MS Word, Crystal Reports and Adobe Acrobat. The Attachment module’s IGenerate interfaces has allowed us to build plugins that call the mail merge functionality of these systems.  QBO handles the gathering of the data needed by the document, and simply hands the data off to the plugin.  In turn, the plugin provides QBO with a finished document, which QBO then stores in an imaging system.

Existing plugins include:

  • Aspose: use MS Word templates to mail merge data (Aspose handles the merge server-side)
  • ABCPDF: turn HTML into PDF, merge PDF files together
  • Adobe: fill out form-field-enabled PDF documents
  • FNC: create BPO and appraisal ENV files
  • Google Maps: produce map images with addresses overlaid
  • Xceed: create ZIP files from other documents

IFileObject: Document Imaging

QBO is frequently used by our clients to manage workflow between their internal employees and their external business partners. In such situations, sharing documents by email is both cumbersome and insecure. QBO’s IFileObject interface can be used to read and write file to various imaging systems, so the document sharing is automated and secure. Existing plugins include:

  • sFTP: exchange documents with an FTP site (securely)
  • Amazon S3: exchange documents with an Amazon S3 bucket (secure, private, and unlimited cheap storage)
  • Internet: read documents from any URL
  • Azure: exchange documents with Microsoft’s cloud
  • Google: exchange documents with a Google drive
  • Dropbox: you get it
  • UNC: exchange files on a local network
  • SourceCorp Btrieve: exchange files with SourceCorp
  • FileNET: exchange files with FileNET

IDelivery: Certified Mail, UPS, Fedex

Going to mail a document? Leverage the USPS, UPS or Fedex, of course. With QBO’s IDelivery interface, you get both the convenience of interfacing with the big document delivery providers, and the ability to insert a tracking number as part of your mail merge data.

Traditional print-and-mail shops will “stamp” a tracking number on your document for you; think of a certified mail tracking number being stamped on to top right corner of a document. The downside to this approach is you are limited to placing the stamp at precise coordinates.  You cannot realistically place the tracking number “inline” in the body of your document.

The Attachment module addresses this problem:

  • Create a “mail merge” template and specify a delivery interface (e.g. Certified mail)
  • Upon generating a document, QBO will invoke the delivery interface to get a tracking number before the mail merge is done
  • The tracking number is then added to the merge data
  • The merge is performed, creating a document with the tracking number merged wherever you want it
  • The document is saved, and the database is updated to include the freshly-generated tracking number so you can query it

IPrint: Document Printing

A QBO client approached us with a request to create a job to merge all PDF document based on a certain mail merge template generated each day into a single PDF, for easy printing. This way, a user could download one document, open it in Acrobat Reader, and choose File > Print to print them all out. Sadly, while QBO had no problem producing a 15,000 page PDF document, it took quite a while to download, and froze the poor user’s computer.

Enter the IPrint interface: simply tell QBO to print a document directly to a printer, without the need for a user to open the document (or 15,000 1 page documents!) and print manually. Current plugins include:

IMappingProvider: Mapping and Geocoding

If your company deals with a lot of addresses, geocoding is very useful for:

  • Validating addresses (including correcting simply typos)
  • Generating a latitude and longitude, so you can do distance calculations
  • Displaying addresses on a map (such as a property and surrounding listing a sales comps)

Current plugins include:

  • Google Maps
  • Bing
  • MapQuest
  • Yahoo
  • SmartyStreet

These mapping providers are fast, efficient and generally wonderful. However, in a very small percentage of cases (typically less than 1%), they’re also wrong, particularly when they encounter a partial address (e.g. “123 Main Street CA 92610”). A low percentage (~1%) of the 2 million or so addresses QBO had geocoded is still a significant number.  Thus, the Contact module provide an additional layer of protection: it compares each component of the input address with the results returned by the mapping provider, and generates a confidence level. If the confidence level is too low, the Contact module will cascade to the next mapping provider, until a sufficient confidence is reached. This drops the overall error rates to almost zero.

IService: Everything Else

The IService interface is a hook to extend any QBO module. It involves:

  • creating a custom .NET plugin that implements the QBO IService interface, and
  • configuring a module to call the plugin when a particular method signature is called

The design philosophy behind the IService plugin is to have developers create a plugin to connect QBO to another system in a ‘generic’ manner, and then use QBO’s configuration tools to enable power users to choose when and how to call plugin.

For example, Quandis and our clients have creating IService plugins to field integration with systems as diverse as:

  • Department of Defense SCRA and MLA databases
  • Pacer
  • State level courts
  • Credit Bureaus
  • Servicing systems (including MSP and MortgageServ)
  • Title companies
  • etc.

When we design a plugin to integrate with MSP (for example), the plugin simply allows QBO to pass data in a format MSP expects, and parse any response data into a format QBO works with.

It is then up to the power users to choose when to call the plugin, and to decide what data to pass to the plugin. This means that developers are involved only in the first phase of the QBO implementation, and from then on, power users are choosing when and how to call MSP as they configure their workflows.