Skip to content

drkno/AgilefantTimes

Repository files navigation

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.
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.

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. 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'.

About

Get Agilefant hours for individual team members

Resources

License

Stars

Watchers

Forks

Packages

No packages published