Ehour Timesheet Management

From SME Server
Jump to navigationJump to search
PythonIcon.png Skill level: Medium
The instructions on this page require a basic knowledge of linux.


Is this article helpful to you?
Please consider donating or volunteering
Thank you!

About

"eHour is the open source webbased time tracking tool for companies and organizations who need accurate information on how much time is spend on projects by their people. eHour makes the amount of time your people spend on projects visible and available as simple and user friendly as possible. eHour requires Java."


Forum discussion

This how-to can be discussed on the forums here


Quick install

1. Download the latest version (v1.4.3 tested in this how-to) here

SME 8 & 9

2. Install Java:

yum install java dejavu*


3. Make the downloaded file executable:

chmod 755 [downloaded_file]

4. Execute the downloaded file: './[downloaded_file], and follow script/questions (in this example we use /opt/ehour as the installation directory)

5. Point your browser to 'http://yourserver:8000' and login with user/pass: admin:admin

{{Note box | If you want a 'clean' URL or a subdomain (e.g. http://timesheet.yourserver.com) instead of http://yourserver:8000 then please see the relevant section below.

MySQL backend

By default eHour uses an internal database (Derby). However you can use MySQL as the backend database too. Please note that if you want to use/change to MySQL, all existing data will not be used/transferred. It will still be available in the Derby database.

A. Create a new MySQL database (e.g. ehour) (see here how to)

B. Download the MySQL schema for ehour 1.4.1 here

C. Import the downloaded MySQL schema into the ehour database

mysql ehour < fresh.mysql.sql

D. Allow MySQL Local Network Access ( <--- Needs to be verified, does not seem to be required at all)

config setprop mysqld LocalNetworkingOnly no
expand-template /etc/my.cnf
sv t /service/mysqld  

E. Create ehour SME Server db entries (Only required if you want to access ehour from the outside world)

config set ehour service
config setprop ehour TCPPort 8000
config setprop ehour access public
config setprop ehour status enabled
signal-event remoteaccess-update

F. Edit the ehour config file to use the MySQL database

/opt/ehour/home/conf/ehour.properties

Set the database to MySQL and remove the # signs in front of the MySQL lines and change the MySQL user and password

ehour.standalone.port=8000
# derby, mysql and postgresql are supported. When derby is selected you can ignore the ehour.database lines
ehour.database=mysql
#
# for mysql uncomment the following lines (and make sure postgresql lines below are commented out)
ehour.database.driver=com.mysql.jdbc.Driver
ehour.database.url=jdbc:mysql://localhost:3306/ehour?zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true 
ehour.database.username=[mysql user]
ehour.database.password=[mysql password]
#
# for postgresql uncomment the following lines (and make sure mysql lines above are commented out)
#ehour.database.driver=org.postgresql.Driver
#ehour.database.url=jdbc:postgresql://localhost:5433/ehour 
#ehour.database.username=sa 
#ehour.database.password=sa
#
ehour.db.version=0.8.4
#
ehour.configurationType=DEPLOYMENT
#
ehour.translations=%ehour.home%/resources/i18n

Start at boot

To start eHour at boot time, enter the following (db) commands:

ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S92ehour
chkconfig ehour on
config set ehour service
config setprop ehour status enabled
config setprop ehour TCPPort 8000
config setprop ehour access public

Toggle access between public or private.


ehour on a sub domain

Accessing ehour on a TCP port (8000) may look not very professional. You may want to access ehour at a subdomain like 'timesheet.yourdomain.com'. Here's how:

WIP. TBA.

Upgrade

For any upgrade, please see the eHour documentation/wiki. Especially if there is an database schema update. So always make a backup of your mysql database before starting any upgrade.

Demo

here