Skip to content

Commit

Permalink
55.0.0-alpha02
Browse files Browse the repository at this point in the history
  • Loading branch information
jflamy committed Jan 7, 2025
1 parent 1a6ffe2 commit badbccd
Show file tree
Hide file tree
Showing 11 changed files with 172 additions and 91 deletions.
76 changes: 10 additions & 66 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,15 @@
> **Reminder**
> [!CAUTION]
>
> - You should test all releases, with actual data, *several days* before a competition.
> - This is an **alpha release**, used for validating new features. *Some features are likely to be incomplete or non-functional*.
> - **Alpha releases are not normally used in actual competitions.**
> - Export your current database before updating if it contains important data.
- QMasters
- The QMasters score now uses the updated age factors for 2025
- Simplified Video Setup
- The default style for Video Streaming is now `transparent` . When using `transparent`
- It is no longer necessary to crop the Current Athlete view
- There is no need to add a green mask to have a floating scoreboard

- Score-based Competitions
- Removed the "Sinclair Meet" option from the competition options. Now replaced by [score-based medals](https://jflamy.github.io/owlcms4/#/ScoreBasedCompetitions). To achieve the same, you can proceed as follows:
- Create SM and SF age groups with ages 0-999 and only the default weight category. Select "Already Gendered"
- The style can be changed back to `nogrid` on the System Settings > Customization page to get the black background styles identical to the on-site scoreboards.

- Select "Sinclair" or "Q-Points" or what you want as the scoring system.

- Unselect the traditional categories and reallocate athletes.

- You can also create separate SM and SF for ages 0-34 and MM and MF for ages 35-999. MM and MF would have SMHF or Q-masters as scoring system. Same idea if you want youth categories to be score-based, create additional YM and YF with Q-youth etc.
- Speaker
- The updates to the lifting order grid are now synchronized with the notifications. Previously the progression of an athlete could be visible for a moment, leading the speaker to believe the requested weight was going up to that amount.
- Age Groups and Championships
- It is now possible to edit interactively the age group settings to define the championship in which the age groups belongs
- It is now possible to define Championships interactively
- It is now possible to define that an Age Group awards medals using a scoring system.
- See the documentation for [score-based medals](https://jflamy.github.io/owlcms4/#/ScoreBasedCompetitions)
- When changing age boundaries, or bodyweight boundaries, a confirmation is required if there are athletes already assigned to the age group. This is because the old categories are no longer valid and must be removed. Therefore new categories must be selected for the athletes in the age group, which justifies the need for a confirmation.
- AgeGroups definition files will now accept Sinclair, QMasters, QYouth, and SMHF as input for a scoring system (case does not matter), in addition to the legacy names (BW_Sinclair, QAGE, AGEFACTORS, SMM)
- When editing an athlete's registration data, categories will now be shown in "most specific order". Masters and IWF go before the Open (all ages) categories with bodyweights. Score-based categories with no age and no bodyweight boundaries go last.
- Down Signal and Decisions
- When using the decision display with keyboard (USB/joystick) devices, there was a *very remote* possibility that events could arrive out of order, causing the system to stay stuck on the down signal. Now such reverting updates will be ignored.
- Scoreboards:
- Now correctly display ranks and leaders for categories where medals are given based on a score
- Medals scoreboards and medals reports have now been fixed to handle score-based medals and sessions where both traditional and score-based medals are awarded.
- Changing the medals display shown used for the video stream no longer changes the main screen
- The "public" scoreboard meant to be used in the main room correctly switches during medal ceremonies
- Interim scores: if the feature toggle `interimScores` is present, and an age group is using Sinclair or SM(H)F or Q-points for medals, then a score will be shown during snatch even it there is no total
- Results
- During a competition with both score-based and total-based rankings, from the Competition Results page, using the Eligibility Categories report with the Score template will produce correct interim or final results. Each category will be ranked according to it's scoring system.
- Updated the competition results and the protocol sheets to use the faster jxls3 template processing. The categories are now listed in alphabetical order.
- Athletes that did not weigh-in for their session no longer interfere with the determination that their categories are done and ready to receive medals.
- In all results spreadsheets, a single best athlete score is shown to avoid controversies when the newer scoring systems give different results than the older ones.
- The best athlete system can be selected when producing the results (the default is set in the overall competition rules.) on all three types of documents.
- Templates:
- the athlete's score and ranks in the current category are now obtained by using `${l.categoryScore}` `${l.categoryScoreRank}` (where l is the loop variable giving the current athlete).
- If the current category is not score-based, the score is same as `${l.total}`and the rank is same as `${l.totalRank}`. It is therefore always possible to use the `Score` templates for a total-based competition.
- added new properties
- ageGroup.sortCode and category.sortCodeWithAgeGroup for templates. ageGroup.sortCode uses the code, max and min ages. category.sortCodeWithAgeGroup adds the age group to the sort order - this is used when there are several open championships happening together.
- athlete.gender.translatedGenderCode now returns the translation (for example, W instead of F)
- athlete.sortedCategoriesAsString for use in emergency fixes to SBDE -- ensures main category is the most specific one.
- athlete.sortedCategoriesAsString for fixing SBDE exports such that the main category is the most specific one
- Removed the LEGAL paper size from the list.
- Bar Loading:
- The weight under which collars are not used is now configurable. Default is 40kg.
- The normal grey bar color is used when 15kg bar is used for women or 20kg is used for men, even if the non-standard bar or children loading rules are in effect.
- Added a feature switch "usawCollars" to use collars if available except for U11 and U13 age groups (threshold is ignored)
- Documentation
- Reorganized the structure for running a comp, updated screenshots

- Records
- Exporting current records: It is now possible to export only the latest record for all the loaded records. There are two types of templates: the ones that start with "export" can actually be loaded in the program. The ones that start with "report" have translated column headers are meant for readability -- you can upload them to a Google Sheet for example.
- You can keep a historical master copy of the records by exporting all (which will include the successive improvements to a record). You can reload this at every competition.
- Medals: Medals are ordered by age group.
- Younger age groups first, presented in ascending bodyweight classes
- 15-20 comes before 17-20, with an exception for "all ages" age groups: M85 Masters (85-999) comes before Open (0-999)
- For age groups that have identical age ranges, groups with body weight categories before those that don't (score-based medals will be after the regular medals)
- Other
- IP addresses: if the network is using switches only with no DHCP server reachable, some servers may auto-configure with a link-local (169.254) address. Such addresses were previously hidden and will now be shown in the list.
- Experimental feature to stop or restart the system from the web interface. Currently shown on the home page if the feature switch `manageOwlcms` is present.
- Ages are now always calculated relative to the competition date.



For other recent changes, see [version 52 release notes](https://github.com/owlcms/owlcms4/releases/tag/52.0.6) and [version 53 release notes](https://github.com/owlcms/owlcms4/releases/tag/53.1.0)
For other recent changes, see [version 54 release notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.1) and [version 53 release notes](https://github.com/owlcms/owlcms4/releases/tag/53.1.0)
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ trigger:
parameters:
- name: Revision
type: string
default: 55.0.0-alpha01
default: 55.0.0-alpha02
- name: SkipTests
type: string
default: 'false'
Expand Down
4 changes: 2 additions & 2 deletions docs/Downloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Several options are available for installation, depending on your needs. Additio

| | |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| **Local Setup** <br />This installs the `owlcms` program to run a competition locally, on a master laptop. No internet connection is needed.<ul><li>[Windows Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalWindowsSetup)<li>[Mac/Linux/Raspberry Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalLinuxMacSetup)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.0)</nobr></ul> | <nobr><i class="material-icons" style="transform: translatey(0.30em)">file_download</i> **[Windows Installer](https://github.com/owlcms/owlcms4/releases/download/54.2.0/owlcms_setup_54.2.0.exe)**</nobr><br/><i class="material-icons" style="transform: translatey(0.30em)">file_download</i>[Zip for Mac, Linux or Raspberry](https://github.com/owlcms/owlcms4/releases/download/54.2.0/owlcms_54.2.0.zip) |
| **Cloud-based Setup**<br />This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located.<ul><li>[Fly.io Cloud Installation Instructions](https://owlcms.github.io/owlcms4/#/Fly)</li><li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.0)</nobr></li></ul> | |
| **Local Setup** <br />This installs the `owlcms` program to run a competition locally, on a master laptop. No internet connection is needed at the competition site.<ul><li>[Windows Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalWindowsSetup)<li>[Raspberry Pi/Linux Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalPiLinuxSetup)<li>[Mac Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalMacSetup)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.1)</nobr></ul> | <nobr><i class="material-icons" style="transform: translatey(0.30em)">file_download</i> **[Windows Installer](https://github.com/owlcms/owlcms4/releases/download/54.2.1/owlcms_setup_54.2.1.exe)**</nobr><br/><i class="material-icons" style="transform: translatey(0.30em)">file_download</i>[Pi/Linux Launcher](https://github.com/jflamy/owlcms-launcher/releases)<br/><i class="material-icons" style="transform: translatey(0.30em)">file_download</i>[Zip for Mac](https://github.com/owlcms/owlcms4/releases/download/54.2.1/owlcms_54.2.1.zip) |
| **Cloud-based Setup**<br />This installs the `owlcms` competition management software in the cloud. Good internet access is needed but no local software is needed. The `publicresults` companion program allows individuals to see the scoreboard on their own phone or tablet no matter where they are located.<ul><li>[Fly.io Cloud Installation Instructions](https://owlcms.github.io/owlcms4/#/Fly)</li><li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.1)</nobr></li></ul> | |
| **Documentation** | [Documentation site](https://owlcms.github.io/owlcms4/#/index) |

Note: the table above matches the repository you are looking at. If you are looking at the stable release documentation, the links will take you to stable releases, and if you are looking at the prerelease documentation, the links will take you to the preliminary release. If you need the other kind, please use the following links:
Expand Down
13 changes: 7 additions & 6 deletions docs/InstallationOverview.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Several installation options are possible, depending on what is available at the competition site and the size of the competition.

- Stand-alone installation, if you prefer to run things locally ([description below](#stand-alone-laptop-installation))
- [Windows Stand-alone Installation](LocalWindowsSetup)
- [Linux, Raspberry or Mac Stand-alone Installation](LocalLinuxMacSetup)

- Stand-alone installation, if there is no internet at the competition site or if you prefer to run things locally for best reliability ([description below](#stand-alone-laptop-installation))
- [Windows Installation](LocalWindowsSetup)
- [Raspberry Pi or Linux Installation](LocalPiLinuxSetup)
- [Mac Installation](LocalMacSetup)

- Cloud-based installation, where all you need are browsers (and a good internet connection). This is a good option for club competitions and virtual competitions. ([description below](#cloud-based-installation))

- [Fly Cloud Installation Instructions](Fly).
Expand All @@ -14,9 +15,9 @@ Several installation options are possible, depending on what is available at the

In a local stand-alone setup, there is no reliance on a trustworthy internet connection, but owlcms needs to be installed on a reasonably recent laptop with adequate performance.

- The owlcms software runs on a laptop (labeled owlcms in the diagram) which acts as a web server to the other screens and displays.
- The owlcms software runs on a computer (labeled owlcms in the diagram) which acts as a web server to the other screens and displays.

- The primary laptop and all the other screens and official stations are connected to a wi-fi network or physically cabled to a router.
- The primary computer and all the other screens and official stations are connected to a wi-fi network or physically cabled to a router.

- All the displays are driven by a web browser - all the laptops, phones and tablets have one.

Expand Down
69 changes: 69 additions & 0 deletions docs/LocalMacSetup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
## macOS Installation

> Pre-requisite: You may need to install the Java language on your computer before installing owlcms. See [Installing Java](#installing-java) section at the bottom of this page to check.
## Installation

- **Get the installation zip archive**: Get the current **[`owlcms_setup_54.2.1.zip`](https://github.com/owlcms/owlcms4/releases/download/54.2.1/owlcms_setup_54.2.1.zip)** file. Installation files are available as assets at the bottom of each release in the [release repository](https://github.com/owlcms/owlcms4-prerelease/releases/latest) .

> Tip: [This page](RaspberryInstall) illustrates the sequence of steps on a RaspberryPI and may help you follow along since the process is similar for the other platforms.
- Double-click on the downloaded zip file, and extract the files to a directory.

- We suggest you use `owlcms` in your home directory as the unzip location

- Start a terminal window and go to the installation directory where you unzipped owlcms. `~/owlcms` is the shortcut abbreviation for the `owlcms` directory inside your home.

```bash
cd ~/owlcms
java -jar owlcms.jar
```
This will start the program. See [Initial Startup](#initial-startup) below for how to proceed further.

- If you just want to use dummy data to practice (this will not touch your actual database), you can add the following additional options to the java command to start with demo data and run in memory without touching your data.

```
java -DmemoryMode=true -DinitialData=LARGEGROUP_DEMO -jar owlcms.jar
```


## Initial Startup

When owlcms is started on a laptop, two windows are used: a command-line window, and an internet browser

- The terminal (command-line) window (typically with a black background) is where the OWLCMS primary web server shows its execution log. Something like this will be visible to show that all is going well. If you have already started the owlcms program, you may see an error message telling you that you can only have one at a time -- you will need to find the other one and stop it.
![log](img/LocalInstall/log.png)

- Normally, a browser will be opened automatically. If the browser does not open automatically, start a browser and navigate to http://localhost:8080 . The browser will sit there waiting for the program to finish loading the database and become ready.

- After the browser page loads, if you look at the top, you will see what address to use when connecting from other laptops

![startup](img/LocalInstall/startup.png)

In this example the other laptops on the network would use the address `http://192.168.1.174:8080/` to communicate with the primary server. "(wired)" refers to the fact that the primary laptop is connected via an Ethernet cable to its router -- see [Local Access](EquipmentSetup#local-access-over-a-local-network) for discussion.

> When running a competition with a local router, it is recommended to connect the owlcms server to the router with an Ethernet cable. If a (wired) address is shown, this is the one you should use on the other laptops.
The addresses shown <u>depend on your own specific networking setup</u> and you normally use one of the addresses displayed on the home page.

If none of the addresses listed work, something in your networking setup is preventing access. The most likely cause is a firewall running on the server or on the network, which will need to be disabled.

- All the other displays and screens connect to the primary server. <u>You can stop the program by clicking on the x</u> or clicking in the window and typing `Control-C`. If you stop the program, all the other screens and displays will wait. If you restart the main program, they will notice and reload. Normally there is no need to reload them manually, but there is no harm in doing so.

## Installing Java

Make sure you have a Java17 installed.

- You can type `java -version` in a Terminal window to see if it is installed, and if so, what version you have.

- If Java is missing

- For macOS, see [MacOS Java 17](https://adoptium.net/temurin/releases/?os=mac&package=jre&arch=aarch64&version=17) and download the .pkg file. (Temurin is the code name for one of the free Java releases). Double-click the file.
- For Raspberry Pi, Ubuntu and other Debian variants, type


```bash
sudo apt install openjdk-17-jdk
```

- For other Linux distros, see [Linux Java 17](https://adoptium.net/temurin/releases/?os=linux&package=jre&arch=any&version=17) and choose according to the Linux you run
Loading

0 comments on commit badbccd

Please sign in to comment.