Code Monkey home page Code Monkey logo

liveresults's Introduction

PayPal - The safer, easier way to pay online!

EmmaClient is a client-server system for publishing liveresults from Orienteering events. It have been used on many major events such as JWOC, WOC, EOC,..

Current Build status

International events references: WOC2016, WOC2015, WOC2014, EOC2012, WUOC2010, JWOC2008, JWOC2007, WOC2006, WOC2004

National events references: FIN-5 2012, Swedish Elitserien 2006-, and 500+ other events since 2006

2016-09-25 - EmmaClient / LiveResults used for the third WOC in a row

With WOC2016 in Sweden/Strömstad it was the third WOC in a row that used EmmaClient as the official system for LiveResults. This time timing was done by EQTiming and EMIT with SSFTiming as official results system and the OLA system used for Punch evaluation. Support for SSFTiming was added to EmmaClient with an adapter that have the same small delay (< 1 second) as the OLA-adapter giving the internet audience live results with very little delay. For this WOC some small additions was also made to the web-display were now diff-times on each split control is showed.

The hosting of the LiveResults-service for WOC 2016 http://liveresults.woc2016.se was offered and delivered with success with an scalable cloud-environment. Also the traffic for the main page www.woc2016.se was cached by the liveresults server to minimize the load of the CMS-system delivering the official web page

If you are interested in liveresults and operations for your event, contact: [email protected] to get more information

2015-08-07 - Success during WOC 2015 in Scotland

As well as 2014, EmmaClient was the base for the liveresults-service during WOC 2015. Adaptions for the IOF-XML exports from the SportIdent.UK software AutoDownload was implemented and is now part of the EmmaClient baseline. Also some nice features were added to the live-results GUI where display of running times for all runners in real time and better sorting during mass-start-races and relays were added.

The hosting of the LiveResults-service for WOC 2015 http://liveresults.woc2015.org were also offered and delivered with success with an scalable cloud-environment.

If you are interested in liveresults and operations for your event, contact: [email protected] to get more information

2014-07-13 - Successful usage during WOC 2014 in Italy

I got an late request from WOC2014 about using the EmmaClient solution as the official live result system for WOC in Italy. It was accepted and consisted of both integrations to the event software from RaCom and hosting and operations during the WOC week.

Everything worked perfect and is proves how easy and scalable the EmmaClient solution is for everything from small local events to events with huge interest online such as WOC and EOC.

Operations of the system during the WOC-week was done (similar to earlier operations) in the Amazon Cloud platform (EC2) with Ubuntu 14.04 servers. The plattform performed very well and maxed during the long distance at 254Mbit / s traffic out from the load balancer with response times kept as low as 20ms

Overall, it was a very successful week with great competitions and great experience online!

If you are interested in liveresults and operations for your event, contact: [email protected] to get more information

2012-07-01 Clubresults and FIN-5

A clubresults view have been added to the liveresults where you can track all results for a given club. Also some basic support for MultiDay events with total-results have been added to the system

This year (2012) FIN-5 (http://www.fin5.fi) used the liveresults-system for all their liveresults during the competition

2012-06-07 Obasen.nu upgraded

Obasen.nu upgraded to latest version and API-documentation have been published

2012-06-01 EOC 2012 Success

Liveresults were successfully used during the EOC-2012 event. Lots and lots of viewers without any problem. During the long final there were about 1000 pageviews/second on the liveresults.

During EOC we used liveresults deployed on Could-Servers to have unlimited scalabilty. If you are interested in knowing more about this, contact Peter Löfås ([email protected])

2012-05-09 Documentation is updated

Documentation have been updated with information about the process of publishing liveresults from OLA and OE2010

liveresults's People

Contributors

arnost00 avatar fredricj avatar nunorleite avatar petlof avatar xkenia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liveresults's Issues

Add favicion

There is no favicon on the site today, the page would look more "finished" with one.

This would lead to another improvement -> possible to change the title for the page:
"LiveResults for Orientering" to become: "Live smålands kavlen", without getting the user confused.

Changing runner afterwards

in OE, if a runner is in a wrong category and then changed to the right (after readout) category, he is displayed two times: in the wrong and the changed category. Only visible at liveresultat.orie.... not in OE. Settings are set to export all records but problem occures in both modes.
Workflow?

Allow deleting wrong split times

Delete the split time when it is cleared in event software (eg. when loop-course control is passed second time in error), and IOF XML states SplitTime staus="Missing"

Runners in forest

Add number of started and not finished runners into web part Latest updates.
It means how many runners are in forest.

Add possibility to highlight runner(s) or club in class list

If you are trying to track multiple runners it can be hard to find them in the class lists. In the club list you can easily see them but it only lists the start, finish and total time, so if you are interested in the intermediate time or position it isn't useful.

For tracking purposes it would be useful to add the ability to highlight runners or the club and store this throughout the competition

Move to https

Due to new features in Chrome that warn about sites not under https liveresultat.orientering.se and all corresponding sites (including API) should be moved to HTTPS

[OLA] Starttimes are parsed incorrectly in some cultures

If the computer that is running the upload uses a DateTime culture that have a date time format different from sweden, the starttimes will probably not be parsed correctly leading to problems uploading them (and also calculating radio-times).

Probably radio times will also be parsed incorrectly.

Password protect the admin-pages

Due to abuse we need to password protect the admin-pages for a competition.
We'll do that by requiring a password while creating the competition, and then require login with that password for all upcoming edits of the same competition as well as upload to it from the emma-client.

Disable meos in emmaclient

The support for meos in emmaclient is broken and should be disabled/removed. The currently supported method is to use the builtin support in meos

Refactoring JSON parsing in the API

The JSON parsing in the web/api.php is done manually, which might lead to non-parseable JSON being served by the API. I propose re-writing the API to utilise json_encode instead. I will do it myself and submit a PR, but it would be a bit of work so just checking there isn't a reason for the API being built this way.

Example:

if ($_GET['method'] == 'getcompetitions')
{
    $comps = Emma::GetCompetitions();
    $parsedComps = [];

    foreach ($comps as $comp) {
        $parsed = [
            'id' => $comp["tavid"],
            'name' => $comp["compName"],
            'organizer' => $comp["organizer"],
            'date' => date("Y-m-d",strtotime($comp['compDate'])),
            'timediff' => $comp["timediff"]
        ];

        if ($comp["multidaystage"] != "") {
            $parsed['multidaystage'] = $comp["multidaystage"];
            $parsed['multidayfirstday'] = $comp["multidayparent"];
        }

        $parsedComps[] = $parsed;
    }

    echo json_encode($parsedComps);
}

Would like to hear from you @petlof 😃

Support penalty on relays

In finland there is a common case where teams get a penalty (in minutes) that is exported in the OS format.

Don't seem to work with OLA 5.10 with internal database

The latest version of OLA (5.10.1) don't seem to be compatible with liveresults.

When trying to open a internal OLA db I get the following error alert:

image

It works fine when I downgrade to OLA 5.5 on the same competition.

Uploading start times before the race

How can we upload the start times of the runners before the event starts? We are using OE, and I couldn't find an input format to upload list of runners/start times. Thank you.

Please add clear all button :-)

