-
Notifications
You must be signed in to change notification settings - Fork 1
Modules
WebWidgets uses a module system to separate functions of the CMS platform. Each module and it's author has a unique identity. The unique identity can be created from WebWidgets' developers page.
Most of the built in modules are necessary for WebWidgets program to function however some are optional which can be disabled and even be deleted, the dynamic link library library and/or the entry in the database.
Since modules can be interconnected to provide greater functionality. Therefore modules follow a set of rules before increasing their version as WebWidgets program may
Each module has a version in the format 3.3.1(major.minor.fix). If a module is dependent on another module then it may provide a range of the Major and Minor versions of that dependency module. If the dependency module is present but out of the acceptable range of version then the dependent module will be disabled. If although version is out of range but the changes does not cause any conflict with the dependency functions then the user can simply edit the accepted range.
Choosing a new version should be on the basis of it's changes as described below, however, choosing between a major or minor version increment is up to the developer's choice.
In case of a new version in which depending modules would still function as expected, the right-most version should be incremented. If a new version includes API change or database schema change then minor or major version should be incremented.
In case of a new version in which depending modules would likely cause unexpected behavior and the new version include such changes that the depending modules could easily be updated to work with the newer version then the middle version(minor version) should be incremented and the Fix version should be made 0.
In case of a new version in which depending modules would cause unexpected behavior or cause fatal errors and the new version include such changes that the depending modules would also have to be restructured to work with the newer version then the first version(major version) should be incremented and the Fix and Minor versions should be made 0.
WebWidgets includes two kinds of built in modules. Optional Modules and Core Modules.