Feature level tracking#
The MainCross Social+ system visible to end users (admin, visitors, members etc) is composed of ~70 features. These are individually version tracked and goes through the following release cycle - v0 (early access) -> v1 (beta) -> v1 (production) -> v2 -> v3 etc. Each feature is in turn built up of dozens of micro features.
As an examples, Events feature (currently at v2) is built up of:
- Event authoring tools
- Custom forms
- Registration
- Payment
- Add to calendar
- Dashboard
- Notifications
- Reminder
- ...
In addition to these visible features are dozens of under-the-hood features which are not individually version tracked. These invisible features control a lot of the heavy duty automated tasks for recaching, cleanup, periodic updates, notifications and so on.
Large features are always released in early access (alpha / private beta) first and then in (public) beta and finally in production.
Early access
A feature released in early access is meant for socializing the feature with early adopters (either Network operators, or Members). Its an opportunity to build-in-public, and allows early adopters the ability to shape the feature by way of constant feedback, feature requests, bug reporting, etc.
Its also meant to discover if the feature is useful and used enough by the community to invest further product engineering time into it.
During early access, the feature, and its UX and UI may change rapidly and without warning anytime.
A feature in early access may or may not be available on all Networks Sites.
Beta release
A feature released in beta is meant for socializing the feature with a larger audience (either Network operators, or Members). It allows interested parties to suggest feature improvements and additions.
During beta, the feature, and its UX and UI is not expected to undergo major changes. The feature is largely stable, minor updates to UX and UI may happens and primary focus is on bug fixing and production readiness.
Product suite versioning#
The product follows the following versioning notation: <major version>.<minor version>.<patch version>.<build>.
The current major version is 3.
The minor version is updated each time a new feature is released. This feature should be publicly seen by the end user, and is not a hidden developer feature, or an alpha/beta feature. This number is reset to 0 when major is incremented.
The patch version is updated each time a new micro or sub-feature is released. This should be publicly seen by the end user, and is not a hidden developer feature, or a alpha/beta feature. This number is reset to 0 when minor is incremented.
The build version is updated each time a new codebase is deployed, even if there is the most minor change. This number is reset to 0 when patch is incremented.
Release cadence#
The MainCross Social+ system is a fully managed service and hence updates are rolled out centrally and are automatically available to all instances. Releases are frequent, usually every few days since there is a lot of ongoing activity. Network Operators cannot control, or opt out of updates.
Certain Network Sites and/or form factors may lag behind others. In general, the following rules govern release cadence:
- All Network Sites are available in the Webapp form factor, this is the default and the basic configuration.
- Any new feature or microfeature is usually released on the Webapp formfactor of the MainCross demo Network Sites first. There are many of these, depending on the need - demo1.maincross.org, demo2.maincross.org, live, pwa1, st, pol1, pol2, pol3 etc
- Production ready features are next released on the Webapp formfactor of customer Network Sites.
- In some cases, this is deferred if the feature released is not material to that Network Site
- Some Network Sites are also available in the MCiW form factor, and these catch up to their Webapp version roughly every 2 weeks. In other words, there will be a different between the experience on MCiW vs Webapp for small periods of time. Such differences may not be perceptible to end users at all.
- Some Network Sites are also available in the Native apps form factor, and these catch up to their Webapp version roughly every 2 months, after undergoing the entire app publishing and review process.
- However, in case of a critical bug, releases are made to all Network Sites and all form factors asap.