You probably do a whole lot of things in your concrete5 backend or on your FTP as a website builder, a website maintainer or as an Add-On developer. Think about:

  • Clearing the cache;
  • Generate translation files for a package/Add-On (for given languages or even all languages);
  • Running automated jobs like “Generate the sitemap.xml file” & “Index Search Engine – All”;
  • Update your package/Add-On, but first increment the version, then go to ‘Extend concrete5’ in the backend, click ‘Update Add-Ons’ and click on ‘Update Add-On’ behind the Add-On you want to update;

With ezCLI, you can do all these things (and many more), from one page: the “ezCLI” dashboard page (which stands for “Easy Command Line Interface”). ezCLI makes use of the built in CLI of concrete5, and therefore “simulates” the command line for you. If you are familiar with the command line interface, then you will love it. If you are not familiar, no worries. You just have to click, click and hit “Execute command” to make these simple commands. No more typing required! How easy (“e-z”).

But which commands do we have available for ezCLI?

  • Clear Cache;
  • Concrete Command(s);
  • IDE symbols;
  • Info (for 8.0.0a and upwards);
  • Install concrete5;
  • Job;
  • Package Install;
  • Package Pack;
  • Package Translate;
  • Package Uninstall;
  • Package Update;
  • Reset;

Each command has their own options. Let’s take the “Package Translate” as an example. When you want to translate a package, you will need to let ezCLI know which package that is. So you select the Package Handle (a dropdown field). You can click “Execute command” to generate the translation files for this package. Easy as that. By default, it will generate the files for all locales available. You can optionally tick checkboxes for only the required locales. If you want only “Spanish”, tick that checkbox and click “Execute command”. No page refresh needed, no typing in code.

The command that will be executed in the terminal, behind the scenes, will be the following:

concrete/bin/concrete5 c5:package-translate ezcli -l es_PY

That saves you a whole lot of typing, that’s for sure. No need to remember any of the commands, just click and play.

Also using the clear cache command is nice, easy and fast. After each executed command within ezCLI, you will see it’s response. Something like “Clearing the concrete5 cache... done.” will let you know what happened and if it happened successfully.

A nice extra feature is using the up/down arrows on your keyboard in the “Terminal input”. It works as the real terminal, by using the up arrow it will paste in the last run command. Using the up arrow again will paste in the command before that one. And so forth. The down arrow will do the opposite, and go to a command after that one. The up/down arrows are only available per page request, so if you refresh, the history of your commands are gone.

Executing normal commands (like “mkdir” or “rmdir”) are blocked by default. This in order to make it safer to put it on a production site. I’m not saying you should put this on a production site, but at least only concrete5 CLI commands can be executed when you let the wrong person use this Add-On. If you DO want to execute normal commands as well, you can make a config file under /application/config/generated_overrides, called “ezcli.php”. You will only need the following code in this file:

<?php

return array(

    'protected' => false

);

If you want to be protected again (against non concrete5 commands), either delete this file or set the value to true.

Due to potential vulnerabilities, it’s not possible to set this value through the Dashboard. You will have to make this file manually.

Current Version: 0.9.3
Fully Translatable: Yes
Needs External Libraries: No
Compatible 5.7.0.4+
License: Standard
Support Response: Replies to tickets every few days.
Support Hosted: On concrete5.org
Needs extra server permissions: No
Needs Internet: No
Marketplace Tests:
Passed Automated Tests
Passed PRB Review