-
Notifications
You must be signed in to change notification settings - Fork 0
Phovea Yeoman generator
The Phovea Yeoman generator located at https://github.com/phovea/generator-phovea is an extension to the Yeoman scaffolding tool. This generated was designed to support developed in daily tasks of their development. The generator can be installed using:
npm install -g yo github:phovea/generator-phovea
Following generators exists which can all be triggered using yo phovea:<generator-name>
This generator supports the user in creating new plugins. See also the tutorial How to create a new view plugin. Phovea differentiates the following plugin types:
An application is the end point of the TDP platform implementing an interface for the user. For example, Ordino is an application plugin. See also Application
A frontend library is a collection of Typescript files without a direct user interface. It’s main purpose is to register new extensions to existing extension points that are queried by applications. See also the tutorial on How to create a new view plugin
The source code of a frontend library (HTML, TypeScript and SCSS files) lives in the /src
directory of a plugin (e.g. tdp_core/src/
). From this place webpack compiles and bundles all files into the frontend application.
A backend library is the corresponding counterpart on the backend side. Backend libraries are used for example to register new DB connectors. See also the tutorial on How to create a DB connector.
A backend library has its Python source code inside a directory, which has the same name as the plugin itself (e.g. tdp_core/tdp_core/
).
A backend server is a special kind of backend library that result in an independent service. The phovea REST API server itself is implemented as a backend server. Another example for a service is the Phovea Processing Queue which provides a Celery based processing task queue.
In addition to this four basic types hybrid types exist that allow developers to include both frontend and backend code in a single plugin. Hybrids include: app-slib, lib-slib, and app-service.
Similarly to creating a new plugin, the generator support the user in creating new product configurations. During the wizard dialog the composition of plugins can be easily done.
This generator helps to setting up a developer workspace based on a given product. The required argument has to point to a valid Git repository. Several shortcuts are supported. All of ordino_product, Caleydo/ordino_product, https://github.com/Caleydo/ordino_product will use the same git repository.
This generic utility generator helps to update a workspace setup when dependencies or cloned plugins have changed. In addition, it can be used to sync a plugin with the latest template configuration contained in the generator. The later is useful in cases in which dependencies or build scripts of plugins have changed. However, it should be used with caution.
When executed within a plugin folder it provides a wizard to register new extensions on both frontend and backend side. See also the tutorial on How to create a new view plugin.
This generator is a wrapper around npm install
that takes care of both registering the dependency within a plugin and updating the workspace accordingly. How to create a new view plugin.