This page can be used to download files from the server to your local computer. The files that can be downloaded are:
An entry report summarises any online entries which have been made to a gala. It includes a table with a row for each swimmer, sorted alphabetically, and a summary table, which includes costs. The entry report will change as new entries are made, and you should therefore download the report after the online entry closing date. This entry report is exactly the same file that the swimmers see from the front-end of the website. However, the file can only be downloaded from the Administration menu.
You will generally need to send the entry report to the gala organiser, together with the electronic entry files (see below). The entry report is an HTML file, with embedded styling. This means that your downloaded report can be viewed stand-alone in, for example, a browser or an email program. The downloaded report can therefore be attached directly to an email to the meet organiser.
The 'electronic entry files' are generated automatically from an entry report, and should be sent to the meet organiser, together with the entry report. You will need to find out whether the meet organiser is expecting a Hy-tek entry file, or a SportSys entry file.
Select Consolidated Entry File for SportSys meets. This generates a zip file, which contains two separate entry files: one for girls, and one for boys. You can send this zip file directly to the meet organiser, but it may be less confusing (to the meet organiser) if you first unzip the file into its two constituent '.txt' files, and send these two files instead.
The free (evaluation) version of 'SportSystems Meet Organisation' does not support the import of consolidated entry files. However, any version that supports the creation of meets will also support the import of these files.
Select SDIF for Hy-Tek meets.
The usual entry procedure when entering a Hy-Tek meet is to download a program called 'Team Manager Lite' from Hy-Tek. You must then manually enter the swimmers, events, and entry times, and generate a zipped entry file. This entry file contains an 'HY3' file, and is then sent to the meet organiser, who reads the HY3 file into 'Meet Manager'.
The online system instead automatically generates an 'SD3' file (this is an SDIF, or 'Standard Data Interchange Format' file). All Meet Manager versions support SD3 entry, but the meet organiser must have carried out a (free) online update to get a recent release of their version. If they have carried out this update, they can go to File → Import → Entries, and the file selection dialog will list SDIF files for import.
A 'Meet Description File' (or MDF) is an HTML file which describes a specific gala. It contains a number of tables which provide a general description of the gala, together with any qualifying and cut-off requirements. This file drives the online entry software. You can upload new description files to the server, and download existing files from the server.
You will normally only need to download an MDF in order to send it to another club, to allow them to enter your meet. You should do this even if the recipient club does not run SwimAdmin, since the file is viewable in a browser, and shows full entry information for the gala (qualifying and cut-off tables, dates, event prices, and so on).
You can create your MDF from the Administration > Create MDF page.
You should download this file and edit it (in Excel, or an equivalent program) to reflect your own club 'flash' policy. If you do not award flashes for LC events, for example, then you can simply delete the LC times in this file. You can also change the times themselves if necessary.
When you have completed your changes, you should upload your new spreadsheet (Administration > File upload > Flashes). This new file will become the flashes policy for your club. If you do not upload a new file, the standard CSPA times will be used.
Note that times in the CSPA file must be entered in the correct format. '1 minute 26.2 seconds', for example, must be entered as '1:26.2' (or '1:26.20'). See the Reference Manual (section 3.2) for details on how to enter times in a spreadsheet. The server will check your file and report any formatting errors.
This spreadsheet shows your current flashes policy. If you have never uploaded a new flashes policy, then it will simply contain the original CSPA events and times.
If you download this file, it will be returned as a CSV (Comma Separated Value) file ('flashes.csv', rather than 'flashes.xls'). You can modify the CSV file itself and upload it directly to the server as a new flashes policy. However, you should note that if you open 'flashes.csv' in Excel to edit it, then Excel is likely to change the time formatting from 'Text' to 'General', and the times may not display correctly. The CSV data itself will be correct. To avoid this issue, you should instead modify and upload the original CSPA spreadsheet (as described in 'CSPA times' above).
The entire online system is driven by a SQL database. SQL ('Structured Query Language') is a standard language for managing relational databases; it is generally pronounced as 'sequel' (although some people call it 'ess cue ell'). The database is, more specifically, an sqlite3 database.
You can download the current database at any time, and you should do so on a regular basis, to keep your own backup copies. You should, in particular, download the database before you make any major changes to it. If you make an error in your changes, then you can simply upload your saved version of the old database, instead of trying to fix the new database. The download will take a little while to complete, as the server has to create on 'online backup' of the database, which is a complex process. You can download the database even if several other people are currently modifying the database.
On a download, the server appends the current date and time to the database filename. If you have a collection of saved databases, and sort them by their name, they will therefore also be sorted by the date and time on which you saved them.
The database is a 'binary file'. In other words, you can't simply use a text editor or word processing program to read it, and you should not attempt to do so: your program may change the database in a way that makes it unusable.
You can, however, read and modify your local copy of the database, if you are familiar with SQL. You can download a command-line shell from the sqlite website, and this shell can be used to access and modify your local database. You may wish to do this, for example, to carry out complex searches or edits which the server does not provide.
You can upload a modified database to the server from the 'File upload' menu. New databases are always checked for validity during the upload process; corrupt or invalid databases will be rejected during the upload.
The zip file contains:
You have requested a database upload. If you continue, your file will be tested to confirm that it is a valid sqlite3 database; if so, it will replace the exisiting database on the server (if there is one). The old database will be lost. You should not continue unless you understand this, and you have taken a backup of the old database (from the File download menu).
Do you wish to continue?
This page can be used to upload files from your computer to the server. The files which can be uploaded are listed in the sections below.
The 'Browse' button can be used to select the required file or files to upload. In most cases, you can also select a zip file, or any group of files which contains the required files. If you are unsure which file in a results directory is the appropriate results file, for example, then you should select all files in the directory, and the server will automatically locate the required results file.
The 'Home Page' is the page which is visible when the user-level 'home' button is clicked. This will normally contain information on upcoming galas, instructions for entering galas, and so on. You can edit your current home page by downloading it (from the 'File Download' menu), modifying it, and then uploading it. You should select a single HTML file for upload; the server will rename the file as required.
In most circumstances, there will be no need to either download or upload the Home Page. You can instead edit the home page directly from Administration > Edit home page.
This should be used to upload member details and existing club records. To find sample spreadsheets to modify, select Administration > File download > Sample spreadsheet. See the online help on the file download page for more information. Note that:
The spreadsheets that you can download and modify are Excel spreadsheets, with an 'xls' or 'xlsx' file extension. These should normally directly upload after any modifications. If you are not using Excel, however, or the upload produces an error message, you may need to first save your spreadsheet as a CSV file, and then upload the CSV file instead. See section 3.3 in the Reference Manual for further details.
See the 'File Download' help page for more information on MDF (meet description) files. These are HTML files, and must have a '.htm' or '.html' suffix. You can select multiple individual files for upload, or you can upload a zip file containing one or more description files.
In normal circumstances, you will create your MDF from the Administration > Create MDF page. You can also create these files manually, if necessary.
Each MDF is checked for validity during the upload, and invalid files will be rejected (if an error is found, the upload of any remaining files will also be terminated). Valid files will immediately become visible to website users on the 'Gala information' page (under the 'Galas' menu item). Online entries to the gala will be automatically activated during the date range specified in the file.
Your new MDF will be listed in various locations in the user-level menus. The gala name will be preceded by a date in these menus. This date is automatically generated, and is the gala start date.
You can upload result files which have been created by Hy-Tek or Sport Systems software, or which have been entered on a spreadsheet. The supported results file formats are:
You should, if possible, obtain Lenex files (for Sport Systems galas), or HY3 files (for Hy-Tek) galas. If these are not available, you can use NDF files, but NDF files do not contain additional information which may be found in Lenex and HY3 files (splits, DQs, positions, and reaction times). These three file types are also used by ASA rankings to record the results of a licensed gala. If there is any confusion about which files record the gala results, you should ask the meet organiser to send you the files which have been sent to Rankings. If the gala is unlicensed, the meet organiser may be willing to generate result files as if the gala had actually been licensed, and to send you those files.
You may find that results files are not available in some situations. This may be the case if you run a time trial, for example, or if you compete in an unlicensed team gala. You can manually enter results in these cases, one at a time, but this can be time-consuming and error-prone. You can alternatively enter these results on a spreadsheet, and upload the spreadsheet.
To find a sample spreadsheet to modify, locate 'ResultsImport.xlsx' from the sample spreadsheet download. You will need to modify the spreadsheet to specify a name, location, date, and course length for your time trial or gala. A spreadsheet import will normally be used for an unlicensed gala, so you cannot enter a licence level or number (if necessary, however, you can modify the meet in the database to add this information; see 2.13.2 in the Reference Manual). You will then need to complete a single row for each swimmer, with all their times. The sample spreadsheet contains instructions.
When you upload a results file, the system will not automatically create a new gala for you, because the results file does not generally contain all the required information. If the gala does not already exist on the system, the upload will fail, and will give you instructions on how to create the new gala. You should create the gala (Administration > Meets > Add meet), and then repeat the upload.
Every result in the database is cross-referenced to a specific gala and, if the gala was licensed, to the relevant licence level and number. However, Lenex, HY3, and NDF files do not contain any licensing information, and the gala name in these files is likely to be slightly different from the name that is recorded at the ASA. This can cause complications, because the new gala may already exist in your database (under a different name), and because the results will also be cross-referenced against any results recorded at the ASA. The software attempts to determine whether or not it already knows about the gala and, if not, it will ask you to create the gala before continuing.
You should note that results files may not contain the results of 25m events, and may not contain relay results. These will have to be manually entered (see Administration > Results > Add result ).
Select this option to upload a spreadsheet which defines your club policy on awarding flashes (events, and the times which must be achieved). If you do not upload a flashes file, the system will use the standard ASA CSPA events and times. Some clubs may find the standard definitions unsuitable if, for example, they do not award flashes for LC or distance events.
See the CSPA and Flashes help on the download page (Administration > File download) for more information.
See the 'File Download' help page for more information on database files. You must upload exactly one file (which may be a zip file). The file is checked to confirm that it is a valid sqlite3 database during the upload; if not, it will be rejected. The upload file may have any name; the name is ignored and the file, if valid, is renamed as required by the server.
The upload process deletes your existing database on the server. You will be reminded of this during the upload, and you will have to click-through a confirmation dialog.
It will not normally be necessary to upload database files to the server; the server creates and maintains the database entirely transparently. However, you should periodically back up the database (from the 'File Download' menu), and you should also back it up before carrying out major operations on the database. If necessary, you can then upload your saved database to 'roll back' any erroneous operations. If, for example, you mistakenly delete a swimmer from the database, then any gala results for that swimmer will also have been deleted. In general, it will be difficult to restore these results by re-reading results files, which could go back several years.
A 'Favicon' is a small icon, which can be used to personalise this site to your club. You should select a file which is called 'favicon.ico' to upload.
The favicon normally appears in two places: in the tab title of a browser page, and any bookmarks for those pages. If you have not uploaded a favicon, the browser will leave the image empty, or will use a default image. Some browsers will also allow you to create 'app shortcuts', and will use the favicon as the icon for that shortcut. In Chrome, for example, you could create an app shortcut for the admin page on this site, and then double-click on the shortcut icon. This page will then appear in a new browser window as if it was an 'app', rather than a webpage.
You can find pre-made favicons on the web, and there are a number of useful web pages which will tell you how to create your own favicon from an existing image. The more complicated procedures will allow you to create a single favicon.ico file which contains the image at several different resolutions.
Note that, when you have uploaded your new favicon, your browser may not immediately notice that it has changed. This problem is browser-specific, so one browser may show the new favicon, while another shows the old one. In general, you will need to use the browser menus to flush the image cache before the new image is displayed. There is not much that you can do about this, and your site users may not immediately notice that the image has changed.
All results in the database must reference a known meet (although, when importing results into a new database from a spreadsheet, you can use a special 'unknown' meet). You must create a description for the meet before importing any result files, or before manually adding gala results. The only exception is for result downloads directly from the ASA. In this case, the software will create the necessary meets for you (if they do not already exist, and only after obtaining confirmation from you). However, you will still need to understand the information here (see, particularly, Identifying a meet below) in order to resolve any conflicts.
To create a new meet, fill in the meet name, location, dates, course length, and licence. The add operation will fail if a meet already exists in the database that might potentially be the same meet as the one you are trying to create. If this happens, a message will tell you which meet is in conflict, and you will have to resolve the conflict by changing either the old meet or the new meet.
You must be particularly careful when creating a new meet, because the information you enter is used to identify the meet to which a results file applies, and to identify the correct meet when synchronising your database to swimmingresults.org. In the worst case, it is possible that you will create two sets of results in the database for two meets which are apparently different, but which actually refer to the same event. See Identifying a meet below.
Meet 'identification' is required in the following circumstances:
In summary, some combination of the meet primary name, the meet secondary name, the meet licence number, and the meet dates, is required to correctly identify a meet; the actual combination depends on the circumstances.
When creating a licensed meet, you should note that:
The licence number you enter must agree with the licence number shown at swimmingresults.org. You may find that the assigned number is not identical to the one shown. For a level 4 gala, for example, the meet organiser might have been assigned 4ER4891, while the number which is eventually displayed at swimmingresults.org might actually be ER4891. In this case, you must create the meet with number ER4891. If you create the meet with 4ER4891, then you will find that a subsequent 'ASA update' operation will ask you if it can automatically create a new meet with licence number ER4891. You should cancel your update request at this point, and edit the old licence number to match the expected one.
For a licensed meet, the licence number is not of itself sufficient to guarantee a correct import or update. The date of any result is also checked to confirm that it falls between the meet dates, as an additional error check. If it does not, you will be asked to fix the error before proceeding. This can occasionally cause confusion if you rely on an 'ASA update' to create your meets for you. The update operation has no way of knowing what the first and last date of the meet was, and instead relies on the dates it finds attached to the results at swimmingresults.org. If it finds that the first result for a given licence number was on, for example, March 1st, and the last one was on March 2rd, then it creates a new meet which extends over these two days. However, if you carry out another 'ASA update' a month later, you may find that a new result has appeared, which was achieved on another date (March 3rd, for example; this may happen when a previous PB 'expires' because it is more than a year old, and additional results from this gala have now become relevant). In this case, you will be asked to check and fix the meet description.
SwimAdmin divides site users into 'members' and 'officials'. The 'members' are the swimmers: in other words, the people who are in the squads, and who enter galas, and so on. The 'officials' are all the people who don't swim as a club member: the poolside helpers, the coaches, the committee, and so on. If an individual swims for the club, but also carries out some other function (coaching, for example), then that individual is both a 'member' and an 'official'.
Your own club may view things slightly differently but, from the point of view of the software, we simply have 'members' and 'officials'. Use this page to add new members (swimmers) to the database; you can add new officials from the 'Add official' page.
Adding members is a two-stage process: you must supply an ASA number on the first page, and then the remaining member details on the second page. Note that there is no requirement, when adding a new member, to add members who are actually listed at the ASA as being members of your club.
When creating a new member you must first enter their ASA number. This allows the software to determine if that person is already on the database (as an official, for example); if so, various fields on the second page are pre-loaded for you.
A member therefore cannot be added to the database if they do not have an ASA number. In some circumstances, however, you may wish to add a member without a number (if you haven't completed ASA registration, for example). In these cases, you should enter nothing in the 'ASA number' entry field, and click 'Continue'. The system will then generate a unique temporary number (this has a high value and cannot be confused with a real ASA number). However, you will have to correct this number at a later time when you receive an official number (see the 'Change ASA number' menu item).
Members are uniquely identified by the combination of their name and their ASA number. These are used to identify the member not only in the online system, but also in gala result files, and in the results pages at the ASA. If you enter the name or number incorrectly, result uploads will fail for the new member. You should be particularly careful with hyphens in double-barrelled names, which are the most likely cause of an error. The simplest way to ensure consistency is to visit the swimmer's Individual Best Times page at the ASA, if it exists, and to ensure that the ASA number, family name, and given name are identical to those that you enter here.
The member's 'Known as' name can be left blank if their 'Known As' and 'Given Name' are identical at the ASA. Note that the member's DOB and gender are not used for identification purposes, and so could potentially differ from those held at the ASA, but this is clearly not recommended.
All members and officials require a unique username to allow them to log in to the online system. A new default username is created for the member, and is shown in the 'Username' field. You will need to tell the member what their username is.
When the member logs in for the first time, a password will be generated and emailed to them. The member will then be able to change their username, or password, or both, if necessary.
A birth date is required to enter galas, and is also used by the online system when generating club rankings and records. The date entered here should agree with the date recorded at the ASA.
If the DOB is sensitive, it (and any derived age) can be removed from public pages by selecting the 'Hide age' flag. This can also be carried out for the entire club by setting 'Max display age' on the 'Club configuration' page. Display of this member's age will be suppressed if they are older than the (club-wide) 'Max display age', or if the 'Hide age' flag has been set for this member.
A correct DOB is not required if the member is inactive (see the 'Active' flag), or they do not intend to enter galas for which the organiser requires the swimmer age. In this case, you can enter an arbitrary DOB. You may wish to do this for Masters or Keep Fit groups, for example.
Newly-added members can be created as 'active' or 'inactive'. The selection defaults to 'active', which means that:
Active members may be set to inactive on the 'Edit Member' page (and vice-versa). Members may be temporarily set to inactive if, for example, they move to another club, but intend to return at a future date.
When adding members to a Master's or Keep Fit group, you should consider adding them as inactive members. This will ensure that they do not appear in gala entry pages, and will also allow you to enter an arbitrary Birth date for the new member (a valid DOB is not required for inactive members).
The 'Add Official' page must be used to create a new official in the database. You must enter an ASA number on the first page. If there is already a member with this ASA number, that member's details will be returned to populate the second page; otherwise, the relevant fields on the second page will be empty, and should be filled in.
If the official is not an ASA member, and so has no ASA number, you should leave the ASA number as blank, and the system will assign a temporary unused value. If the official is later assigned a valid ASA number, the 'Change ASA number' page should be used to correct the temporary number.
You must enter at least the official's name and role on the second page. All the other fields are optional. However, if you do not enter an email address, the new official will not be able to log in. The official will be assigned a new username to log in with.
The 'Add Result' page can be used to add individual results to the database. Gala results should normally be added automatically by uploading a results file (see the 'File upload' menu item). However, the meet organiser may not provide a results file in some circumstances (for some unlicensed galas, for example, or for team events). If this is the case, the results must be manually added from the 'Add Result' page.
Note that the database does not handle some result types, and these will have to be recorded elsewhere. The 'Add Result' page therefore does not support:
If you make an error while adding a result, you should first make a note of the database 'key' of the newly-created result. The key is the number that appeared in the 'Server status' area when you clicked 'Submit'. If, for example, you clicked 'Submit' and the server replied with the message 'Success: created result #9347', then the relevant key is '9347'. This key uniquely identifies the result that you have just created. You should now go to the 'Edit Result' page to delete or correct the new result. If you are not sure precisely which result you have just added, then you should compare your key against the keys listed on the right-hand side of the displayed results.
Select a swimmer, and click 'Continue'. You will now be able to edit any swimmer details, apart from the ASA number and username, which are fixed.
If you need to change a member's ASA number you should instead use the 'Change ASA number' menu item. An administrator cannot change a member username; however, the member can change their own username from the login page.
You should not generally delete a member when they leave the club. You can instead select 'Add new date' from the 'Membership dates' pull-down, and enter the leave date. This should be preferred because the member's times are then retained in the database, instead of being deleted. These times can then be used for historical rankings. You should also bear in mind that a swimmer may re-join the club at a later date, and would expect to have access to their historical times.
The 'Edit Result' page can be used to view, edit, or delete any or all of the gala results stored in the database. This page is also a convenient way to display all the results achieved at a specific gala, or all the results achieved by a specific swimmer, without changing those results.
The full edit process must be carried out in two stages. If you simply want to display results, only the first of these two stages is relevant.
You must request a list of results which will returned from the database and displayed. To do this, select an individual swimmer (or use the default selection of 'All Swimmers'), and an individual gala (or use the default selection of 'All Meets'). When you click 'Submit', the server will return the requested results, which will be displayed in a table. The table is sorted by the swimmer's name, and then by event, and then by swim date.
Note that the database may contain many thousands of historical records, including all gala results for all current and past swimmers. If you leave the 'Swimmer' and 'Meet' selections at their defaults, and then click 'Submit', you will get all these results. This may take some time, and may create a very big table. You should normally select a swimmer, or a gala, or both.
Keep an eye on the 'Server status' area below your selection. This will tell you if your request succeeded and, if so, how many results were found in the database and returned.
Each individual result is returned as a row in a new table, which will appear below the 'Server status'. You can, if necessary, delete the entire row, or change any or all of the swimmer name, the meet, the swim date, the event, or the round. The new swim date must be consistent with the meet dates; the server will refuse to make the change if the date is before the meet start date, or after the meet end date. Note, however, that the server will allow you to edit a result such that it becomes identical to another, existing, result in the database. It is up to you to make sure that you either don't do this, or that you subsequently delete one of these duplicated results.
You will notice that the right-hand column is labelled 'Key'. The key is the row number of the displayed result in the database; it is a number which is unique to this result, and which identifies the result. The key will never be changed by an edit, even if the edit changes everything else in the result (unless you delete the row, in which case the key itself disappears and is never re-used). The key is frequently referenced in the status returned from the server and displayed in the 'Server status' area (this might say, for example, 'Success: updated result #1766', where '1766' is the key). The significance of the key is that it can be used to locate this row if you ever need to manually edit the SQL database, using an external third-party program.
To edit the result, click on the key. A pop-up will appear which will let you edit this single result. If you decide not to change the result, click 'Close' (or the cross in the top right corner of the pop-up). If you change any fields, and wish to record the new changes in the database, you should instead click 'Confirm'. The database will then be updated with the new values. The pop-up contains its own 'Status' area; make sure that you check this for any success or failure messages returned from the server.
When you have finished editing the result (whether or not you have changed it), you should click 'Close' (or the cross in the top right corner of the pop-up), and the pop-up will disappear. If the result was changed, the server will then repeat your original search, and will display the results of the search, following your edit. The row that you have just edited will be highlighted, so that you can easily locate it.
The 'Club configuration' page customises your website. You should use it to set club-specific information such as your website title, your record system, and your squad names; these are covered in detail below.
Apart from the information that you enter on this page, the only other parts of the site that you can configure are:
The Club name and codes are ASA-approved, and are therefore fixed. They were added during the initial site configuration, and cannot be changed. The 'Club name' is the full approved club name, while 'Code 4' and 'Code 12' are the 4-character and 12-character (maximum) club codes. The codes are required in order to generate gala electronic entry files, and to submit results to the ASA.
You can configure two titles:
If you change the titles, you will need to refresh your browser page before the new titles become visible.
The system will send SMS messages if you have an account with an SMS provider. You should enter your account details here.
You can select between displaying 'age group' records, or 'cumulative' records. Your selection affects only how records will be displayed in the user menus; it does not affect the database. This means that you can change your selection at any time, and the user 'Records' menu will update correctly. However, the system must be able to calculate the swimmer's age to make this possible, so the DOB and swim date must be recorded in full.
If you select 'Cumulative', the records for a given age will always be displayed as 'and under'. If a user selects the records for 14-year-olds, for example, the records displayed will be the '14/U' records. This causes some confusion in the meaning of 'Open'. Assume, for example, that you have selected a maximum age of 17, and that the age selector for Record ages now shows '9/U - 17/O'. The '17/O' records are actually meaningless - they are the Open records, since the 'and unders' will be shown as well. In this case, the user will be shown an age pull-down which includes only 9/U, 10, 11, 12, 13, 14, 15, 16, and Open. The actual records displayed in these 9 cases will be 9/U, 10/U, 11/U, 12/U, 13/U, 14/U, 15/U, 16/U, and Open.
This is not the case if you select 'Age group'. If you again select '9/U - 17/O' for Record ages, the user will be shown an age pull-down which includes 9/U, 10, 11, 12, 13, 14, 15, 16, 17/O, and Open, and these are the records which will be displayed to the user.
If you leave this at the default of 'Swim date', the age of the swimmer will be calculated and recorded as of the swim date. However, you can alternatively select a specific 'Age As At' date. You may wish to set this to December 31st, for example. If you do this, the swimmer's age on the swim date is ignored, and the age is instead set to his or her age on December 31st in the year of the swim. You should consider this carefully before changing the default; setting a date which is not the swim date introduces a permanent bias into the system. For this example, a swimmer born on January 1st will always be competing for records as the oldest in his or her age group, while a swimmer born on December 31st will always compete as the youngest in his or her age group.
You may change this selection at any time; the database contains enough information to re-calculate the record lists for either system. However, the system must be able to calculate the swimmer's age to make this possible, so the DOB and swim date must be recorded in full.
The database holds club records for swimmers of any age. It might, for example, contain records for 6-year-olds, and records for 96-year-olds. However, records are classified for display into age groups, which are set here. If you leave the defaults of '9' and '16', for example, then the record age groups will be 9/U, 10, 11, 12, 13, 14, 15, and 16/O. If the database holds records for 7- and 8-year-olds, as well as 9-year-olds, then the '9/U' category will then show the fastest time from the records for the 7, 8, and 9-year-olds.
Note that the precise meaning of an 'age group' depends on whether you have selected 'Age group' or 'Cumulative' in the Record system selector.
When adding a new swimmer to the database, or when editing an existing one, you can optionally specify the swimmer's current squad. This is useful for keeping track of squad numbers, and when sending emails to specific squads.
The current squad names are listed on the right-hand side of the page. If you have no squads configured, then nothing will be visible until you add a new squad (with the 'Add/remove' pull-down). You can set the squad names on this page, and change them at a later time if necessary. If you move your mouse over the 'Squad names' label (next to the 'Add/remove' pull-down) then a pop-up will appear, containing more information on the procedure for adding and removing squads.
The email alias provides a shorthand email address to send emails to an entire squad. If your club has code 'ABCD', for example, and you assign an alias of 'p1' to a squad, then authorised officials will be able to email the entire squad simply by sending an email to 'email@example.com'.
The 'Size' field is optional, and gives the maximum size (capacity) of the relevant squad. If you enter the size of any squads, then an extra two columns will appear in the summary table when you generate a member list (from the 'Members > List members' menu item). These two columns give the total capacity of the club, and the number of vacancies. If you do not want a particular squad to appear in the summary table, then you can simply leave the size of that squad at the default value, or enter '0'. You might want to do this if, for example, you have a squad for a small number of occasional swimmers, and you don't consider this to be part of the available club capacity.
Note that if you change a squad capacity and then save your new configuration file, you may still have to do a page refresh before the new capacity appears in the member list summary.
You can enter additional club-specific fields into your database in this section. This is per-member data, and will appear in the member lists. See the pop-up for additional information.
When a swimmer enters a gala they will have to click through a confirmation dialog, which tells them how many events they have entered, and what the total cost will be. This dialog contains no payment instructions, since these instructions will be club-specific. You can enter text here which will be displayed as an additional paragraph after the confirmation text; this can be used for your own payment instructions. This additional text will not be displayed if there is no entry cost (if the swimmer is cancelling their entries, for example).
When a member enters a gala, the system automatically sends a confirmation email to that member. If you enter an email address here then all confirmation emails will also be copied to the specified address.
The age and birth date of a member is, by default, displayed in online gala entries, entry reports, and so on. This behaviour can be disabled for members who are older than the specified age. This could be used, for example, to prevent age display for Masters and mature swimmers.
This sets the level of detail recorded in the club log file. You should not normally change this unless asked to do so.
You should use this form to create historical club records, when initially creating the records database. You may also use this form to manually add new records, or update existing records, although you should not normally do so. Note that you cannot currenly create relay records; this is due to be fixed in an update.
In normal circumstances, you should use the 'Update records' menu item to automatically create or replace records from the times stored in the database. This procedure is automatic, and stores all the relevant information. However, you will need to manually enter any old records, using this form, before running an update for the first time.
When records are updated automatically, the swimmer's DOB and the swim date are already known, and the system can therefore calculate the relevant age. The system also knows which gala the record was achieved at, and all this information is stored as part of the new record. However, some of this information might not be available for historical club records. You might only know, for example, that a specific record was achieved in 1995, and your historical record list might show only the swimmer name and the time. This form will allow you to manually enter these records, and any other records for which you don't have a result file.
To use this form you must know, at a minimum, the swimmer's full name (both the given and family name), the course length (SC or LC), the event, and the time. You must also know the swimmer's age on the swim date. If you know and enter the swimmer's DOB and the swim date, then the system will calculate the age for you (if you also tick the relevant box in the 'Age' section of the form to allow the system to do this). You should, of course, enter as much additional information as possible, to allow others to verify the record.
The records are stored in the database independently of any swimmers, results, or galas recorded in the database. This means that you can delete swimmers, results, or galas from the database, but the stored records will be unaffected; they are effectively permanent. An existing record can only be changed or deleted when it is broken (which happens automatically in an 'Update records' operation), or when it is explicitly deleted (by a 'Delete record' operation), or when it manually changed using this form.
The record age groups for your club are defined as part of your configuration, and can be changed from the Administration menu (under 'Edit configuration'). The age groups default to 9/Under, 10, 11, 12, 13, 14, 15, and 16/Over. The user-level 'Records' menu item also allows the display of 'Open' records (in other words, the fastest records in the database, irrespective of swimmer age).
Note, however, that your club record age groups are not relevant when you enter or delete records. You must always enter the swimmer's actual age, rather than any age groups used by the club. The age groups are only used for record display. When a site user requests a records list from the user-level 'Records' menu, the system decides which records to display according to your defined age groups. You, as an administrator, are not concerned with age groups, unless you want to change them.
If you normally display records for swimmers aged 16/O, for example, and a swimmer aged 18 then creates a new record for 18-year-olds, then you must enter a new record for an 18-year-old. The system will find all records for swimmers aged 16 or over, and display the fastest of these records. In the event of a tie, the tie is first broken by swim date (the earliest takes precedence), and then by age (the records for 16-year-olds, for example, take precedence over the records for 18-year-olds).
This system alway calculates the swimmer age on the swim date. When you enter an age manually using this form, you should do the same. Some other historical systems may instead determine the record age from the swimmer's age on a specific day of the year (December 31st, for example), rather than from the swim date. We do not implement this system, because it is only fair to swimmers who have a birthday on the day after that date. For example, consider three 11-year-old swimmers who were born in a three-day period at the end of December and the beginning of January:
When the age is calculated on the swim date, a given swimmer will, on average, be competing for a given record with swimmers who are biologically older than her for 6 months of the year, and younger for the other 6 months. Given this, our swimmer is competing against other swimmers who are, averaged over the year, of the same biological age. However, this is not the case when the age is calculated on a specific date. For this second system, a swimmer born on December 31st (the second case above) will always compete against biologically older swimmers (apart from any swimmers who might share her birthday). On the other hand, the swimmer born on January 1st (the third case above) will always compete against biologically younger swimmers (again, apart from any swimmers who might share her birthday).
You should use this form to edit individual club records. If you need to change a record for a 14-year-old girl, for example, then:
There is a single unique record for every combination of course length, event, gender, and age (but note that not all of these records will be displayed to users if you are configured for 'Cumulative' records). This means that you cannot change the course length, event, gender, or age; these field are disabled, and cannot be edited. If the software allowed this, you would not be editing this record, but another, different, record. In other words, this form effectively changes the contents of a given record, rather than the type of the record.
If you do need to change one of these four fields (if you mistakenly created a record with the wrong gender, for example), then you will need to delete the incorrect record, and create the record again.
You may change the swim date and the swimmer's DOB. However, this will not re-calculate the 'Age' field, for the reasons discussed above. If you need to change either or both of the dates, and that change would lead to an age change, then you should again delete the incorrect record, and create a new record.
Results for which the swim date is unknown (in other words, the 'Unknown SC' and 'Unknown LC' galas) are never considered when updating the records, since the swimmer age at the swim date is also unknown. If a result from an unknown gala is required to be included in the records, then it must be manually added from the 'Add record' menu item. You will need to manually enter the swimmer age when doing this.
The database contains results for swimmers, rather than club members. This is an important distinction. A given swimmer might historically have been at other clubs, and may currently be swimming for more than one club. The database may, however, contain all the historical results for this swimmer. The database is therefore likely to contain results which are not club-specific, and which do not qualify for club records.
The system must therefore have a mechanism to exclude specific database entries when searching for club results. This is primarily handled by requiring swimmers to have a list of club 'Join' and 'Leave' dates. When a swimmer is first created from the 'Add swimmer' menu, a single Join date must be supplied. Additional Leave and Join dates can be added from the 'Edit swimmer' menu. These dates are always checked during a record update operation, and a database result is excluded if the swimmer is found not to have been a member on the swim date.
Under some circumstances, however, the Join and Leave dates may not be sufficient to decide whether a given result should be excluded. This will happen in at least the following cases:
The Member status is permanently recorded with the result (but may later be changed from the 'Edit result' menu). The complete algorithm to decide whether or not a result should be excluded is therefore as follows:
An official with database write permissions can give any other official permission to write the databases. You can therefore have as many site 'administrators' as you want. However, the system ensures that exactly one official has the username 'admin', and that this user has database write permissions, and that this user cannot be deleted. This ensures that there is always at least one official who can edit the databases. The 'admin' user may also receive specific emails from the server.
At some point, however, you may want to change the official who is the designated 'admin'. In order to do this, you must select the new admin from the drop-down list on the 'Change admin user' page, and click 'Submit'. The system will then assign the 'admin' username to this official, and give the previous admin user a default username. The system will also ensure that the new admin has full database permissions, if necessary.
If you want to delete the existing admin user (if he or she has left the club, for example), you must first select a new admin using this procedure. When a new user has been selected, you will be able to delete the previous admin.
A Meet Description file ('MDF') is required to enable online entries for a gala, or to check qualifying. You must create an MDF, or find an existing MDF, and upload it, for any galas which should appear on the system. You can use the top-level 'Administration' menu to create an MDF, to upload an MDF to the server, or to download an MDF from the server.
This page allows you to carry out various miscellaneous operations on MDF files:
The online entry and meet qualifying system is driven by a 'Meet Description File', or MDF, which must be created for any meet which is of interest. The system uses the MDF to determine which swimmer times can be considered for meet entry. Selecting a time for meet entry is not just a question of selecting a swimmer's current PB; several factors have to be taken into account. For example, some meets may require entry times to have been achieved at a specific licence level, while others might allow unlicensed times. Some meets will allow entry times which have been achieved on any date in the past, while others will require times to have been achieved since a specific date. Other variables include whether or not course-converted entry times are allowed, whether estimated times, or NT entries, are acceptable, what age-up date is to be used, and so on. The MDF specifies all this information.
If you are creating a meet that you will be running yourself, then you can create your MDF here. When you have finished, click 'Submit', and your new MDF will be downloaded. You can then send this MDF to any other clubs who will be attending your meet, or you can upload it to your own server to make it 'live'.
If you have been sent an MDF from another club, then you can upload it to your own server using the Administration > File upload menu item. You can then set your own online entry dates using the Administration > Set online entry dates menu item.
The help items below contain further information for each section of the MDF. You will also find this information in the manual, together with a description of the spreadsheet format which is required to specify qualifying or cut-off times.
This is the basic meet information: the meet name and venue, the course length, the meet dates, and the age-up date.
This information is optional, since you can also set the entry dates for this meet using the Administration > Set online entry dates menu item.
If you intend to allow online entries to a meet (and not just use it for qualifying time checks, for example), then you must, at some stage, specify when you want online entries to open, and when you want them to close. If you do not specify these dates then club members will not be able to enter the meet.
If the meet organiser is using Hy-Tek software, you can ignore this section. However, if the meet organiser is using SportSys software, you may need to enter additional information to correctly describe the meet. The required information is:
You can find this information using the instructions below; these are repeated in more detail in the manual. If the required information is entered here incorrectly, then the import of your club's entries will fail when the meet organiser attempts to load the entries into the SportSystems 'Meet Organisation' program (the program will complain that the events 'do not match'). If this happens, you must correct your MDF by entering the correct information in this section. Your should then re-create the MDF (by clicking 'Submit'), and then regenerate your entry file. You will not need to re-open online entries; the existing entries will be correct.
If the events are for 'Boys' and 'Girls', and the IM events are described as 100IM and 200IM, then you need do nothing; this is the most common case, and these are the defaults. To find the required information, you can do one of the following:
This section is optional. Any information that you enter here will appear on the Meet information page in the user-level menus (Galas > Gala information). This information is not used by the system; you should use it simply for commentary text.
This section allows you to specify the entrance requirements to your meet, together with the events and event costs, the age groups, and the event and session numbers. You must specify most of this information in either a qualifying spreadsheet, or a cut-off spreadsheet, or both. If you create both spreadsheets, then the events and age groups must be identical in both. You must also fill in the selections in this section to specify the remaining criteria. The required information is:
You will also need to provide some additional information on any entry times which are required for the meet. If you do not require entry times (in other words, if you have a qualifying spreadsheet in which all times are entered as 'NT'), then you can ignore these selections, and leave them at their defaults:
If licensed entry times are not required, then you can also select whether or not estimated entry times are acceptable. If so, the system will automatically use any estimated times in the database.
There is one final complication for meets which have cut-off times, but which do not have qualifying times. In this case, your cut-off spreadsheet will contain the cut-off times, but does not specify whether or not an entry time is actually required (in other words, whether 'NT' entries are acceptable). In this case, you can make an additional selection under 'Cut-off NTs' to specify whether or not NT entries are acceptable. You could alternatively achieve the same result by creating a qualifying spreadsheet with 'NT' for all entry times.
If you are not charging for your events, you can ignore this section.
If all your events have the same cost, then you should enter this as the 'Default cost'. The currency symbol is optional.
In some circumstances you will want to apply event-specific costs. You may wish to charge more for distance events, for example. If this is the case, you should select 'Add event' in the 'Add/remove' pull-down, and specify the event and the cost. You should repeat this as many times as necessary, and set the 'Default cost' to the cost of any remaining events.
If you are not charging an entry administration fee for this gala, then you can ignore this section.
If you are charging an entry administration fee, then you should include a short description of the fee under 'Description', and the required fee under 'Fee'. The currency symbol is optional.
The description has a default value of 'Administration Fee'. This text, together with the fee itself, will appear in the online entry form, and will be added to the total entry cost.
If you have a fixed-price gala with no individual event charges then you should leave the 'Event Cost' section empty and add the gala entry cost here. In this case you could, for example, enter 'Gala entry' in 'Description'.
Note that the text in 'Description' appears in a table in the online entry form, and so should be relatively short. If you enter a long justification here then it will simply stretch the table to the right of the page.
Online entries for any gala on the system are automatically enabled between an opening date, and a closing date. Entries are enabled at 00:00 on the opening date, and are disabled at 23:59 on the closing date.
If you receive an MDF (a Meet Description File) from another club, then the MDF may already contain opening and closing dates. However, you will probably want to change these; you can do so by setting the required dates in this form, and clicking 'Submit'.
You can change the dates at any time. You might, for example, want to use this form to extend the closing date for a gala by another day, or by another week.
You can edit the user-level home page from here. The user home page is the home page that is visible to club members; you should use this to notify members of upcoming galas, online entry opening and closing dates, and so on. You cannot change the administrator home page; this is used by SwimAdmin to notify you of any changes to the software.
You should make any necessary changes with the editor, and then click 'Update' or 'Cancel'. You can edit the home page only if you are an official with 'Edit other tables' permissions.
If you require formatting that is not available in the editor, then you have two options:
You can use this form to send SMS messages to your squads, or to individual club members. You must already have an account with an SMS provider, and the account details must be entered on the Club Configuration page (see 'Administration -> Edit configuration').
In order to send a message, you will have to go through a 2-step procedure. When you click 'Send' after creating your message, the software contacts your SMS provider, and asks for the message cost. A new pop-up window will appear, showing you the message cost, and asking you to confirm that you wish to send the message. Your message will only be sent if you click 'Continue' at this stage; you can instead click 'Cancel'. Your account will only be debited if you click 'Continue'. If you do not have sufficient credit on your account, the pop-up will instead report that you cannot send the message.
You will need to exercise some caution when sending messages to multiple squads or individuals, particularly if you have chosen to send the message to all the mobile numbers recorded for an individual. Please make sure that your read the message in the pop-up before clicking 'Continue'.
To send a message, you must select the recipients, you must write the message itself, and you must say who the message is from. Messages you create here are not associated with a specific sender phone number: you must provide the 'From' information yourself. These steps are covered in the sections below.
Some club members will have multiple contact numbers in the database. By default, text messages are sent only to the first mobile phone number in the member's contact list, to minimise costs. You can change this behaviour by selecting 'All member numbers' here.
Note that you can prevent specific mobile phones from receiving text messages by entering 'NOSMS' in the comment for the phone number. All member phone numbers in the database may have a comment, if required; this is anything which appears before a colon character. The numbers recorded for a specific member might look like this, for example:
01362 000001 Mum: 07850 123456 Neighbour NOSMS: 07850 123457
The software automatically determines that this member has two mobile numbers. However, it will never attempt to text the neighbour's phone (because the comment contains 'NOSMS'), even if you have selected 'All member numbers' here.
Texts can be send to entire squads, or to individual members, or some combination of both. Select the message recipients from the left-hand list, by clicking on them. The selected recipients will then move to the right-hand ('Selected') list. You can remove recipients from the selected list by clicking on them.
If you have any squads defined, then the squad names will appear in the left-hand list, and can be selected. If you do not have any squads defined, then you should create them from the 'Edit configuration' page. Note that there is no guarantee that every member of a given squad has a contact mobile number. You can check this from the 'members' page. select Administration -> Members -> List members, and check the 'SMS' column for the squad.
Individual club members appear below the squad list in the left-hand box. If a member can be selected, then that member has a phone number which can receive text messages. If a member is greyed out and cannot be selected, then that member has no SMS-enabled phone number in their contact details.
This field will appear as the sender name or number in your message. You should enter a minimum of 3 characters, and a maximum of 13 characters; the default is your 4-character club code. If you need a reply to your message, you should enter your own mobile phone number, in international format, with no '+' (for example, 447850123456).
Enter your message here. Messages which are 160 characters or less will be sent as a single text; longer messages will be segmented, and sent as multiple 153-character texts. Each segment of a multi-segment text is charged as a single text message.
The counters at the bottom of the form show:
Use this form to change the ASA number for any club member or official. You should only do this when absolutely necessary; the number you enter must be correct, and should match the number recorded at the ASA. Any gala results which are affected by this change will also be updated; the server will display the number of results affected, if any.
After initial installation, your new SwimAdmin site must be configured for your club. This is a multi-step process, which is carried out as described below. On completion, you will be able to access your SwimAdmin site using your 4-character club code. If your club code is CLUB, for example, and your domain name is 'myswimclub.uk', then the member login page will be at 'https://myswimclub.uk/CLUB', while the administrator login page will be at 'https://myswimclub.uk/CLUB/admin'.
The installation procedure is described in SwimAdminInstallation.pdf, which briefly covers the 'Stage 1' and 'Stage 2' configuration forms. If you need more information on these forms you can find it in SwimAdminConfiguration.pdf, or in this online help.
On completion of Stage 1 and Stage 2 configuration, your site is fully functional, except that your club only has a single member (yourself), and has a generic setup. You should complete your club setup (for the names of your squads, and so on) by logging in on the administrator page, and selecting 'Club configuration' from the 'Administration' menu.
The 'Linux server' section is used to enter specific details about the server itself (in other words, your computer), rather than your swimming club:
Your club identifying codes are assigned by British Swimming. These codes are primarily required for identifying your club in results files. If you are simply evaluating SwimAdmin, then you will not need official codes. In this case, enter 'Club Code 1' as a sequence of 4 upper-case characters ('DEMO', for example). Enter 'Club code 2' as a more verbose description with a maximum of length of 12 characters ('Demo Club', for example). 'Full club name' is more descriptive, with no restriction on the length; it might be 'My test club', for example.
In most cases, however, you will need official codes. If you do not already know your codes, they can (currently) be found here. Assume, for example, that you need the codes for City of Cambridge. A search for 'Cambridge' at the link above brings up 'City of Cambridge SC', with a 4-character code of 'CAMT'. However, this is not sufficient, since some result files require the use of a longer (potentially 12-character) club code. To find this, you will have to download the 'Club Codes File' from the link above. The required fields can be found in this file, and are given below for some example clubs. You must make sure that you enter the names exactly as they are shown in the downloaded spreadsheet, including any spaces or other special characters:
|Full club name||Club code 1||Club code 2|
|City of Cambridge SC||CAMT||Co Cambridge|
|Derventio Excel Swim Squad||DEXA||Derventio|
|University of Bath SC||BAUW||Bath Univ|
You will need to take some care with these codes. If you enter them incorrectly, the software may not be able to identify your club in result files. This can only be corrected by manually editing the club configuration file (this is 'config.txt' in the club root directory; if your club is CLUB, for example, this will be at '/var/www1/CLUB/config.txt').
The SwimAdmin site will be created with a single user. This user must be a club official, who will be given the special username of 'admin'. While you can set up any number of club officials who are administrators, the official with this username is special, and cannot be deleted (this ensures that the site can always be logged into). You can, if necessary, change the identity of the 'admin' user at a later time by changing their details in the normal way (from the 'Administration' > 'Change admin' page).
You should enter this official's details in the 'SwimAdmin Administrator' section. If this official has an ASA number, it should be entered here; if not, the 'ASA number' field can be left empty, and a new temporary number will be created.
The server is preconfigured with a DokuWiki wiki. A wiki is a collaborative tool for the development of web pages; it might be used, for example, to develop and document procedures or training plans, or to record meeting minutes.
The wiki is located at '/wiki' on your site. If your domain name is 'myswimclub.uk', for example, then the wiki will be at https://myswimclub.uk/wiki. The wiki administrator is responsible for determining who should have access to the wiki, and who should be able to create or edit pages. The wiki is initially configured as 'Closed': this means that only the administrator may log in, and the wiki has no public pages.
The server is preconfigured with a default WordPress website. The website has a blank front page, and a single user. This user is the WordPress administrator; his or her details must be entered in this section.
If you already have an existing website, or you do not intend to develop a WordPress website, then you should set 'Enable' to N. This does not delete the WordPress installation, but does ensure that it cannot be accessed. If WordPress is enabled (with 'Y') then the WordPress site will be at the root of your domain (if your domain is myswimclub.uk, for example, then your WordPress site will be at https://myswimclub.uk, and the dashboard or administration page will be at https://myswimclub.uk/wordpress/wp-admin).
Your WordPress site can be enabled or disabled after configuration by running the 'wordpress.sh' script at /var/www1/scripts/wordpress.sh (see SystemAdministration.pdf). You should run this as follows, after logging in as the Linux 'swimadmin' user. 'CLUB' should be your 4-letter club code:
A WordPress plugin ('PHP native password hash') is used to replace the default WordPress password processing; this uses 'bcrypt' hashing, rather than the less secure default MD5-based hashing. If you disable the plugin, your users will have to create new passwords.
The WordPress installation requires a database, and the server has been preconfigured with a MySQL database (the database used is actually MariaDB, which is compatible with MySQL). This must be configured with two passwords, which are described below. Note that both SwimAdmin and DokuWiki use SQLite, and are unaffected by any MySQL configuration. SQLite does not require any configuration.
Note that the MySQL 'root' user has no password. This means that the Linux root user (and only this user) can run 'mysql' directly, without an additional password.
phpMyAdmin is installed on the server for convenience, and provides a graphical interface to the MySQL databases. This simplifies administrative operations. It is generally installed on WordPress sites, but is a security risk, and is not required (all database operations can be carried out with the 'mysql' program, but this has no GUI, and requires a knowledge of SQL syntax). If you can, you should consider uninstalling it.
phpMyAdmin can be accessed as '/phpmyadmin' at your domain (for myswimclub.uk, for example, this would be https://myswimclub.uk/phpmyadmin). If you need to examine or modify the WordPress database, you should log in as 'wpuser'. If you require additional functionality, you should log in as 'admin'.
Stage 2 automates the process of obtaining a 'security certificate' for your server. This certificate allows your website to be accessed with the encrypted 'https' protocol, which should always be used when accessing secure parts of a website (those parts which require you to enter sensitive information such as banking details, for example). However, it is best practice to access the entire website securely, and SwimAdmin follows this practice, redirecting all 'http' accesses to their 'https' equivalents.
The certificate is provided by Let's Encrypt, and is valid for 3 months. The certificate is automatically renewed every 3 months.
The process of obtaining a certificate is complex, and can take several minutes to complete. The software has to write a coded file to a location on the server (as proof of ownership of the server), and then contact the certificate provider. The provider confirms the existence of this file, and generates a new certificate, which is saved on the server. This process can (and does, occasionally) fail, and may have to be repeated. The process will be automatically repeated if necessary.
In the event of a failure, a log file will be left at 'data/acme.log' on the server, to aid debugging (for 'myswimclub.uk', for example, this will be at 'http://www.myswimclub.uk/data/acme.log'). You may wish to save this file for future reference.
Your site will be unavailable while the certificate is being installed. You will be sent an email on completion of installation. Your browser will then show a padlock icon to tell you that you are connected to a secure website. There are a number of SSL testers that can be used to confirm that your site is correctly operating as an SSL web server. The Qualys tester, for example, can be found here, and should show an 'A+' rating for your SwimAdmin site.
Enter your current password and your new password (twice).
Your new password must be 8 or more characters, and must contain at least one upper-case letter, at least one lower-case letter, and at least one digit. Alternatively, you can enter three or more ordinary words which are separated by spaces or '.' characters, as long as the total number of letters is 12 or more.
Enter your new username. Usernames must be 3 or more characters, which must be upper- or lower-case letters, or digits. The name may optionally contain a single special character, which can be an apostrophe, dash, or underscore.
Usernames are not case-sensitive. If there is already a user named 'Joe', for example, then you will not be able to change your username to 'joe'.