claimer.org

Created: 2012-03-25 22:47
Updated: 2014-07-02 07:17
License: other

README.md

Claimer.org - Environmental Damage Claims Software

This software is a damage registration widget that can be added to a website to register climate change damage claims.

Licence

Claimer.org software is licensed under the conditions of http://www.claimer.org/legalconditions

Installation

Introduction

Claimer.org is developed on the Symfony 1.4 web framework and its included Doctrine 1.2 ORM.

This README focus on a basic LAMP architecture with Apache 2 and MySQL5. But it's up to you to choose which webserver and database fit your needs.

More information about Symfony : http://www.symfony-project.org

Requirements

  • Apache 2

  • MySQL 5

  • >= PHP 5.2.4, check if your PHP configuration meets the Symfony requirements :

    $ wget http://sf-to.org/1.4/check.php
    $ php check.php
    

    remove the check.php file afterwards

Claimer.org Setup

  1. Download from https://github.com/claimer/claimer.org/tarball/master or clone git repository

    $ git clone git://github.com/claimer/claimer.org.git
    
  2. Set up a new Apache virtual host as in Symfony Jobeet Tutorial

  3. create a new MySQL user & database

    $ mysql -u root -p
    mysql> CREATE DATABASE claimer;
    mysql> CREATE USER 'claimer'@'localhost' IDENTIFIED BY 'PASSWORD';
    mysql> GRANT ALL PRIVILEGES ON claimer.* TO 'claimer'@'localhost';
    mysql> quit;
    
  4. modify the following YAML file according to your newly configured database
    /config/databases.yml

  5. build database from schema and load fixtures

    $ php symfony doctrine:build --all --and-load
    
  6. fix permissions

    $ php symfony project:permissions
    
  7. clear cache

    $ php symfony cc
    
  8. restart Apache and Claimer.org should now be running on
    http://localhost:8080

  9. login as superadmin user
    (login: superadmin, password: superadmin)

Claimer.org overview

A single Symfony app composed of modules and extended by plugins and libraries

  1. frontend app modules :
  • claimants : Manage claimants
  • damages : Damages registration
  • default : Content pages and contact form
  • mails : Mail group of users or managed claimants
  • sfGuardAuth : extends sfGuardAuth with alternate login method
  • users : Users administration
  1. plugins :
  1. libraries :

### Database

The database schema is defined through an YAML file
/config/doctrine/schema.yml

Fixtures are loaded as initial data and can be customized
/data/fixtures/*.yml

Users management and authentication

User management and access controls are handled through sfDoctrineGuardPlugin (Users<->Profiles, Groups, Permissions) and Symfony credential system.

Fixtures include four default users in
/data/fixtures/sfGuard.yml

Configuration

Please view Symfony: The Reference Book for more information on configuration files

#### Symfony configuration

The system configuration can be edited through an YAML file
/apps/frontend/config/settings.yml

  • .settings :
    • csrf_secret: a_randomly_generated_secret (enables CSRF protection for forms)
    • default_timezone: a PHP supported timezone

#### Frontend app configuration

The frontend app configuration can be edited through an YAML file
/apps/frontend/config/app.yml

  • recaptcha: public and private key (used in contact form)
  • claimer:
    • default_currency: default currency of damage values
      currencies: /data/fixtures/currencies.yml
    • pager_items: number of items to show in list paginations
    • start_date: start date in dates form fields
    • files_damages_dir: damages document directory path the path should not be accessible through webserver to prevent unauthorized access
    • contact_recipients: list of contact form recipients (as email address => name)
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more