For us with too fast trigger finger... Please add a clear all data button on a competition when we happen to us the wrong Id when uploading... :-) BR Oskar

CasparCG Client building problem

Hello,

I am trying to run caspar client on visual studio but I am not sure how to start the client since there is no documentation about it. Is there a short documentation or guide about how to use it?

Links points to codeplex

There are a few links pointing to the project page on codeplex. All occurrences

They should be changed to the wiki pages instead due to the codeplex shutdown in December

Last x changes

Create window with all changes or possibility to show all changes in time. Actually there are only last 3 changes showed in upper part.

Error from API when requesting total results from stage 1 of a multi-day-competition

RestClient: Uri request:http://liveresultat.orientering.se//api.php?comp=12548&method=getclassresults&unformattedTimes=true&class=D40&includetotal=true

D/RestClient: request() responseCode:200
06-16 17:11:39.167 3339-3583/se.amli.liveresultsorienteering D/RestClient: request() responseCode:200
06-16 17:11:39.167 3339-3584/se.amli.liveresultsorienteering D/RestClient: request() response:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND runners.TavId = results.TavId AND runners.Class = 'D40' ORDER BY results.' at line 1
06-16 17:11:39.167 3339-3584/se.amli.liveresultsorienteering D/SelectClassActivity: getClassResults result:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND runners.TavId = results.TavId AND runners.Class = 'D40' ORDER BY results.' at line 1

Suggestions for more data

  • It would be nice to have a country field for each competition in getcompetitions to be able to sort competitions by country.
  • It would also be very practical to have a function getclubs to get all clubs that compete in a competition (so you can then use getclubresults).

Error starting client with MySQL 8.0.29 and OLA 6.3.4

I have a fresh install of MySQL 8.0.29 and OLA 6.3.4. OLA-Server is configured to use MySQL as a database and I have registered one simple competition. When I try to start Liveresults Client 2022-04-22, I get the following error when I click on the OLA SOFT button, select MySQL-Server, and enter the information for it (running on localhost): "Authentication method caching_sha2_password not supported by any of the available plugins".

I have tried to reconfigure MySQL (my.ini) by changing authentication policy to: authentication_policy=mysql_native_password,, and running the following command ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "password"; as suggested by googling.

But then I get a lot of "Objektreferanse er ikke satt til en objektforekomst" errors instead. Bottom line: I'm unable to use LiveResult Client to report live results from the newest versions of OLA and MySQL.

NC-flag in OE-results

The NC –flag (not counted in results) is not in the OE-export –file, so this is of course not handled.

But I think Emma could handle this also by using ‘Place’ –column and ‘Classifier’ –column. When ‘Place’ –column is empty, but the leg is ok (‘Classifier’ is 0), this means that this runner/leg (whole team) should not be counted in results)?

Running times does not count for summer/winter-time

It looks like the running times in the display does not account for summer/wintertime.
This is due to the fact that we only set the offset in hours and not the acutal timezone.
This will be fixed in the upcoming new admin-gui

EmmaClient for Linux/Unix based systems

Hi,
did you think about migrate or prepare EmmaClient for Linux/Unix based systems?

For my purpose it should be "only" nonvisual client - we will run it on Ubuntu with Racom system.

Thanks

Kenia

Invalid JSON in the API

http://liveresultat.orientering.se/api.php?method=getcompetitions is now serving an invalid JSON because of a tab character inside " BEL_Ve Sprint Rocourt" competition. Tab characters and other special characters should be escaped on JSON when used inside strings https://www.freeformatter.com/json-escape.html.

I suppose that using json_encode to build the JSON as suggested in #43 should solve the problem. Otherwise you would have to manually escape this special chars before building the JSON.

live-results-getcompetitions-invalid-json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.