Legislator is a web application that aims to help to create documents that needs to be review by multiple people, such as legal documents.
After adding a document to the application it can undergo several process phases:
- Commenting phase * users (that have access to the document) post their comments * can have a deadline
- Comments review phase * commenting is disabled and the the document creator evaluates the comments
- Uploading a new version of the document * the new version can be marked as final when the process stops otherwise it continues with phase 1
The document creator can change the order of the comments, so it's easier for him process them during the review phase.
By default, the application is accessible only to authorized users (except the login page).
Users can be added using registration or they can be added automatically, when using CoSign. Users can be added to groups. Documents can have access restricted only to certain groups. Documents without any assigned group are open to every user.
- Symfony 2.3 requirements
- Composer for package management
- Git for cloning the repository (optional)
- Grab the code, there are essentially two options for this:
- get the
.zip
or.tgz
archive and extract it or - clone (
git clone <repo_url>
) the repository into a directory andcd
to it
- Get the vendor dependencies using Composer
php composer.phar install
- during the process, you'll be prompted to edit the parameters (database, etc.), you can edit them afterwards in
app/config/parameters.yml
- Initialize the database
php app/console doctrine:schema:create
- Install assets
php app/console assetic:dump
. For production add--env=prod --no-debug
parameters. - Import default admin user
php app/console doctrine:fixtures:load
- login credentials:
admin:test
(don't forget to change the password) - the admin user can assign admin role to other users
To run the application in a dev web server execute php app/console server:run
.
To enable CoSign authentication:
- In
app/config/paramters.yml
, setcosign_login_enabled
toTRUE
. Make sure thecosign_logout_prefix
parameters has a correct value. - Follow instructions in
app/config/security.cosign.yml.dist
.
See the LICENSE
file.