SOSS - a chess pairing program
by Christer Sandberg
Manual for SOSS 7.0.1


General introduction

The basic concept of this chess pairing program is to support audience friendly chess events. This is done by provinding fuctions for proper print outs of standings as well as pairing cards. Another imporant idé is to make it simple for for the organizer of a event to manage all types of operations; common operations like reporing results as well as the unexpected like dropouts, erroneous advance entrances that are discovered after startings etc. should be carried out efficiently.
Lots of operations are automatized, like printouts, pairing, saving.
The possibilty of reporting results in random order using bar-code readers facilitates a safe and quick.

Basic concepts

First of all you have to create an event. All subsequent operations referes to that event, until next time you create a event (or switch back to an old one).
Definition: group simply means the persons that are to be paired. The criterias used for grouping is entirely determined by the user (e.g. rating or age). Groups belongs to a certain event.
Definition: club menas club, class, school or similar (the latter may be applicable e.g. in school tournaments). Clubs is a concept for Clubs belongs to a certain event.
Any player must belong to both a club and a group, and consequently also to a event.
A event may be of a type where groups are to be partitioned into sub groups the players are entered in advance into one or more parent groups. These (or this) can later be automatically partitioned into sub groups (e.g. based on even averag rating). In these cases only the sub groups are real groups where players can be paired while the parent groups are just containers.
Persons entered into the system has a certain state. After the entrance in advance the will be simply "pre-entered". Only persons that are in the state "player" (i.e. the ones that are "final entered") will be taken in account when paiaring is done. This is to make simpler for you manage the enrances properly.

Quick reference

