Skip to content

Commit

Permalink
Prepare module
Browse files Browse the repository at this point in the history
  • Loading branch information
mzur committed Apr 2, 2024
1 parent 69c06f6 commit a0cd6ab
Show file tree
Hide file tree
Showing 27 changed files with 149 additions and 19,138 deletions.
26 changes: 0 additions & 26 deletions .eslintrc.json

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/lint.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest

env:
MODULE_NAME: Module
MODULE_NAME: MetadataIfdo

steps:
- uses: actions/checkout@v1
Expand Down
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

38 changes: 4 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,12 @@
# BIIGLE Module Template
# BIIGLE Metadata iFDO

[![Test status](https://github.com/biigle/module/workflows/Tests/badge.svg)](https://github.com/biigle/module/actions?query=workflow%3ATests)
[![Test status](https://github.com/biigle/metadata-ifdo/workflows/Tests/badge.svg)](https://github.com/biigle/metadata-ifdo/actions?query=workflow%3ATests)

This is a template that can be used for the development of new BIIGLE modules.

## How to develop BIIGLE modules

The BIIGLE manual contains [some tutorials](https://biigle-admin-documentation.readthedocs.io/module-development/module-development/) that can get you started with BIIGLE module development. This repository implements the code that is covered in the first three tutorials.

## How to use this template

First, [create a new repository](https://github.com/biigle/module/generate) based on this template. Then update the name of this module from `biigle/module` to whatever name you want to use for your module. The name has to be updated at the following locations:

1. [`QuotesController.php`](src/Http/Controllers/QuotesController.php#L16)
2. [`index.blade.php#L13`](src/resources/views/index.blade.php#L13)
3. [`index.blade.php#L16`](src/resources/views/index.blade.php#L16)
4. [`ModuleServiceProvider.php#L21`](src/ModuleServiceProvider.php#L21)
5. [`ModuleServiceProvider.php#L30`](src/ModuleServiceProvider.php#L30)
6. [`ModuleServiceProvider.php#L43`](src/ModuleServiceProvider.php#L43)
7. [`composer.json#L2`](composer.json#L2)
8. [`test.yml#L15`](.github/workflows/test.yml#L15)

Next, update the namespace of all PHP classes (`Biigle\Modules\Module`) and replace `Module` with the name of your module. Do this in [`webpack.mix.js#L23`](webpack.mix.js#L23), too. Also update this readme for your new module. You should remove the first two subsections and update the installation instructions. Now you can install the module and start developing.

In addition to the code of the [tutorials](https://biigle.de/manual#developer-tutorials) this repository already contains the configuration for [Laravel Mix](https://laravel.com/docs/9.x/mix) as build system. To install the build system, run and then run `npm install`. Now you can use the following commands:

- `npm run dev`: Builds and publishes the assets once.
- `npm run prod`: Builds, minifies and publishes the assets once. Always do this before you commit new code.
- `npm run watch`: Continuously builds and publishes the assets whenever an asset file is changed.
- `npm run lint`: Run static analysis to check for errors.
This is a BIIGLE module to add support for [iFDO](https://marine-imaging.com/fair/ifdos/iFDO-overview) metadata files.

## Installation

Note that you have to replace `biigle/module` with the actual name of your module/repository.

1. Run `composer require biigle/module`. *This requires your module to be published on [Packagist](https://packagist.org/). If you don't want to publish your package, read more on [alternative options](https://getcomposer.org/doc/05-repositories.md#vcs).*
2. Add `Biigle\Modules\Module\ModuleServiceProvider::class` to the `providers` array in `config/app.php`. *Replace `Module` in the class namespace with the name of your module.*
3. Run `php artisan vendor:publish --tag=public` to refresh the public assets of the modules. Do this for every update of this module.
Run `composer require biigle/metadata-ifdo`.

## Developing

Expand Down
17 changes: 12 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "biigle/module",
"description": "A template for a new BIIGLE module.",
"name": "biigle/metadata-ifdo",
"description": "BIIGLE module for iFDO metadata.",
"keywords": ["biigle", "biigle-module"],
"license": "GPL-3.0-only",
"support": {
"source": "https://github.com/biigle/module",
"issues": "https://github.com/biigle/module/issues"
"source": "https://github.com/biigle/metadata-ifdo",
"issues": "https://github.com/biigle/metadata-ifdo/issues"
},
"homepage": "https://biigle.de",
"authors": [
Expand All @@ -16,7 +16,14 @@
],
"autoload": {
"psr-4": {
"Biigle\\Modules\\Module\\": "src"
"Biigle\\Modules\\MetadataIfdo\\": "src"
}
},
"extra": {
"laravel": {
"providers": [
"Biigle\\Modules\\MetadataIfdo\\MetadataIfdoServiceProvider"
]
}
}
}
Loading

0 comments on commit a0cd6ab

Please sign in to comment.