Memoria user manual

What is this application?

Memoria is a web application, written in Java, that provides a family-tree scrapbook capability. Users may add text, pictures and videos to profiles of persons, and link those persons together through their family relationships.

The application is designed to allow the general public to see some parts, and for those with the family password to see more. It is also possible for some users to be "administrators", which gives them the privilege to edit information. All other users, even those with the family password, are not able to make any changes to data - only administrators. It is expected there would only be a very small number of administrators, and they must be trustworthy - they have full control over data in the system.

Here is the homepage. When a user first hits the site, this is what they see. They are shown a short list of "interesting" people - those with pictures, relations to others, and text descriptions. There is a search field which allows fuzzy search by name. Users who are non-authenticated to the family password (in other words, the general public) will only see deceased individuals. Living persons' information is hidden.

A view of the Memoria project home page

Starting the application

If you are starting the application from the command line in the source code directory (downloaded from https://github.com/byronka/memoria_project):

$ make run

You will see logs, and then this line indicates the system is ready:

System is ready after 3704 milliseconds.  Access at http://localhost:8080 or https://localhost:8443

It is now ready to access in a web browser (see http://localhost:8080/).

A view of the Memoria project upon first starting up with no data

If you would like to build a jar, that may be done by running make jar on the command line. The file location will be printed in the terminal.

Starting the application is done by running make runjar

If this is the first time you are starting and there is no memoria.config file in the same directory as the jar, and no minum.config, complaints will be output about using defaults.

Also, if it does not already exist, a database directory will be created at "db".

Absolutely essential information is the template directory and the static files directory. Without these, basic functionality will be unavailable. See that the following values are configured properly: STATIC_FILES_DIRECTORY in minum.config and TEMPLATE_DIRECTORY in memoria.config

Authenticating as an administrator

In order to add data, you will need to authenticate as an administrator. When the system first starts, an initial "admin" user is created, and their password is stored in the working directory as "admin_password"

The URL to login as an administrator does not have any links from the homepage, in order to make links to the authentication system less discoverable for automated scripts. The login page is at the "/login" endpoint.

Here is what page looks like:

a view of the authentication page for administrators to Memoria

In contrast, there is a login link for family members in the top right on all pages, where the user enters the shared password (set by you in the "memoria.config" configuration file). Here is what that looks like:

a view of the family authentication page

How to add a person

In the top left, there is a burger menu. Click that and select the "Create New Person" link. Then on the subsequent page, enter the new person's name, which is the only mandatory field. You may enter more information if desired, but it is always possible to come back for further editing. Also note that the system will not check for duplicate names, and in fact there are often duplicated names in a family tree.

Once you are done here, click Save at the bottom. Once that is done, the page will reload but will now have the ability to add relationships (such as Sibling, Parents, etc). We will see more about that later.

How to delete a person

To delete a person, open their edit page. You can do this by searching for them, viewing their page and clicking the Edit icon at the top, or by going to the burger menu, then List all Persons, finding the person, then clicking Edit.

Once there, the Delete button is at the bottom. Click that, and a page will open up warning about what will take place. If you click the Delete button on this second page it will take action. After this is done, that person's page will no longer appear, and any existing links to that person from other persons will show as "MISSING"

How to add a relation to a person

Relations are added on the Edit page, in the "Relationships" section at the top.

If there is a person already existing to connect, enter their name in the appropriate field. While doing so, a dropdown will appear and you must select that person. The button at the right will change from "Connect new person" to "Connect existing person". If that was not the right person, click the Reset button.

Alternately, if you want to add a relation and create that person at the same time (which is a serious time saver), just enter the name and click "Connect new person", ignoring the dropdown if it appears. You will then be shown a page indicating how to connect this person, and you will have two options. In the "Simple" case, it will just add a two-way relationship between the two persons. In the "Complete" case, it will add the new person to all other immediate family. In either case, all the connections to be made will display. Check carefully to ensure. We will talk about removing relations elsewhere.

How to remove a relation from a person