Today is Valentine's Day, which depending on your outlook either means today is about rampant consumerism, or love, or both.
For this week's blog, we here at Etch Play wanted to show some love of our own. The love we have for open source.
What is open source?
Open source software is the underappreciated backbone of the programming industry, and refers to publicly available programming code, that developers like us can incorporate in our projects. The benefits of open source projects are really significant. Obviously they save people time, by being able to implement functionality someone else has already figured out. But beyond that, the quality of open source software tends to be high because the source code is viewed, used, and maintained by a wider variety of people. When software is developed openly, all sorts of people can contribute improvements, and suggestions, and maintenance work.
This fundamental principle of openness and collaboration leads to cleaner code, better security, and flexible features.
All of these things we use, and many, many more are powered by the community. That is to say, they're owned and maintained by volunteers. Some of these people invest a huge amount of time and effort into these projects. Their contributions often go under-appreciated by large swathes of the industry, but not us.
When it comes to giving back to that community, there are a couple of options. You can find a way to financially support the maintainers you value, which is a rising trend, especially in the age of services like Patreon. Or, you can contribute code.
Here at Etch Play, we're proud to do both.
Currently, we make a regular financial contribution to Phaser, an open source framework for creating games in HTML5.
And we submit our effort to open source too. We've contributed code/documentation/bug reports to Phaser, and Umbraco. And as regular users and fans of Orchard Core, we like to give back by publishing and sharing anything we create which we feel is useful for the wider community. We've been quietly doing this for a while, but we've never formally announced our contributions, until today!
What follows, is a short selection of things we've chosen to share with the world. By combining these features, and adding bespoke insight from our experience in the games industry, we create a platform known as Play CMS, which is one of several ways we help games companies level up their output with fantastic websites, and strategic thinking about the entire player experience. Some of the projects we've built recently using this system are Modern Wolf and UKIE's RaiseTheGame campaign site.
Our gifts to Orchard Core
Orchard Core Site Boilerplate
When starting a new Orchard Core project, this template can be used as a starting point. It brings in our most-used reusable modules, themes and build scripts for Azure to get you going quicker.
Orchard Core Theme Boilerplate
To customise the appearance of an Orchard Core site, you need a theme. Our theme boilerplate comes with a variety of useful features that help developers create beautiful, useful themes and get to work. It includes:
- A build process for compiling front-end assets (CSS/JS)
- A pattern library (powered by Fractal) for building front-end components and pages in isolation
- Build commands for packaging the theme up, ready for distribution on NuGet
- A recommended setup recipe for configuring the CMS as a useful starting point
- A collection of common front-end components used on most websites
Orchard Core Module Boilerplate
Extending the core functionality of Orchard Core requires a custom module. Our module boilerplate represents our starting point for developing one, and comes with useful build scripts for packaging and distributing the module on NuGet.
Using this boilerplate, we've also released a variety of specific modules that extend the Orchard Core framework:
- SEO, which adds search engine optimisation features such as meta tags, redirects and robots.txt functionality
- Fields, which extends the available content fields in Orchard Core to include new additions such as Responsive Media, Dictionary and Multi Select options.
- Block Editor, which integrates Editor.js within Orchard Core to provide a simple WYSIWYG content creation experience. This one is a work in progress!
- Workflows, which allows developers to add custom tasks that run after form submissions on Orchard Core websites.
- Contextual Edit, which allows CMS editors to quickly navigate to the appropriate content to edit in Orchard Core if they come across content on the front end
- Content Permissions, which allows the restriction of visible content on a site, based on a visitors Orchard Core "role".
As you can see, we try to give back as much as possible, and we have lots of things for Orchard Core developers to play with. We're happy to provide the re-usable components listed above, free for others to use. It's a small price to pay for all the value that the world of open source has given us over the years. If you use any of our open source code, we'd love to hear from you, so let us know!
Open source, we love you
All that remains then is to raise a glass of Valentines Day wine and say, "Here's to the open source family". Thank you for all that you do. And we hope our contributions can help make the community even stronger.
From, your not-so-secret admirer (Etch Play).
P.S: Call us, we miss you.