OLDP ist eine Webanwendung, die in Python 3.5 geschrieben ist und auf dem Django-Webframework basiert. Sie wird zur Verarbeitung von Rechtstexten und zur Bereitstellung einer REST-API und Elasticsearch-basierten Suchmaschine verwendet. OLDP wird von der gemeinnützigen Initiative Open Legal Data mit dem Ziel entwickelt, eine Open-Data-Plattform für Rechtsdokumente (hauptsächlich Gerichtsentscheidungen und Gesetze) aufzubauen. Die Plattform macht rechtliche Informationen für die breite Öffentlichkeit und insbesondere für Drittanbieter-Apps frei zugänglich.
Unsere Dokumentation finden Sie hier.
Eine Live-Demo gibt es hier (auf Deutsch).
Bevor Sie OLDP verwenden können, müssen Sie es installieren. Eine ausführlichere Anleitung zum Einstieg in OLDP finden Sie unter: Erste Schritte
Um den gesamten Installationsvorgang zu überspringen, können Sie OLDP einfach als Docker-Container ausführen. git clone
einfach zuerst das Repository und starten Sie dann alles mit einem docker-compose up
aus dem Repository-Verzeichnis. Eine kleine Anleitung zur Nutzung von OLDP mit Docker finden Sie hier.
Zuallererst müssen Sie die Anwendungsabhängigkeiten installieren.
# Create virtualenv
virtualenv -p python3 env
source env/bin/activate
# Clone repository to current directory
git clone https://github.com/openlegaldata/oldp.git .
# Install dependencies
apt-get install -y $(cat apt_requirements.txt)
pip install -r requirements.txt
npm install
Wenn Sie OLDP zum ersten Mal ausführen, müssen Sie die Datenbank mit ihren standardmäßigen leeren Werten initialisieren. Wenn Sie OLDP im Produktionsmodus ausführen möchten, müssen Sie auch statische Dateien und die Lokalisierung vorbereiten.
# Prepare assets (JS, CSS, images, fonts, ...)
npm run-script build
# Prepare database
./manage.py migrate
# Localization (German and English, needed for production)
./manage.py compilemessages --l de --l en
# Prepare static files (needed for production)
./manage.py collectstatic --no-input
Führen Sie den folgenden Befehl aus, um die Web-App unter http://localhost:8000/ zu starten.
./manage.py runserver 8000
Zur Verwaltung der App-Einstellungen verlassen wir uns auf Django-Konfigurationen. Vorkonfigurierte Einstellungen können verwendet werden, indem die Umgebungsvariable DJANGO_CONFIGURATION
entweder auf Prod
, Dev
oder Test
gesetzt wird. Sie können auch bestimmte Einstellungen von oldp/settings.py
mit Umgebungsvariablen überschreiben:
Variablenname | Standardwert | Kommentar |
---|---|---|
DJANGO_SETTINGS_MODULE | oldp.settings | Teilen Sie Django mit, welche Einstellungsdatei Sie verwenden möchten (in der Python-Pfadsyntax). |
DJANGO_CONFIGURATION | Prod | Wählen Sie eine vordefinierte Einstellungsklasse: Dev , Prod oder Test |
DATABASE_URL | mysql://oldp:[email protected]/oldp | Pfad zur Datenbank (normalerweise MySQL oder SQLite) |
DJANGO_SECRET_KEY | None | Legen Sie dies im Produktionsmodus auf einen geheimen Wert fest |
DJANGO_ELASTICSEARCH_URL | http://localhost:9200/ | Elasticsearch-Einstellungen (Schema, Host, Port) |
DJANGO_ELASTICSEARCH_INDEX | oldp | Name des Elasticsearch-Index |
DJANGO_DEBUG | True | Aktivieren Sie diese Option, um Debugging-Meldungen und -Fehler anzuzeigen |
DJANGO_ADMINS | Admin,[email protected] | Format: Foo,[email protected];Bar,[email protected] |
DJANGO_ALLOWED_HOSTS | None | Format: foo.com,bar.net |
DJANGO_LANGUAGES_DOMAINS | Format: {'de.foo.com':'de','fr.foo.com':'fr'} | |
DJANGO_DEFAULT_FROM_EMAIL | [email protected] | E-Mails werden von dieser Adresse versendet |
DJANGO_EMAIL_HOST | localhost | SMTP-Server |
DJANGO_EMAIL_HOST_USER | SMTP-Benutzer | |
DJANGO_EMAIL_HOST_PASSWORD | SMTP-Passwort | |
DJANGO_EMAIL_USE_TLS | False | TLS aktivieren |
DJANGO_EMAIL_PORT | 25 | SMTP-Port |
DJANGO_FEEDBACK_EMAIL | [email protected] | An diese Adresse werden Nachrichten vom Feedback-Widget gesendet. |
DJANGO_TIME_ZONE | UTC | Zeitzone |
DJANGO_TEST_WITH_ES | False | Führen Sie Tests aus, die Elasticsearch erfordern |
DJANGO_TEST_WITH_WEB | False | Führen Sie Tests aus, die einen Webzugriff erfordern |
DJANGO_LOG_FILE | oldp.log | Name der Protokolldatei (im Protokollverzeichnis) |
DJANGO_CACHE_DISABLE | False | Auf True setzen, um den Cache zu deaktivieren (Redis) |
Bitte nutzen Sie unsere GitHub-Probleme, um Fehler zu melden, Funktionen anzufordern oder einfach Feedback zu hinterlassen.
Um die Open Legal Data Platform zu kontaktieren, klicken Sie hier:
https://de.openlegaldata.io/contact/
Bitte zitieren Sie die folgende Forschungsarbeit, wenn Sie unseren Code oder unsere Daten verwenden:
@inproceedings { 10.1145/3383583.3398616 ,
author = { Ostendorff, Malte and Blume, Till and Ostendorff, Saskia } ,
title = { Towards an Open Platform for Legal Information } ,
year = { 2020 } ,
isbn = { 9781450375856 } ,
publisher = { Association for Computing Machinery } ,
address = { New York, NY, USA } ,
url = { https://doi.org/10.1145/3383583.3398616 } ,
doi = { 10.1145/3383583.3398616 } ,
booktitle = { Proceedings of the ACM/IEEE Joint Conference on Digital Libraries in 2020 } ,
pages = { 385–388 } ,
numpages = { 4 } ,
keywords = { open data, open source, legal information system, legal data } ,
location = { Virtual Event, China } ,
series = { JCDL '20 }
}
OLDP ist unter der MIT-Lizenz lizenziert.