CLAIMS Direct Web Services (CDWS) are a collection of services built on the Perl Cataylst framework. The application runs as a virtual host and a typical deployment would be in combination with Apache httpd.
On-site installations of CDWS have a very limited set of services available, namely /text
and, if the optional Solr index is installed, /search
. Citation and family services may be accessed as described in the blog Leveraging On-Site Citation and Family Functionality. All other service interfaces must be called remotely to https://cdws21.ificlaims.com. Please contact support@ificlaims.com for further details.
Hardware Requirements
Requirement | Recommended |
---|---|
CPU | 2-cores |
System Memory | 4GB |
System Storage | 100GB |
Software Requirements
Requirement | Recommended | Notes |
---|---|---|
Apache httpd | Distribution version | yum -y install httpd |
Perl Modules | Distribution version | yum -y install \ |
CLAIMS Direct Library | Latest Version | Contact support@ificlaims.com for link to latest version |
CLAIMS Direct Web Services (CDWS) | Latest Version | Contact support@ificlaims.com for link to latest version |
Configuration
The main configuration files for CDWS reside in /opt/fv/lib/perl5/Alexandria/CDWS
and are:
alexandria-cdws-apache.conf
The virtual host definition. Here you can change the Port httpd listens on for the CDWS application.alexandria-cdws.conf
The main application configuration file.
The main configuration file (alexandria-cdws.conf
) is broken into the following sections:
- Global Parameters
- Authentication Plugins
- Database Models
Global Parameters
CLAIMS Direct Web Services
The following table explains the global parameters and values in alexandria-cdws.conf:
Parameter | Default Value | Custom Configurable | Description |
---|---|---|---|
name | alexandria-cdws | No | The package name |
remote | 1 | No | This variable guides code logic depending on the CLAIMS Direct installation being remote (on-site) or Primary |
log_statistics_database | 1 | Yes | If requests should be logged into the admin.t_user_statistics table |
log_statistics_error_log | 1 | Yes | If requests should be logged into the httpd error_log |
index_version | 21 | Yes | The index version. Although this variable is configurable, it shouldn't need to be changed. |
enable_ip_authentication | 1 | No | This parameter activates code that allows IP authentication |
secure | 0 | Yes | Change this parameter to 1 to broadcast to CDWS application that the web server is running under SSL |
CLAIMS Direct Web Interface
The following table explains the global parameters and values in alexandria-cdwi.conf:
Parameter | Default Value | Custom Configurable | Description |
---|---|---|---|
name | alexandria-cdwi | No | The package name |
enable_log4js | 0 | Yes | Enable or disable popup javascript logging (very useful for debugging) |
remote | 1 | No | This variable guides code logic depending on the CLAIMS Direct installation being remote (on-site) or Primary |
cdwi version | 2.1 | No | Version of CLAIMS Direct Web Interface |
index_version | 21 | Yes | The index version. Although this variable is configurable, it shouldn't need to be changed. |
enable_ip_authentication | 0 | No | This parameter activates code that allows IP authentication |
secure | 0 | Yes | This is under apache with SSL |
location of transient data | transient_data_directory /tmp | Yes | Storage directory for temporary data. This is configurable but /tmp is recommended. |
maximum number of results to report / extract | result_set_export_max 30000 | No | The maximum number of records which can be reported or extracted |
Authentication Plugins
The plugins section contains the directives for authentication. As this uses database model definitions appearing later in the file, this directive should not be modified.
Database Models
The following table lists the database models defined, along with their function. Italic rows are not available with on-site installations:
Database Model | Variables | Function | Notes |
---|---|---|---|
Model::DBIx::Connector | none | Main PostgreSQL interface | |
Model::Custom | host | Interface into the reporting database | This interface enables CSV reporting. This reporting module is superseded by Model::Report defined below. |
Model::Web | host | Deprecated (was earlier web sessions interface) | |
Model::CDWS | server address | Server URL | |
Model::Users | host | Interface into the users database supporting the authentication plugin | |
Model::Report | host solrurl storage | Interface into the users database | This interface supports v2.x reporting for both XML and CSV. To use this interface effectively, the optional Solr component must be installed locally. |
Model::Session | host | Interface into the users database | This interface supports the Sessions web services (experimental) |
Model::DWH::Standard Model::DWH::Premium Model::DWH::Premium::Plus | host | Interface into the main alexandria XML data warehouse | This interface supports a variety of web services, including /text |
Model::Attachments | Interface into the attachments database | Unavailable with on-site installations | |
Model::Inventory | Interface into the raw data warehouse | Unavailable with on-site installations | |
Model::MSSQL | Interface into the level I data warehouse | Unavailable with on-site installations | |
Model::Solr::Standard Model::Solr::Premium Model::Solr::Premium::Plus | base server collection params | Main interfaces into the Solr index | Available only with optional Solr installation |
Model::Solr::Attachments | Interface into attachments index | Unavailable with on-site installations | |
Model::Solr::PITR | Interface into PITR reporting index | Unavailable with on-site installations | |
Model::Zabbix | Interface into systems monitoring | Unavailable with on-site installations |
Apache httpd Integration
alexandria-cdws-apache.conf Installation
To enable CDWS to run under httpd, the virtual host definition file alexandria-cdws-apache.conf
must be either copied or linked into /etc/httpd/conf.d.
# link (recommended) cd /etc/httpd/conf.d && ln -s /opt/fv/lib/perl5/Alexandria/CDWS/alexandria-cdws-apache.conf z01.conf # or copy sudo cp /opt/fv/lib/perl5/Alexandria/CDWS/alexandria-cdws-apache.conf /etc/httpd/conf.d/z01.conf
Apache httpd Directory Permissions
Depending on distribution, you may also need to adjust the permissions to the root Directory
in httpd.conf.
<Directory /> AllowOverride none Require all granted </Directory>
Enable, Start, and Stop httpd
sudo systemctl enable httpd.service sudo systemctl start httpd.service # stop # sudo systemctl stop httpd.service