liquid_feedback_frontend
changeset 1046:b9300c2e75da
Removed RocketWiki from installation instructions
author | jbe |
---|---|
date | Thu Jul 10 02:14:49 2014 +0200 (2014-07-10) |
parents | 701a5cf6b067 |
children | dfd6bfd7d94b |
files | INSTALL.html INSTALL.mkd |
line diff
1.1 --- a/INSTALL.html Thu Jul 10 01:19:48 2014 +0200 1.2 +++ b/INSTALL.html Thu Jul 10 02:14:49 2014 +0200 1.3 @@ -1,13 +1,18 @@ 1.4 <html> 1.5 <head> 1.6 - <title>LiquidFeedback Installation Instructions</title> 1.7 - <style type="text/css">code{white-space: pre;}</style> 1.8 +<title>LiquidFeedback Installation Instructions</title> 1.9 </head> 1.10 <body> 1.11 -<h1 id="liquidfeedback-installation-instructions">LiquidFeedback Installation Instructions</h1> 1.12 -<p>This document gives a short outline about the necessary steps to setup a LiquidFeedback system.</p> 1.13 -<h2 id="install-necessary-dependencies">1. Install necessary dependencies</h2> 1.14 -<p>If you're using a Debian system, make sure that the following packages are installed:</p> 1.15 +<h1>LiquidFeedback Installation Instructions</h1> 1.16 + 1.17 +<p>This document gives a short outline about the necessary steps to setup a 1.18 +LiquidFeedback system.</p> 1.19 + 1.20 +<h2>1. Install necessary dependencies</h2> 1.21 + 1.22 +<p>If you're using a Debian system, make sure that the following packages are 1.23 +installed:</p> 1.24 + 1.25 <ul> 1.26 <li>lua5.1</li> 1.27 <li>postgresql</li> 1.28 @@ -19,10 +24,19 @@ 1.29 <li>libghc6-parsec3-dev</li> 1.30 <li>imagemagick</li> 1.31 <li>exim4</li> 1.32 +<li>markdown2 (install with Python's pip)</li> 1.33 </ul> 1.34 -<p>If you're using any other Linux distribution or BSD system, install the necessary software components accordingly.</p> 1.35 -<h2 id="ensure-that-the-user-account-of-your-webserver-has-access-to-the-database">2. Ensure that the user account of your webserver has access to the database</h2> 1.36 -<p>Whichever useraccount is used by the webserver (usually <code>www-data</code>) needs to have access to your PostgreSQL installation. This is done by executing PostgreSQL's shell command <code>createuser</code> as database superuser (usually <code>pgsql</code>, or <code>postgres</code> for Debian installations):</p> 1.37 + 1.38 +<p>If you're using any other Linux distribution or BSD system, install the 1.39 +necessary software components accordingly.</p> 1.40 + 1.41 +<h2>2. Ensure that the user account of your webserver has access to the database</h2> 1.42 + 1.43 +<p>Whichever useraccount is used by the webserver (usually <code>www-data</code>) needs to 1.44 +have access to your PostgreSQL installation. This is done by executing 1.45 +PostgreSQL's shell command <code>createuser</code> as database superuser (usually <code>pgsql</code>, 1.46 +or <code>postgres</code> for Debian installations):</p> 1.47 + 1.48 <pre><code>su - postgres 1.49 createuser 1.50 1.51 @@ -31,10 +45,18 @@ 1.52 Shall the new role be allowed to create databases? (y/n) y 1.53 Shall the new role be allowed to create more new roles? (y/n) n 1.54 1.55 -exit</code></pre> 1.56 -<h2 id="install-and-configure-liquidfeedback-core">3. Install and configure LiquidFeedback-Core</h2> 1.57 -<p>We recommend to create the database with the same user as your webserver (usually <code>www-data</code>) to avoid having to setup database privileges.</p> 1.58 -<p>The example below installs the database as <code>www-data</code> and stores the two executables <code>lf_update</code> and <code>lf_update_issue_order</code> in the directory <code>/opt/liquid_feedback_core/</code>:</p> 1.59 +exit 1.60 +</code></pre> 1.61 + 1.62 +<h2>3. Install and configure LiquidFeedback-Core</h2> 1.63 + 1.64 +<p>We recommend to create the database with the same user as your webserver 1.65 +(usually <code>www-data</code>) to avoid having to setup database privileges.</p> 1.66 + 1.67 +<p>The example below installs the database as <code>www-data</code> and stores the two 1.68 +executables <code>lf_update</code> and <code>lf_update_issue_order</code> in the directory 1.69 +<code>/opt/liquid_feedback_core/</code>:</p> 1.70 + 1.71 <pre><code># Download and unpack LiquidFeedback-Core 1.72 # from http://www.public-software-group.org/pub/projects/liquid_feedback/backend/ 1.73 make 1.74 @@ -44,148 +66,190 @@ 1.75 cd /opt/liquid_feedback_core 1.76 createdb liquid_feedback 1.77 createlang plpgsql liquid_feedback # command may be omitted, depending on PostgreSQL version 1.78 -psql -v ON_ERROR_STOP=1 -f core.sql liquid_feedback</code></pre> 1.79 +psql -v ON_ERROR_STOP=1 -f core.sql liquid_feedback 1.80 +</code></pre> 1.81 + 1.82 <p>A simple configuration may look as follows:</p> 1.83 + 1.84 <pre><code>psql liquid_feedback 1.85 1.86 -INSERT INTO system_setting (member_ttl) VALUES ('1 year'); 1.87 -INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 hour', 20, 6); 1.88 -INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 day', 80, 12); 1.89 -INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (true, '1 hour', 200, 60); 1.90 -INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (true, '1 day', 800, 120); 1.91 -INSERT INTO policy (index, name, admission_time, discussion_time, verification_time, voting_time, issue_quorum_num, issue_quorum_den, initiative_quorum_num, initiative_quorum_den) VALUES (1, 'Default policy', '8 days', '15 days', '8 days', '15 days', 10, 100, 10, 100); 1.92 -INSERT INTO unit (name) VALUES ('Our organization'); 1.93 -INSERT INTO area (unit_id, name) VALUES (1, 'Default area'); 1.94 -INSERT INTO allowed_policy (area_id, policy_id, default_policy) VALUES (1, 1, TRUE);</code></pre> 1.95 +INSERT INTO system_setting (member_ttl) VALUES ('1 year'); 1.96 +INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 hour', 20, 6); 1.97 +INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 day', 80, 12); 1.98 +INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (true, '1 hour', 200, 60); 1.99 +INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (true, '1 day', 800, 120); 1.100 +INSERT INTO policy (index, name, admission_time, discussion_time, verification_time, voting_time, issue_quorum_num, issue_quorum_den, initiative_quorum_num, initiative_quorum_den) VALUES (1, 'Default policy', '8 days', '15 days', '8 days', '15 days', 10, 100, 10, 100); 1.101 +INSERT INTO unit (name) VALUES ('Our organization'); 1.102 +INSERT INTO area (unit_id, name) VALUES (1, 'Default area'); 1.103 +INSERT INTO allowed_policy (area_id, policy_id, default_policy) VALUES (1, 1, TRUE); 1.104 +</code></pre> 1.105 + 1.106 <p>If you want to create an admin user with an empty password (CAUTION!), then execute the following SQL statement:</p> 1.107 -<pre><code>INSERT INTO member (login, name, admin, password) VALUES ('admin', 'Administrator', TRUE, '$1$/EMPTY/$NEWt7XJg2efKwPm4vectc1');</code></pre> 1.108 + 1.109 +<pre><code>INSERT INTO member (login, name, admin, password) VALUES ('admin', 'Administrator', TRUE, '$1$/EMPTY/$NEWt7XJg2efKwPm4vectc1'); 1.110 +</code></pre> 1.111 + 1.112 <p>Exit the <code>psql</code> interface by typing:</p> 1.113 -<pre><code>\q</code></pre> 1.114 + 1.115 +<pre><code>\q 1.116 +</code></pre> 1.117 + 1.118 <p>And don't forget to quit the <code>www-data</code> shell:</p> 1.119 -<pre><code>exit</code></pre> 1.120 -<h2 id="install-webmcp">4. Install WebMCP</h2> 1.121 -<p>Note: Using Debian, it may be necessary to append <code>-I /usr/include/lua5.1</code> at the end of the CFLAGS line in <code>Makefile.options</code> of the WebMCP source distibution:</p> 1.122 + 1.123 +<pre><code>exit 1.124 +</code></pre> 1.125 + 1.126 +<h2>4. Install WebMCP</h2> 1.127 + 1.128 +<p>Note: Using Debian, it may be necessary to append <code>-I /usr/include/lua5.1</code> at 1.129 +the end of the CFLAGS line in <code>Makefile.options</code> of the WebMCP source 1.130 +distibution:</p> 1.131 + 1.132 <pre><code># Download and unpack WebMCP 1.133 # from http://www.public-software-group.org/pub/projects/webmcp/ 1.134 vi Makefile.options # Debian requires -I /usr/include/lua5.1 at end of CFLAGS line 1.135 make 1.136 mkdir /opt/webmcp 1.137 -cp -RL framework/* /opt/webmcp/</code></pre> 1.138 -<h2 id="install-rocketwiki-lqfb-edition">5. Install RocketWiki LqFb-Edition</h2> 1.139 -<pre><code># Download and unpack "RocketWiki LqFb-Edition" 1.140 -# from http://www.public-software-group.org/pub/projects/rocketwiki/liquid_feedback_edition/ 1.141 -make 1.142 -mkdir /opt/rocketwiki-lqfb 1.143 -cp rocketwiki-lqfb rocketwiki-lqfb-compat /opt/rocketwiki-lqfb/</code></pre> 1.144 -<p>If you experience problems with multi-byte encoding (UTF-8) later, then apply the following patch to both <code>rocketwiki-lqfb.hs</code> and <code>rocketwiki-lqfb-compat.hs</code> prior compilation:</p> 1.145 -<pre><code>--- rocketwiki-lqfb.hs 1.146 -+++ rocketwiki-lqfb.hs 1.147 -@@ -1,4 +1,6 @@ 1.148 +cp -RL framework/* /opt/webmcp/ 1.149 +</code></pre> 1.150 1.151 -+import System.IO (hSetEncoding, stdin, stdout, utf8) 1.152 -+ 1.153 - import Text.ParserCombinators.Parsec 1.154 - import Control.Applicative ((<$>), (<*>)) 1.155 - import Data.List (intercalate) 1.156 -@@ -405,7 +407,10 @@ 1.157 - return htmlEntity 1.158 - 1.159 - 1.160 --main = interact wikiParse 1.161 -+main = do 1.162 -+ hSetEncoding stdin utf8 1.163 -+ hSetEncoding stdout utf8 1.164 -+ interact wikiParse 1.165 +<h2>5. Install the LiquidFeedback-Frontend</h2> 1.166 1.167 - wikiParse str 1.168 - | success parseResult = html</code></pre> 1.169 -<h2 id="install-the-liquidfeedback-frontend">6. Install the LiquidFeedback-Frontend</h2> 1.170 <p>Unpack source tree into appropriate directory, e.g. <code>/opt/liquid_feedback_frontend</code>:</p> 1.171 + 1.172 <pre><code># Download LiquidFeedback-Frontend 1.173 # from http://www.public-software-group.org/pub/projects/liquid_feedback/frontend/ 1.174 -mv liquid_feedback_frontend-vX.X.X /opt/liquid_feedback_frontend</code></pre> 1.175 +mv liquid_feedback_frontend-vX.X.X /opt/liquid_feedback_frontend 1.176 +</code></pre> 1.177 + 1.178 <p>Create HTML code for help texts:</p> 1.179 + 1.180 <pre><code>cd /opt/liquid_feedback_frontend/locale 1.181 -PATH=/opt/rocketwiki-lqfb:$PATH make</code></pre> 1.182 +PATH=/opt/rocketwiki-lqfb:$PATH make 1.183 +</code></pre> 1.184 + 1.185 <p>Make <code>tmp/</code> directory of LiquidFeedback-Frontend writable for webserver:</p> 1.186 -<pre><code>chown www-data /opt/liquid_feedback_frontend/tmp</code></pre> 1.187 + 1.188 +<pre><code>chown www-data /opt/liquid_feedback_frontend/tmp 1.189 +</code></pre> 1.190 + 1.191 <p>Compile binary for fast delivery of member images:</p> 1.192 + 1.193 <pre><code>cd /opt/liquid_feedback_frontend/fastpath 1.194 vi getpic.c # check and modify #define commands as necessary 1.195 -make</code></pre> 1.196 -<h2 id="configure-mail-system">7. Configure mail system</h2> 1.197 -<p>It may be necessary to configure your server's mail system, e.g. running <code>dpkg-reconfigure exim4-config</code> on a Debian system.</p> 1.198 -<h2 id="configure-the-webserver-for-liquidfeedback">8. Configure the Webserver for LiquidFeedback:</h2> 1.199 -<p>A sample configuration for <code>lighttpd</code> is given below (assuming <code>mod_alias</code> has been included elsewhere):</p> 1.200 -<pre><code>server.modules += ("mod_cgi", "mod_rewrite", "mod_redirect", "mod_setenv") 1.201 +make 1.202 +</code></pre> 1.203 + 1.204 +<h2>6. Configure mail system</h2> 1.205 + 1.206 +<p>It may be necessary to configure your server's mail system, e.g. running 1.207 +<code>dpkg-reconfigure exim4-config</code> on a Debian system.</p> 1.208 + 1.209 +<h2>7. Configure the Webserver for LiquidFeedback:</h2> 1.210 + 1.211 +<p>A sample configuration for <code>lighttpd</code> is given below (assuming <code>mod_alias</code> has 1.212 +been included elsewhere):</p> 1.213 + 1.214 +<pre><code>server.modules += ("mod_cgi", "mod_rewrite", "mod_redirect", "mod_setenv") 1.215 1.216 # Enable CGI-Execution of *.lua files through lua binary 1.217 -cgi.assign += ( ".lua" => "/usr/bin/lua5.1" ) 1.218 +cgi.assign += ( ".lua" => "/usr/bin/lua5.1" ) 1.219 1.220 -alias.url += ( "/lf/fastpath/" => "/opt/liquid_feedback_frontend/fastpath/", 1.221 - "/lf/static" => "/opt/liquid_feedback_frontend/static", 1.222 - "/lf" => "/opt/webmcp/cgi-bin" ) 1.223 +alias.url += ( "/lf/fastpath/" => "/opt/liquid_feedback_frontend/fastpath/", 1.224 + "/lf/static" => "/opt/liquid_feedback_frontend/static", 1.225 + "/lf" => "/opt/webmcp/cgi-bin" ) 1.226 1.227 # Configure environment for demo application 1.228 -$HTTP["url"] =~ "^/lf" { 1.229 +$HTTP["url"] =~ "^/lf" { 1.230 setenv.add-environment += ( 1.231 - "LANG" => "en_US.UTF-8", 1.232 - "WEBMCP_APP_BASEPATH" => "/opt/liquid_feedback_frontend/", 1.233 - "WEBMCP_CONFIG_NAME" => "myconfig") 1.234 + "LANG" => "en_US.UTF-8", 1.235 + "WEBMCP_APP_BASEPATH" => "/opt/liquid_feedback_frontend/", 1.236 + "WEBMCP_CONFIG_NAME" => "myconfig") 1.237 } 1.238 1.239 # URL beautification 1.240 url.rewrite-once += ( 1.241 # do not rewrite static URLs 1.242 - "^/lf/fastpath/(.*)$" => "/lf/fastpath/$1", 1.243 - "^/lf/static/(.*)$" => "/lf/static/$1", 1.244 + "^/lf/fastpath/(.*)$" => "/lf/fastpath/$1", 1.245 + "^/lf/static/(.*)$" => "/lf/static/$1", 1.246 1.247 # dynamic URLs 1.248 - "^/lf/([^\?]*)(\?(.*))?$" => "/lf/webmcp-wrapper.lua?_webmcp_path=$1&$3", 1.249 + "^/lf/([^\?]*)(\?(.*))?$" => "/lf/webmcp-wrapper.lua?_webmcp_path=$1&$3", 1.250 1.251 ) 1.252 1.253 -$HTTP["url"] =~ "^/lf/fastpath/" { 1.254 - cgi.assign = ( "" => "" ) 1.255 - setenv.add-response-header = ( "Cache-Control" => "private; max-age=86400" ) 1.256 -}</code></pre> 1.257 -<p>If you're using Debian, you may want to create a file with the name <code>/etc/lighttpd/conf-available/60-liquidfeedback.conf</code> and create a softlink in <code>/etc/lighttpd/conf-enabled/</code>.</p> 1.258 -<h2 id="configure-the-liquidfeedback-frontend">9. Configure the LiquidFeedback-Frontend:</h2> 1.259 +$HTTP["url"] =~ "^/lf/fastpath/" { 1.260 + cgi.assign = ( "" => "" ) 1.261 + setenv.add-response-header = ( "Cache-Control" => "private; max-age=86400" ) 1.262 +} 1.263 +</code></pre> 1.264 + 1.265 +<p>If you're using Debian, you may want to create a file with the name 1.266 +<code>/etc/lighttpd/conf-available/60-liquidfeedback.conf</code> and create a softlink in 1.267 +<code>/etc/lighttpd/conf-enabled/</code>.</p> 1.268 + 1.269 +<h2>8. Configure the LiquidFeedback-Frontend:</h2> 1.270 + 1.271 <pre><code>cd /opt/liquid_feedback_frontend/config 1.272 cp example.lua myconfig.lua 1.273 -# edit myconfig.lua according to your needs</code></pre> 1.274 -<p>Use the following option in your configuration file to enable fast image loading:</p> 1.275 +# edit myconfig.lua according to your needs 1.276 +</code></pre> 1.277 + 1.278 +<p>Use the following option in your configuration file to enable fast image 1.279 +loading:</p> 1.280 + 1.281 <pre><code>config.fastpath_url_func = function(member_id, image_type) 1.282 - return request.get_absolute_baseurl() .. "fastpath/getpic?" .. tostring(member_id) .. "+" .. tostring(image_type) 1.283 -end</code></pre> 1.284 -<h2 id="setup-regular-execution-of-lf_update-and-lf_update_suggestion_order">10. Setup regular execution of <code>lf_update</code> and <code>lf_update_suggestion_order</code></h2> 1.285 -<p>The executables <code>lf_update</code> and <code>lf_update_suggestion_order</code> must be executed regularly. This may be achieved by creating a file named <code>/opt/liquid_feedback_core/lf_updated</code> with the following contents:</p> 1.286 + return request.get_absolute_baseurl() .. "fastpath/getpic?" .. tostring(member_id) .. "+" .. tostring(image_type) 1.287 +end 1.288 +</code></pre> 1.289 + 1.290 +<h2>9. Setup regular execution of <code>lf_update</code> and <code>lf_update_suggestion_order</code></h2> 1.291 + 1.292 +<p>The executables <code>lf_update</code> and <code>lf_update_suggestion_order</code> must be executed 1.293 +regularly. This may be achieved by creating a file named 1.294 +<code>/opt/liquid_feedback_core/lf_updated</code> with the following contents:</p> 1.295 + 1.296 <pre><code>#!/bin/sh 1.297 1.298 -PIDFILE="/var/run/lf_updated.pid" 1.299 +PIDFILE="/var/run/lf_updated.pid" 1.300 PID=$$ 1.301 1.302 -if [ -f "${PIDFILE}" ] && kill -CONT $( cat "${PIDFILE}" ); then 1.303 - echo "lf_updated is already running." 1.304 +if [ -f "${PIDFILE}" ] && kill -CONT $( cat "${PIDFILE}" ); then 1.305 + echo "lf_updated is already running." 1.306 exit 1 1.307 fi 1.308 1.309 -echo "${PID}" > "${PIDFILE}" 1.310 +echo "${PID}" > "${PIDFILE}" 1.311 1.312 while true; do 1.313 - su - www-data -c 'nice /opt/liquid_feedback_core/lf_update dbname=liquid_feedback 2>&1 | logger -t "lf_updated"' 1.314 - su - www-data -c 'nice /opt/liquid_feedback_core/lf_update_suggestion_order dbname=liquid_feedback 2>&1 | logger -t "lf_updated"' 1.315 + su - www-data -c 'nice /opt/liquid_feedback_core/lf_update dbname=liquid_feedback 2>&1 | logger -t "lf_updated"' 1.316 + su - www-data -c 'nice /opt/liquid_feedback_core/lf_update_suggestion_order dbname=liquid_feedback 2>&1 | logger -t "lf_updated"' 1.317 sleep 5 1.318 -done</code></pre> 1.319 +done 1.320 +</code></pre> 1.321 + 1.322 <p>This file must be marked as executable:</p> 1.323 -<pre><code>chmod +x /opt/liquid_feedback_core/lf_updated</code></pre> 1.324 + 1.325 +<pre><code>chmod +x /opt/liquid_feedback_core/lf_updated 1.326 +</code></pre> 1.327 + 1.328 <p>And this file should be started automatically at system boot.</p> 1.329 -<h2 id="setup-notification-loop-in-background">11. Setup notification loop in background</h2> 1.330 -<p>In addition to regular execution of <code>lf_update</code> and <code>lf_update_suggestion_order</code>, the following commands should be executed in background:</p> 1.331 + 1.332 +<h2>10. Setup notification loop in background</h2> 1.333 + 1.334 +<p>In addition to regular execution of <code>lf_update</code> and 1.335 +<code>lf_update_suggestion_order</code>, the following commands should be executed in 1.336 +background:</p> 1.337 + 1.338 <pre><code>su - www-data 1.339 cd /opt/liquid_feedback_frontend/ 1.340 -echo "Event:send_notifications_loop()" | ../webmcp/bin/webmcp_shell myconfig</code></pre> 1.341 -<h2 id="start-the-sytem">12. Start the sytem</h2> 1.342 -<p>After <code>lf_update</code> has been executed at least once, and the webserver has been restarted (using the configuration above), you should be able to access your LiquidFeedback system.</p> 1.343 +echo "Event:send_notifications_loop()" | ../webmcp/bin/webmcp_shell myconfig 1.344 +</code></pre> 1.345 + 1.346 +<h2>11. Start the sytem</h2> 1.347 + 1.348 +<p>After <code>lf_update</code> has been executed at least once, and the webserver has been 1.349 +restarted (using the configuration above), you should be able to access your 1.350 +LiquidFeedback system.</p> 1.351 </body> 1.352 </html>
2.1 --- a/INSTALL.mkd Thu Jul 10 01:19:48 2014 +0200 2.2 +++ b/INSTALL.mkd Thu Jul 10 02:14:49 2014 +0200 2.3 @@ -21,6 +21,7 @@ 2.4 * libghc6-parsec3-dev 2.5 * imagemagick 2.6 * exim4 2.7 + * markdown2 (install with Python's pip) 2.8 2.9 If you're using any other Linux distribution or BSD system, install the 2.10 necessary software components accordingly. 2.11 @@ -108,43 +109,7 @@ 2.12 cp -RL framework/* /opt/webmcp/ 2.13 2.14 2.15 -5. Install RocketWiki LqFb-Edition 2.16 ----------------------------------- 2.17 - 2.18 - # Download and unpack "RocketWiki LqFb-Edition" 2.19 - # from http://www.public-software-group.org/pub/projects/rocketwiki/liquid_feedback_edition/ 2.20 - make 2.21 - mkdir /opt/rocketwiki-lqfb 2.22 - cp rocketwiki-lqfb rocketwiki-lqfb-compat /opt/rocketwiki-lqfb/ 2.23 - 2.24 -If you experience problems with multi-byte encoding (UTF-8) later, then apply 2.25 -the following patch to both `rocketwiki-lqfb.hs` and 2.26 -`rocketwiki-lqfb-compat.hs` prior compilation: 2.27 - 2.28 - --- rocketwiki-lqfb.hs 2.29 - +++ rocketwiki-lqfb.hs 2.30 - @@ -1,4 +1,6 @@ 2.31 - 2.32 - +import System.IO (hSetEncoding, stdin, stdout, utf8) 2.33 - + 2.34 - import Text.ParserCombinators.Parsec 2.35 - import Control.Applicative ((<$>), (<*>)) 2.36 - import Data.List (intercalate) 2.37 - @@ -405,7 +407,10 @@ 2.38 - return htmlEntity 2.39 - 2.40 - 2.41 - -main = interact wikiParse 2.42 - +main = do 2.43 - + hSetEncoding stdin utf8 2.44 - + hSetEncoding stdout utf8 2.45 - + interact wikiParse 2.46 - 2.47 - wikiParse str 2.48 - | success parseResult = html 2.49 - 2.50 - 2.51 -6. Install the LiquidFeedback-Frontend 2.52 +5. Install the LiquidFeedback-Frontend 2.53 -------------------------------------- 2.54 2.55 Unpack source tree into appropriate directory, e.g. `/opt/liquid_feedback_frontend`: 2.56 @@ -169,14 +134,14 @@ 2.57 make 2.58 2.59 2.60 -7. Configure mail system 2.61 +6. Configure mail system 2.62 ------------------------ 2.63 2.64 It may be necessary to configure your server's mail system, e.g. running 2.65 `dpkg-reconfigure exim4-config` on a Debian system. 2.66 2.67 2.68 -8. Configure the Webserver for LiquidFeedback: 2.69 +7. Configure the Webserver for LiquidFeedback: 2.70 ---------------------------------------------- 2.71 2.72 A sample configuration for `lighttpd` is given below (assuming `mod_alias` has 2.73 @@ -220,7 +185,7 @@ 2.74 `/etc/lighttpd/conf-enabled/`. 2.75 2.76 2.77 -9. Configure the LiquidFeedback-Frontend: 2.78 +8. Configure the LiquidFeedback-Frontend: 2.79 ----------------------------------------- 2.80 2.81 cd /opt/liquid_feedback_frontend/config 2.82 @@ -235,7 +200,7 @@ 2.83 end 2.84 2.85 2.86 -10. Setup regular execution of `lf_update` and `lf_update_suggestion_order` 2.87 +9. Setup regular execution of `lf_update` and `lf_update_suggestion_order` 2.88 --------------------------------------------------------------------------- 2.89 2.90 The executables `lf_update` and `lf_update_suggestion_order` must be executed 2.91 @@ -267,7 +232,7 @@ 2.92 And this file should be started automatically at system boot. 2.93 2.94 2.95 -11. Setup notification loop in background 2.96 +10. Setup notification loop in background 2.97 ----------------------------------------- 2.98 2.99 In addition to regular execution of `lf_update` and 2.100 @@ -279,7 +244,7 @@ 2.101 echo "Event:send_notifications_loop()" | ../webmcp/bin/webmcp_shell myconfig 2.102 2.103 2.104 -12. Start the sytem 2.105 +11. Start the sytem 2.106 ------------------- 2.107 2.108 After `lf_update` has been executed at least once, and the webserver has been