Not Logged In

adhocracy 2.4.3

Adhocracy is a web based software tool which facilitates cooperative policydrafting, proposal discussion and decisions in distributed groups.

It is primarily developed by the `Liquid Democracy e.V. <http: liqd.de="">`_ as aplatform to implement Liquid Democracy concepts, as well as to provide a simpleand working general purpose online participation platform.

Technology----------

Adhocracy is mostly written in Python 2. It's built on top of many freesoftware projects, such as the Pylons web framework, the Solr search platform,Memcached, Redis, many Python libraries and more.

Installing----------

Adhocracy is known to run on current Linux systems, such as Debian Squeeze. Itmight run on FreeBSD or OS X, but this hasn't been tested recently.

Installation is usually done through buildout or through an installer scriptfor Debian based systems. In either case, read `INSTALLATION.rst<installation.rst>`_.

Development-----------

Adhocracy is openly developed as free software and distributed for the commongood under the `AGPLv3 license <http: www.gnu.org="" licenses="" agpl-3.0.html="">`_.

Documentation is included in the source code and can be read online `onreadthedocs <http: adhocracy.readthedocs.org="">`_.

We're very open for contributions, please drop us a note on the mailing list orcreate a pull request on GitHub.

Support-------

Community support is available through the `adhocracy-dev mailing list<http: lists.liqd.net="" cgi-bin="" mailman="" listinfo="" adhocracy-dev="">`_.

Commercial support (installation, hosting, customization, training) is offeredby the Liquid Democracy e.V. - you can reach us at `info(at)liqd(dot)de`.

Adhocracy installation======================

Adhocracy makes heavy use of`buildout <https: pypi.python.org="" pypi="" zc.buildout="">`_, a Python buildtool. It downloads, configures and builds nearly all dependencies tocreate a repeatable and isolated environment. In addition it sets up thesupervisord service manager, which allows to easily start and stop theservices which Adhocracy needs to run:

- Read ``buildout_commmon.cfg`` and ``buildout_development.cfg`` to learn all buildout configuration options.- Customize ``buildout.cfg`` to change the domains, ports and server versions.- Instead of compiling all dependencies (postgres, solr,..) you can also use system packages.- Use your custom buildout file to remove the included files you do not need:

