Introducing MSTW Schedule Builder

The MSTW Schedule Builder builds ‘balanced’ round robin schedules for leagues and tournaments for up to six teams. NOTE: This plugin REQUIRES the MSTW LEAGUE MANAGER PLUGIN (version 2.5 for higher) to handle the creation of leagues, seasons, and teams.

Depending on the size of the league or tournament, the number of permutations and combinations of teams, time slots, dates, and locations can be huge. The simple (old) method of always having a single team always playing in the same time slot or position is not always the way to go. It can, and does, create problems with players, coaches, and fans because it can be inherently unfair. The issue is the quality of the first position time slot. If the time, location, and/or quality of the facility is desirable, then the team that’s always scheduled there will be advantaged, and the other teams will not share equal playing time at the desirable facility. If another time and location is less desirable (i.e., inconvenient time, long distance, poor quality of facility, etc.), then a team that is always scheduled to play there will be disadvantaged.

These issues and the inherent inequity are minimized by balanced schedules. Round robin scheduling includes a date, time, location, home and visitor teams, and game ID for each game. A quality schedule should distribute and balance the dates/days, times, locations, home and visiting teams of its games as equitably as possible.

Future releases will handle larger leagues and tournaments, eventually up to 32 teams, double round robin (home-and-home) schedules, and field assignments for tournaments played on multiple fields at one facility.

Coaching Staffs v1.4

While staying at home I got a bit crazy and decided to revisit one of the early MSTW plugins, Coaching Staffs. Although I was a bit chagrined by what I didn’t know about WordPress then, it’s actually a pretty cool plugin. It’s aimed at high school coaching staffs, where the same coach had different roles on different teams, e.g, Varsity defensive coordinator and JV head coach.

Anyway, the new release makes it much simpler and cleaner to customize the front end displays with custom CSS stylesheets. It also makes the use and deployment of the single coach profile/bio page and the coaching staff gallery page easier and more flexible.

So if you want to recognize your coaching staffs on your site, version 1.4 will be available soon on WordPress.org. But you can check it out right now on dev.shoalsummitsolutions.com.

MSTW Team Rosters 4.2

I hope this note finds you all well during these trying times. I’ve been writing a little code while sheltering in place without spring sports, and MSTW Team Rosters release 4.2 will soon be available on wordpress.org and on your Installed Plugins admin screen. The primary upgrade is a long-requested feature – the capabilty to sort roster tables by number and name in the same way tables can be sorted by column on WordPress admin screens, e.g, All Posts or Team Rosters -> Manage Players. You can try it out on dev.shoalsummitsolutions.com.

Given that I’ll be holed up a bit longer, upcoming improvements include additional enhancements to the front end displays [shortcodes], improved integration with the MSTW League Manager plugin’s features, and the ability to manage team rosters by year. If any of you have requests for Team Rosters features please send them to me as soon as possible.

MSTW League Manager 2.7 Fixed

I believe version 2.7 of League Manager is fixed and posted in the wordpress.org plugin repository. I did not change the version number, so you will not get a notice on your plugins page that it’s been updated. If you have previously installed it, deactivate it, delete it, and add it again. You can search for ‘MSTW League Manager’ on your site admin plugin screen, and it should pop right up.

I hope this is that last post on this subject, but if you encounter any other issues, please let me know and I will address it ASAP. But hopefully you won’t have to hear from me again until tournaments (MSTW Bracket Builder) are updated, and tournament games can be displayed in the League Manager schedules.

BTW, some of you have asked, and yes, the format for the [mstw_league_schedule_table] shortcode did change to better accommodate ‘meets’ in that schedule table. You will only see this if you are using the extensions in the MSTW League Manager Add-ons plugin.

Problems found in League Manager 2.7

Users have alerted me to the following problems with MSTW League Manager 2.7. If you haven’t installed it yet, WAIT a bit while we sort things out. I’m confident there are not significant issues, just some mistakes, but before I get to the specifics of the 2.7 builds, here are a couple of general pointers:

  • If you use the extensions in the MSTW League Manager Add-ons plugin, you should always install the SAME VERSION of League Manager and the Add-ons. I forgot to mention this in my release announcement/email.
  • If you expect to see the output of a plugin, maybe a pretty schedule table, and instead you see some text like [mstw_league_schedule_table league=league-slug season=season-slug], it’s always because the plugin code is not found. (This applies to all WordPress plugins, not just MSTW.)

As for the specifics:

  1. If you are using the MSTW League Manager Add-ons plugin, and you install the MSTW League Manager plugin version 2.7 but don’t install version 2.7 of the Add-ons, you may see a text message just like the one above. Install MSTW League Manager Add-ons version 2.7.
  2. If you see a text message like [mstw_team_schedule team=team-slug season=season-slug], it’s because I made an error packaging the build. I’m testing a patch tonight. I will post/email a message when the patch is available on wordpress.org.

I apologize for any inconvenience caused to plugin admin/users, and want to thank those who have helped me sort this out.

MSTW League Manager & LM Add-ons v2.7

New in MSTW League Manager – “Meets” with shortcode and template support. Watch more about meets …

Also in version 2.7 an “All Sports” sport concept intended for sites with a large number of teams, sometimes the high schools in an entire state. Watch more about All Sports:

