opensurvey/README.md

81 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Demo of how Open Humans to OpenClinica workflow can work
### Install
Assumes you have a basic understanding of how Django, `pipenv`, & `heroku` work:
- `pipenv install`
- `pipenv shell`
- `heroku local:run python manage.py migrate`
- `heroku local`
Web-server should be up on `127.0.0.1:5000`
### Setup
Copy the `env.sample` as `.env` and fill in the missing bits. Required:
- An Open Humans project
- Having a _Participate_ enabled Open Clinica survey and the corresponding token to add participants etc.
Demo deployment runs on https://opensurveytest.herokuapp.com/
Logging in with Open Humans will:
- Create Open Clinica participant
- Schedule first survey for them
- Get participant access survey_token
- Email this via Open Humans to just registered participant
### Design dev
Assumes you have a basic understanding of how node and yarn/npm work.
Node version used: 12.16.1
We use [PostCSS](https://github.com/postcss/postcss) to enhance browser compatibility, accessibility and preformances.
A `package.json` and a `postcss.config.js` config file exist at the document root. Add or remove plugin from there.
In order to edit the styles, you need to:
- run `yarn install` or `npm i`
- edit the styles in `src > css > parts`
- run `yarn watch` or `npm run watch` while in developement (watches the changes)
- run `yarn build` or `npm run dev` for production
The optimized and minified style file is under `static > css`
### Translations / i18n
#### Activate a new language
To activate a new language edit the **LANGUAGES** setting in **settings.py**
```
LANGUAGES = [
('en', _('English')),
('fr', _('French')),
('de', _('German')),
]
```
You need to do this first before translating because the language name itself needs to be translated.
#### Add a new language
To add a new language simply add a new directory in /locale with the language code as name, for example:
**/locale/fr** for french.
Then to generate the translation files run:
`python manage.py makemessages`
It will create **django.po** files inside each /\<lang\>/LC_MESSAGES directory.
You can edit these files directly with any text editor or specialized software / web application.
Once the translations are complete, to generate the binary files optimized for consumption by Django, run:
`python manage.py compilemessages`
It will create **django.mo** files inside each /\<lang\>/LC_MESSAGES directory.