- The guard decorator was not thread-safe. This allowed perpetrators to let other users execute controller functions with manipulated parameters. However, we could not find any siginifcant exploits based on this bug. (#905)

- Fix some permission checks in the context of containerpages. (#901)

- Fix userbadge assignment within overlay. (#900)

- Don't try to solr index form-feed characters.

- Don't allow amendment creation for non-joined members.

2.4.2 (2014-05-18)------------------

Improvements:

- Show comment and sectionpage events in category event view. (#896)

- Use icon font for event and milestone icons.

- New tiny row type for event view (#888)

- Automatically choose button and various other colors based on contrast. (#889)

- Allow to show instance list as tiles. (#890)

Bug fixes:

- Fix Brazilian translation. (#895)

- Fix regression in feedback form.

- Fix message in username choice dialog after OpenID login. (#892)

- Proper font invalidation

- Strip HTML from description in milestone row

2.4.1 (2014-04-30)------------------

Release 2.4.0 had two minor bugs which are fixed in this patch release.

This is a patch release which actually allows upgrading to 2.1.x with theinstructions given below in the `2.1.0` sections. When upgrading from 2.0.0to 2.1.x, simply jump to 2.1.1 directly by doing `git checkout 2.1.1`.

Changes:

- Make sure the `src/adhocracy/alembic/versions` directory actually exists in order to make `bin/paster setup-app ...` work.

This upgrade only splits the SQLAlchemy-related changes from the 2.0.0 releasein order to make sure all migrations are executed and the database remains ina consistent state.

Changes:

- Update SQLAlchemy from 0.7.10 to 0.9.1.

- Switch from sqlalchemy-migrate to Alembic. (#219)

Upgrade instructions:~~~~~~~~~~~~~~~~~~~~~

If you haven't upgraded for a long time (say six months or more), it's best todelete ``parts``, ``eggs``, ``python/python-2.7`` and ``python/parts``directories and rebuild everything according to ``INSTALLATION.rst``.

In any case, don't upgrade to 2.1.0 in one go, but upgrade to 2.0.0 first byrunning::

This makes sure the remaining sqlalchemy-migration based migrations areexecuted in the first step, and the Alembic environment is initialized properlyin the second step.

2.0.0 (2014-02-03)------------------

- Start doing releases using semantic versioning (#77). This release's changelog contains many changes from the past two years, but rather incomplete.

- Allow to list norms in a tiled fashion. (#714)

- Add container pages. These special norms act as containers of other norms. (#709)

- Proposal descriptions can now be shown directly in proposal lists. (#733)

- It is now possible to translate the English source strings through Transifex as it is done in all other languages. In Transifex, the `en_GB` language is used as the "translated" English langauage in contrast to the "source" English langauage and doesn't imply that british English shall be used. (#102)

- It is now possible to assign user badges in user import. It is also possible to define additional variables which can be used in the welcome email.

- Added an installation option to redirect to an instance instead of showing the front page. This is useful for single-instance installations. (#431)

- New comment design.

- Subnorms can now be displayed as sections. This way you can add a large document consisting of multiple sections and have each of these sections discussed separately.

- It is now possible to show all open proposals in the proposal list of future milestones. For milestones in the past, this doesn't have any effect. (#562)

This will be used in the following scenario:

- There's regular (offline) board meetings. These are entered as milestones. During a meeting, the board shall work on as many of the highest rated, non-frozen proposals as time permits. - All covered proposals will be assigned to the respective milestone, marked as frozen and badged as "implemented" (or whatever). - All not covered proposals will be covered in successive meetings.

- It is now possible to freeze single proposals. (#559)

- Overlays have their own urls now, so you can link to them. (#553)

- Add warning to users of unsupported browsers. (#111)

- Better user settings layout. (#174)

- Allow footer customization through static URLs. (#472)

- Add custom "show more" markdown extension. (#120)

- build.sh now has Fedora support

- Refactor all CSS and some of the templates to make development and theming easier. We also switched to SCSS.

- Added varnish reverse proxy [joka]

- Readd bin/test to run tests (wrapper for py.test) [joka]

- Update python from 2.7.4 to 2.7.5. Please rebuild python:

* cd python * bin/buildout

[joka]

- Use pytest testrunner instead of nose. (#343)

- Add shibboleth based authentication. (#359)

- Allow to disable tutorials installation-wide. (#54)

- Update buildout from 1.7 to 2.1.0 (#241). Rerun buildout with::

bin/buildout -n

If you have versions conflicts with distribute delete the old one::

rm -r eggs/distribute..".

[joka]

- The default way to isolate your python environment is now to compile python and PIL now instead of using virtualenv::

Upgrade manual installation: ----------------------------

Checkout python buildout

* git submodule init * git submodule update

Compile python:

* cd python * python boostrap.py && bin/buildout

Reinstall Adhocracy:

* cd ../ * rm -rf eggs/* * bin/python bootstrap.py * bin/buildout

Upgrade build.sh: -----------------

* rm -rf eggs/* * sh build.sh -u * sh build.sh -s

[joka]

- Add controversy sorting method to proposals. (#258)

- Allow to hide voting lists from the UI. (#189)

- Badges with thumbnails. (#191)

- Option to disable registration. (#43)

- Login via email address

- Hierarchical categories. (#95)

- Formatted norms. (#192)

- Replace RabbitMQ/amqp with redis/rq (#220). This means that you have to provide a working redis instance if you want to use asyncronous jobs (highly recommended in production). The background process that processes the jobs is renamed from 'background' to 'worker'. You can call it with `bin/paster --plugin=adhocracy worker -c etc/adhocracy.ini`

Configuration changes:

* dropped: adhocracy.amqp.* settings are not required anymore. * new: adhocracy.redis.host: An IP address redis can bind to (not a hostname!) * new: adhocracy.redis.port: The port redis will open * new: adhocracy.redis.queue: The queue name

- Mandatory email validation. (#142)

- Invisible badges. (#116)

- Instance-based user rating sorting. (#190)

- Disallow multiple usernames with only case differences. (#171)

- Dashboard style instance overview page. (#90)

- Support path based instances instead of subdomain only. (#62)

- Feedback instance pull in form. (#88)

- Lamson mailserver dummy for development purposes.

- Added facet search to the instance listing. The listing is based on solr now, please reindex. [joka]

- Instances can have badges now. To create instance badges use the site-administration -> badges form. To assign badges use the instance listing. [joka]

- New config option "adhocracy.registration.email.blacklist" that accepts a whitespace seperated list of email address and blocks registrations with those. Dots will be stripped before the test (to catch gmail addresses where dots are ignored by gmail). [csenger]

- Permission change: When we test the 'norm.create' permission (permission to create Norms/Topics/Themen we do no longer restrict it to users who also have 'instance.admin'. The main permission we check now is 'page.create'.