Skip to content

Commit

Permalink
53.0.0-alpha02
Browse files Browse the repository at this point in the history
  • Loading branch information
Jean-François Lamy committed Sep 14, 2024
1 parent c20e31c commit dc4741f
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 84 deletions.
30 changes: 2 additions & 28 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is a standard Maven project. 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-prerelease/#/Gitpod) documentation for additional information on how to setup a Gitpod or VisualStudio Code environment.

### Pre-requisites

Expand Down Expand Up @@ -30,30 +30,4 @@ This file describes how to build the program without changing it. If you want t

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.

When building for the actual release repositories `owlcms-docker` project to build Docker containers using `mvn package`, once the production build has been done.

### Building official releases

When building official releases, it is assumed that you have been added as a contributor to the Azure Devops project https://dev.azure.com/jflamy/owlcms4 .

In order to run a build,

1. Make sure you are on the branch you want to build. The release number you pick will determine whether the release is sent to the main release repository (if there is no -alpha/-beta/-rc modifier) or to the prereleases repository (if there is a modifier).
- The project typically uses two branches. For version 60, there would be `dev60` for the prereleases, and `main60` for the main releases.
- All releases, whether maintenance or not, are released first as a prerelease. So if there is a fix on release 60.0.0 to be called 60.0.1, there would first be a release 60.0.1-rc01. The results would be pulled back on the dev60 branch, and then merged to the main60 branch (this should be a fast-forward).
- After building main60, the results are merged back to the dev60 branch. Sometimes typos are fixed in the release notes, or similar, so we merge back to get all the tags ang everything back in sync.
2. Edit the `azure-pipeline.yaml` file and the `/owlcms4top/src/main/markdown/ReleaseNotes.md` files. Change the release number in `azure-pipeline.yml` file.
Use the release number as the commit comment (this is for readability, does not actually affect anything)
Commit and Push.
3. Go to the pipelines page https://dev.azure.com/jflamy/owlcms4/_build
Click on the first pipeline listed at the top
4. Use the "Edit" button at the top right.
5. At the left, select the branch you want to build. This should show you the azure-pipeline file, double-check you are on the correct release.
6. Run the build. Note that the page that comes up does NOT refresh automatically (it used to, Azure DevOps bug). To watch the build, click on any of the steps, that second page *does* refresh.
7. Once the build is over, go back to your dev environment and pull. This will bring back the tag just created.
8. If you built a main release, switch to the corresponding dev release and merge as described above.

Should you need to recreate the pipeline structure and release directories from scratch, the credentials are stored in two locations (depending on who needs them)

- Most credentials used by the Azure Devops tasks are stored as "Service Connections". These are in the "Project Settings" / "Pipelines" / "Service Connections". These are the ones actually used to push to github or docker.
- Other credentials are used as variables. They are defined in a the pipeline "Library" as a "Variable Group". See https://dev.azure.com/jflamy/owlcms4/_library?itemType=VariableGroups . The same credential may actually have been stored in both locations, for historical reasons.
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.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ Yet it is simple enough to setup that you can use it to run a club or regional c

### Licensing and Notes

