Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed VIM and Virtual Instrument Museum to UMIL #99

Merged
merged 3 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# VIM
The Virtual Instrument Museum (VIM) is a crowd-sourcing website dedicated to collecting names and images of musical instruments from various historical periods and cultures. Inspired by projects like [MIMO (Musical Instruments Museum Online)](https://mimo-international.com/MIMO/accueil-ermes.aspx), VIM aims to create a platform where users can contribute instrument names in their native languages while exploring a rich display of instrument pictures.
# UMIL
The Universal Musical Instrument Lexicon (UMIL) is a crowd-sourcing website dedicated to collecting names and images of musical instruments from various historical periods and cultures. Inspired by projects like [MIMO (Musical Instruments Museum Online)](https://mimo-international.com/MIMO/accueil-ermes.aspx), UMIL aims to create a platform where users can contribute instrument names in their native languages while exploring a rich display of instrument pictures.

The ambitious initiative will greatly assist in map
ping instrument names and facilitating cross-referencing of instruments across diverse sources. To achieve a multilingual search experience, VIM employs a thesaurus-like concept, assigning each instrument a unique URI that links all its names together. Furthermore, this system ensures that search results are presented in the user's preferred language when utilizing SESEMMI (Search Engine System for Enhancing Music Metadata Interoperability).
The ambitious initiative will greatly assist in mapping instrument names and facilitating cross-referencing of instruments across diverse sources. To achieve a multilingual search experience, UMIL employs a thesaurus-like concept, assigning each instrument a unique URI that links all its names together. Furthermore, this system ensures that search results are presented in the user's preferred language when utilizing SESEMMI (Search Engine System for Enhancing Music Metadata Interoperability).

![VIM-1-1](https://github.com/DDMAL/VIM/assets/61984039/cf808948-11be-459b-9060-55220dbbade6)
![UMIL-1-1](https://github.com/DDMAL/VIM/assets/61984039/cf808948-11be-459b-9060-55220dbbade6)

## Installation for Local Development

NOTE: These instructions are for local development only. Refer to the "Installation for Deployment" section for installation on a remote server.

VIM requires Docker Engine with Compose V2. VIM's Docker Compose configuration is written according to the Compose Specification.
UMIL requires Docker Engine with Compose V2. UMIL's Docker Compose configuration is written according to the Compose Specification.

After cloning this repository, set up a local `.env` file. Copy or rename the `.env.sample` file to `.env` and update it to include uncommented environment variables for database credentials `POSTGRES_USER` and `POSTGRES_PASSWORD` and the `DJANGO_SECRET_KEY`. Verify the values of the `DEVELOPMENT`, `HOST_NAME`, and `PORT` variables. For local development ONLY, these should be set to "true", "localhost", and "8000" respectively.

Expand All @@ -27,7 +26,7 @@ When installed with `DEVELOPMENT=true` in the `.env` file, some additional modul

### Tools for Python Development

VIM uses `poetry` to manage python dependencies and a `poetry.lock` file to ensure reproducible builds in development and production. Dependencies can be found in the `pyproject.toml` file and are divided into three groups:
UMIL uses `poetry` to manage python dependencies and a `poetry.lock` file to ensure reproducible builds in development and production. Dependencies can be found in the `pyproject.toml` file and are divided into three groups:

1. `main` - the core dependencies required by the application
2. `debug` - dependencies that provide tools for debugging, and that are installed in the application Docker container only during local development
Expand All @@ -37,11 +36,11 @@ It is not generally necessary to use `poetry` for development, except when addin

## Installation for Deployment

VIM requires Docker Engine with Compose V2. Ensure that the remote server has these installed.
UMIL requires Docker Engine with Compose V2. Ensure that the remote server has these installed.

SSH into the server. After cloning the repository, set up a local `.env` file. Copy or rename the `.env.sample` file to `.env` and update it to include uncommented environment variables for database credentials `POSTGRES_USER` and `POSTGRES_PASSWORD`. Ensure that `POSTGRES_PASSWORD` is secure. Additionally, set `DJANGO_SECRET_KEY` with a secure secret key for Django.

Ensure that the `DEVELOPMENT` variable is set to "false", and that `HOST_NAME` is set to the host name where the VIM instance will be served (for example, "vim.linkedmusic.ca" or "vim.staging.linkedmusic.ca"). Set the `PORT` variable to "80".
Ensure that the `DEVELOPMENT` variable is set to "false", and that `HOST_NAME` is set to the host name where the UMIL instance will be served (for example, "vim.linkedmusic.ca" or "vim.staging.linkedmusic.ca"). Set the `PORT` variable to "80".

Then, run

Expand Down Expand Up @@ -72,7 +71,7 @@ If changes you make require migrations, or you merge migrations made by others i

## Loading data

At present, VIM supports an initial list of 262 instruments curated from Wikidata, and their names in English and French. These instruments can be found in `web-app/django/startup_data/vim_instruments_with_images-15Sept.csv`.
At present, UMIL supports an initial list of 262 instruments curated from Wikidata, and their names in English and French. These instruments can be found in `web-app/django/startup_data/vim_instruments_with_images-15Sept.csv`.

Two django management commands are provided to load these initial instruments. These should be run from within the app Docker container.

Expand Down
16 changes: 8 additions & 8 deletions web-app/django/VIM/apps/main/templates/main/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@
<div class="col">
<p class="notranslate"><a href="#fr-about"><em>La version française suit.</em></a></p>
<div>
<h4 class="mb-4">About VIM</h4>
<h4 class="mb-4">About UMIL</h4>
<p class="my-4">
As part of the
<a href="https://linkedmusic.ca/">LinkedMusic</a>
Project, we will also create an online Virtual Instrument Museum (VIM), which will crowd-source names and pictures of instruments through history and in different languages, improving multilingual coverage for linked data.
Project, we will also create an online Universal Musical Instrument Lexicon (UMIL), which will crowd-source names and pictures of instruments through history and in different languages, improving multilingual coverage for linked data.
</p>
<p class="my-4">
Building on projects like
<a href="https://mimo-international.com/MIMO/accueil-ermes.aspx">MIMO (Musical Instrument Museums Online)</a>,
VIM will build a special website to crowd-source the names of instruments, where pictures of instruments are displayed, and people can submit the name of the instruments in their own language. While this will be a significant undertaking, this should greatly aid in the mapping of instrument names and in searching for the same instrument across sources from different times and places. The multilingual search will be accomplished via a concept similar to a thesaurus, and each instrument will be represented by a URI. This URI will link all the names of the instrument together, and this system will also be used to display the search results in the user’s preferred language when using SESEMMI (Search Engine System for Enhancing Music Metadata Interoperability).
UMIL will build a special website to crowd-source the names of instruments, where pictures of instruments are displayed, and people can submit the name of the instruments in their own language. While this will be a significant undertaking, this should greatly aid in the mapping of instrument names and in searching for the same instrument across sources from different times and places. The multilingual search will be accomplished via a concept similar to a thesaurus, and each instrument will be represented by a URI. This URI will link all the names of the instrument together, and this system will also be used to display the search results in the user’s preferred language when using SESEMMI (Search Engine System for Enhancing Music Metadata Interoperability).
</p>
<p class="mt-4 mb-1">
Useful links:
Expand All @@ -34,7 +34,7 @@ <h4 class="mb-4">About VIM</h4>
either about musical instruments or with musical instrument sections.
</li>
<li>
<a href="https://linkedmusic.ca/pdfs/VIM%20Potential%20Templates.pdf">Potential VIM Website Templates</a>
<a href="https://linkedmusic.ca/pdfs/VIM%20Potential%20Templates.pdf">Potential UMIL Website Templates</a>
(based on photography, museum and shopping websites).
</li>
</ul>
Expand All @@ -44,16 +44,16 @@ <h4 class="mb-4">About VIM</h4>
<hr>

<div class="notranslate">
<h4 class="mb-4" id="fr-about">À propos de VIM</h4>
<h4 class="mb-4" id="fr-about">À propos de UMIL</h4>
<p class="my-4">
Dans le cadre du
<a href="https://linkedmusic.ca/">LinkedMusic</a>
Project, nous créerons également un Musée Virtuel des Instruments en ligne (VIM) qui sollicitera les noms et les images des instruments à travers l'histoire et dans différentes langues, améliorant ainsi la couverture multilingue des données liées.
Project, nous créerons également un Lexique universel des instruments de musique (UMIL) qui sollicitera les noms et les images des instruments à travers l'histoire et dans différentes langues, améliorant ainsi la couverture multilingue des données liées.
</p>
<p class="my-4">
S'appuyant sur des projets tels que
<a href="https://mimo-international.com/MIMO/accueil-ermes.aspx">MIMO (Musical Instrument Museums Online)</a>,
VIM construira un site Web spécial pour solliciter les noms des instruments, où les images des instruments sont affichées, et les gens peuvent soumettre le nom des instruments dans leur propre langue. Bien que cela représente un effort significatif, cela devrait grandement contribuer à la cartographie des noms d'instruments et à la recherche du même instrument dans des sources de différentes époques et de différents endroits. La recherche multilingue sera réalisée au moyen d'un concept similaire à un thésaurus, et chaque instrument sera représenté par un URI. Cet URI liera tous les noms de l'instrument ensemble, et ce système sera également utilisé pour afficher les résultats de la recherche dans la langue préférée de l'utilisateur lors de l'utilisation de SESEMMI (Système de recherche pour l'amélioration de l'interopérabilité des métadonnées musicales).
UMIL construira un site Web spécial pour solliciter les noms des instruments, où les images des instruments sont affichées, et les gens peuvent soumettre le nom des instruments dans leur propre langue. Bien que cela représente un effort significatif, cela devrait grandement contribuer à la cartographie des noms d'instruments et à la recherche du même instrument dans des sources de différentes époques et de différents endroits. La recherche multilingue sera réalisée au moyen d'un concept similaire à un thésaurus, et chaque instrument sera représenté par un URI. Cet URI liera tous les noms de l'instrument ensemble, et ce système sera également utilisé pour afficher les résultats de la recherche dans la langue préférée de l'utilisateur lors de l'utilisation de SESEMMI (Système de recherche pour l'amélioration de l'interopérabilité des métadonnées musicales).
</p>
<p class="mt-4 mb-1">
Liens pratiques:
Expand All @@ -63,7 +63,7 @@ <h4 class="mb-4" id="fr-about">À propos de VIM</h4>
concernant les instruments de musique ou contenant des sections sur les instruments de musique.
</li>
<li>
<a href="https://linkedmusic.ca/pdfs/VIM%20Potential%20Templates.pdf">Des modèles potentiels de sites Web VIM</a>
<a href="https://linkedmusic.ca/pdfs/VIM%20Potential%20Templates.pdf">Des modèles potentiels de sites Web UMIL</a>
(basés sur des sites de photographie, de musées et de vente en ligne).
</li>
</ul>
Expand Down
6 changes: 3 additions & 3 deletions web-app/django/VIM/apps/main/templates/main/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
{% load static %}

{% block title %}
VIM
UMIL
{% endblock %}

{% block css_files %}
Expand All @@ -15,11 +15,11 @@
<div class="row">
<div class="col-6">
<h1>
<span style='color: #9EB384;'>Virtual</span> Instrument <br>Museum
<span style='color: #9EB384;'>Universal</span> Musical Instrument <br>Lexicon
</div>
<div class="col-6 notranslate">
<h1>
Musée <span style='color: #9EB384;'>Virtuel</span> des Instruments
Lexique <span style='color: #9EB384;'>Universel </span> des Instruments de Musique
</h1>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion web-app/django/VIM/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<li class="nav-item">
<a href="{% url "main:home" %}" class="nav-link nav-home px-2 notranslate">
<img src="{% static "images/logo.svg" %}" alt="vim icon">
VIM
UMIL
</a>
</li>
<li class="nav-item"><a href="{% url "main:home" %}" class="nav-link px-2 text-decoration-none
Expand Down
1 change: 1 addition & 0 deletions web-app/django/VIM/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
Expand Down