drupal2spip_lal | ||
requirements | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
CHANGELOG.md | ||
config.env.example | ||
CONTRIBUTORS.txt | ||
LICENSE | ||
Makefile | ||
manage.py | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
setup.cfg |
drupal2spip_lal
Convertisseur Drupal 6 vers SPIP pour le site web libre à lire
Table of content
Installation
Requirements
On a Debian-based host - running at least Debian Stretch, you will need the following packages:
- python3
- virtualenv
- make
- git (recommended for getting the source)
- python3-mysqldb (optional, in case of a MySQL / MariaDB database)
- python3-psycopg2 (optional, in case of a PostgreSQL database)
Let's go
On a Debian-based host - running at least Debian Stretch:
$ sudo apt install python3 virtualenv git make
$ git clone https://forge.april.org/siteweb/drupal2spip_lal
$ cd drupal2spip_lal/
$ make init
A configuration will be created interactively; uncomment
ENV=development
And set:
- DRUPAL_FQDN
- DRUPAL_DATABASE_URL
- SPIP_DATABASE_URL
- SPIP_TABLES_PREFIX
- SPIP_LOGO_DIR
Then try:
$ make inspectdb
$ make check
Usage
See:
$ venv/bin/python manage.py import --help
That's it!
Structure
Overview
All the application files - e.g. Django code including settings, templates and
statics - are located into drupal2spip_lal/
.
Two environments are defined - either for requirements and settings:
development
: for local application development and testing. It uses a SQLite3 database and enable debugging by default, add some useful settings and applications for development purpose - i.e. thedjango-debug-toolbar
.production
: for production. Unused here.
Local changes
You can override and extend statics and templates locally. This can be useful
if you have to change the logo for a specific instance for example. For that,
just put your files under the local/static/
and local/templates/
folders.
Regarding the statics, do not forget to collect them after that. Note also that
the local/
folder is ignored by git.
Variable content
All the variable content - e.g. user-uploaded media, collected statics - are
stored inside the var/
folder. It is also ignored by git as it's specific
to each application installation.
So, you will have to configure your Web server to serve the var/media/
and
var/static/
folders, which should point to /media/
and /static/
,
respectively.
Development
The easiest way to deploy a development environment is by using the Makefile
.
Before running make init
, ensure that you have either set ENV=development
in the config.env
file or have this environment variable. Note that you can
still change this variable later and run make init
again.
There is some additional rules when developing, which are mainly wrappers for
manage.py
. You can list all of them by running make help
. Here are the main ones:
make serve
: run a development servermake test
: test the whole applicationmake lint
: check the Python code syntax
License
drupal2spip_lal is developed by François Poulain (April) and licensed under the AGPLv3+. Its basis comes from https://forge.cliss21.org/cliss21/cookiecutter-django/
It embed code from Drupal 6 in drupal2spip_lal/base/php. This code is licensed under the GPLv2+.