VisualVault is a web-based document management and compliance application intended to provide organization, structure, and control to unstructured data and business processes and provide a platform for document storage and processing, forms processing, and compliance solutions.
Documents refer to any electronic files within an organization that are not managed by a structured system (spreadsheets, presentations, letters, memos, maps, images, etc). Forms refer to web-based forms designed using the VisualVault form design utility. Forms allow you to collect data, route the form data utilizing the integrated workflow engine, and create reports using either the VisualVault form dashboards, the VisualVault report server, or a third party reporting tool. VisualVault form data is collected and stored in two locations, the first location is an XML document stored in the VisualVault database (the XML format is that of a .Net data set), and the second location is the VisualVault_FormData database. The VisualVault_FormData database provides a report friendly view of the data (each form template has a matching database table, the schema is kept in sync by VisualVault).
VisualVault provides a solution for managing documents and forms in a manner that supports regulatory system guidelines. Business process management is possible by combining document management capabilities with the integrated workflow engine.
Users can be granted permissions to interact with information and content. Users are granted these rights by the designation of Owner, Editor or Viewer roles. Additional administrative roles, which have special rights, can also be granted to higher level users. The administrative roles are termed VaultAdmin and VaultAccess. The VaultAccess role grants members access to administrative functions as well as all data stored in the repository. The VaultAdmin role grants access to administrative functions only.
VisualVault's architecture is comprised of an ASP.Net web application which includes Web Service end points, a .Net web services proxy (VVRuntime.dll) which leverages the VisualVault Web Services to provide a consistent programming environment for remote calls to the web server, and a .Net background service (VVService.dll) which runs on the web server and carries out routine maintenance tasks such as workflow escalation, and record retention enforcement.
The VisualVault architecture also incudes an Index Service for document indexing and searching. The VisualVault Index Service is a separate ASP.Net web application which VisualVault communicates with via Web Services. VisualVault Index Service can be deployed on the same web server as the VisualVault application or can be deployed on a dedicated server in higher volume environments.
Version 2.95 and greater also leverages the content manager layer. The content manager is a provider-based storage manager used to control the physical storage location of document data. The content manager is capable of storing document data within SQL databases, file system locations (UNC paths), or any location defined by a content manager provider.
| VisualVault Assemblies |
Description |
|---|---|
|
VisualVault.dll
|
ASP.Net web application, use the VisualVault installer to install on a Windows 2000 or 2003 web server. |
|
Auersoft.VVUpload.dll
|
Required by the ASP.Net web application, installed with VisualVault. VVUpload is an http module that intercepts files uploaded to the web server via http post. The http module spools the files to disk (using the web server's temp folder) in small chunks to support large file uploads and keeps the uploaded files out of web server memory. |
|
Auersoft.ContentManager.dll |
Content Manager is responsible for document storage operations. |
|
VVRuntime.dll |
VVRuntime acts as a proxy for the VisualVault Web Services. This assembly is what .Net developers will reference to use the VisualVault API. VVRuntime.dll communicates with remote VisualVault web servers via web service calls.
VVRuntime.dll is also used in multiple Auersoft products such as the Outlook(R) Add-In, VScan capture utility, VEmail Service, and others. |
Each VisualVault web server that you will access using API calls must have a license file which includes both the Web Services module and the Runtime Proxy module (see example below). Use of the VisualVault API is governed by the license agreement agreed to upon installation of the Software Development Kit. If you did not agree to the license terms you are not authorized to use the API.
The VisualVault web application license file must be located in the root of a VisualVault application (Example: c:\inetpub\wwwroot\VisualVault\vvlicense.xml). The license file is used for the Web application User Interface, the API, the Outlook Client, and other applications which make web service calls to the VisualVault server. For a list of licensed modules view the contents of the license file or use the Help-About menu option within the VisualVault user interface.
If you are an OEM partner building applications which will use the VisualVault API, Auersoft may provide you with a unique product ID which can be passed in as a parameter of the authentication methods.
To request a license file please send an email to sales@VisualVault.com or contact us at 1-877-My-Vault (698-2858).
Example of VVLicense.XML file contents:
<?xml version="1.0" encoding="utf-8"?>
<license version="1.0">
<customer name="ABC Company">
</customer>
<vendor name="AuerSoft">
</vendor>
<product name="VisualVault" version="2.6">
</product>
<seats system="1000" available="1000">
</seats>
<modules>
<module id="00000001-0000-0000-0000-100000000001" name="Basic Web Services" available="-1" access="fullaccess">
</module>
<module id="00000001-0000-0000-0000-100000000002" name="VisualVault Runtime Proxy" available="-1" access="fullaccess">
</module>
<module id="00000001-0000-0000-0000-100000000003" name="VisualVault Outlook Client" available="200" access="fullaccess">
</module>
</modules>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>bK0/8zBlqZP7ab0MXF9h8AIydb0=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>Iv3A19GxPRy5jso023ts0NOExDZLAEINqR1LjnENDDPGn65o/MHdXj6RPiaPsiV8uW9vCuQ8X+K7ZcW7ti0S74YYlD6I8fKLzGlaZO6RI1b8QE+ekTAHb6mZ6DQrFrJ8+YfbmHvqxQCVoVx1sMH7i6h25/5dya5FFL34+/htKLk=</SignatureValue>
</Signature>
</license>
To use the VisualVault Web Services API add a reference to VVRuntime.dll in your Visual Studio project. Once the reference has been added you will need to authenticate with a VisualVault web server. There are two methods for specifying the target VisualVault server to communicate with. You can either pass the target server URL path as a parameter to the Authenticate method, or specify the target server URL in a configuration file.
The recommended method of authenticating is to pass in the target server URL as a parameter when authenticating.
If using the configuration file approach, place the file called VVRuntime.Config.xml in your project's bin folder and edit the file providing the URL to the web services (any web server running VisualVault). This XML file must also be distributed with your compiled application and can be modified at any time to provide a configurable reference to your web server's URL. Each web server running VisualVault needs its own license file and distribution is not royalty free. Refer to the API license agreement for distribution rights.
Example of VVRuntime.Config.XML:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<SecurityService>http://localhost/visualvault/Ws/Security.asmx</SecurityService>
<LibraryService>http://localhost/visualvault/Ws/Library.asmx</LibraryService>
<FolderService>http://localhost/visualvault/Ws/Folders.asmx</FolderService>
<ProjectService>http://localhost/visualvault/Ws/Projects.asmx</ProjectService>
<WebServiceTimeout>600000</WebServiceTimeout>
</configuration>
Make sure your web server's security is configured so the VisualVault web services are available for access from your application. One way of testing your access rights to the web services is to simply browse to the web service URL's listed below from a remote client machine.
There are several security considerations when accessing the web service URL's:
IIS Security controls access to the URL's. For example, if the anonymous user account needs to have access unless you plan to utilize Integrated Windows Security.
VisualVault's web.config file determines the authentication mode used for access (Forms security or Integrated Windows Security). The default security configuration is Forms security in which the user is prompted with a login screen prior to accessing any of the VisualVault web pages. However, by default VisualVault's web.config file has a security exclusion (near the bottom of the file) for each of the web service URL's allowing you to access the web services from your application. If you want to prevent anonymous users from accessing the web services, you must remove the security exclusions from VisualVault's web.config file (usually located at \inetpub\wwwroot\visualvault\web.config).
Even though you may be accessing the web services anonymously, VisualVault's API still requires you to authenticate by calling the Vault.Authenticate method prior to giving a reference to any objects. See the Code Examples Overview and Authentication topic for more information.
| VisualVault Web Services |
Description |
|---|---|
|
Security Service
|
Located at http:/yourserverURL/Ws/Security.asmx
Supports the VVRuntime.Security name space. |
|
Library Service
|
Located at http:/yourserverURL/Ws/Library.asmx
Supports the VVRuntime.Library name space. |
|
Folder Service |
Located at http:/yourserverURL/Ws/Folders.asmx
Supports the VVRuntime.Folders name space. |
|
Forms Service |
Located at http:/yourserverURL/Ws/Forms.asmx
Supports the VVRuntime.Forms name space. |
|
Project Service
|
Located at http:/yourserverURL/Ws/Projects.asmx
Supports the VVRuntime.Projects name space. |
|
Workflow Service |
Located at http:/yourserverURL/Ws/Workflows.asmx
Supports the VVRuntime.Workflows name space. |