From 3ac3d432bc655f913a62f6799e96d63123a0ac92 Mon Sep 17 00:00:00 2001 From: "Patrik J. Braun" Date: Sat, 25 Nov 2023 16:44:36 +0100 Subject: [PATCH] Add extension documentation #743 --- extension/README.md | 110 +++++++++++++++++++++++++++++++++++++++- extension/events.drawio | 1 + extension/events.png | Bin 0 -> 57363 bytes 3 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 extension/events.drawio create mode 100644 extension/events.png diff --git a/extension/README.md b/extension/README.md index f993a91ba..6dda2848b 100644 --- a/extension/README.md +++ b/extension/README.md @@ -1,3 +1,109 @@ -# @pigallery2/extension-kit +# pigallery2 Extension -TODO. +See feature issue for more information: [#743](https://github.com/bpatrik/pigallery2/issues/743). + +See sample extension at https://github.com/bpatrik/pigallery2-sample-extension. + +# Extension Usage + +Extension folder can be set through config. For the docker-ised version, +they live under the `config/extension` folder in their own subdirectory. + +# Extension development + +## Minimal setup + +You need at least a `server.js` in your extension folder that exports a `init(ext) {}` function. + +## Recommended setup + +``` +/myextension/package.js <- this is optional. You can add extra npm packages here +/myextension/server.js <- this is needed +``` +Where `` is what you set in the config and `myextension` is the name of your extension. +Note: you do not need to add your `node_modules` folder. The app will call `npm intall` when initializing your extension. +## Extension environment + +The app runs the extension the following way: +* It reads all extensions in `/**` folder +* Checks if `package.js` is present. If yes installs the packages +* Checks if `server.js` is present. If yes, calls the `init` function. + +### Init and cleanup lifecycle +There is also a `cleanUp` function that you can implement in your extension. +The app can call your `init` and `cleanUp` functions any time. +Always calls the `init` first then `cleanUp` later. +Main use-case: `init` is called on app startup. `cleanUp` and `init` called later when there is a new config change. + +## Extension interface + +The app calls the `init` and `cleanUp` function with a `IExtensionObject` object. +See https://github.com/bpatrik/pigallery2/blob/master/src/backend/model/extension/IExtension.ts for details. + + +`IExtensionObject` exposes lifecycle events, configs, RestAPis with some limitation. +Changes made during the these public apis you do not need to clean up in the `cleanUp` function. +App also exposes private `_app` object to provide access to low level API. Any changes made here needs clean up. + +## server.js + +See sample server.js at https://github.com/bpatrik/pigallery2-sample-extension. + +It is recommended to do the development in `ts`, so creating a `server.ts`. +Note: You need to manually transpile your `server.ts` file to `server.js` as the app does not do that for you. +This doc assumes you do the development in `ts`. + +### server.ts + +You can import package from both the main app package.json and from your extension package.json. +To import packages from the main app, you import as usual. +For packages from the extension, you always need to write relative path. i.e.: prefix with `./node_modules` +```ts +// Including dev-kit interfaces. It is not necessary, only helps development with types. +// You need to prefix them with ./node_modules +import {IExtensionObject} from './node_modules/pigallery2-extension-kit'; + +// Including prod extension packages. You need to prefix them with ./node_modules +// lodash does not have types +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import * as _ from './node_modules/lodash'; + +// Importing packages that are available in the main app (listed in the packages.json in pigallery2) +import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm'; +``` + + +#### pigallery2 extension dev-kit + +It is recommended to use the `pigallery2-extension-kit` node package. +`npm install pigallery2-extension-kit --save` to your extension. + +`pigallery2-extension-kit` contains the type definitions and enums for the app. +This node package is basically includes the all definitions of the app and exports the `IExtensionObject` that the `init` function receives. + +You can then `import {IExtensionObject} from './node_modules/pigallery2-extension-kit';` + +See https://github.com/bpatrik/pigallery2/blob/master/src/backend/model/extension/IExtension.ts to understand what contains `IExtensionObject`. + +NOTE: this is not needed to create an extension it only helps your IDE and your development. These type definitions are removed when you compile `ts` to `js`. + +#### `init` function + +You need to implement the `init` function for a working extension: + +```ts + +export const init = async (extension: IExtensionObject): Promise => { + +} +``` + +#### pigallery2 lifecycle `events` + +Tha app exposes multiple interfaces for the extensions to interact with the main app. `events` are one of the main interfaces. +Here are their flow: + + +![events_lifecycle](events.png) diff --git a/extension/events.drawio b/extension/events.drawio new file mode 100644 index 000000000..c1bcbb526 --- /dev/null +++ b/extension/events.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/extension/events.png b/extension/events.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7e1672850faf4623dc440d3ff60412853d007e GIT binary patch literal 57363 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 literal 0 HcmV?d00001