“Local” sites generally track a manageable set of local leagues and teams – schedules, league standings, team rosters, highlights, and so forth. However they must manage a large set of teams on the site for non-league games and state playoff games against local teams. These sites don’t store any information about these non-local teams other than including them on local team schedules, tournament brackets, and meets. In particular, the site has no interest in tracking these teams’ leagues.

But here’s the problem: when creating a non-league game, all teams playing league’s sport so up in the drop-down list of teams for the game. But leagues, not teams, are attached to sports. So admins would create a “generic” league for a sport, and put teams in it. This works, but a non-local school may compete against local schools in many sports, and they have to be added to a “generic” league for each sport. This becomes a significant maintenance burden for literally hundreds of ‘non-league’ teams.

“All Sports” is one solution: In version 2.7 a “generic” league can be created as an “All Sports” league. If school A has 10 teams in 10 sports, one school A team can be created and placed in the “All Sports” league. That team will then appear in the team dropdowns for all leagues, regardless of the league’s sport.

League Manager & Add-ons 2.6 Released

Versions 2.6 of both the MSTW League Manager and the MSTW League Manager Add-ons plugins have been released. There are three main enhancements:

  • Added support for BYEs (or open dates). BYE games can now be created in Add Games and Manage Games screens, and then displayed in the shortcodes. This will support a much improved display of brackets with an “odd number of teams” in next release of MSTW Bracket Builder. Read more here.
  • Added the option to link game time/result to a media URL in the Settings screen, schedules tab. If there is a media link for a game, the link will be added and a media icon will be displayed in the time/result field AND YouTube links will be automatically embedded in the single game page content. Read more here.
  • Added a new multi-team schedule shortcode [mstw_multi_team_schedule], which behaves much like the multi-league standings and schedules shortcodes.
A number of minor bug fixes and JavaScript upgrades are also included.

There were no major upgrades to the MSTW League Manager Add-ons, it was simply updated to support the changes in MSTW League Manager, for example, support for BYEs in its plugins.

MSTW League Manager update should come up on your admin Dashboard -> Plugins. If you have purchased the add-ons, you should be able to access the update using the same link you received originally. If not, just let me know.

Patch for MSTW League Manager Version 2.4

I have been alerted to an annoying bug in MSTW League Manager v2.4 by a member of the MSTW community. (Thanks Michael.) If you are seeing messages like:

Warning: include_once(mstw-lm-duplicate-teams-class.php): failed to open stream: No such file or directory in /your-site/wp-content/plugins/mstw-league-manager/includes/mstw-lm-admin.php on line 98

Warning: include_once(): Failed opening ‘mstw-lm-duplicate-teams-class.php’ for inclusion (include_path=’.:/usr/local/php56/pear’) in /your-site/wp-content/plugins/mstw-league-manager/includes/mstw-lm-admin.php on line 98

on your live site or your admin dashboard. They are caused by my carelessness in releasing the build. (Chalk it up to “trying to do too many things at once”.)

Other than being annoying, these warnings do not indicate any dysfunction in the plugin. So if you haven’t seen them, don’t worry about it. But if they are annoying you and you’d like to eliminate them, there are three ways to do so:

  1. If you are code savvy, you can open the mstw-lm-admin.php file in your site’s plugins/mstw-league-manager/includes directory and remark out line 98 that includes the mstw-lm-duplicate-teams-class.php file.
  2. Pull the mstw-lm-admin.php file from the development trunk on wordpress.org ( https://plugins.svn.wordpress.org/mstw-league-manager/trunk/includes/ ). Right click on the file and select Save Link As from the pop-up menu. This is download the file to the location you choose.
  3. De-activate and delete the plugin from your site, and re-install and re-activate it.

League Manager 2.4 Released

MSTW League Manager version 2.4 is now available at WordPress.org (League Manager).

This release contains the following upgrades and bug fixes:

  • The Update Games screen can now be filtered by sport and date in addition to league and season. For example, it’s now easy to filter and update all the football games on a Friday night.
  • A bug was corrected in the Date Picker. It now functions properly across several screens.

League Manager 2.3 & Addons Available

MSTW League Manager and MSTW League Manager Add-ons version 2.3 are now available on WordPress.org (League Manager) and the MSTW Store (LM Addons).

MSTW League Manager 2.3 contains the following new features:

  • New multi schedule shortcode [mstw_multi_schedule_table]
  • New sport schedule table [mstw_lm_sport_schedule]
  • Added new fields for games: “Game Name”, “Status Replace”,and “Status Append”. These fields modify the game time/status/result blocks in all front end displays: schedule tables, tickers, sliders, and galleries, and the single game page.
  • Modified the way mstw_multi_standings_table ‘remembers’ the value of the selected league. It no longer uses cookies.
  • Fixed a bug with the Google Maps link images in the Venue Table.

In this release, there is no new functionality in the addons, but the plugin has been modified to support new features in League Manager. It is always recommended that you keep the releases in sync.

The multi schedule shortcode [mstw_multi_schedule_table leagues='league-slug-1,league-slug-2'] provides functionality that is very similar to the multi standings shortcode. A drop-down control with the leagues (or groups in the case below) passed in the leagues argument, and a drop-down control with the seasons for those leagues are provided. The table then shows the schedule for the selected team in the selected season as shown in the screenshot below.

A typical way this might be used is to display the current and all the archived seasons for one league using relatively little screen space.