Index by title

Development Guidelines

General Development Standards

Indentation should be in tabs not spaces for accessibility reasons, as well as keeping in line with the conventions used in the ACDH-CH frontend.

Static Site Generation

Part of our goal with OpenAtlas Discovery is making it possible and easy to host the project statically once it has finished and/or is ready for archiving. To achieve this we make use of multiple features that Nuxt3 as well as some additional Nuxt3 addons provide for SSG(Static Site Generation).
For more details please see Static Site Generation

NuxtImage

We use NuxtImage for making sure the images used in the Project are available once the project goes static. We do not use normal image elements and instead make use of the ones provided by nuxt image or in case that we make use of elements we don't have control over (e.g. from vuetify) we can use $img also provided by NuxtImage to make them compatible with SSG.


Ideas

A collection of ideas that haven't made it into an own ticket yet.

Collection from first meeting

Ideas from the first version

These are ideas for the original frontend development. Feel free to process and/or remove these as you see fit.

Requirements

Pages/Navigation

Pages to create

Comments


New Site Workflow

When creating a new instance for ACDH-CH cooperations, there are certain steps that need to be taken:

1. Create a new fork of the base repo: https://github.com/acdh-oeaw/OpenAtlas-Discovery with at least the branches that you want to get your version from (in most cases develop)

2. Update frontend urls in public/admin/config.yaml

3. The workflow will be disabled, since it is a fork. Before re-enabling it update the `starter.yaml` the following way:

# In setup_workflow_env
# ...
image_tagged: openatlas-discovery # -> new name
registry_root: ghcr.io/acdh-oeaw/openatlas-discovery/ # -> link to the forked repo in all lower case: ghcr.io/user/repository
default_port:  # leave unchange
submodules:  # leave unchange
herokuish_base_image: # leave unchange
APP_NAME: openatlas-discovery # -> new name
# ...

4. Set up all the Enviroment Variables with their corresponding values:

KUBE_INGRESS_BASE_DOMAIN 
KUBE_NAMESPACE # Namespace in rancher
PUBLIC_URL # Domain under which the instance should be reached
SERVICE_ID # ID of ACDH-CH Redmine

5. Re-Enable the workflow

You should now be able to update and add new content with deployments to the new site.


Release Workflow

git checkout develop
git pull origin develop

git checkout main
git merge develop

git push origin
git tag x.x.x
git push --tags

Update instances

Checkout forked repositories:

git remote -v

Check if upstream remote is added. If not:
git remote add upstream https://github.com/acdh-oeaw/openatlas-discovery.git

Fetch upstream and origin changes
git fetch --all --tags

Checkout develop branch
git checkout develop

Rebase
git rebase upstream/develop

After all merge conflicts are resolved, test changes locally and take a look at the git history:
git log --oneline

Afterwards:
git push --force
git push --tags

Finishing


Site designs

Here we collect ideas for the generic presentation sites.
Sorry about the not so fine looking draft, it's just a starting point and feel free to add/adapt/restructure.

Views

This are individual views, in parenthesis criteria are criteria defined how to fetch related entities. Possible are:

General Notes

Main views

There is some information that can possible be included in most (or at least multiple) classes so maybe we want to design a kind of "base layout". These are: Likely an extra view isn't needed for these
Following system classes probably won't need an own view:

Maps


Static Site Generation

Our goal with OpenAtlas Discovery is to make it easily possible to host as static site once a project using it has ended. To achieve this we make use of various technologies, this document is meant as a collection for all the relevant information regarding this.

Used Technologies

Generating the Site

Enviroment Variables

Enviroment variables enable us to make OA Discovery assign important variables ahead of time, like the URL of the site hosting the API for the backend. In static sites the enviroment variable cannot be changed once it has be generated, thus we need to make sure that the correct enviroment variable is provided at the time of generation. Though as we crawl the data from the backend in order to make the site static it should not pose a problem in most cases.

To work with nuxt and be available in the nuxt runtime config the enviroment variables need to follow the naming scheme "NUXT_PUBLIC_VAR_NAME" for public variables and "NUXT_VAR_NAME" for private ones. The naming sheme is explained in more detail here.

Generating a Static Site for the frontend-demos on the CRAWS servers

Steps:


Wiki

Welcome to the Wiki and issue tracker of OpenAtlas Discovery, a presentation web application for OpenAtlas projects. At the moment we are in early development.

Links

Documentation

Ideas, drafts and concepts