Skip to content

Commit

Permalink
Merge pull request #205 from renemadsen/upstream
Browse files Browse the repository at this point in the history
Upstream into dvf
  • Loading branch information
renemadsen authored Jan 26, 2025
2 parents c30ebe2 + d83b58d commit ada2057
Show file tree
Hide file tree
Showing 51 changed files with 2,673 additions and 2,634 deletions.
20 changes: 7 additions & 13 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,27 @@
## Building and Packaging

This is a standard Maven project. If you wish, you can build the binaries from this source.
This is a standard Maven project that creates a uberJar with all the dependencies. If you wish, you can build the binaries from this source.

This file describes how to build the program without changing it. If you want to change the code, please see the [Contributing](https://owlcms.github.io/owlcms4/#/Gitpod) documentation for additional information on how to setup a Gitpod or VisualStudio Code environment.
This file describes how to build the program without changing it. If you want to change the code, please see the [Contributing](https://owlcms.github.io/owlcms4/#/Gitpod) documentation.

### Pre-requisites

- Install git : Installing [GitHub Desktop](https://desktop.github.com/) is the easiest way to install Git on a Windows system. Select the options to add the programs to the execution path.
- Clone this repository
- Install Java 17
- Install Java 17 or newer
- Install Maven

- To build the Windows installer, you need to be on Windows and [Innosetup](http://www.jrsoftware.org/isinfo.php) needs to be available. The portable version used in the build is found under the `installtools/main/assembly` directory, so there is no need to actually install it.


### Building and testing

- From the owlcms4 directory, running ``mvn -P production -am -pl clean owlcms package `` should give you
- `owlcms/target/owlcms.jar` a working "uberjar" (that is, a .jar file that contains all the dependencies together in a single file). This file can then be run using `java -jar owlcms.jar app.owlcms.Main`
- `owlcms/target/owlcms.zip` which is used on Linux and Mac


### Building and testing the Windows installer

- Running ``mvn package -P production`` inside the `owlcms-windows` subdirectory should give you a working installer. This build needs to be run on a Windows machine because the installer builder is Windows-specific.
- The installer is then found in `owlcms-windows\target\owlcms_setup\owlcms_setup.exe`
- `owlcms/target/owlcms.zip` which is used for actual packaging by the owlcms/owlcms-controlpanel project

### Building a Docker container

There is a Dockerfile in owlcms4top to build owlcms for quick testing to the fly.io cloud (see deploy.sh). Building publicresults would be similar.

The current process for actual production builds uses the `owlcms-docker` project to build Docker containers using `mvn package`, once the production build has been done.
### Release Builds

A full release workflow is in `.github/workflows/release.yaml`
46 changes: 38 additions & 8 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,46 @@
> [!CAUTION]
> REMINDER
>
> - 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.
> - You should test all releases, with actual data, *several days* before a competition.
| Introducing the Owlcms Control Panel |
| ------------------------------------------------------------ |
| **New and improved installation process for owlcms**.<br><br>Previously, only Windows had a full installer. From now on all platforms use the same installation process: a "Control Panel" program is now available for Windows, macOS, RaspberryPi OS and Linux. It handles installations and updates, as well as starting/stopping owlcms.<br><br>**See the [Control Panel Installation Instructions](https://owlcms.github.io/owlcms4-prerelease/#/LocalDownloads.md) and the user guide for the [owlcms Control Panel](https://owlcms.github.io/owlcms4-prerelease/#/LocalControlPanel.md).**<br><br>From now on the release area only includes the owlcms files that are loaded by the control panel. The control panel has its own separate [repository](https://github.com/owlcms/owlcms-controlpanel). |

**Maintenance Log**

- 55.1.3: Changes to Language and System Settings could not be saved due to a validation done on the wrong field
- 55.1.3: When defining categories on the registration or SBDE spreadsheet, use `;` or `,` as delimiter. Use of `/` is ambiguous and is no longer accepted.
- 55.1.2: "Single Referee" now works for keypads
- 55.1.0: Added a competition rule to use the 20kg rule for Masters athletes instead of the official 80%

**New In This Release**

- New [Installation Instructions](https://owlcms.github.io/owlcms4-prerelease/#/LocalDownloads.) and startup instructions using the [owlcms Control Panel](https://owlcms.github.io/owlcms4-prerelease/#/LocalControlPanel.md) for updating, launching and stopping OWLCMS on a local computer.

- Ability to set the duration of the clean & jerk break explicitly for a session, overriding the competition-wide rules.

- A new Excel template variable `${session.cleanJerkBreakMinutes}` can be used to show this to the announcer if you have a specific template for athlete introductions

- Competition Rules: It is now possible to force the 20kg rule for Masters instead of the 80% rule.

- Refereeing: Selecting "Single Referee" using the ⚙menu now works with keyboard shortcut keypads (USB, Bluetooth, Joystick).

- Any of the 3 referees will work, but configuring the center referee makes most sense (3 = good lift, 4 = no lift). A single decision will trigger the down signal.

- New [Windows Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalWindowsSetup) and [Raspberry Pi and Linux Installation Instructions](https://owlcms.github.io/owlcms4/#/LocalPiLinuxSetup) using owlcms-launcher for updating, launching and stopping OWLCMS on a local computer.
- Simplified Video Setup
- The default style for Video Streaming is now `transparent` . When using `transparent`
- The default style for Video Streaming is now `transparent`
With this change,

- 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


See the documentation on using [OBS](https://owlcms.github.io/owlcms4-prerelease/#/LocalDownloads.) for examples of using the transparent style.

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

- Templates: a new _FlatFile.xlsx template is available for Competition Results. It is meant for statistical analysis where headers for each category make reading the file difficult.




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)
For other recent changes, see [version 55 release notes](https://github.com/owlcms/owlcms4/releases/tag/54.2.1) and [version 5 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 @@ -8,7 +8,7 @@ parameters:
- name: SkipTests
type: string
default: 'false'

variables:
# overrides pom.xml; must be unique if BuildGoal is set to deploy.
- name: Revision
Expand Down
2 changes: 1 addition & 1 deletion docs/Countries.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ The following list has been compiled from usage data gathered since January 2024

| Used at National Federation Events | Used for Regional or Local Events |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| The national federations in these countries have used the software for national, multi-national or continental events. This is in addition to usage by local clubs or regions listed in the next column<br /><br />Algeria<br/>Argentina<br/>Armenia<br/>Bahrain<br/>Belgium<br/>Bolivia<br/>Bosnia and Herzegovina<br />Brazil<br/>Canada<br/>Denmark<br/>Ecuador<br/>El Salvador<br/>Estonia<br/>Faroe Islands<br/>Finland<br/>France<br/>Greece<br/>Hungary<br/>Iceland<br/>India<br/>Israel<br/>Lithuania<br/>Mexico<br/>New Zealand<br/>Norway<br/>Peru<br/>Portugal<br/>Puerto Rico<br/>Russia<br/>Saudi Arabia<br/>Spain (Masters)<br/>Sweden<br/>Switzerland<br/>The Netherlands<br/>United Arab Emirates<br/>United Kingdom<br/>United States<br/>Uruguay<br/><br /><br /><br /><br /><br /><br /><br /><br /> | There is documented usage in individual clubs or regions of the following federations<br /><br />Albania<br />Australia<br/>Austria<br/>Belarus<br/>Bulgaria<br/>Cambodia<br/>Cameroon<br />Chile<br/>Chinese Taipei<br />Colombia<br/>Cook Islands<br />Costa Rica<br/>Croatia<br/>Cyprus<br/>Germany<br/>Georgia<br />Greece<br/>Guam<br />Guatemala<br/>Honduras<br/>Hong Kong<br/>Indonesia<br/>Ireland<br/>Italy<br />Japan<br/>Kazakhstan<br />Kyrgyzstan<br />Luxembourg<br/>Malaysia<br/>Morocco<br/>Panama<br/>Philippines<br/>Poland<br/>Qatar<br/>Romania<br />Singapore<br/>Slovenia<br/>South Africa<br/>South Korea<br/>Sri Lanka<br/>Switzerland<br/>Thailand<br />Türkiye<br/>Ukraine<br/>Uruguay<br/>Venezuela<br/>Vietnam |
| The national federations in these countries have used the software for national, multi-national or continental events, as well as local, club or regional events<br /><br />Algeria<br/>Argentina<br/>Armenia<br/>Bahrain<br/>Belgium<br/>Bolivia<br/>Bosnia and Herzegovina<br />Brazil<br/>Canada<br/>Denmark<br/>Ecuador<br/>El Salvador<br/>Estonia<br/>Faroe Islands<br/>Finland<br/>France<br/>Georgia<br />Greece<br/>Hungary<br/>Iceland<br/>India<br/>Israel<br/>Lithuania<br/>Mexico<br/>New Zealand<br/>Norway<br/>Peru<br/>Portugal<br/>Puerto Rico<br/>Russia<br/>Saudi Arabia<br/>Spain (Masters)<br/>Sweden<br/>Switzerland<br/>The Netherlands<br/>United Arab Emirates<br/>United Kingdom<br/>United States<br/>Uruguay<br/><br /><br /><br /><br /><br /> | In addition, there is documented usage in individual clubs or regions of the following federations<br /><br />Albania<br />Australia<br/>Austria<br/>Belarus<br/>Bulgaria<br/>Cambodia<br/>Cameroon<br />Chile<br/>Chinese Taipei<br />Colombia<br/>Cook Islands<br />Costa Rica<br/>Croatia<br/>Cyprus<br/>Germany<br/>Greece<br/>Guam<br />Guatemala<br/>Honduras<br/>Hong Kong<br/>Indonesia<br/>Ireland<br/>Italy<br />Japan<br/>Kazakhstan<br />Kyrgyzstan<br />Luxembourg<br/>Malaysia<br/>Morocco<br/>Panama<br/>Philippines<br/>Poland<br/>Qatar<br/>Romania<br />Singapore<br/>Slovenia<br/>South Africa<br/>South Korea<br/>Sri Lanka<br/>Thailand<br />Türkiye<br/>Ukraine<br/>Venezuela<br/>Vietnam<br /> |
30 changes: 8 additions & 22 deletions docs/EquipmentSetup.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,25 +82,11 @@ If the equipment used for display has no speakers, you can get the main computer

## Internet Access

When available, Internet access is used for two reasons

1. On the video streaming computers, to send video to YouTube or Facebook or another streaming service
2. On the owlcms computer send the competition results to the publicresults module of owlcms running in the cloud. This is increasingly desirable due to the cost and difficulty of setting up a large scoreboard in the main venue.

What complicates matters is that these computers also need to talk to the rest of the competition network, in addition to the Internet.

There are four ways to solve the problem.

1. If the facility can offer Ethernet access to their network, that is the preferred option. Simply connect the competition router to the facility's network.

2. If the facility has excellent WiFi, you can take the risk of running everything on the facility WiFi. Large facilities often have several WiFi networks. You should not use the WiFi used by the crowd, use a separate one if available.

3. You can connect the competition router to a cellular network hotspot

- Some routers (for example the ASUS RT-AX58U or RT-AX68U) have a USB port and you use a cellular phone to get Internet Access (just like sharing a connection)

- You can buy or rent a cellular router that has a SIM card. You connect the competition router to that router, and get Internet access that way. In the picture, the competition router is in the center. It is plugged into the cellular router at the left to get Internet access. The box on the right is a switch that adds additional ports to the router.

![hotspot](EquipmentSetup/Networking/hotspot.png)

4. You can connect OBS and owlcms to the router with a wire, and use the facility WiFi or a phone hotspot to get to the Internet. This is the approach illustrated in the second diagram -- OBS and owlcms communicate to the Internet on their own, independently. The configuration required is explained on [this page](PhoneHotSpot.md)
If available, Internet access is used for streaming and to publish results to the cloud. There are 3 scenarios

- You are using a local router and the router is connected to the Internet using Ethernet. There is nothing to do, all should work.
- You are using the facility Wi-Fi for all the computers, so they all have access to the Internet. Likewise, nothing to do.
- You are using a local router, but there is no Ethernet access to the Internet. There are 3 options:
- If there is Wi-Fi at the facility, you can wire your owlcms and OBS computers to the local router and also connect them to the facility's Wi-Fi. There is nothing required for macOS or Raspberry Pi. For Windows, see [Using Both Ethernet and Wi-Fi](WiFiPlusEthernet)
- There is no Wi-Fi, but you can use a phone as a hotspot. You would use the same approach as above, see [Using Both Ethernet and Wi-Fi](WiFiPlusEthernet)
- You can get a device called a Cellular Router. The competition router connects to the Cellular Router using Ethernet, and the Cellular Router connects to your LTE or 5G network.
2 changes: 1 addition & 1 deletion docs/FeatureToggles.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ These switches change the default behavior of the interface
| noLiveLights | If present, the speaker does not see the live decisions. | Can be changed from the speaker settings. |
| localTemplatesOnly | If present, the default templates distributed inside the owlcms binary will not be shown. Only the templates found in the local folder will be used. If a .zip file is used to package the local folder and upload it to the program, then only these templates will be shown.<br />This is normally used to create a zip with only the files used in a given federation, potentially renamed in the local language. | This feature can be activated on the Languages and Settings page. |
| shortScoreboardNames | if present, the normal scoreboards will use the abbreviated first names | On demand, on each scoreboard |
| masters20kg | If present, the Masters 20% rule is ignored. Used in mixed Masters and Seniors championships that do not follow IMWA rules. | Activated as a competition rule. |

### General Options

Expand All @@ -27,7 +28,6 @@ These switches change the default behavior of the interface
| forceAllFederationRecords | On scoreboards show records from all federations, not just that of the current athlete. E.g. South American records would be shown for a North American athlete during a Pan American championship. | Only available as a feature switch. |
| lightBarU13 | Ignore the 20kg bar when a youth age group includes athletes 12 or younger (U13, U11, U9 for example). | Only available as a feature switch. |
| childrenEquipment | If present, it is assumed that all platforms have 2,5kg and 5kg large discs, and have 5kg and 10kg bars | Only available as a feature switch. |
| masters20kg | If present, the Masters 20% rule is ignored. Used in mixed Masters and Seniors championships that do not follow IMWA rules. | Only available as a feature switch. |
| interimScores | If present, the Sinclair/SM(H)F/Q-points scores will be shown on the scoreboard and included in the results documents even if the total is 0. | Only available as a feature switch. |

### Specialty Features
Expand Down
2 changes: 1 addition & 1 deletion docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
* Video
* [OBS Setup](OBS)
* [Streaming on Facebook](Streaming)
* [Internet via a Phone](PhoneHotSpot)
* [Simultaneous WIFI and Ethernet](WiFiPlusEthernet)
* [Automatic Scene Switching](OBSSceneSwitching)
* [Replays](JuryReplays)
* Advanced Topics
Expand Down
2 changes: 1 addition & 1 deletion installtools/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<version>3.3.0</version>
<executions>
<execution>
<id>zip-innosetup</id>
Expand Down
2 changes: 1 addition & 1 deletion owlcms-docker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.45.1</version>
<version>0.42.1</version>
<extensions>true</extensions>
<configuration>
<skipRun>true</skipRun>
Expand Down
4 changes: 2 additions & 2 deletions owlcms-windows/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.7.1</version>
<version>3.1.0</version>
<executions>
<execution>
<id>windows_jdk</id>
Expand Down Expand Up @@ -288,7 +288,7 @@
<plugin>
<groupId>net.jsign</groupId>
<artifactId>jsign-maven-plugin</artifactId>
<version>6.0</version>
<version>2.1</version>
<executions>
<execution>
<goals>
Expand Down
Loading

0 comments on commit ada2057

Please sign in to comment.