Installation

AlfBI Installation Guide

The following guide is for the installation of AlfBI

Requirements

Alfresco

  • Alfresco Version 5.0+
  • Alfresco Dynamic Extensions
  • AlfStream Version 1.9.0+
  • Java Version 8

Apache Karaf

  • Apache Karaf 4.0+

PostgreSQL

  • PostgreSQL version 9.5+

Compilation

Requires Read access to the Parashift Private Maven Repository

Run gradle amp in repo, share and camel directories

Installation (Alfresco)

Install the following amps into Alfresco:

  • Alfresco Dynamic Extensions
  • Alfstream
  • AlfBI (this module)

Installation (Karaf)

Installation of this module requires an instance of Apache Karaf to host Apache Camel.

Karaf is normally stored within the /opt/apache-karaf-*/ directory where * is the version number.

  • Follow the instructions for installing Karaf from the Quickstart here: Karaf Manual

Installation (PostgreSQL)

You will need a PostgreSQL database to store all the indexes. As an example, you can create a db alfbi with user and password alfbi:

postgres=# create user alfbi password 'alfbi';
CREATE ROLE
postgres=# create database alfbi owner alfbi;
CREATE DATABASE

By default alfbi will automatically create the necessary tables for you when it starts ingesting.

Configuration (Karaf)

  • Create a or update the config file at /<path_to_karaf_install>/etc/com.parashift.cfg with the following properties:

  • alfresco.url: the Local alfresco instance (normally localhost, but could be a different server)

  • alfresco.username: the Local alfresco admin username
  • alfresco.password: the Local alfresco admin password
  • alfbi.username: the username for the alfbi PostgreSQL database
  • alfbi.password: the password for the alfbi PostgreSQL database
  • alfbi.url: the URL for the alfbi PostgreSQL database

The default configuration uses the following:

alfresco.url=http://localhost:8080/alfresco
alfresco.username=admin
alfresco.password=admin
alfbi.username=alfbi
alfbi.password=alfbi
alfbi.url=jdbc:postgresql://localhost/alfbi

Configuration (Metabase)

After you have successfully pulled down data from Alfresco you should have the tables/databases necessary for creating dashboards.

The dashboard configuration is stored here: metabase_dashboards.yml

Note: If you are not using the default database username/password, make sure you update the yaml file with the correct values

Using mbexport you can import the dashboards like so:

mbexport -i metabase_dashboards.yml

Configuration (Alfresco)

The following configuration options are available for Alfresco

Metabase User/Group Synchronisation

Note: Requires that Metabase is running using PostgreSQL as a configuration store

The following options control the user/group sync in Alfresco global properties (with defaults):

metabase.db.url=jdbc:postgresql://localhost:5432/metabase_default
metabase.db.username=default
metabase.db.password=default
metabase.enabled=true

The db params specify the metabase configuration database to connect to. If the metabase db is not contactable, or there is an exception, then metabase sync won't be enabled

Metabase Reports SSL Redirect

Note: Requires that metabase is accessible via another domain

To configure the reports redirect in Alfresco share, user/group synchronisation must be active as per above.

The metabase.front.url configuration option specifies the metabase url.

You will need to setup a proxy for metabase via apache like so:

ProxyPass /alfmb http://127.0.0.1:8080/alfresco/s/parashift/alfbi/proxymb
ProxyPassReverse /alfmb http://127.0.0.1:8080/alfresco/s/parashift/alfbi/proxymb

ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/

The method of redirect is as follows:

  • Users click on the Reports button within Alfresco Share
  • This redirects them to {{metabase.front.url}}/alfmb?alf_ticket={{user_ticket}}
  • The proxymb webscript then performs the following:
  • Checks if the user is valid
  • Creates a session in metabase
  • Sets the browser cookies to that session