Menu

Tree [1da547] master /
 History

HTTPS access


File Date Author Commit
 src 2015-03-27 jnc jnc [1da547] Added filtering and sorting options in user and...
 .gitignore 2014-07-03 jnc jnc [7a8948] added in the application the possibility to dis...
 faces-config.NavData 2014-10-15 jnc jnc [20d393]
 pom.xml 2015-03-25 jnc jnc [7a1294] Fixed a bug in report management; handling sing...
 readme.txt 2014-04-02 Jean-Noël Colin Jean-Noël Colin [a9267c] Updated installation instructions
 settings_sample.xml 2014-04-02 Jean-Noël Colin Jean-Noël Colin [05d72e] Added some installation instructions

Read Me

Technical requirements:
* Java 7
* Tomcat 7
* MySQL Database 5.5
* LDAP Server for user authentication (OpenLDAP, Active Directory)


Installation instructions:

MySQL
-----
1. Create a database in mysql
     create database timesheets default charset utf8;
2. Create a user and grant privileges
     grant all on timesheets.* to 'tsuser'@'%' identified by 'tspwd';
3. Log in to MySQL with the user just defined and run the script timesheets.sql 
     found under scripts (make sure triggers get created, this may require 
     running the script as root)

Tomcat
------

1. Copy MySQL Connector/J + java mail + java activation framework jar files to 
    the lib directory under tomcat installation
2. Edit conf/server.xml to add the following to the GlobalNamingResources element
     (of course adapt to the settings defined at previous step)
      <Resource name="jdbc/tsdb"
            auth="Container"
            type="javax.sql.DataSource"
            username="tsuser"
            password="tspwd"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/timesheets"
            maxActive="128"
            maxIdle="8"
            validationQuery="select 1" />
      <Resource name="mail/Session" auth="Container"
            type="javax.mail.Session"
            mail.smtp.host="my.stmp.server"/>  

Customize, compile, package and deploy app
------------------------------------------

1. Copy seetings_sample.xml to settings.xml

2. Update settings.xml to reflect your local installation
   * in servers section, update the server definition by specifying the admin 
     username and password, or alternatively create a new server entry
   * in the profile section, define the following properties:
     + settings.security_template: should be AD if you use Active Directory or 
        LDAP if you use a LDAP server
     + settings.ldap_url: url of the LDAP or AD server incl. root dn
     + settings.ldap_search_node: LDAP node under which users can be found 
     + settings.ldap_bind_dn: DN to use to bind to LDAP for search operations
     + settings.ldap_bind_password: password to bind to LDAP for search operations
     + settings.ldap_search_attr: attribute used to search for users. 
         Can be mail, sAMAccountName, uid...
     + settings.logo_file: filename of your logo, which should be found under
         src/main/config/config_name where config_name is defined in your settings.xml
     + settings.as_url: URL of the tomcat server to deploy the app
     + settings.as_name: name of the tomcat server defined in the servers section
     + settings.as_context: context to which the application should be deployed

3. Compile, package and deploy (assuming that you kept the profile name to dev)
    mvn -s settings.xml -P dev clean package tomcat7:redeploy

4. Users are created upon their first login, so there is no need to create users before

5. For the first user to get SUPER admin rights, update has to be done manually in the database
   update users set level='SUPER' where userid = xxxx;

   From then on, the user has the privileges to grant ADMIN and SUPER privileges to others

There is a (very) limited documentation available under doc/doc.html