Human Resource Information System(HRIS) is a software that enables organisations to collect, validate, analyse and present raw and statistical human resource information for reporting, analysis and decision making. It is a generic software tool that allows customization to fit organization specific requirements, its built with open meta-data models and flexible and customizable user interface that allows user to adjust the system to peform, behave, look and feel based on organisation's specific requirements without the need for software development. For more information visit documentation site: http://hris.readthedocs.org/
HRIS is a free software; you can redistribute it and/or modify it under the terms of the GNU General Public License; either version 2 of the License, or (at your option) any later version.
Composer is a dependency management library for PHP, it is an executable PHAR file which you can use to download hris3. Start by downloading composer anywhere onto your computer. If you have curl installed, it's as easy as:
curl -s https://getcomposer.org/installer | php
Or if you don't have curl:
php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
For more information visit http://getcomposer.org/.
Once you have composer downloaded you can install hris through:
php composer.phar create-project hrisproject/hris hris dev-master
After installation, composer will ask if you want to remove version control history(i.e. git) Default is yes, But If you're developing hris say no.
Note: If downloading fails half-way(time-out or disconnected). Get into the already downloaded hris folder and continue downloading with composer update:
cd hris
php composer.phar update
1.2 Install source code from our github repository
git clone https://github.com/hrisproject/hris.git
Update dependencies through composer. Change directory into hris project and make sure composer is up to date before updating hris project:
php composer.phar self-update
php composer.phar update
Note: If downloading fails half-way(time-out or disconnected). Get into the already downloaded hris folder and continue downloading with composer update:
cd hris
php composer.phar update
To make hris project accessible from the web, make a symbolic link from your server's webroot to hris's web directory. To simplify you can change directory to where hris project is and make link. e.g.
cd /path/to/hris
ln -s ${PWD}/web/ /var/www/hris #Note: ${PWD} is current directoyr(/path/to/hris) and /var/www/ is webroot
Note: If downloading fails half-way(time-out or disconnected). Get into the already downloaded hris folder and continue downloading with composer update:
php composer.phar update
On Systems running Linux Operating systems run
sudo apt-get install php5-intl
On Systems running Mac OSX Operating systems run
brew install icu4c
Set date time zone of your server in php.ini, e.g in Dar-es-salaam, Tanzania
date.timezone = 'Africa/Dar_es_Salaam'
Turn off short_open_tag inside php.ini to disable detection of PHP codes between for better PHP >=5.3 Experience
short_open_tag = Off
Clear cache and logs and give Hris's Web directory readwrite access to cache and log directory in your hris directory. To enjoy both user and web read-write access in linux use the following commands: (We assume you're inside hris directory)
rm -rf app/cache/*
rm -rf app/logs/*
On Mac and Systems supporting chmod +a, you can give readwrite permission via
sudo chmod +a "www-data allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs
On Linux and Systems that don't support chmod +a, you can give readwrite permission via
sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
Database configuration can be found from hris/app/config/parameters.yml. The parameters.yml is autogenerated everytime composer updates dependencies. Use it to set your database connection settings.
database_driver: pdo_pgsql
database_host: %databasehost%
database_port: %portnumber%
database_name: %databasename%
database_user: %databaseuser%
database_password: %userpassowrd%
mailer_transport: smtp
mailer_host: %mailerhost%
mailer_user: null
mailer_password: null
locale: en
secret: %secret_generated_key%
database_path: null
Note: Make sure php data base connector is installed, for ubuntu it's php5-pgsql for PostgreSQL and php5-mysql for MySQL, for improved performance, php5-memcache, php5-memcached may come in handy.
Hris is built based on symfony2, thus all the utilies of symfony2 works on hris Below are some of useful tools during confiuration(we assume you're inside hris project)
app/console doctrine:database:drop --force #Drops Database if it exist
app/console doctrine:database:create #Creates Fresh new database
app/console doctrine:schema:update --force #Updates Database schema
app/console doctrine:fixtures:load #Load dummy data(users and hris metadata)
3.2 Creating, Activating,Changing password, deactivate, demote & promote login-user from commandline
app/console fos:user:create #Create User account
app/console fos:user:activate #Activate a user
app/console fos:user:change-password #Change the password of a user.
app/console fos:user:create #Create a user.
app/console fos:user:deactivate #Deactivate a user
app/console fos:user:demote #Demote a user by removing a role
app/console fos:user:promote #Promotes a user by adding a role
app/console assetic:dump
php app/console assets:install web
app/console server:run #Runs development server on port 8000