The Fox Open Sports Platform combines leading open source development technologies with a set of OOTP specific PHP modules and developer tools to help reduce the time and effort needed to create OOTP based web sites.
Using this platform, mod authors can focus on exactly what they want their web tools to do and not get bogged down by the usual infrastructure work needed to build and run a member driven web site. Due to its modular nature, it also promotes cooperative development and code reuse, meaning a fast point of entry for new web mod authors. As more users build tools using the platform and contribute back to the core modules, the more functionality is available for others to use in their own projects.
End users benefit with a streamlined site that can grow and be installed and upgraded with ease. So let’s see what these components and leading technologies are.
Bonfire admin library for CodeIgniter
Bonfire is an open source admin dashboard library built on top of CodeIgniter, a leading open source PHP development framework. CodeIgniter provides not only a MVC based development environment, but includes a host of standard tools and helper libraries that help streamline development.
On top of all this, Bonfire provides three important benefits to the development platform:
- Organized and dynamic admin interface– Bonfire strives to provide an accessible yet flexible admin dashboard interface. It does this by allowing web authors to efficiently categorize their dashboard tools into categories called “contexts”. By following some straightforward file naming and organization conventions, developers can quickly and easily add tools to their admin dashboard without a need to hardcode complex navigation menus. Using contexts, you simply name and place your file in the appropriate place and Bonfire groups the related type of tools together for easy administrative access at runtime.Bonfire comes loaded with four standard contexts: Content, Reporting, Settings and Developer. The FOSP adds one additional context: Custom, for the grouping of OOTP web tools like the OOTP League Manager and Storylines Community Edition Editor. Need more contexts in your app? They can be added simply enough. That’s one of Bonfire’s great strengths, its flexibility and expandability.
- Modular Architecture – CodeIgniter provides developers with a standard MVC development architecture which helps separate content and data from request handling logic. Bonfire goes a step further to add HMVC support allowing developers to create an unlimited number of MVC groupings called modules. Modules are nothing new in web development world but they are gaining traction throughout the PHP community as evidence by their built in support in fellow PHP frameworks Kohana and the Zend Framework.Not only does a modular architecture let you subcategorize and intelligently group you code into efficient self-contained bundles, but it adds the benefit of being able to call out to and utilize the functions of other controllers, an action not possible in a standard CodeIgniter project. This helps authors write more efficient code and promotes cooperative development and a more plug-n-play like application design.Want to see it in action? Check out this great tutorial from NetTuts+ which demonstrates this exciting new capability.
- User Authentication and More – Bonfire has a rich built in user authentication workflow which includes registration, activation and profiles. It also provides tools for user, roles and permissions management. It also includes database tools for site upgrades, downgrades and backups, features thorough activity logs, a built in module builder wizard, translation tool and even an email queue manager. There’s a lot under the hood and even more planned for future releases.
So as you can see, Bonfire is the very powerful yet flexible foundation of the platform. It provides the overall structure and creates a modular workflow with which to drop in standalone or cooperative tools.
Best of all, its open source, has a flexible license allowing free reuse and redistribution and includes helpful tutorials to get you up to speed. I myself have contributed numerous additions to the projects upcoming 0.6 release so it’s easy to not only use, but contribute back to the core project as well.
The OOTP Online League Modules (OOLM)
This is a collection of several custom Bonfire modules to help OOTP online commissioners streamline their web site management duties and provide a better web site experience overall. The ultimate goal of this package is to combine league membership, content management, forum, news and OOTP data driven tools into one combined and efficient web package.
The OOLM Module Bundle includes the following components and features:
- OOTP League Manager
This module provides a set of tools for managing an OOTP based web site.
- OOTP Online League Home Page. Which includes a custom header, dynamic nav bar (powered by the Bonfire navigation module below), news feeds (powered by the Bonfire News module), Sim Details and Twitter Feed.
- SQL import tool – Similar to the one found in StatsLab and the OOTP Fantasy leagues mods with companion required table manager and database validation tool
- Team owner selector. Assigns site users as owners of OOTP teams to enable team management features within other modules.
- Create site users from OOTP human managers. Just like it says. Create news users for your site based on human managers of unclaimed teams.
- Sim details – Includes display options panel and details output to the home page
- OOTP league specific settings panel – Define a league name, league ID, game version, asset and SQL data paths and more here.
- Bonfire News
A simple module for adding and managing news stories. Has support for news to be categorized, tagged and include image attachments. Contributions were made to the library by Bonifre developer Shawn Crigger (svizion) as well.
- Bonfire Comments
A simple module of attaching user submitted comments threads to any type of Bonfire content.
- Bonfire Navigation
A module created by Bonfire author Sean Downey to manage navigation bars for the site. The Open Web Platform includes a standard nav bar called “header_nav” after installation.
- Open Sports Toolkit (See below)
NOTE: With its preparation for beta to coincide with the overall platform release, a special version of the bundle including the Storylines Editor: Community Edition module will also be available for download.
The Open Sports Toolkit
This module is simply a collection of standard and generic OOTP data models and helper functions aimed at giving mod developers a common and powerful set of tools for working with OOTP SQL data and also tools to help display it to the end user. For the initial beta release, the library will include the following tools:
- OOTP Data Models – Set includes a generic Base OOTP Data Model and individual Teams, Players, Leagues, League Events and Human Managers Models. Each is set up to work specifically with the corresponding OOTP data tables and feature functions used by the Online League Manager and Last Sim demo modules.
- Helper Library – CodeIgniter helpers are simply PHP include files and this library will feature helper scripts with a plethora of functions like building complex player stats queries, formatting stats for display, converting OOTP db data to meaningful content (such as converting position index numbers to actual position acronyms) and many, many more.
- Language Library – A standard set of language files to cover generic OOTP related copy.
While the Toolkit has a basic set of tools and functions, including mostly functions used by existing modules, it’s an open ended toolkit and OOTP mod authors are encouraged to help add more to it. The more mod authors add back in, the more that’s available for others to reuse in their own projects.
So that’s it for the basic introduction. As you can clearly see, there is a lot to the platform overall. It includes some powerful tools right out of the box.
Want to know more about Bonfire? See the official Bonfire Guides for more information.
Still not sure about modules and HMVC? Here’s another perspective to read.
Have questions or feedback on the FOSP? Discuss it on the official OOTP forums thread.
In part 2 of the introduction, we’ll discuss getting the tool installed and setup on a web server so you can get hands on and see it in action for yourself.
Contribute to the development and help the FOSP grow
The FOSP is a 100% free and open source project. The source code is publicly available on GitHub.com. If you want to contribute to the development, simply head over to my official Github page, fork the related projects, hack the code and send pull request with your updates. It’s that simple.
If you’ve built an FOSP module let me know and I’ll add it to the "Built on the FOSP" list.
Want to help test?
Testing assures everything works as expected and that everyone gets the best fantasy experience possible. Simply download and test the site and log issues on the official Github issues pages. Each portion of the site has its own page and issues list so be sure to log the issue in the appropriate module portion of the site.
While the FOSP is free to download and use, we do very much appreciate any donations made towards its development.