Giter Club home page Giter Club logo

meos's People

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

Watchers

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

meos's Issues

Typos in REST service window

Typos in the english text of the Services Window. Here is the same text, with fixes in italics:
MeOS REST API lets you access competition data via a web connection. You can show result lists directly in a web browser, but you can also request competition data and results in an XML format, suitable for further processing in third party programs and apps.

MOP: Adding a new class elicits no reaction

If I delete a class, MOP will straight up send a MOPComplete in the next update. If I add a class, nothing happens; the next difference doesn't show it. If I add a new runner, and assign them as the first runner of this new class, the update will say this runner was deleted.

Importing control number 30 incoherent

If we use, not recommended (by sportident) control number 30 in a course, and we use 'import' functionality, there is an incoherence on MeOS:
a) Control list importing: OK (>= 30):
https://github.com/melinsoftware/meos/blob/master/code/oImportExport.cpp#L1483
b) Course control adding: NOK (>30):
https://github.com/melinsoftware/meos/blob/master/code/oImportExport.cpp#L1592

Both 'importers' must ignore control number 30 or accept it.

Notes to this:

  1. I can see, there is incoherence with max control number: 1024 us 1000.
  2. New feature request: on control importing ignore: visualize non imported controls somewhere to the user.

Support HTTP(S) for downloading runners/clubs databases

For now, it is required to download manually the CSV or XML files and then import them in MeOS.
Supporting HTTP/HTTPS protocols would make it 'one-click' operation.
The default URL may be configured as a local setting. Almost no UI change is required: the field Filename IOF... shall just be adapted and the behaviour can be adapted by detecting "http"/"https" at the beginning of the path.

Form loses focus on service execution

Everytime a control has focus, it would loose it, if a service started to run. This makes it very hard to use forms, if services (like liveresults) are run very often (less than 15sec)

SportIdent should disconnect when closing the competition

If I do not disconnect the SI reader before closing the competition, when I open the next one, Autosearch will not find any available SI reader.
It is also not possible to disconnect from software the SI reader after closing the event. I have to close the app or disconnect reader from PC to be able to connect to it again.

Feature request: To have more than one window running on small ccompetitions

When running a small competition on 1 computer, you would like to have 2 masters connected. One for registering competitors and 1 for reading out results at the same time. This works as it is (3.4.782), but the windows are overlapping. Ie you cannot see the results window because the register window is on top.

To recreate this you start "Quick entry mode" and "Readout/radio" from the Sportident tab.

If the windows where separated and not overlapping would be great. Either as free floating windows, or just as the "Services" work when you have more than one running at the same time.

Documentation for requests of the MeOS Online Protocol XML 2.0

Results Online Services sends multiple requests if response is not received in one second.
Lets say the accepting server do some heavy lifting with incoming data and it takes 2.5 seconds to respond with OK status.
Current behavior works like this.

time  |    MeOS                    |     Server
---------------------------------------------------
0s    |  FIRST request is send     |  working on FIRST request
1s    |  SECOND request is send    |  working on FIRST and SECOND request
2s    |  THIRD request is send     |  working on FIRST, SECOND and receiving THIRD  request
2.1s  |                            |  FIRST request done, sending OK  
2.2s  |    receives OK,            |  THIRD request payload is cut in the middle, only part of the XML is received
            THIRD request stops

There can be workarounds (and maybe only release build or query optimization can solve this issue for me, as all it take is to send reply under second). However, I think the current behavior is sub-optimal.

Rental cards not used in interactive readout for unregistered cards

During our weekly events, we don't have a registered start list. We use a precreated runners database, all readouts are interactive.
If we create a list of rental cards and then readout one such card, then

  1. We do net get the message "Return rental card"
  2. The card is not marked as "Borrowed" for this competitor

Add Competitor's status in List Entry types

Competitor's status would be useful if for example you want to create results list without time for open competitors without a medical certificate. For now, the closest type is Competitor's total time / status.

E-punch reuse

Sometimes, when reading data from e-punch on finish for athlete (1), MeOS tell me that this e-punch is for another athlete (2) (who actually finished), and ask to choose the group. There is no "Cancel" button to prevent this, thus we rewrite results for (2) with data from e-punch of (1). Usually, this happens when we cycle e-punchs (reuse them after clearing). Why this occur, and how to prevent this behavior?
Thanks!

