Thursday November 23, 2023

Updates on the ActivityInfo Self managed Server (v4.2)

  • Host
    Alexander Bertram
About this webinar

About this webinar

In addition to the SaaS version, ActivityInfo is also available to be installed on premise on Windows or Linux, as well as in customer-managed cloud accounts. During this session we explore the updated version of the Self-managed ActivityInfo Server (version 4.2, currently in beta). We also refresh our memory on factors to consider when deciding which version to use.

We discuss:

  • SaaS versus Self-managed Server

Setup scenarios:

  • Microsoft Azure and Azure Marketplace
  • Windows server
  • Docker

And:

  • Managing backups
  • New features in version 4.2 (beta)

Is this Webinar for me?

  • Are you working in a context (e.g. government, case management related, etc.) where it is imperative that your organization manages the servers?
  • Do you wish to understand which of the two versions (SaaS or Self-managed) best suits your needs?
  • Are you currently using the Self managed Server and wish to learn more about the latest features?

Then, watch our webinar!

About the Speaker

About the Speaker

Mr. Alexander Bertram, Executive Director of BeDataDriven and founder of ActivityInfo, is a graduate of the American University's School of International Service and started his career in international assistance fifteen years ago working with IOM in Kunduz, Afghanistan and later worked as an Information Management officer with UNICEF in DR Congo. With UNICEF, frustrated with the time required to build data collection systems for each new programme, he worked on the team that developed ActivityInfo, a simplified platform for M&E data collection. In 2010, he left UNICEF to start BeDataDriven and develop ActivityInfo full time. Since then, he has worked with organizations in more than 70 countries to deploy ActivityInfo for monitoring & evaluation.

Transcript

Transcript

00:00:00 Introduction and agenda

Let's dive right in. There are a couple of things that we wanted to cover today. First is a reminder of the difference between our SaaS version and the Self-managed Server. What is this thing, and why is it there? Then we will look at setup and deployment scenarios and how you actually use it. Finally, we will look at some of the big new features that are available in version 4.2, which is currently in beta testing.

00:00:41 SaaS versus self-managed server

It is useful to think about a continuum from on-premises software where you manage the hardware yourself. You own the hardware, you manage the hardware, and you manage the software. Basically, you and your organization take responsibility for nearly everything. That is the classic model of application delivery.

Since then, we have had the introduction of cloud computing. We have three big public clouds: Amazon Web Services, Azure, and Google Cloud Platform. These allow you to virtualize servers. Instead of having servers in a rack in your basement or a data center, these servers are in somebody else's data center, and you can rent virtual machines. This moves much of the responsibility out of your hands. You are no longer responsible for physical security or hardware failure. These providers take on the responsibility of running a data center, which is called Infrastructure as a Service (IaaS).

However, if you use Infrastructure as a Service, you are still responsible for application configuration, application deployment, and making sure that the data on these virtual machines is backed up. If the virtual machine goes down, you can spin up a new one quickly, but you are still responsible for disaster recovery processes.

The next step in this evolution is the move towards Software as a Service (SaaS). With SaaS, you no longer have to manage the hardware or the software. You do not have to manage updates or backups; the software vendor takes care of all of that for you. That is how we have mostly offered ActivityInfo over the last 10 years. With ActivityInfo.org, you just type it into your browser, pay for the service, and we make sure that everything works for you.

This is not without trade-offs. The more you move toward SaaS, the more you rely on vendors. Relying on vendors can be a great strategy because it reduces upfront costs, but it is still a choice. We work with a number of organizations who prefer to limit their reliance on vendors and either pursue an on-premise strategy or retain management of the software.

About two years ago, we started offering a Self-managed Server. This allows you to limit your dependency on us as a vendor. You can run our Self-managed Server on Infrastructure as a Service using your cloud account with Azure or AWS, or on-premise if you own a data center. You are only reliant on us to deliver the software license.

Some people ask which model is more secure. I do not think either model is inherently more secure. Practically, SaaS is often more secure because you rely on specialized vendors. If you operate on-premise, you must manage the risk related to data security and durability yourself. You need to recruit a team, train employees, and put in place policies and processes. If you rely on us as a vendor, you rely on contracts, Service Level Agreements, and third-party audits.

00:09:32 Deployment scenarios

When we set out to build a self-managed version, we realized it had to be very easy and simple to manage because most organizations do not have a dedicated team to manage ActivityInfo full-time. We started with the installation experience. We have four different installers: a Windows installer, a Debian/Ubuntu package, a Docker image, and a self-contained Java application (JAR file).

The Windows MSI has a GUI installer where you can choose where to install the server and the data. It allows you to set up the administrator account and will even open up the Windows firewall rules for you.

00:14:54 Installation demonstration on Linux

Let's walk through the process of installing this on a virtual machine using Google Cloud Platform. I will launch a Linux machine using Debian Bullseye. I will enable HTTP and HTTPS traffic. For the Debian installation, I will use wget to download the package and then dpkg to install it. This sets up all the database files.

