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.
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
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
.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.
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.
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:
- 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.
- 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.
- Login workarounds. Supporting login in a webserver that has to already work around 1 and 2 means that login itself has many workarounds.
- Polymer workarounds. Polymer and its associated libraries are sometimes 'not quite finished'.