Option to enter runners birth date in Runners database

As of now, MeOS only shows runners birth year in the runners database. If it is exported to IOF XML, it fills BirthDate field with January 1st of that year.
It would be better if it was possible to enter whole birth date (and export it) in runners database.

MeOS freezes when using services

During our 2 day event, we used 2 services:

  • Live Results to MeOS protocol (every 5sec)
  • Automatic backup to USB flash drive (every 1min)

A small progress bar would appear in the top left corner, indicating that a service was executed.
Once in a while, such progress bar would take longer than expected, and freeze meos for a while. Thus we were unable to read results or do anything with MeOS.

Incresing Live Results service interval would decrese the amount of freezes, but not eliminate them.

Rogaining Course not maintained when importing event

Environment: MEOS-OZ version 3.8.1306.1

When importing an import, previously saved as a meos backup which contains a course which has rogaining score controls, the course comes through as [From class] without the course name at the the beginning.

This means results won't contain the rogaining points.
See attached:
Meos - Rogaining course import issue

Workaround:
Manually set course to the correct course for each competitor on the rogaining course and save (Click off and then on again)
Course controls now appear in right hand box and points in results.

Thanks for all your work.
Regards,
Martin Kozma
Bayside Kangaroos Orienteering Club

Content-Type header is not set when uploading results online

The Content-Type header is not set when uploading results online. Many servers are configured to block this, if you have a shared hosting provider, it is usually not an option to disable these security rules as the provider won't let you.
It would be great if MeOS started sending a application/xml or zip Content-Type header in future versions to let the server know what data it is receiving.

[Rogaining] Allow less than 1 point/minute of penalty

The rule of the rogaining event I am configuring is 1 point of penalty / 4 minutes. But it seems MeOS 3.6 only supports integer number of points / minutes: so the minimum is 1 point / minute.

Is there a way to specify a such thing?

Custom text field in quick entry

We need an extra field in quick entry to record car registration numbers so that organisers can check if there are remaining participants still not accounted for.
The text field could be used for anything. Car registration or mobile mumber etc.
The text field could be optional (local settings)
This would allow us to process the many EODs (Enter on the days) without having the participant to go to registration desk to provide this information.
Thanks for all your work.
Cheers,
Martin Kozma
Bayside Kangaroos Orienteetring Club

Time Lost

Could you explain how the time lost in the results list is estimated?
Thanks

[Feature suggestion] SPLITSanalysis uploader

A suggestion for custom service that will automatically upload splits XML file to http://events.worldofo.com/woosplits.
Other than generating Winsplits result file, it needs to be URL-encoded and sent to the server.
Working PHP code for splits upload:

<?php
$file = file_get_contents('splits.xml', true);
$url=urlencode($file);
$data="data=".$url."&fileending=xml";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://events.worldofo.com/woosplits/uploadres.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            $data);

// Receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);

curl_close ($ch);

$json=json_decode($server_output);

echo "http://events.worldofo.com/woosplits/?file=upload/".$json->name."\n";
?>

The response is URL to split analysis.

After uploading local competition to database, that instance of MeOS doesn't sync

After uploading a local competition to database, changes to competitors made on other clients connected to the database are not showing on the original MeOS instance unless that instance disconnects/reconnects to the competition on the server.

It looks as though the problem is that the updated timestamp in the SqlUpdated structure is still an empty string at the time that it is used to form a query in MeosSQL::selectUpdated. When the query created is used, the timestamp is invalid and no new data is retrieved for the list from the database.

My simple fix was to alter the query generated in MeosSQL::selectUpdated if the updated member was empty, but there is probably a better way to address this.

Startlist times published to Eventor may be corrupt in GMT+ locations

The calculation of GMT start times can go wrong in oEvent::getAbsDateTimeISO if the time-zone offset is greater than the start time. Example - start time 10:34:00, location GMT + 11.

This code assumes that t is signed, but it is declared as DWORD.

      int offset = ::getTimeZoneInfo(Date);
      t += offset;
      if (t < 0) {
        extraDay = -1;
        t += 3600 * 24;
      }
      else {
        extraDay = t / (3600*24);
      }

Changing declaration to unsigned long t; fixes this I think.

Custom split form

Hello!
Is it possible to customize split printing form (except fixed custom text)? If not, do you plan to add this feature?

