bringyourownideas/silverstripe-maintenance

Toolset to help with the day by day maintenance work.

Installs: 18 311

Dependents: 5

Suggesters: 2

Stars: 18

Watchers: 4

Forks: 5

Open Issues: 7

Type:silverstripe-vendormodule


README

Build Status Scrutinizer Code Quality codecov SilverStripe supported module

Overview

The SilverStripe Maintenance module reduces your maintenance related work.

UI Preview

Requirements

  • Requires the composer.json and composer.lock files to be available and readable in the environment you plan to use this module. All information is based on these files.
  • The queuedjobs module updates metadata on your installed modules in the background. You need to configure it to run those jobs.
  • For the optional update checkers, the webserver environment needs to be able to contact external information sources through network requests
  • SilverStripe:
    • Maintenance ^2.2: SilverStripe ^4.4
    • Maintenance ~2.1.0: SilverStripe 4.0-4.3
    • Maintenance: ^1.0: SilverStripe 3.x

Suggested Modules

By default, the module will read your installed modules, and present them as a report in the CMS under admin/reports.

In order to get information about potential updates to these modules, we recommend the installation of two additional modules.

Installation

Option 1 (recommended): Install the maintenance package and suggested dependencies

composer require bringyourownideas/silverstripe-maintenance bringyourownideas/silverstripe-composer-security-checker bringyourownideas/silverstripe-composer-update-checker

Option 2 (minimal): Install only the maintenance package without any update checks

composer require bringyourownideas/silverstripe-maintenance

Build schema and queue an initial job to populate the database:

sake dev/build

If you haven't already, you need to configure the job queue to update module metadata in the background. By default, this happens every day, but can be configured to run at different intervals through YAML config:

BringYourOwnIdeas\Maintenance\Jobs\CheckForUpdatesJob:
  reschedule_delay: '+1 hour'

Manually running tasks

By default, tasks are run through a job queue. You can also choose to manually refresh via the command line.

Run the update task (includes the update-checker)

sake dev/tasks/UpdatePackageInfoTask

Run the security update check task (requires the security-checker)

sake dev/tasks/SecurityAlertCheckTask

How your composer.json influences the report

The report available through the CMS shows "Available" and "Latest" versions (see user guide). The version recommendations in those columns depend on your composer.json configuration. When setting tight constraints (e.g. silverstripe/framework:4.3.2@stable), newer releases don't show up as expected. We recommend to have looser constraints by default (e.g. silverstripe/framework:^4.3). When the "Latest" version shows dev-master, it likely means that you have "minimum-stability": "dev" in your composer.json.

Documentation

Please see the user guide section.

Contributing

Contributions are welcome! Create an issue, explaining a bug or propose development ideas. Find more information on contributing in the SilverStripe developer documentation.

Reporting Issues

Please create an issue for any bugs you've found, or features you're missing.