Elastik Tickets

James Baster


Table of Contents
1. How to install Elastik
1. Requirements
2. Installing
3. Upgrading
2. Users & Access Rights
1. Introduction
2. System Administrators
3. Client Administrators
4. Project Administrators
5. Project Users
3. Sample Workflow
1. Introduction
2. Create a project
3. Create fields
4. Create a Status Schema
5. Create a Category
6. Setting which fields are used when reporting a bug
7. Setting which fields are used when changing status
8. Setting which fields are used on a status
9. Now try ...
4. Module EmailUpdateDigest
1. What it does
2. Installation
5. Module FileAttachments
1. What it does
2. Installation
6. Module IssueDuplicates
1. What it does
2. Installation
7. Module SavedSearches
1. What it does
2. Installation
3. Personal searches
4. Searches for all users
8. Module SuggestFollower
1. What it does
2. Installation
9. Module ErrorReportingService
1. What it does
2. Installation
3. Setting up a site to send errors to Elastik
3.1. Create a site
3.2. Reporting over HTTP
3.3. Reporting locally
3.4. Reporting in the background
3.5. Test Communication
3.6. Start error tracking
3.7. Additional configuration
10. Writing Themes
1. Themes
2. File Structure
3. LICENSE.txt
4. Templates
11. Writing Modules
1. Modules
2. Name
3. Folders and Files
4. Module.php
5. mod.ModName.credits.htm
6. LICENSE.txt
7. Class files
8. Templates
9. DbMigrations
12. API
1. API
2. Authentication by cookie
A. Coding Standards
1. Code
2. Database
3. Templates
B. License
1. Elastik core code, the default theme And most modules
2. Documentation

Errors are reported by writing them to file storage. Later, a background process loads the files from disk and reports them into Elastik. This is available since Elastik 0.4.

This is more effort to set up, but means that when errors occur the user gets a faster reponse from the system.

Copy the file mod.ErrorReportingService/includes/BackgroundReportingWidget.php into the application you want to collect errors from.

Include the file, and at a minimum the lines below. This is an example only - you must use your own settings from the site.

ElastikBackgroundErrorReportingServiceWidget::$SiteID = 2; ElastikBackgroundErrorReportingServiceWidget::$SiteSecurityKey = "769582273cc0cae1c31cec7ae686447a";

You need to create a folder to write errors to. Elastik errors should be the only thing in this folder. If you have several applications that are configured as seperate sites, but the errors are being sent to the same Elastik application, they can use the same folder and you only have to run one background process.

ElastikBackgroundErrorReportingServiceWidget::$ErrorFolder = "/home/james/elastikErrorsFolder/";

Optionally, file permissions can be changed as soon as the error is written.

ElastikBackgroundErrorReportingServiceWidget::$changeFilePermissionsTo = 0644;

Now you need to configure the background process.

If Elastik is on the same server, just run (change paths for your server, of course):

php mod.ErrorReportingService/includes/runBackgroundProcessForLocalElastik.php -f /home/james/elastikErrorsFolder/

If Elastik is on a different server, copy the files mod.ErrorReportingService/includes/runBackgroundProcessForRemoteElastik.php and mod.ErrorReportingService/includes/RemoteReportingWidget.php to the server and place them in the same directory as each other. Run:

php runBackgroundProcessForRemoteElastik.php -f /home/james/elastikErrorsFolder/ -u example.com

Note both of these run once then stop. Setup crontab or a similar system to run these regularly.

After an error is sent succesfully, it is deleted from the disk. Make sure the process has the right permissions to delete the errors.

The core code of Elastik, the default theme and most modules are licensed under the BSD license shown below. Check the LICENSE.txt file in the includes folder to check the license for each module and theme.

Copyright (c) 2010-2011, MAPIX Technologies Ltd, UK http://mapix.com/ All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of MAPIX Technologies Ltd nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.