Introducing Gitpod for Joomla, Frictionless coding

To say we are technical magpies here at Joomlatools, would be an understatement! We love all shiny new pieces of technology. When we discovered Gitpod our creative juices were set into overdrive.

For 3 weeks we have been building, breaking and exploring every aspect to this new tool and we are now able to give something back to the Joomla community: https://github.com/joomlatools/joomlatools-gitpod

For the first time ever, potential users of Joomla will now be able to test Joomla before they develop their sites.

What is Joomlatools Gitpod?

Joomlatools Gitpod is a complete Integrated Development Environment and in this instance we have:

  • A online cloud source editor Theia
  • A LAMP server (Linux, Apache, MySQL, PHP)
  • A preconfigured Joomla site

The actual IDE is provided by Gitpod we've just extended their great work to showcase Joomla.

Now, when you're on GitHub and want to start working on a project. Instead of going through the manual setups, cloning the Joomla repo, setting up a local or remote hosting environment, installing Joomla, blah-de-blah-de-blah, you just click a button to start a ready-to-code dev environment in your browser. You can now code, review, or just try out Joomla. Once you are done you simply close the tab.

Getting Started

  • Check out the README.md for further details
  • Click the Gitpod ready to code button

By doing so a new cloud based instance of Joomla will be created. The first build will take significantly longer than successive builds; this is because the development environment (Apache | MySQL | PHP | Joomla) needs to be created for the first time. Once your workspace is available under: Gitpod workspaces you'll be able to launch your IDE very quickly.

How do I use this?

That's easy, fork the repository in the normal manner. This will enable you to customise how this IDE works.

Next up:

Gitpod ready-to-code button

Gitpod ready-to-code button

How do I install different Joomla versions and or extensions?

We've made this Joomla instance configurable via a config file that resides here .gitpod/config.sh. If this config file contains variables; instead of installing the latest and greatest versions of Joomla You can specify:

  • A specific version of joomla
  • Where the github repo comes from; if you have an installable Joomla hosted elsewhere
  • Install additional Joomla extensions via composer

Further you can install a custom database simply by providing a database dump via .gitpod/install.sql.

Please note all configuration values in .gitpod/config.sh are currently commented out. To provide a variable remove the comment # and provide a value for the variable.

Is this any good for teams?

From Gitpdod's own website:

Gitpod comes with two major features supporting collaboration.

  1. Sharing running dev environments with other users comes in handy if you want to look at code with a colleague to hunt down a bug together or do some pair programming. Collaborators will see the same code you see and even the terminals are synced and shared.
  2. Snapshots are useful in many ways. In a nutshell, they allow taking an immutable copy of your dev environment at any point in time. You can share the provided link wherever you want. Users opening such a snapshot link will get an exact clone of the environment including all state and even UI layout. This feature is great for sharing reproducibles in issues, but also good for blog posts or solutions on Stack Overflow.

Bonus: Test Drive our Joomlatools Platform

Joomlatools Platform is a lean mean Joomla platform with less fluff and more oomph. Joomlatools Platform is a modern Joomla stack that helps you get started with the best development tools and project structure.

To give the platform a spin, simply uncomment repo and composer in .gitpod.config.sh commit these changes to your repository and launch your Gitpod workspace once more.

Tell us your thoughts

If you have any more ideas or want to share your workflow with us, we love to hear from you! Get in touch through our developer channels on Twitter or Facebook.

Happy Joomla coding!