How to delay start times?

When start times have been drawn and published, how to postpone them all for a fix amount of time (e.g. due to a control issue discovered just before the event or a weather alert)?

The "Behind" calculation is not correct in multi-stage total results

As can be seen in this Total results report the "Efter" (Behind) column is not correctly calculated.
https://eventor.orientering.se/Documents/Event/72102/Totalresultat

The value always seems to be one second longer than the actual total time.
Example:

H80 (12 / 12)                         Totaltid  Efter       Etapp             Bomtid
1. Anders Carlsson Skåneslättens OL   2:04:37   +124:38     38:13 1.  04:48
2. Raimo Salminen OK Pan-Kristianstad 2:15:04   +135:05     41:53 3.  +3:40   04:50

Wrong constructor (I think) called in RunnerDB.cpp with unpredictable results

In void RunnerDB::loadClubs(const wstring &file), there is the following logic:

    for (it=xl.begin(); it != xl.end(); ++it) {
      if (it->is("Club")){
        oDBClubEntry c(oe, cdb.size(), this);

where oe is an OEvent object.

Constructors for oDBClubEntry are:

oDBClubEntry::oDBClubEntry(oEvent *oe, int id, int ix, RunnerDB *dbin) : oClub(oe, id); // etc
oDBClubEntry::oDBClubEntry(const oClub &c, int ix, RunnerDB *dbin) : oClub(c); //etc

The second constructor is called instead of the first one. I guess that the argument count matches and for some reason the C++ compiler manages to make an oClub& from an oEvent*, so the oClub constructor in the initialiser treats the oEvent object as an oClub. So much for type checking :)

This is an old problem I think, normally it causes no problem, but I must have some different data at the moment or a different VS2015 compiler as I get a Windows exception when the oClub constructor runs.

Cheers,
Andy

Installer for 3.9.1437 (64 bit) corrupted?

Every time I download the MeOSV39u1_64.exe installer, I get an NSIS integrity check error. This does not happen with previous versions. I can install the MeOSV39_64.exe version, which works just fine.
image

Compile and run under linux

What will it take to compile and run this under linux? I can help with the task if it is not too big an effort.

MOP: Course info sporadically provided

Refreshing http://localhost:2009/meos?difference=zero means that classes and runners sometimes tell me what course they are using, sometimes not.

With:

<cls id="2" ord="20" radio="142" crs="2">Medium</cls>
<cmp id="1" card="500114">
<base org="14" cls="1" stat="1" st="651600" rt="25680" crs="1">Hans Persson</base>
<input it="0" tstat="1"/>
</cmp>

Without:

<cls id="2" ord="20" radio="142">Medium</cls>
<cmp id="1" card="500114">
<base org="14" cls="1" stat="1" st="651600" rt="25680">Hans Persson</base>
<input it="0" tstat="1"/>
</cmp>

Either the whole file contains course info (where applicable), or none of it does.

I (currently) have no use for course info, so for me this is merely inconsistent behavior, not problematic.

Settings are not all available after new installations of MeOS

When MeOS is started for the first time, most settings are not available in Change local settings...

The workaround is to open an event and display once each thumbnail (runners, lists, etc.).

But it would be nice to initialize the list of parameters at installation time.

Meos Build Instructions

Hi guys, I can see that there is a comment in the resources section of the website:
"You can build MeOS in Visual Studio 2008 or 2010. We plan to publish some instructions soon."
Would it possible to get the details of this updated on the page please?

IOF Club export does not export ID

If we create a runners/clubs database for our events, we export them between events with "Export Clubs/Persons (IOF-XML)" options.
The persons XML is exported having Organisation marked with ID:

<Competitor>
<Person>
<Name>
<Given>Māris</Given>
<Family>Zinbergs</Family>
</Name>
</Person>
<Organisation>
<Id>40</Id>
</Organisation>
</Competitor>

But clubs xml does not have this ID in the export:

<Organisation>
<Name>Siguldas Takas</Name>
</Organisation>

We are unable to use these XMLs for import as persons get assigned the wrong clubs.
If I add the manually to the exported club XML, the import works correctly.

Missing sentence in language file

A user (Patrice Lavallee) reported me that the following error message has been displayed to him in Swedish:
Ett okänt fel inträffade

This sentence isn't in the language file (at least not in the english, german and french one).
It can be found in the following C++ files :

  • autotask.cpp (on lines 77, 130, 282 and 301)
  • download.cpp (on line 313)
  • gdioutput.cpp (on lines 759, 1960, 1963, 2167, 2170, 2695, 2698, 2752, 2755, 2790, 2793, 5637 and 5640)
  • TabAuto.cpp (on line 172)
  • TabSI.cpp (on line 1712)

It need probably be added to the language files.
Google translate gave me "An unknown error occurred". If this is correct, it will be translated in french as "Une erreur inconnue s'est produite".

Read SI cards with 0.1 milisecond precision

We are planning on organising a sprint event, where we need a precision of 0.1 sec.
We have configured the SI stations for "Sprint 4ms", but MeOS still seems to read only values upto 1sec precision.
Is this configurable or is this not available at this time?

Had to validate class/category for almost all runners during event

I'm not sure if this is some kind of misconfiguration or a bug in MeOS, but this weekend Meos did not recognized almost 90% of runners' course when their SI unit was read - I had to manually select the class they ran.
It worked fine on Saturday where I had 3 courses (A1,A2,B) with 3 associated classes (A1,A2,B), but Sunday it failed with a similar setup but more courses (say A1,A2,B but also variant A1, variant A2, variant B) and again 6 classes associated but not with the exact same name (say first A1, first A2, first B, second A1, second A2, second B).

I thought that MeOS would smartly match the class/course with the best match given the controls read on the SI Unit?

Missing <Id> in IOF XML exports

iof xml exports (startlist, resultslist) are missing the Id for person.
it it important to be able to properly map information exported using MeOS Online Protocol with documents exported as IOF XML

<Person>
	<Id>42</Id> <!-- missing -->
	<Name>
		<Family>Hirs</Family>
		<Given>Otakar</Given>
	</Name>
</Person>

Sort no timing classes at the end of by course results list

When no timing / timing classes are mixed in a course, runners appear to be sorted by time anyway (results by course). Runners in no timing classes should be listed at the end of the results, and should not be taken into account when computing the place of runners.

Message box on silent readout does not show if the card used is rental

As there are times You have to do other things with MeOS, while the cards are being read out, it would be nice if the small popup window would show some info, if the card is borrowed and should be returned.
The relevant place in code:

meos/code/TabSI.cpp

Lines 2615 to 2642 in 338fb3c

if (!silent) {
gdi.fillDown();
//gdi.dropLine();
gdi.addRectangle(rc, colorLightGreen, true);
gdi.addStringUT(rc.top+6, rc.left+20, 1, info);
if (!warnings.empty())
gdi.addStringUT(rc.top+6+2*lh, rc.left+20, 0, warnings);
wstring statusline = lang.tl(L"Status OK, ") +
lang.tl(L"Tid: ") + runner->getRunningTimeS(true);
if (!placeS.empty())
statusline += lang.tl(L", Prel. placering: ") + placeS;
statusline += lang.tl(L", Prel. bomtid: ") + runner->getMissedTimeS();
gdi.addStringUT(rc.top+6+lh, rc.left+20, 0, statusline);
if (runner->isHiredCard() || oe->isHiredCard(sic.CardNumber))
rentCardInfo(gdi, rc.right-rc.left);
gdi.scrollToBottom();
}
else {
wstring msg = L"#" + runner->getName() + L" (" + cardno + L")\n"+
runner->getClub() + L". " + runner->getClass(true) +
L"\n" + lang.tl("Tid: ") + runner->getRunningTimeS(true) + lang.tl(L", Plats ") + placeS;
gdi.addInfoBox("SIINFO", msg, 10000);
}

Unable to use SSL connection to database

As we would like to deploy DB to a server, we first set up everything without SSL, to verify that everything worked - it did.
Once we set up SSL for meos user (REQUIRE SSL), we are no longer able to connect to the server. The error:

Access denied for user 'meos'@'XXX.XXX.XXX.XXX' (using password: YES)

We are able to connect with MySQL Workbench with SSL.
Is there any configuration that must be done on our MeOS/MySQL instance to be able to connect over SSL?
We are using:
MeOS: Version 3.5.843 RC2
MySQL: 5.7.21 MySQL Comunity Server (GPL)

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.