Administrator Guide
v1.5
This work is licensed under the Creative Commons Attribution 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Last modified: October 7th, 2009
Engroup server is a java based application server built on the top of Osgi framework, that bundles the servlet container as one of its bundles. Any sub modules (jar libraries or web application) also be deployed as osgi bundles. It uses tomcat as servlet container and store content in MySQL database (in theory, Engroup can run in almost any databases support JDBC because Engroup uses iBatis as its DAO layer and plain SQL statement only). It is very easy to install Engroup in any operating system by using the Engroup server standalone version.
- You need java 6 installed. Go to Java download to get java 6 version if you miss it before to run Engroup installation package.
- MySQL database server. Before running engroup installation, you must make sure MySQL server is running, engroup will help you install its database schedule automatically while you install engroup.
This is by far the easiest way to install Engroup. We only provide one delivery to avoid user confuse what the best package suits to their needs.
- A generic Installer that works on all platforms. It requires Java 6 to be installed on your system. Simply double-click on it or invoke it from command line by typing 'java -jar Engroup-server-installer.jar' and follow the instructions.
Here are the detail screenshots for each step when you execute the Engroup standalone package.
Welcome screen: you are ready for installation and all prerequisites are satisfied
License screen: you must read Engroup license carefully before make decision whether it is suitable with your needs and you only have the right of using Engroup in case you accept Engroup license.

Select installation path screen:

Packages selection screen: Select the packages you would like to install

Database configuration screen: Configure the database you would like to store Engroup content to.

Note
Engroup currently support MySQL only, that is the database that fully tested. You can use any other database with own risk while waiting more databases are supported in future (actually, we must write the database test cases to make sure all SQL statements are executed correctly). If you need to use other database server urgently, please contact to Engroup development team via info@esofthead.com
Before running database installation, you must create the database schema first also provide Engroup the user account who has right to access the created database schema. One more note that all characters are case sensitive.
You should avoid to use 'localhost' or '127.0.0.1' in case you understand clearly what you do. Use the local server address in multi-users environment can make Engroup can not run properly.
Installation progress screen: Show the progress of installation

Note
Be patient in case database installation takes long time without response. Large database script can take 30 seconds - 1 minute to complete database installation process.
Installation success screen: The last screen informs user installed Engroup server successfully.

You must do some manual steps to upgrade engroup from lower version to upper version. There are two important folders and their sub-files are unchanged among engroup editions, they are %ENGROUP_HOME%\bin\runner\conf and %ENGROUP_HOME%\bin\runner\data. After installing engroup server, you simply overwrite the these folders to new engroup installation folders.
While installing engroup, if you want to keep the old database and want engroup automatically upgrade it to newer version, you must not select 'Install database' in engroup installation screens.
After installing engroup server, you are ready to run Engroup server. Note that, Engroup server must be run before user uses engroup client application do any business activity. To run Engroup server, administrator open the console window and go to the path that contains Engroup install files (from now, we call ENGROUP_HOME is the full path of folder contains Engroup install artifacts, for example it has value "C"\Program Files\engroup"). Go to the folder %ENGROUP_HOME%\bin and type startup.bat (if Engroup server runs on Windows OS) or startup.sh (if Engroup server runs on *Nix OS). The Engroup server will takes time to initiate all osgi services). After all osgi services are initiated, users are ready to access Engroup services.
By default, engroup server runs on port 8080. You can change the engroup server port by editing server configuration file locates at %ENGROUP_HOME%/bin/conf/server.xml. Replace the value 8080 of element Connector by any integer value (from 1-9999).
Open your favorite browser (engroup can run on Internet Explorer, Firefox, Chrome and Safari), and type 'http://${engroup_server_address}:8080', with engroup_server_address is the server name that engroup is installed. One more requirement is your browser must install Flash 10 runtime (Flash plugin is installed in almost web browser already).
If you want to stop engroup server, simply type 'exit' in engroup command line, it will stop engroup processes (osgi platform, engroup services such as LDAP, Messaging server etc). You should not force to shutdown engroup by using hot keys, it may make some engroup processes are not terminated as expected.
Engroup provides the ease method for administrator can configure engroup settings via client application. Administrator should limit to edit engroup configuration files at server side manually but they should use Engroup application. One major advantage when administrator use Engroup setting functions is they can help administrator can encrypt portion data of configuration files. For example, instead configure Engroup database setting file manually, the password data could be encrypted when you change the database password by using engroup application. Please refer how to install and run engroup client application in document 'Engroup - User guide' .
Only engroup administrator has the right of setting engroup settings. The default account for engroup administrator is [admin, admin123]. You should change the administrator password right once after log in to engroup at the first time.
Engroup administrator go to Admin Settings module to cofigure database, email and chat settings.
Click to database setting section, and type the server information as host, port, user account. Because Engroup only support MySQL now, and Engroup server bundle MySQL JDBC driver as osgi bundle and loaded it by default. So you should not change the default value of driver class is com.mysql.jdbc.Driver . After you change the database setting, please remember to restart system to take the change is effected.
Engroup supports sending and receving email. Corresponding with sending and receiving email, Engroup administrator needs to configure SMTP settings (for sending email) and store configuration (for receiving email with Mail module).
Chat setting section is mainly use for Chat module. In this version, Engroup chat is a chat client for any XMPP compliant server (google talk for example). And users can chat with multiple XMPP server that each one is belong in XMPP server list defined by engroup administrator. Engroup administrator could manage the XMPP chat server easily via Engroup chat configuration section.
User can add/modify or delete the XMPP chat server. To add/modify XMPP chat server, engroup administrator must fill the add/edit chat screen.
- Name: the name of XMPP server. Any string is valid value and you should choose a readable name.
- Host: the host name of XMPP server. IP of server also be a valid value.
- Port: port of XMPP server. It must be a integer value.
- Account suffix: the suffix for each XMPP account. When user login with account [username, password], actually engroup will transfer the account name to accountname+accountsuffix . For example with google talk account, when user login with account ['engroup', '*******'], engroup will add the account suffix after account name and login to google talk with account ['engroup@gmail.com', '*******'], it helps user does not need to type account suffix when they login to chat session.
Note
Account suffix is the optional value, with some XMPP server, it is a required value but others it is an empty string.
Engroup security provides the flexible and configurable security model. Like any security system, Engroup security model base on 3 elements: Role, Permission and User. Engroup administrator can edit all 3 elements by access Engroup security section.
Roles is all about what users can do and cannot do. A user role in Engroup defined a set of rules that are obeyed by all users belong in that role. One user in Engroup can play in many roles. Engroup does not allow any extra rule for specific user, that means Engroup administrator can not define the specific rule for some user without editing the role like some security model allows.
Creating the new role in Engroup is very easily. Click 'Create new role' link and enter role name also role description in form and you complete creating new role.
In order to work with permissions, simply click on 'Permissions' link. The following screen will be presented










