#214

Product support

Get help in the plugin support forum.

Categories

  • Developer Tools

The plugin is a skeleton for building SaaS applications using OctoberCMS.

Its main purpose is to help developers with managing permissions to frontend pages and boost the development of SaaS applications.

See the documentation tab for more information about using Cumulus Core.

TL;DR

Install official Cumulus theme and you are ready to go :)

CumulusCore extensions

Cumulus Announcements Cumulus Announcements Icon Notify users of your system about things that concerns them, their clusters or their plans.

Cumulus Plus Cumulus Plus Icon Extend your Cumulus Core system with dashboard and settings pages within seconds.

These plugin(s) are required for the plugin:

The following themes use this plugin:

Concept

To fully understand the concept it is a good idea to watch the video here: http://cumulus.init.biz/videos.

Working with pages in Cumulus is based on four levels of testing user privileges:

  1. Public pages
  2. User is logged in (using Session component from RainLab.User)
  3. User can access to cluster's page (using Cumulus Guard)
  4. Cluster has access to the module (using Module Guard)

You can use the Guards on pages, but the best approach is to create the following layouts:

  • first one for public pages
  • second one with Session component from RainLab.UserPlus for all pages that requires a user to be signed in
  • third one with Session component and CumulusGuard component for all pages that requires a user to be signed in and to be assigned to a cluster
  • Fourth, fifth and so on with Session component, CumulusGuard component and a ModuleGuard component for all pages that requires a user to be signed in, assigned to a cluster and the privilege for a cluster to access the module.

Modules

Cumulus is using modules to separate functionality and access for front-end users. Cumulus core provides managing privileges, clusters and users while modules provide functionality. Cumulus modules are normal OctoberCMS plugins with extra functionality that helps communicating with Cumulus Core.

After installing Cumulus Core you can run command:

php artisan cumulus:createmodule namespace.modulename

For example:

php artisan cumulus:createmodule Initbiz.CumulusProducts

Module created in such way is basically a normal OctoberCMS plugin with one extra migration which binds it to Cumulus. After you have the plugin created describe it in plugins lang directory (it's name and description) and run:

php artisan plugin:refresh namespace.modulename

After that command completes, the module will be initially migrated and registered in Cumulus Core.

Testing Cumulus

Cumulus tests are written using Selenium 2, using Initbiz.selenium2tests plugin. If you want to test Cumulus then in tests/ directory you have a fixtures/themes directory where theme for testing is stored. Contribution is very welcomed :)

1.3.4

Added handling transactions on user register

Jul 06, 2018

1.3.3

!!! Updated repository interface. Temporarily removed validation. Refactored cluster repository + minor fixes

Jun 27, 2018

1.3.2

Fixed typo

Jun 25, 2018

1.3.1

!!! Changed method getClusterModulesName to getClusterModulesSlugs + optimized cluster repo

Jun 19, 2018

1.3.0

!!! Removed cumulusDashboard and cumulusSettings components. They have been moved to CumulusPlus extension

Jun 19, 2018

1.2.2

Fixed recurrent dependencies in repositories

Jun 11, 2018

1.2.1

Set event listeners priorities

Jun 11, 2018

1.2.0

First Cumulus extension - Cumulus Announcements: octobercms.com/plugin/initbiz-cumulusannouncements

May 31, 2018

1.1.17

Created plan repo and added some useful methods to existing ones

May 30, 2018

1.1.16

Cleanup modules creating and listing them in settings

May 27, 2018

1.1.15

Updated table initbiz_cumuluscore_modules -> added nullable description column

May 27, 2018

1.1.14

Added ClusterFiltrable trait for models to easy filter their data using cluster_slug property

May 24, 2018

1.1.13

Funny part here. Both session and cookie should have been used. They are named cumulus_clusterslug :)

May 24, 2018

1.1.12

Changed the concept from session to cookie: cumulus_clusterslug

May 24, 2018

1.1.11

Put current cluster slug to Session with key: initbiz.cumuluscore.currentClusterSlug

May 23, 2018

1.1.10

Firing events: addClusterToPlan and addUserToCluster

May 18, 2018

1.1.9

Dropping foreign

Mar 16, 2018

1.1.8

Small organizational fixes

Mar 08, 2018

1.1.7

Fixed MySQL refreshing plugin

Jan 30, 2018

1.1.6

Fixed MySQL installation

Jan 30, 2018

1.1.5

Beautified cluster view in backend

Jan 26, 2018

1.1.4

Moved Cluster slug property from all components to CumulusComponentProperties trait

Jan 22, 2018

1.1.3

Changed texts to strings, extended cluster table

Jan 20, 2018

1.1.2

Fixed auto assigning with tests

Jan 17, 2018

1.1.1

Managing automatically adding users and clusters from settings view + cleanup and small fixes

Jan 16, 2018

1.1.0

Added unique at slug in Modules table

Jan 10, 2018

1.0.9

Added dynamic method onRedirectMe for building login pages

Jan 04, 2018

1.0.8

Fixed one to many relation between Plan and Cluster

Nov 09, 2017

1.0.7

After clean up, Cumulus is ready to be published on Marketplace

Oct 11, 2017

1.0.6

Created table initbiz_cumuluscore_plan_module

Oct 10, 2017

1.0.5

Created table initbiz_cumuluscore_plans

Oct 10, 2017

1.0.4

Created table initbiz_cumuluscore_modules

Oct 10, 2017

1.0.3

Created table initbiz_cumuluscore_cluster_user

Oct 10, 2017

1.0.2

Created table initbiz_cumuluscore_clusters

Oct 10, 2017

1.0.1

Initialize plugin.

Oct 10, 2017