Introduction
Technical Description
The Commons In A Box (CBOX) WordPress plugin is, in essence, a package manager. It contains a utility for interpreting and enforcing dependency relationships between various WordPress assets (plugins, themes, and miscellaneous modifications), as well as an interface for easy installation, upgrade, and management of these package assets.
CBOX incorporates two packages: CBOX Classic and CBOX OpenLab; the package to be used is selected during installation. The original version of CBOX (now CBOX Classic) aimed to create an abstracted version of the CUNY Academic Commons; by installing the included plugins and activating the theme, one can quickly create a site whose appearance and functionality resembles the CUNY Academic Commons. CBOX OpenLab is modeled on City Tech’s OpenLab; it builds on the CBOX infrastructure, bundling a new theme with a suite of additional plugins to enable the creation of a community platform that is specifically configured for teaching and learning out of the box.
A list of the plugins included in each package can be found in the installation documentation. Developers may submit plugins for consideration for inclusion in one or both of the CBOX packages – please follow the Plugin Submission Process below.
Regarding themes, CBOX Classic ships with a customizable theme that uses PressCrew’s Infinity Theming Engine, but is compatible with other BuddyPress themes; CBOX OpenLab uses a custom theme that is required in order for the site to function correctly, and will replace any existing site-wide theme during installation.
Commons In A Box uses WordPress authentication; single sign-on plugins for WordPress should be compatible with CBOX but are not currently part of either package. See below for more information on managing member registrations.
All Commons In A Box software is released under a GPLv3 (or later) license from the Free Software Foundation. The Commons In A Box plugin is available for download in the WordPress plugin repository. Commons In A Box code is freely available in GitHub.
Commons In A Box is updated roughly three times annually to bring all constituent packages up to date, and to ensure compatibility with the latest stable versions of WordPress and other parent software. In cases of serious bugs or security problems, releases may be more frequent.
Software Requirements & Recommendations
Commons In A Box requires a WordPress installation (WordPress.com is not appropriate for CBOX). CBOX Classic can run on either WordPress or WordPress Multisite; CBOX OpenLab requires WordPress Multisite. As such, the server used must meet the minimum requirements to run WordPress. In addition, Commons In A Box requires version 5.3.0 or higher of PHP; more information about this requirement can be found here.
Commons In A Box and related projects run best on modern, up-to-date software. Server administrators are strongly recommended to run the latest supported versions of PHP, MySQL, and other system software.
System Requirements & Recommendations
The richly interactive features in Commons In A Box are more resource-intensive than a traditional WordPress site. While it is possible to install the package on modest hardware – such as a shared hosting account – this setup will be insufficient for real-world use, beyond mere testing. Depending on your traffic expectations and institutional support, you may consider cloud-based hosting, VPS, or dedicated web hosting.
Performance bottlenecks on Commons In A Box installations are generally available RAM and database I/O. The most effective and easiest way to mitigate these performance bottlenecks is through the use of a persistent object cache. More information is available here about what an object cache is, how to choose a cache engine, and how to integrate with WordPress. If your webhost is WordPress-focused, contact their support team to learn more about enabling their preferred object cache engine. WordPress-focused web hosts offer WP-specific optimizations for performance and security as part of their base packages. Commons In A Box works on any WP host that supports WordPress Multisite.
When estimating system requirements for Commons In A Box OpenLab, bear in mind that site usage can increase rapidly in an educational context, since each faculty member using the site may bring many students on board. Also, the ethos of open educational platforms is typically to respect member-created content and avoid deleting or archiving it – students and faculty should be able to return to their content at any time and pick up where they left off.
Some additional things to consider:
- In addition to regular nightly backups, the project team has found it beneficial on their own installations to capture and retain snapshot backups at key milestones (such as the end of each semester), and before major upgrades;
- Commons In A Box is designed to minimize the need for custom software development; however, a separate environment for testing upgrades and plugins is recommended, and site administrators may also wish to install issue management software such as Redmine to help track feature requests and bug reports.
- Best practices for configuring and maintaining websites in general should be kept in mind when running a Commons In A Box site. This includes the security of user data (such as enforcing HTTPS), the security of your web application (using strong passwords for administrator accounts, etc), and web accessibility standards (see, for example, the W3C’s standards).
Hosting
CBOX can be hosted through most popular hosting services. Reclaim Hosting offers customized hosting services for CBOX that may be of interest to communities who want to get started with the platform, including a one-click installer and CBOX-specific hosting plans.
Our Developer Support forum is a good place to seek advice from the CBOX community on hosting and related considerations (past discussions have addressed cache and server suggestions, server specifications, and hosting recommendations).
Questions?
Join our Developer Support group.