This is free, as-is, no warranty *whatsoever* software. If you just want to run it as is for your own club or federation, just download from the [Releases](https://github.com/owlcms/owlcms4/releases) repository and go ahead. You should perform your own tests to see if the software is fit for your own purposes and circumstances.
This is free, as-is, no warranty *whatsoever* software. If you just want to run it as is for your own club or federation, just download from the [Releases](https://github.com/owlcms/owlcms4-prerelease/releases) repository and go ahead. You should perform your own tests to see if the software is fit for your own purposes and circumstances.

If you host the software, package it, or modify it, the license *requires* you to make the full sources available, including your modifications and the corresponding building instructions available for free (see the [License](https://github.com/owlcms/owlcms4/blob/master/LICENSE.txt) for details.) You may charge for your services and expertise, but everyone is entitled to the original software and to your modifications for free.
If you host the software, package it, or modify it, the license *requires* you to make the full sources available, including your modifications and the corresponding building instructions available for free (see the [License](https://github.com/owlcms/owlcms4-prerelease/blob/master/LICENSE.txt) for details.) You may charge for your services and expertise, but everyone is entitled to the original software and to your modifications for free.

### Authoring and Software Acknowledgments

Expand Down
68 changes: 23 additions & 45 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,28 @@
> [!IMPORTANT]
> [!CAUTION]
>
> - You should test all releases, with actual data, *several days* before a competition.
> - It is always wise to export your current database before updating if it contains important data.
> - 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.** - It is always wise to export your current database before updating if it contains important data.
- Maintenance log
- Maintenance log:
- alpha02: redesign of the check for whether an athlete's participation category is finished or not (`${athlete.categoryFinished}` in Excel templates.)
- alpha02: Fix of Competition Results information provided to the athlete eligibility report
- alpha02: added capability to override the Best Lifter scoring system for Competition Results.
- alpha02: updated documentation for Overall Best Athlete and Score-based Medals.

- 52.0.6
- Weigh-ins and registrations
- When weight is cleared and category is defined, don't reset eligibilities needlessly
- When a super-heavyweight athlete from a youth age group weighs in, correctly recompute the participation in older age groups if eligible.
- Record Exports. Fix: The file produced by an export records definition could not be read back as is.
- Break Timers: if a short CJ break was running, it was not cancelled if a longer break was started manually
- Medal Schedule: Added a new template that lists, for each category, when the medals will be handed out (computes when the last athlete from that category is done)
- 52.0.5
- Publicresults: improved traces and exception catching for cleaner logs.
- Competition Results:
- Recalculate Ranks now recomputes the global best lifter ranking according to the selected global scoring system
- The championship category names are now used when producing the result sheet for a specific championship. Each athlete appears once under the most specific category he is registered in that championship.
- Updated the Scores templates. This is used when Age-Group-Specific scores are used. Now shows the global "Best Lifter" scores as well.
- 52.0.4
- Fix: If "Medals according to score" or "Show Score on Scoreboard" are selected, then the global Scoring System is displayed on the scoreboard (as was the case in previous release)
- (Advanced usage note) If an AgeGroup-specific scoring system has been defined using the AgeGroups file, then the score and rank columns are automatically shown for any session in which such an age group is present, and the specific rankings are used instead of the global one.
- Translations (ru)
- 52.0.3
- Publicresults: fixed memory allocation configuration for using large containers in large competitions (ex: 200 simultaneous viewers of scoreboards for 3 simultaneous platforms)
- owlcms: fixed occasional extra notification of weight changes to the announcer.
- owlcms: ${athlete.categoryFinished} can now be used in results templates (those used in the Session Results page). When producing interim results, this variable can be used to hide athlete ranks in categories where some athletes have finished but others still need to lift.
- 52.0.2 The new faster SBDE (Start Book Data Entry) full export was not correctly exporting the session information, now fixed.
- 52.0.2 Fixed formatting for schedules, restored the DaySchedule with individual age groups.
- 52.0.1 Overzealous check was preventing some customized schedules from printing.
- **MIGRATION NOTES**
- If you have created your own document templates, or if you created a "kit" of local documents for your federation, some templates have been moved to more specific folders and you may need to move your own templates. Install a clean copy of the application and look at the locations in `local/templates`. Use the updated `Prepare Competition > Documents` page to check that the buttons show your templates.
- Documents: New and Improved Documents page
- All documents needed to prepare and run the competition are here (Results are still on their own page).
- The Competition-wide documents such as the Start List are handled as in the previous versions.
- Documents like the Athlete Cards can be produced for one or more sessions. If more than one session is selected, a zip file is produced, otherwise the Excel is produced.
- Document sets can be produced, for example, a weigh-in form together with the cards. When a document set is selected, a zip file is produced. The document set can be produced for one or more sessions.
- If more than one copy of a document is needed (for example, two weigh-in forms for each session), you can adjust your template by duplicating the tab. Same for jury forms if you want to avoid printing 3 copies manually.
- Schedule:
- added a Simple schedule template that uses the description of the sessions.
- A more sophisticated DaySchedule template shows age groups and bodyweight categories, now available in local languages.
- Scoreboards:
- Fix: Immediately after the 3rd snatch, while the decision lights were shown, the bottom line of the scoreboard would be stretched. Now fixed.
- SBDE export:
- Converted the template to jxls3, resulting in massive speed improvement (~7 seconds for 1000 athletes).
- Ability to override of the Best Athlete scoring system
- On the competition results page, it is possible to select a scoring system that will be shown in the grid. This allows computing the best athlete for a championship using a different scoring system (for example, using Q-youth age-adjusted totals for a Youth championship)
- The `Scores` final package templates uses the overridden Best Athlete scoring system and can be used for such circumstances if a document is needed.

- Children Categories Bar Rules
- Automatic use of 15kg bar for U11 and U13 categories is now under a feature flag `lightBarU13`. This is the same as removing the 20kg bar for younger boys age groups. If an athlete needs the 20kg bar, the "Non-Standard bar" feature can be used.
- Support for Q-masters results
- Q-masters is like SM(H)F but based on Q-points instead of Sinclair. It is Q-points * the same age factor as SM(H)F
- The default templates for Masters protocols, result sheets, and competition books now show the Q-masters value in addition to the SM(H)F.
- Import of External Session Results: the following is now possible
- If a session needs to be run outside or in another building a) perform weigh-in normally and enter data normally in the main database. b) Export the main database and load it into the owlcms running in the other building c) Run the session, export the remote database c) Use the new feature at the bottom of the Results page to selectively read back the lifts from the remote session.
- Only the lift information is read back. Note that owlcms follows the rules and will determine winners according to the lifting order that would have been followed had all sessions taken place normally.
- jxls3 Templates
- In the top cell, where `jx:area` is given, it is now possible to add a directive of the form `owlcms:fixMerges(4, [1, 2, 3])` This would merge cells vertically in columns 1, 2, 3, starting with row 4. The cells are merged from the non-empty value down to the next non-empty cell. This is a workaround for a limitation/bug in jxls3. See the `templates/schedule/DaySchedule.xlsx` file for an example.
- Locale: fixed a race condition where pages would load before it was determined that the application should switch to English because there is no translation for the local language.


For other recent changes, see [version 50 release notes](https://github.com/owlcms/owlcms4/releases/tag/50.0.0) and [version 51 release notes](https://github.com/owlcms/owlcms4/releases/tag/51.0.0-rc02)
For other recent changes, see [version 51 release notes](https://github.com/owlcms/owlcms4/releases/tag/50.0.0) and [version 52 release notes](https://github.com/owlcms/owlcms4/releases/tag/52.0.6)
4 changes: 2 additions & 2 deletions Releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ There are two release channels: one repository contains stable releases, the sec

| | STABLE releases | PRELIMINARY releases |
| :----------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| **Local Setup** This installs the `owlcms` program to run a competition locally, on a master laptop. No internet access is needed. | <ul><li><nobr>[**Windows Installer (owlcms...exe)**](https://github.com/owlcms/owlcms4/releases/latest) and [Instructions](https://owlcms.github.io/owlcms4/#/LocalWindowsSetup)</nobr><li>[**Mac/Linux/Raspberry Kit (owlcms...zip)**](https://github.com/owlcms/owlcms4/releases/latest) and [Instructions](https://owlcms.github.io/owlcms4/#/LocalLinuxMacSetup)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases)</nobr></ul> | <ul><li><nobr>[Windows Installer (owlcms...exe)](https://github.com/owlcms/owlcms4-prerelease/releases/latest)</nobr><li>[Mac/Linux Kit (owlcms...zip)](https://github.com/owlcms/owlcms4-prerelease/releases/latest)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4-prerelease/releases)</nobr></ul> |
| **Cloud-based Setup** 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></ul> | |
| **Local Setup** This installs the `owlcms` program to run a competition locally, on a master laptop. No internet access is needed. | <ul><li><nobr>[**Windows Installer (owlcms...exe)**](https://github.com/owlcms/owlcms4/releases/latest) and [Instructions](https://owlcms.github.io/owlcms4-prerelease/#/LocalWindowsSetup)</nobr><li>[**Mac/Linux/Raspberry Kit (owlcms...zip)**](https://github.com/owlcms/owlcms4/releases/latest) and [Instructions](https://owlcms.github.io/owlcms4-prerelease/#/LocalLinuxMacSetup)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4/releases)</nobr></ul> | <ul><li><nobr>[Windows Installer (owlcms...exe)](https://github.com/owlcms/owlcms4-prerelease/releases/latest)</nobr><li>[Mac/Linux Kit (owlcms...zip)](https://github.com/owlcms/owlcms4-prerelease/releases/latest)<li><nobr>[Release Notes](https://github.com/owlcms/owlcms4-prerelease/releases)</nobr></ul> |
| **Cloud-based Setup** 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-prerelease/#/Fly)</li></ul> | |
| Documentation | [Documentation site](https://owlcms.github.io/owlcms4/#/index) | [Documentation Site](https://owlcms.github.io/owlcms4-prerelease/#/index) |
Loading

0 comments on commit dc4741f

Please sign in to comment.