Contribute to Magnolia
If you have some time on your hands and like what you see, why not participate and make Magnolia even better? There are many ways you can support us: spread the word, write code, or simply share time, knowledge or funds with us.
Answer questions on the mailing lists
Even if you just got started with Magnolia, you might know more than the person asking a question. You are very welcome to share your knowledge on our forum.
Write documentation
If you like to write documentation and have some time on your hands, there are many issues that need documenting. If you have learned something, write it down and share it. No need to get fancy with graphics and stuff. A small how-to in plain text is a good start.
If you had to write documentation for your users, your IT department or your grandma, why not share it with the rest of the Magnolia community? They might have grandmas, too.
Translate the user interface
Magnolia comes with an internationalized UI. This allows users to choose the interface language they want. Even if you do not have the ambition to completely translate Magnolia, you might have time to add a couple of translations or correct erroneous ones in your own language. We run the internationalization effort as a community project so please check out the Language Bundles project in JIRA and help out!
Report bugs
If you use Magnolia and find a bug, report it in the Jira issue tracker. Make sure it’s a bug and not simply a configuration issue. Check the bug tracker to see if it has been reported before. Add it to the bug tracker if no one else has done so.
If you don’t know whether something is a bug or a configuration issue, check the forum for similar problems. If in doubt, post it on the forum and, if the general agreement is that it is a bug, add it to the issue tracker.
Writing bug reports is a fantastic way to contribute to a project, and we are very thankful for each well written bug report. The better your report is researched and written, the faster the bug will be fixed.
Of course, you are also welcome to download the latest code from Magnolia GitLab and test it.
Spread the word!
If you like Magnolia, one way to help us is to promote us - spread the word.
Report Magnolia sites and success stories
If you have built a website with Magnolia let us know about it - we will add you to the growing customer list.
Write about Magnolia
If you have the possibility to write an article about Magnolia, do so. Publish it on your blog, your website or in a magazine. Let us know about it, we will be sure to promote your work.
Talk about Magnolia
You are a conference speaker? Great! Talk about Magnolia - even if you only mention it, you will help Magnolia to gain more popularity. Of course, you are also welcome to speak about the system on the radio or the TV. If all else fails, talk to your dog. It is unlikely to significantly promote Magnolia but maybe it helps.
Write Code!
Code contributions in its various forms are very welcome - check our list of ideas!
For all code contributions, we require that you sign the Contribution License. It’s easy, safe and you get to use a machine that was invented more than 160 years ago - the fax machine, patented in 1843. (Of course you can also use the even older postal service, first established in China 900 BC.)
Finding and sharing light modules
The more the Magnolia community shares modules, the more productive all Magnolia developers become. Sharing a module as open source means the community can report problems that they discover, and even improve the module with bug fixes, new features, or translations. Light modules (as simple directories of files) provide a mechanism to package and share CMS functionality.
If you have some functionality that you think would be useful, like a component, consider sharing it with your fellow Magnolia developers. We all benefit when the Magnolia developer experience improves, the community becomes more active, and when Magnolia gets more visibility in the CMS and front-end development spaces.
npm
Light modules can be shared with the Magnolia community using the npm package manager.
While npm was originally built as a package manager for Node.js, it has evolved to be the package manager for front-end development. It has the following benefits:
-
Easy to find packages.
-
Easy to publish and completely self-service.
-
Ability to declare and resolve dependencies to other packages - such as those providing JavaScript or CSS libraries.
-
Wide adoption and large ecosystem of front-end tooling.
The Magnolia Marketplace remains the best address for finding quality modules and integrations of all kinds. Light modules hosted on npm can be contributed for inclusion on the Marketplace.
Finding light modules
Because all shared light modules are published to npm, you can search for them with the term magnolia-light-module using npm CLI or on the npm website.
Guidelines
Magnolia provides a set of guidelines to make sure that light modules are easy to find and use by the community, but still ensure that the creator has total flexibility in how their light module is built.
Guideline | Details |
---|---|
Findable |
Include the magnolia-light-module keyword in the npm |
Ready-to-use |
Publish your light module to npm in a ready-to-use state. A developer should be able to take the package from npm, drop it in their |
README |
Provide a complete |
Small |
Strive to make your light module small and focused, for example, providing a single component. People can more easily use your module if they understand it and it does not bring in additional things that they do not need - or might conflict with their project. |
Github |
The source control project for the package could be anywhere, but Magnolia recommends Github to enable others to contribute to your project by reporting issues or even providing improvements. |
Contribution license
The contribution license is inspired (i.e. copied and adapted) from the Apache Contributor License Agreement, as is the following reasoning for requiring such a license: Magnolia International desires that all contributors of ideas, code, or documentation to the Magnolia projects complete, sign, and submit (via mail or fax) a Contributor License Agreement (CLA). The purpose of this agreement is to clearly define the terms under which intellectual property has been contributed to Magnolia International and thereby allow us to defend the project should there be a legal dispute regarding the software at some future time. A signed CLA is required to be on file before an individual is given commit rights to a Magnolia project.
If you have not already done so, please complete our Magnolia Contributor License Agreement and send it by facsimile to Magnolia International at +41 61 228-9001, or send a photocopy by regular mail to:
Magnolia International
Oslostrasse 2
4142 Münchenstein (Basel)
Switzerland
Please read this document carefully before signing and keep the original for your records. |