# drupal2spip_lal Convertisseur Drupal 6 vers SPIP pour le site web libre à lire **Table of content** - [Installation](#installation) - [Usage](#usage) - [Structure](#structure) - [Development](#development) ## 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. the `django-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 server - `make test`: test the whole application - `make lint`: check the Python code syntax ## License drupal2spip_lal is developed by François Poulain (April) and licensed under the [AGPLv3+](LICENSE). 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+](LICENSE).