drupal2spip_lal/README.md

115 lines
3.2 KiB
Markdown

# 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).