Scopos Developer Updates for May 2026

0 views
Skip to first unread message

Scopos Developer News

unread,
May 19, 2026, 1:37:07 PM (14 hours ago) May 19
to Scopos Developer News
The following is a summary of recent (and in progress) updates made to Scopos' programmatic access.

YouTube Video Introducing Scopos' Reconfigurable Rulebook
We've release a YouTube video introducing our Reconfigurable Rulebook. The video is intended for both developers and technical officers.  If you are unfamiliar, the Reconfigurable Rulebook takes the concepts found in a printed rulebook and puts them into a standard format that computers can understand called Definition files, which can then be used to run competitions.

REST API 2.0 with BabelFish 2.0 Now in Development
We have begun working on version 2.0 our our REST API and with it BabelFish 2.0 (our NuGet package) which will use the same API version. Version 2.0 is a major upgrade containing both new and updated data models for the shooting sports, a Result Engine for the Reconfigurable Rulebook, as well as new API calls. A summary of the changes follows.
Match
  • Matches may now have multiple Courses of Fire (1.x version allowed only one), each of which is defined in a new class CourseOFFireStructure.
  • Multiple properties within the Match class are now deprecated, as they previously existed when only one Course of Fire was allowed. These deprecated properties will remain for backwards compatibility for at least 1 year after release. They will however point to the first (and default) CourseOfFireStructure.
  • ResultListWizard data actor class is added to generated suggested ResultListAbbr (configuration data for a ResultList) based on a CourseOfFireStructure.
  • AttributeFilterCalculator data actor class is added to filter Participants (both Individuals and Teams) based on their AttributeValues.
MatchProject
  • Added the MatchProject class which is the Top level class that is a container for all data related to an Orion Match (data file). This includes the Match object itself, as well as the Participants, and raw score data. Also includes a Result Engine (data actors) to interpret definition files and help manage the Match data, such as the ShotMapper, ResultDocumentGenerator, ResultListSlidingWindow.
  • MatchProject includes serialization and deserialization methods to save to and read from files.
  • The new ShotMapper data actor stores shot data from ESTs (and other sources) and maps the shots to Events defined by the COURSE OF FIRE.
  • The new ResultDocumentGenerator data actor compiles Participant and Shot data into both (individual) ResultCOF and ResultList instances.
  • The new ResultListSlidingWinow data actor tracks recent versions of ResultList instances to use as comparisons in RankDelta calculations.
RULEBOOK Definition
  • Added the top level RULEBOOK definition. RULEBOOKs contains lists of options for Match Structures, Courses of Fire, and Attributes that a user can use to construct their own Match Structure and Match.
Tournament API Calls
A Tournament is a group of Matches. Once a Tournament is created "Merged Result Lists" may be added combining scores from accross multiple Result Lists from the member Matches.
  • Added API calls to create, read, and update Tournaments, this includes Merged Result Lists within a Tournament.
  • Added Tournament permissions to allow "Invite Only" (only the creator of a Tournament may add members), "Request to Join" (any Match may ask to join but the creator of the Tournament must approve), and "Open" (anyone may join without approval) policies.
Please note BabelFish 2.0 will contain multiple breaking changes when updating from version 1.x. The Rest API 2.0 will remain backwards compatible but old properties will be deprecated.

BabelFish (NuGet package)
Release of version 1.12.5
  • Added the ICheckSum interface to calculate a checksum value for high level documents. Intended to check difference in instances between local copy and a server's copy. Implemented in many DataModel/OrionMatch classes including Match, ResultList, ResultCOF, and SquaddingList.
Reply all
Reply to author
Forward
0 new messages