To create an event.
In the menu File select the alternative New event and then select the sub alternative Create. Enter whatever name you prefere in the name box. Check the box Use and Entering of players in one of the tab winows Clubs or Schools. Finally click OK. (It may be confusing that you need to do this, but note that there are events where you may want to use both clubs and schools)
To create group(s)
Select the tab Groups in the main window. Click the button Groups above the list box labelled Groups. You have to enter a Name of the group in the dialogue winodw that was opened. In case needed: enter other relevant data. Specially note that the default pairing system is Monrad ?? (...don't know the Br. Eng. name for this "simple swiss system"). Change this if necessary. 7 rounds is default, also change this if you want something else. The rules for tie-break can be chosen in a separate tab window. Click OK when finished. Repeate the procedure if there are more groups in the event. If you like to do changes in the group configuration later on, just click (right mouse button) on the group name concerned, to start up an edit dialogue.
To enter clubs (or schools etc)
Select the tab Entering in advance in the main window. Click on the button Add above the list box labelled Clubs. Type the name of the club in the name box of the dialogue window that was just opened. You may also enter a brief name of the club If you prefere so. Click OK when finished. Repeate the procedure if there are more clubs in the event. If you like to do changes in the club configuration later on, just click (right mouse button) on the club name concerned, to start up an edit dialogue.
To enter players
Select the tab Entering in advance in the main window. Select the club to where the players belong. You can do that by a left click on the club name in the list box to the left (labelled Clubs). The club name drawn in red is the one which playes is focused in the right list, labelled players, (the name of that club is also shown in the status field just below that list). Now click on the button Add above the list labelled Players. A dialogue window will be opened. Add the data that are relevant for the player. You can extend the set of components in the dialogue to suit the certain event you are working with for the moment. You can do that by selecting apropriate items in the menu Adapt. In that menu you will also find some possibilities to adapt the procedure of entering players.
When all data concerning the player are finished, just press the Enter-key until the Add button is highlighted. Then press Enter again. Press tab to continue entering of more player from this club. Note! If this is a event with multiple clubs: don't forget to change the group when necessary. Click Close when finished all the players from this club.
Repeate the procedure for each club.
If you later on need to enter more players to a club, then this is possible by simply using the same procedure.
If you later on need to change the data concerning some player, then just click (right mouse button) on the name of the player in any of the list-boxes where it appears, and you will thereby start an edit dialogue.
The above sequence of operations does not need to be followed strictly. You may for instance (also after the point where the event has started) add more groups, clubs and players. A comfortable sequence is maybe to finish all entrance concerning one club (including the players) in the order you receive the entrances from the clubs.

Note: Even if your event is small, you will never be done if you don't create at least an event, a group, and a club.

Check in.
It is necessary to check in all players that are to be paired. The purpose of this procedure is to help you avoid that players entered in advance and that don't turn up would be paired by mistake. A scratched player is however not the same as a deleted player. A scratched one is still in the "database" and can easily be added (in case he or she will turn up too late, say to round 2). So the check in is prefarably done on the day for the start of the event. A player is checked in by a left click on the player name in one of the tabs Entering in advance or Groups (there are also short cuts in the menus for checking in an entire group or club). A player that is checked in get a check mark to the left of the name. Players are scratched by clicking twice. If you accidently make some error, just click a third time and the original state will return (the state toggles undefined-checked-scratched-undefined- ).

To make the initial pairing for all groups: select Pair all in the menu Tools. To pair a single group: select the tab Groups in the main window, click (right mouse button) on the group you want to be paired then click Pair group

Reporting of results.
Select the tab Result in the main window. Select the group in which the round is completed by a left-click on the name of the group in the list labelled Groups (the name of the group will turn to red colour and the player pairs will show up, white player to the left and the black opponent to the right on the same row. Use left mouse click to mark the winner (or in the column in between in case of draw). The program will confirm the entered result by showing it in the middle column. Repeate the procedure for each player. When all results has been entered the next round will be paired automatically.

Whenever you like, you can make print-outs of prefered data. Select e.g. the Print-menu that you can find close to most of the list boxes (at the top). The categories of print out alternatives shown in that menu is context sensitive (i.e. you will only see the ones that make sense for the contents of that specific list box). Usually there are several alternatives in the menu. If you like to do advanced things you can adapt some print out alternative(s) to your own taste (in which case you can select Adapt in the menu Print in the main window.

It may be a good idea making yourself comfortable with SOSS before using it sharp. Just remember to not making the test event too small. It is e.g. impossible to pair 7 rounds swiss if there are just 3 players checked in... Also remember that it is easier to understand the ideas with all functions if your "toy-event" is reasonable sized. There is really no need for a computer program if you just need to pair e.g. 8 persons in a round robin tournament, is it?

When you have already tried it...

There are lots of functions in SOSS. To not get drowned you are strongly engouraged following the concept above to get the main ideas how to use the program. Then you can continue here.

Team competitions.
You can choose to use team competitions (i.e. in an individual competition set up rules to choose the best club etc). This can be done based one various criterias in arbitrary combination. You can create a team competition either when you create the event or later on in the edit dialogue (select Edit in the File menu).

To set up a certain event there may be a lot of data to to enter like lots of groups, all configured differently and there may be a number of complicated team competitions, and so on. It would be a pity to have to re-do this next year (or maybe to re-do it for a similar event quite soon).
To re-use the data you can create a template. To do that, select Create template in the menu Tools. The data that are saved concerns the event configuration, none of the data that concerns entrance (i.e. the clubs and players are not included in the template).

You may also add leaders to the clubs. This can be done using the same dialogue as when you added the players. Just set the person type so that it is Leader rather than Player The purpose of entering leaders is to make it convenient for you to get the name and address of some representative of a club. Typically you may want to confirm the entrances by mail or send the printed final results, in which case you can produce print outs for address labels or printouts for envelopes. It may also be convenient to have the name and address in the same database as the players and clubs in case of unexpected events.

If there are entrance fees to the event, these can also be handled in SOSS, you don't need a separate database for that. If the organizer of an event administrates accomodation, food and alike, then also this can be handled by the booking system of SOSS. You can get print outs to see the current state of the payment, summations for both individuals and per clubs. This makes it easy to maintain and to correct errors. An evil thought: if it turns out to be hard to inqury the payment for some person, you can just add a column for that in the standings print out - I havn't tested this but I guess that that payment would arrive quite quickly!

If an event administrates accomodation etc., then it may be that also persons not participating in the event need accomodation (parents or leader in events for youth competitions etc.). To make the booking summation complete in such cases, you may optionally enter also non-players. This is handled as leaders.

The printing system of SOSS is very flexible. Actually there is no print out type at all in the core program, they are all just external objects. There can be an arbitrary amount of print out types, specially there can be 0. To save the tedious work of yours to create lots of print out types SOSS is shipped with about 30 different print out types. If none of these is to your satisfaction, you can make almost arbitrary changes of any print out, changes concerning the lay out as well as the content. If you want to do changes you need to select All print outs in the menu Tools. Click (left) on the print out type that you want to edit. You can also first make a copy and perform the editing on the copy. Click right and select Copy to make a copy.
If you eventually create some useful print out, I would appreciate if you send it to me. Just send the file "printouts.en" to me and I will add your additions to the standard collection. You can also import a specific print out type from some other print out type file.
When you want to make a print out, you just need to choose the desired print out type (template) from the menu above a list. This will cause a paper print out with the players from the list on the screen. The template controls the format of the printout.
SOSS will print the result from the latest finished round, i.e. normally up to and including the round before the last paired round. Table numbers and the pairing will be printed for the latest paired round.
It is also possible to choose some other round number for the print out (from the same menu).

If you e.g. want to publish the carrent standings or the final results on some internet site, you can use SOSS to directly produce such a page. Select Adapted print out in some menu "Print". Click Adapted for the print out you whish to create an Inernet page from. Select the tab File in the dialogue window just opened. Check Print to file and select Html as file format. Enter a file name the way you prefere and finally Print. After that you can link it and upload it. You can of course also preview the file in your favourite browser first.
The layout of an Internet page usually need to slightly different from what need when advertise the same stuff as a hard copy on the wall. This makes a good reason for previewing before publishing. There are a few print out types slightly modified to suit for web publishing.

Exporting to Excel etc. from SOSS
Maybe you want to make some further processing in some other program of some data in SOSS. This can be done by directing a print out to a text file. The important thing in this case is to ensure that print out type used puts the data in stright columns. It can aslo be a good idea to omit header lines to facilitate for the external program to identify the data. Most programs (yes there are others than Excel...) manage to import from text file provided that the columns are created using blanks. To create a text file, just follow the instruction for Internet pages but select Text rather than Html.

Import to SOSS from Excel, e-mail, etc.
Insead of typing the names of the players by hand, you can import the names as well as some additional data from from a text file. The big advantage with this is maybe not the time saved, but rather the accuracy of the entered data - it will help you avoid embarrasing missspellings. Suppose you have got an e-mail with some players from some club. Just create a text file following this instruction: Mark the part of the e-mail concerning the enterance and select "Copy" in your e-mail client. Start the program "Notepad" and paste. Now select "Save as" in the file menu and choose a suitable location and name for the file.
If you, for some reason, have played around with some of the persons to enter in e.g. Excel you can similarly select "Save as" and also select the file type to "Text" (or "Plain text" or similar)
A file created similar to the above can easily be imported to SOSS as an enterance in advance. Select Import from the menu Tools and then Text file. SOSS will try to identify the columns and their mening, which will be displayed in Step 2 and Step 3 of the dialogue. You can adjust this in the dialogue if it was not possible for SOSS to find out how the information was grouped.

Bar codes
It is possible to print pairing cards (similar to monrad cards) before each round. In addition there can be bar codes printed on the cards. After a game has been finished the result can be recorded on the card, when the card is colleted. When a batch of cards has been collected the results can easily be tranfered to SOSS using a bar code reader. This method has been prooven very efficient, specially on big events.
Bar code readers are standardized, and can either be connected to the keyboard input (in parallel with the ordinary keyboard) or to a serial port. It is possible to connect up to 5 bar code readers at the same time. Bar code reades can be configured a bit different. Therefore it is important that you ensure they are configure the right way berfore starting to use them (configuring is usually done by reading some special bar codes trigging a configuring mode in the reader). The following properties has to be fulfilled:

To make SOSS start listening to the bar code reader you have to enter (under "settings") what type of reader you have (key board or serial), and, in case of serial, also enter the port number (0, 1, etc) to which it is connected.

Mixed group
It may happen that some group has too few players. This may typically occur in a chess event for youth. If, e.g., the number of players in the group for the oldest youth contains only two or three players you can still offer them to have meaningful games by attending the next oldest group. If you make such a mixed group you are of course interested in the standings of the two groups separately.

There is a function in SOSS that support this type of mixed group (you find it in the quick-menu that you get if you right-click on a group). You can chose to print the standings in the mixed group in total or in the original groups separately.