2017 © Pedro Peláez
 

project hris

Human Resource Information system

image

hrisproject/hris

Human Resource Information system

  • Friday, July 24, 2015
  • by mukulu
  • Repository
  • 8 Watchers
  • 17 Stars
  • 93 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 17 Forks
  • 13 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Human Resource Information System

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/, (*1)

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., (*2)

## 1. Installing Hris Software

1.1 Install through composer

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:, (*3)

curl -s https://getcomposer.org/installer | php

Or if you don't have curl:, (*4)

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

For more information visit http://getcomposer.org/., (*5)

Once you have composer downloaded you can install hris through:, (*6)

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., (*7)

Note: If downloading fails half-way(time-out or disconnected). Get into the already downloaded hris folder and continue downloading with composer update:, (*8)

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:, (*9)

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:, (*10)

cd hris

php composer.phar update

2. Configuring Hris Software

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., (*11)

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:, (*12)

php composer.phar update
Hris depends on php5-intl for internationalization

On Systems running Linux Operating systems run, (*13)

sudo apt-get install php5-intl

On Systems running Mac OSX Operating systems run, (*14)

brew install icu4c

Set date time zone of your server in php.ini, e.g in Dar-es-salaam, Tanzania, (*15)

date.timezone = 'Africa/Dar_es_Salaam'

Turn off short_open_tag inside php.ini to disable detection of PHP codes between and ?> for better PHP >=5.3 Experience, (*16)

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), (*17)

rm -rf app/cache/*
rm -rf app/logs/*

On Mac and Systems supporting chmod +a, you can give readwrite permission via, (*18)

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, (*19)

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., (*20)

Parameters.yml:

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., (*21)

3. Other useful tools for configuration and development

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), (*22)

3.1 Generating database

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

3.3 Regenerating assets

app/console assetic:dump
php app/console assets:install web

3.4 Running development server (Works with php 5.5 or higher)

app/console server:run                          #Runs development server on port 8000

The Versions