Developer Support

Home » Support Library » Developer Support

Technical Stack And Constraints

Components This section documents the processes that make up a running ArkCase system.  Each of the below systems is a separate operating system process. ArkCase Web Application The ArkCase webapp provides the user interface and REST APIs that users and other systems...

ArkCase Conceptual Model

Case Files Case files are distinct events tracked by some organization.  They have a start date and end date, an identifying number, and assigned users and groups.  Case files include tasks, folders, and documents. For Freedom of Information Act (FOIA) agencies, a...

External Interfaces

Overview This document explains how human users and information systems interact with ArkCase. Incoming Interfaces (Users and Systems Call ArkCase Services) User Interface Users typically interact with ArkCase through a web application.  The webapp is written...

Storage Overview

Overview ArkCase stores data in 4 repositories: a relational database; a content file store; a Solr index; and a configuration folder.   Relational Database ArkCase supports MySQL, MariaDB, PostgreSQL, Oracle, and SQL Server. The database is the primary store for...

Frontend Architecture

Introduction Application Architecture Deployment Permissions Depends on user roles some UI controls can be disabled or hidden. To control UI control access permission directive can be applied:   <button permission="submitRequest"...

Frontend Development

Translation Angular Translate API   Resources Location All module's resources are stored in module/module_config/resources/en.json JSON file.   Resources Style Guide Use camelCase notation to describe resources string.   Correct: "moduleDescription":...

Frontend Documentation

Introduction To automate documentation generation we use ngdoc extension of jsdoc. Review this document that contains available directives list: AngularJS Documentation Doc-server builds documentation for directives and services only. That's why these objects MUST be...

Frontend Performance Optimization

Translate resources Use translate directive instead of filters. Using translate directive   Use One Time Binding AngularJS one-time binding syntax Exploring One-Time Bindings In AngularJS 1.3    

Database ERD

Below is a list of the ArkCase Entity Relationship Diagrams for both the CORE Product and the FOIA Configuration. The ERDs can be downloaded in pdf format and native mwb formats. ArkCase FOIA - ERD.pdf 100 KB Download   ArkCase FOIA - ERD.mwb 200 KB Download...

Activiti Integration

This document shows how to write a new Activiti business process and how to integrate it into ArkCase. Activiti business processes are based on the Business Process Modeling Notation (BPMN) standard.  ArkCase does use Alfresco’s extensions to this standard.  For...

Configure a New Form

Steps to Configure a New Form Below are the steps to configure a form with the Frevvo forms designer or a new html form. New Frevvo Form 1. Browse to the Frevvo URL 2. URL will be https:<Your ArkCase url>/Frevvo 3. Log in to Frevvo with the admin user 4. In the...

Configure Search Facets

Steps to configure the Search Facets: Note: Faceting is done on indexed values. 1. All of the search facets are defined in the config file “.arkcase/acm/searchPlugin.properties”, see below: 2. The structure of the facet is the following:...

Configure the User Interface

Extend the User Interface  To extend a view in ArkCase Core please follow the below steps: 1. Copy the html view that you want to change/extend under: “src/main/resources/META-INF/resources/resources/custom_modules/$module_name$/views/components”. For example,...

Extending the Data Model

Steps to extend the Data Model in ArkCase To extend a model with additional properties please follow the below steps: 1. First, find and select the entity class which you want to extend, must be designed/support extending. If the below design is not implemented you...

Java Code Standards

Introduction This guide defines conventions for Java code. Code reviewers, keep these conventions in mind when reviewing code. Guidelines try-with-resources Close resources by defining them in the try block; avoid finally blocks for resource management. Good: try (...

Overview

Scope This document explains how to install ArkCase.  It shows how to install and configure all ArkCase components.  It does not include sizing worksheets, networking guides, or clustering documentation. Assumptions This guide is very function-oriented: it explains...

Component Overview

Java 8 You will need Java 8.  For CentOS / RedHat style Linux operating systems, you can get Java RPM files via these wget commands: wget --no-check-certificate --no-cookies --header 'Cookie:...

Prerequisites

Java The different components are certified for Java 8, or compatible with Java 8. Alfresco 5.0.1 is certified for Java 8. The Alfresco installer installs Java 8 inside Alfresco’s own folder structure, so you do not need to install Java before installing Alfresco....

Alfresco Repository

Install Alfresco This step is not needed if you already have an Alfresco installation. If you do not already have an Alfresco installation, Armedia recommends Alfresco Enterprise 5.1 or higher.  You can download the enterprise installer and acquire a license file from...

Apache Solr

ArkCase requires a separate Solr installation; do not use the Solr installation that ships with Alfresco. Download SOLR 4.8.1 from  https://lucene.apache.org/solr/downloads.html. Below instructions are suitable for small installations.  Large-scale Solr installations...

Frevvo Forms 6.1

Full install instructions: http://docs.frevvo.com/d/display/frevvo53/Installation+and+Configuration Download Frevvo Open Frevvo download page: http://www.frevvo.com/prod_download. You should see the following part in the web page: Click on "click here to download"...

Install Pentaho

For Pentaho, you may install either the free Community Edition, or the commercial Enterprise Edition.  The Community Edition lacks the ability to export reports, but otherwise runs all current ArkCase reports. Enterprise Edition Only follow these steps if you want...

Snowbound Virtual Viewer

Install Snowbound Virtual Viewer Acquire the file “VirtualViewerJavaHTML5.zip”.  You can download a trial edition here: http://www.snowbound.com/products/document-viewer/html5-document-viewer Unzip the file to extract the VirtualViewerJavaHTML5.war file (the zip file...

Listing and Retrieving

For retrieving single record we use GET method with resource name and suffix the record id Example: GET: /case-files/123 – return case file with id = 123 For listing all records we use GET method with resource name Example: GET: /case-files – this should return all...

Responses

Responses should be standardized. Consumer should expect always that will get same response structure whether was for successful or error responses. Consumer should expect that HTTP Status codes will be used correctly, and our defined statuses should be documented....

Versioning

Multiple ways to achieve versioning: In URI: Example: /my-api/v2/resource In Accept Header as custom media type: Example:Accept: application/vnd.case-file.v2 + json In URI as parameter: Example: /my-api/resources?version=2 As custom header: Example:X-APIVersion: 2 In...

Writing URI

Resource Name Resources names are ALWAYS nouns in plural Example: /case-files, /complaints, etc. Concatenating resource names is with hyphen(dash) ”-”: Example case-files, person-associations, etc Resource name should be intuitive URI should always represent resource...