biblibre/omeka-cli

Omeka CLI

Maintainers

👁 jajm

Package info

github.com/biblibre/omeka-cli

Type:project

pkg:composer/biblibre/omeka-cli

Statistics

Installs: 57

Dependents: 0

Suggesters: 0

Stars: 11

Open Issues: 2

v2.0.0 2020-06-15 10:05 UTC

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

GPL-3.0-or-later aa388955b00d5e75a28e963e22d3e219c9606589

  • Julian Maurice <julian.maurice.woop@biblibre.com>

omeka


README

Command line tool for Omeka

This tool allows to interact with Omeka by using a command line interface. It also provides everything needed for Omeka plugins to create custom commands.

👁 Build status

Usage

omeka-cli [-h | --help]
omeka-cli [-V | --version]
omeka-cli <command> [options] [arguments]

Available commands

check-updates check for updates
help print help for a specific command
status print status of current Omeka installation
install install Omeka
list list available commands
options list, get and set Omeka options
plugin-disable disable a plugin
plugin-download downloads a plugin
plugin-enable enable a plugin (install & activate)
plugin-list list all plugins
plugin-search search a plugin
plugin-uninstall uninstall a plugin
plugin-update update a plugin
snapshot create a snapshot
snapshot-restore restore a snapshot
upgrade upgrade Omeka

Requirements

  • PHP (>= 7.2) with the following extensions:
    • Zip
    • PDO and the PDO_MYSQL driver
  • git

Installation

Using composer

# For the latest released version
composer global require biblibre/omeka-cli

# For the latest dev version
composer global require biblibre/omeka-cli:@dev

Then add ~/.config/composer/vendor/bin to your PATH

export PATH=~/.config/composer/vendor/bin:$PATH

Using the phar

Download the latest ̀omeka-cli.phar from Releases page.

wget https://github.com/biblibre/omeka-cli/releases/download/$VERSION/omeka-cli.phar
chmod +x omeka-cli.phar
sudo mv omeka-cli.phar /usr/local/bin/omeka-cli

Using the sources

git clone https://github.com/biblibre/omeka-cli.git
cd omeka-cli
composer install --no-dev
bin/omeka-cli --version

Creating custom commands

To create a custom command named foo:bar with the Foo plugin, put the following code in the initialize hook of your plugin's main class:

$events = Zend_EventManager_StaticEventManager::getInstance();
$events->attach('OmekaCli', 'commands', function() {
 return array(
 'Foo_Bar',
 );
});

and define a class Foo_Bar which extends OmekaCli\Command\AbstractCommand

You will have to implements at least configure and execute methods.

For instance:

use OmekaCli\Command\AbstractCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class Foo_Bar extends AbstractCommand
{
 protected function configure()
 {
 $this->setName('foo:bar');
 $this->setDescription('print something to stdout');
 $this->setAliases(array('bar'));
 }

 protected function execute(InputInterface $input, OutputInterface $output)
 {
 $output->writeln('Hello, omeka-cli!');

 return 0;
 }
}

Then you will be able to run the command either this way:

omeka-cli foo:bar [OPTION...] [ARG...]

or using the alias:

omeka-cli bar [OPTION...] [ARG...]

To see how to create a custom command from a plugin in practice, see plugin Foo.

Running tests

If you want to test omeka-cli, copy phpunit.xml.dist into phpunit.xml and change environment variables OMEKA_DB_* as needed. If you want to avoid downloading Omeka before every run, you can download the ZIP file manually, and put its local path in OMEKA_ZIP_PATH.

After you've done that, run

composer install
vendor/bin/phpunit

License

GPL 3.0+