Building solutions utilizing MAINsuite generally requires four stages: acquisition of the data to be managed, indexing of that data (based on the MAINtag), querying the index for data to be retrieved and using the retrieved data by an application such as a viewer. MAINSOURCE has developed a number of components that can be incorporated into a solution to provide these functions namely: MAINacquire, MAINindex, MAINquery and MAINview. These components are described below and represent a good example of the functionality that can be directly incorporated into a solution or customized for a specific requirement.
MAINacquire serves as a front-end module to the MAINsuite repository, providing a simple means of acquiring 'documents' from various sources such as paper and film scanners as well as importing data from disk files. In addition to acquiring the documents, the component provides the ability to establish and store the documents in an initial hierarchical organization of 'folders' (like a directory tree) and associate information with the documents that may be used in subsequent operations performed on the document such as indexing it. Several options are available for such things as image manipulation facilities (rotation, cropping, etc.) for scanned documents as well as OCR and barcode recognition. Virtually any type of document can be imported which is especially useful for word processing documents, text files, audio, video and images.
MAINindex provides facilities to link the 'objects' stored in the repository with an indexing database that links the MAINtag with various search and query attributes. These attributes are generally customized for each application and MAINindex provides the means to define and use them in addition to any linking of the objects to a legacy database. Both manual and automated indexing facilities are available as well as queues for providing workflow facilities.
MAINquery is used to specify and select objects based upon the attributes and search criteria stored in an indexing database. Its generalized query capability provides considerable flexibility in selecting single objects or collections of objects when access isn't provided by a legacy application. MAINquery's primary function is to provide one or more MAINtags to be used by subsequent applications such as MAINview.
MAINview is a MAINsuite component that provides generalized viewing facilities for image document, word processing documents and other multimedia types such as audio and video formats. As an integrated component of MAINsuite it is aware of the various content formats and automatically directs the object content to the corresponding viewer for that data type.