Once the server is running, I can access the login page via the IP address. The first thing it will do is prompt me to create an initial administrator account. Once logged in, you can start using ActivityInfo just like the SaaS version. However, as the site admin, you will have access to the "Server Settings" menu.

00:19:40 Server configuration

The Server Settings menu offers several configuration options. The first section is the license. The self-managed version comes with a 60-day free trial. If you decide to purchase it, we will send you a license key to upload.

The first thing you want to do once the server is running is to get an SSL certificate. If you are running on AWS or Google Cloud, you could use their load balancing products to handle SSL termination. However, we have built-in certificate management with Let's Encrypt. You simply need a domain name pointing to your IP address. In the server settings, you can enable automatic certificate management, agree to the terms, and provide your domain name. This organizes the certificate for you and establishes a secure connection. This is important because features like service workers and offline availability require a secure connection.

You also need to configure email to send password resets or invitations. By default, this is disabled. You need a mail server that supports SMTP. We recommend using a transactional email service like Postmark or SendGrid. Be careful using personal Gmail or Office 365 accounts as they have strict terms of usage.

You can configure identity providers for Single Sign-On (SSO). If your organization uses Azure Active Directory, Google, or Okta, you can connect through OpenID Connect. We also have an option for ADSI to connect to a Windows domain controller.

Regarding external API keys, currently, the only one is Mapbox. If you want to use maps with ActivityInfo, you will need a Mapbox account and must input your public access token.

00:27:31 Managing backups

There are a couple of different backup strategies we recommend. The easiest choice is simply backing up your virtual machine. If you are running in the cloud, you can take a snapshot of the VM every night. Even if you are running on-premise on Windows Server, you can run ActivityInfo in a virtual machine and back that up.

The other option is to back up the SQLite file. ActivityInfo uses SQLite for storage because it is thoroughly tested for durability. On our Linux server, the package creates a data directory in /opt/activityinfo. You will find the SQLite database file there, as well as the key store for Let's Encrypt. You can back up and manage this file normally.

We also have a configuration file (config.ini). Most options can be configured through the user interface, but some options, like disabling account disclosure or adding specific security headers, can only be changed through the config file.

00:35:07 Docker and other installation methods

For Docker deployment, ActivityInfo is wrapped in a Docker image using the Alpine base image. You can run that from the command line or use an orchestrator like Traefik with Docker Compose. Finally, if you do not like any of these methods, you can download the JAR file. It contains the database and web server. You just need to have Java 11 (OpenJDK 11 JRE) installed.

00:38:00 Azure Marketplace

If you are using Azure, you can find ActivityInfo in the Azure Marketplace. This makes it easier to deploy on Azure. You can choose between ActivityInfo on Linux or Windows Server 2022. This will start a virtual machine with ActivityInfo pre-installed and configured. Azure also has a nice offering called Vault that you can configure to back up your virtual machine, allowing for a one-click restore if something goes wrong.

00:42:27 New features in version 4.2 (Beta)

We are currently beta testing version 4.2. These are mostly features that have gone live over the past year on the SaaS version. We tend to release more slowly on the self-managed version to ensure stability.

Importer Updates: The new importer in 4.2 fully validates all your relevance validation rules. If you have logic in your form, the importer enforces and applies those formulas during the import process.

Roles and Permissions: We launched a big update that allows you to manage roles through the user interface. You can set different permissions for different resources. For example, you can give a user "add" and "edit" rights to a beneficiary form, but only "view" rights to a reference folder. You also have a condition editor to set rules, such as only allowing a user to view or edit records where the age is greater than 18.

Calculated Measures: If you have used Power BI and DAX, you will be familiar with functions like SUMX or CALCULATE. We have included many of those features directly in ActivityInfo. You can add a calculated measure to find the average age of adults, for example. You also have calculated tables where you can combine records from multiple forms into a single table for analysis.

Data Entry Improvements: We have added features to help with data entry. You can now add a reference record in place. For example, if you are filling out a form and need to add a new province that doesn't exist yet, you can add it directly from the form if you have the permissions. We also added reverse reference fields, which allow you to see related records. For instance, from a province record, you can see all beneficiaries registered in that province.

00:52:31 Q&A

Question regarding Spanish language support: ActivityInfo has supported Spanish for a long time. You can choose Spanish for your interface language, design your forms in Spanish, and access training materials in Spanish. The release notes and button text within the application are all available in Spanish.

Question regarding French documentation: The documentation on the website is available in French. We try our best to provide information in both Spanish and French, and there is a significant amount of material available in both languages on the website.

If you have any feedback regarding the self-managed version or why your organization chooses it over SaaS—whether for control over data or compliance—please get in touch with us. This helps us develop the self-managed version further.

Sign up for our newsletter

Sign up for our newsletter and get notified about new resources on M&E and other interesting articles and ActivityInfo news.

Which topics are you interested in?
Please check at least one of the following to continue.