liquid_feedback_core
annotate README @ 532:5855ff9e5c8f
Several changes/additions for upcoming major release
- OAuth 2.0 support
- storing profiles as JSON document
- removed subject area membership
- revised snapshot system
- additional issue limiter (dynamic quorum in subject area)
- extended event logging in "event" table
- OAuth 2.0 support
- storing profiles as JSON document
- removed subject area membership
- revised snapshot system
- additional issue limiter (dynamic quorum in subject area)
- extended event logging in "event" table
author | jbe |
---|---|
date | Thu Mar 30 19:42:38 2017 +0200 (2017-03-30) |
parents | 37d6d15919f1 |
children | f50171274974 |
rev | line source |
---|---|
jbe@531 | 1 |
jbe@531 | 2 LiquidFeedback Core requires the pgLatLon extension to be installed. |
jbe@531 | 3 This extension may be obtained from: |
jbe@531 | 4 http://www.public-software-group.org/pgLatLon |
jbe@0 | 5 |
jbe@0 | 6 Setup the database: |
jbe@0 | 7 $ createdb liquid_feedback |
jbe@0 | 8 $ psql -v ON_ERROR_STOP=1 -f core.sql liquid_feedback |
jbe@0 | 9 |
jbe@0 | 10 Optionally insert demo data: |
jbe@0 | 11 $ psql -v ON_ERROR_STOP=1 -f demo.sql liquid_feedback |
jbe@0 | 12 |
jbe@0 | 13 Compile lf_update binary: |
jbe@0 | 14 $ make |
jbe@0 | 15 |
jbe@435 | 16 Ensure that "lf_update dbname=liquid_feedback", |
jbe@435 | 17 "lf_update_issue_order dbname=liquid_feedback", and |
jbe@380 | 18 "lf_update_suggestion_order dbname=liquid_feedback" are called |
jbe@380 | 19 regularly! It is required to run these commands regularly |
jbe@380 | 20 (i.e. every 5 minutes via cron) to update cached supporter counts, |
jbe@380 | 21 to change the state of issues when neccessary, to calculate the |
jbe@380 | 22 result of votings, etc. If you wish, copy the created lf_update |
jbe@380 | 23 and lf_update_suggestion_order files to /usr/local/bin or a |
jbe@380 | 24 similar directory. |
jbe@202 | 25 |
jbe@380 | 26 It is possible to run these two commands in parallel, if a setup |
jbe@380 | 27 requires splitting the load to multiple processor cores. In other |
jbe@380 | 28 cases it is recommended to run "lf_update" first, and then |
jbe@435 | 29 "lf_update_issue_order" and "lf_update_suggestion_order". |
jbe@202 | 30 |
jbe@380 | 31 On successful run, these commands will not produce any output |
jbe@435 | 32 and exit with code 0. The commands "lf_update_issue_order" and |
jbe@435 | 33 "lf_update_suggestion_order" may be called with a first argument |
jbe@435 | 34 of "-v" to print log output. |
jbe@0 | 35 |
jbe@0 | 36 NOTE: When writing to the database, some INSERTs must be executed |
jbe@0 | 37 within the same transaction, e.g. issues can't exist without |
jbe@0 | 38 an initiative and vice versa. |
jbe@0 | 39 |
jbe@8 | 40 To create an export file, which is containing all but private data, |
jbe@8 | 41 you may use the lf_export shell-script: |
jbe@8 | 42 $ lf_export liquid_feedback export.sql.gz |
jbe@8 | 43 |
jbe@274 | 44 Refer to source code of function "delete_private_data"() to see, |
jbe@274 | 45 which data gets deleted. If you need a different behaviour, please |
jbe@274 | 46 copy the function and modify the lf_export shell script accordingly. |
jbe@274 | 47 |
jbe@0 | 48 To uninstall the software, delete the lf_update binary |
jbe@0 | 49 and drop the database by entering the following command: |
jbe@0 | 50 $ dropdb liquid_feedback |
jbe@0 | 51 |
jbe@120 | 52 Updating is done using the update scripts in the update/ directory. |
jbe@350 | 53 Do not forget to make backups, before installing any updates. |
jbe@251 | 54 After updating it is recommended to recreate the schema as follows |
jbe@251 | 55 (assuming the database superuser is named "postgres"): |
jbe@120 | 56 $ pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql |
jbe@120 | 57 $ dropdb DATABASE_NAME |
jbe@120 | 58 $ createdb DATABASE_NAME |
jbe@120 | 59 $ psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME |
jbe@251 | 60 $ su postgres # (execute following command as database superuser) |
jbe@120 | 61 $ psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME |
jbe@251 | 62 $ exit # leave "su" command |
jbe@120 | 63 $ rm tmp.sql |
jbe@120 | 64 |