Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/drkno/agilefanttimes

Get Agilefant hours for individual team members
https://github.com/drkno/agilefanttimes

Last synced: 1 day ago
JSON representation

Get Agilefant hours for individual team members

Awesome Lists containing this project

README

        

# AgilefantTimes

Getting the hours spent for all members in Agilefant is a time consuming process and difficult, expecially when you just want an overview. This project is to create a simple web-based dashboard that can display times for users and some simple statistics regarding their hours.

## Download
Release versions can be found [here](https://github.com/mrkno/AgilefantTimes/releases).

For up to date snapshots, please clone the source and compile yourself.

If you are installing this on the University of Canterbury Jenkins servers, the following commands will automate the process:

```
wget https://raw.githubusercontent.com/mrkno/AgilefantTimes/master/RedHatInstall.sh
sed -i 's/\r//' RedHatInstall.sh
chmod +x RedHatInstall.sh
./RedHatInstall.sh
```

## Usage
During this development phase it requires manual setup.

In the same directory as the compiled .exe create a new file called aftimes.conf.

Inside the file paste the following configuration, edited where appropriate:

```
{
"Username":"abc12",
"Password":"12345678",
"TeamNumber":1,
"SprintNumber":2, // set to -1 to attempt to automatically determine (defaults to 1 if not found).
"DisplayUsercode":false // optional, will replace Names with UserCodes.
}
```

> A full list of avaible options and their defaults if not provided can be found [here](https://github.com/mrkno/AgilefantTimes/blob/master/AgilefantTimes/Config.cs).

To run the program, just double click the `AgilefantTimes.exe` executable, and, provided everything is setup correctly and you did not encounter a bug it will run.

The program supports command line arguments, to view these start the application with the `-h` or `--help` option. Command line arguments override values in the configuration file.

On platforms other than Windows the executable **should** be able to be run using Mono, provided the version being used supports all the features used in the program. To do this run from within a shell:

```mono AgilefantTimes.exe```

* Known NOT to be working on Mono 3.2.8 (what is on the lab machines).
* Known to be working on 3.12.1 which can be aquired for many linux distros [here](http://software.opensuse.org/download.html?project=home%3Atpokorra%3Amono&package=mono-opt). If you are on RedHat use the CentOS release.


Alternatively provided Wine is setup correctly it could be run using:

```wine AgilefantTimes.exe```

## Known Working Minimum Requirements
.NET 4.5 or Mono 3.12.1 (see above).
This application is currently targeted at the .NET 4.5 runtime so you either need that installed or a compatible version of .NET/Mono.

## Development
To setup a development environment run the following commands:
```
git clone https://github.com/mrkno/AgilefantTimes.git AgilefantTimes
cd AgilefantTimes
git submodule init
git submodule update
cd www
bower install
mklink /D ./bower_components ./app/bower_components
cd ..
```
then create an `aftimes.conf` configuration file in the same directory.

The Visual Studio .sln file has only been tested with Visual Studio 2015.

## License and Contributions
This program is licensed under the MIT license. Pull requests and contributions welcome.

Note to contributors and source code criticizers:

This program is essentially 4 layers of hacks and bad code layered to create an imperfect solution to a problem.
These include:

1. Mono workarounds. There are so many of these because of defficiencies in the Mono framework that it is unbeleiveable that anyone uses Mono for anything.
2. Agilefant scraping. Agilefant does not provide a nice API to free users so in some places the only way to extract data is by scraping webpages.
3. Login workarounds. Supporting login in a webserver that has to already work around 1 and 2 means that login itself has many workarounds.
4. Polymer workarounds. Polymer and its associated libraries are sometimes 'not quite finished'.