A useful skeleton to more easily create a Silverstripe Module that conform to the Module Standard.
This readme contains descriptions of the parts of this module base you should customise to meet you own module needs. For example, the module name in the H1 above should be you own module name, and the description text you are reading now is where you should provide a good short explanation of what your module does.
Where possible we have included default text that can be included as is into your module and indicated in other places where you need to customise it
Below is a template of the sections of your readme.md you should ideally include to met the Module Standard and help others make use of your modules.
- Clone this repository into a folder
- Add your name/organisation to
LICENSE.md
- Update this readme with information about your module. Ensure sections that aren't relevant are deleted and placeholders are edited where relevant
- Review the README files in the various provided directories. You should replace these with
.gitkeep
or delete the directories - Update the module's
composer.json
with your requirements and package name - Update (or remove)
package.json
with your requirements and package name. Runyarn
(or removeyarn.lock
) to ensure dependencies resolve correctly - Clear the git history by running
rm -rf .git && git init
- Add and push to a VCS repository
- Either publish the module on packagist.org, or add a custom repository to your main
composer.json
- Require the module in your main
composer.json
- If you need to build a JS client
- Ensure that
vendor/silverstripe/admin
is installed withcomposer install --prefer-source
instead of the default--prefer-dist
. You may need to first remove the module from the vendor folder. - Install third party dependencies in your module AND in
vendor/silverstripe/admin
by runningyarn install
in both locations
- Ensure that
- Start developing your module!
- SilverStripe ^4.0
- Yarn, NodeJS (6.x) and npm (for building frontend assets)
- Other module
- Other server requirement
- Etc
Add some installation instructions here, having a 1 line composer copy and paste is useful. Here is a composer command to create a new module project. Ensure you read the 'publishing a module' guide and update your module's composer.json to designate your code as a SilverStripe module.
composer require silverstripe-module/skeleton 4.x-dev
Note: When you have completed your module, submit it to Packagist or add it as a VCS repository to your project's composer.json, pointing to the private repository URL.
See License
We have included a 3-clause BSD license you can use as a default. We advocate for the BSD license as it is one of the most permissive and open licenses.
Feel free to alter the license.md to suit if you wan to use an alternative license. You can use choosealicense.com to help pick a suitable license for your project.
Add links into your docs/ folder here unless your module only requires minimal documentation in that case, add here and remove the docs folder. You might use this as a quick table of content if you mhave multiple documentation pages.
If your module makes use of the config API in SilverStripe it's a good idea to provide an example config here that will get the module working out of the box and expose the user to the possible configuration options.
Provide a yaml code example where possible.
Page:
config_option: true
another_config:
- item1
- item2
- Person here person@emailaddress.com
- Another maintainer maintain@emailaddress.com
Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique.
If the issue does look like a new bug:
- Create a new issue
- Describe the steps required to reproduce your issue, and the expected outcome. Unit tests, screenshots and screencasts can help here.
- Describe your environment as detailed as possible: SilverStripe version, Browser, PHP version, Operating System, any installed SilverStripe modules.
Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker.
If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.