From 0cb17c7fd1a9f815cd8d564d14047d2c2ada771a Mon Sep 17 00:00:00 2001 From: TabascoEye Date: Wed, 8 Dec 2021 16:41:22 +0100 Subject: [PATCH 1/2] adding map properties to documentation * screenshot of the result of the map properties * first try at documenting map properties --- docs/maps/images/mapProperties.png | Bin 0 -> 133628 bytes docs/maps/wa-maps.md | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/maps/images/mapProperties.png diff --git a/docs/maps/images/mapProperties.png b/docs/maps/images/mapProperties.png new file mode 100644 index 0000000000000000000000000000000000000000..d4001da46d3f91869fcd65b3ae51f62fc08e2227 GIT binary patch literal 133628 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%0AJi!hm;fT1sVu>Hko%!18S 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 Date: Thu, 9 Dec 2021 10:57:27 +0100 Subject: [PATCH 2/2] Developer documentation regarding scripting API This PR adds a first developer documentation regarding how to extend the scripting API. --- CONTRIBUTING.md | 4 + docs/dev/README.md | 16 ++ docs/dev/contributing-to-scripting-api.md | 276 ++++++++++++++++++++++ docs/dev/images/scripting_1.svg | 1 + docs/dev/images/scripting_2.svg | 1 + 5 files changed, 298 insertions(+) create mode 100644 docs/dev/README.md create mode 100644 docs/dev/contributing-to-scripting-api.md create mode 100644 docs/dev/images/scripting_1.svg create mode 100644 docs/dev/images/scripting_2.svg diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e5d406cf..b504d46a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,6 +10,10 @@ We love to receive contributions from our community — you! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into WorkAdventure itself. +## Developer documentation + +Documentation targeted at developers can be found in the [`/docs/dev`](docs/dev/) + ## Using the issue tracker First things first: **Do NOT report security vulnerabilities in public issues!**. diff --git a/docs/dev/README.md b/docs/dev/README.md new file mode 100644 index 00000000..d05c4884 --- /dev/null +++ b/docs/dev/README.md @@ -0,0 +1,16 @@ +# Developer documentation + +This (work in progress) documentation provides a number of "how-to" guides explaining how to work on the WorkAdventure +code. + +This documentation is targeted at developers looking to open Pull Requests on WorkAdventure. + +If you "only" want to design dynamic maps, please refer instead to the [scripting API documentation](https://workadventu.re/map-building/scripting.md). + +## Contributing + +Check out the [contributing guide](../../CONTRIBUTING.md) + +## Front documentation + +- [How to add new functions in the scripting API](contributing-to-scripting-api.md) diff --git a/docs/dev/contributing-to-scripting-api.md b/docs/dev/contributing-to-scripting-api.md new file mode 100644 index 00000000..8d716010 --- /dev/null +++ b/docs/dev/contributing-to-scripting-api.md @@ -0,0 +1,276 @@ +# How to add new functions in the scripting API + +This documentation is intended at contributors who want to participate in the development of WorkAdventure itself. +Before reading this, please be sure you are familiar with the [scripting API](https://workadventu.re/map-building/scripting.md). + +The [scripting API](https://workadventu.re/map-building/scripting.md) allows map developers to add dynamic features in their maps. + +## Why extend the scripting API? + +The philosophy behind WorkAdventure is to build a platform that is as open as possible. Part of this strategy is to +offer map developers the ability to turn a WorkAdventures map into something unexpected, using the API. For instance, +you could use it to develop games (we have seen a PacMan and a mine-sweeper on WorkAdventure!) + +We started working on the WorkAdventure scripting API with this in mind, but at some point, maybe you will find that +a feature is missing in the API. This article is here to explain to you how to add this feature. + +## How to extend the scripting API? + +Extending the scripting API means modifying the core of WorkAdventure. You can of course run these +modifications on your self-hosted instance. +But if you want to share it with the wider community, I strongly encourage you to start by [opening an issue](https://github.com/thecodingmachine/workadventure/issues) +on GitHub before starting the development. Check with the core maintainers that they are willing to merge your idea +before starting developing it. Once a new function makes it into the scripting API, it is very difficult to make it +evolve (or to deprecate), so the design of the function you add needs to be carefully considered. + +## How does it work? + +Scripts are executed in the browser, inside an iframe. + +![](images/scripting_1.svg) + +The iframe allows WorkAdventure to isolate the script in a sandbox. Because the iframe is sandbox (or on a different +domain than the WorkAdventure server), scripts cannot directly manipulate the DOM of WorkAdventure. They also cannot +directly access Phaser objects (Phaser is the game engine used in WorkAdventure). This is by-design. Since anyone +can contribute a map, we cannot allow anyone to run any code in the scope of the WorkAdventure server (that would be +a huge XSS security flaw). + +Instead, the only way the script can interact with WorkAdventure is by sending messages using the +[postMessage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). + +![](images/scripting_2.svg) + +We want to make life easy for map developers. So instead of asking them to directly send messages using the postMessage +API, we provide a nice library that does this work for them. This library is what we call the "Scripting API" (we sometimes +refer to it as the "Client API"). + +The scripting API provides the global `WA` object. + +## A simple example + +So let's take an example with a sample script: + +```typescript +WA.chat.sendChatMessage('Hello world!', 'John Doe'); +``` + +When this script is called, the scripting API is dispatching a JSON message to WorkAdventure. + +In our case, the `sendChatMessage` function looks like this: + +**src/Api/iframe/chat.ts** +```typescript + sendChatMessage(message: string, author: string) { + sendToWorkadventure({ + type: "chat", + data: { + message: message, + author: author, + }, + }); + } +``` + +The `sendToWorkadventure` function is a utility function that dispatches the message to the main frame. + +In WorkAdventure, the message is received in the [`IframeListener` listener class](http://github.com/thecodingmachine/workadventure/blob/1e6ce4dec8697340e2c91798864b94da9528b482/front/src/Api/IframeListener.ts#L200-L203). +This class is in charge of analyzing the JSON messages received and dispatching them to the right place in the WorkAdventure application. + +The message callback implemented in `IframeListener` is a giant (and disgusting) `if` statement branching to the correct +part of the code depending on the `type` property. + +**src/Api/IframeListener.ts** +```typescript +// ... + } else if (payload.type === "setProperty" && isSetPropertyEvent(payload.data)) { + this._setPropertyStream.next(payload.data); + } else if (payload.type === "chat" && isChatEvent(payload.data)) { + scriptUtils.sendAnonymousChat(payload.data); + } else if (payload.type === "openPopup" && isOpenPopupEvent(payload.data)) { + this._openPopupStream.next(payload.data); + } else if (payload.type === "closePopup" && isClosePopupEvent(payload.data)) { +// ... +``` + +In this particular case, we call `scriptUtils.sendAnonymousChat` that is doing the work of displaying the chat message. + +## Scripting API entry point + +The `WA` object originates from the scripting API. This script is hosted on the front server, at `https://[front_WA_server]/iframe_api.js.`. + +The entry point for this script is the file `front/src/iframe_api.ts`. +All the other files dedicated to the iframe API are located in the `src/Api/iframe` directory. + +## Utility functions to exchange messages + +In the example above, we already saw you can easily send a message from the iframe to WorkAdventure using the +[`sendToWorkadventure`](http://github.com/thecodingmachine/workadventure/blob/ab075ef6f4974766a3e2de12a230ac4df0954b58/front/src/Api/iframe/IframeApiContribution.ts#L11-L13) utility function. + +Of course, messaging can go the other way around and WorkAdventure can also send messages to the iframes. +We use the [`IFrameListener.postMessage`](http://github.com/thecodingmachine/workadventure/blob/ab075ef6f4974766a3e2de12a230ac4df0954b58/front/src/Api/IframeListener.ts#L455-L459) function for this. + +Finally, there is a last type of utility function (a quite powerful one). It is quite common to need to call a function +from the iframe in WorkAdventure, and to expect a response. For those use cases, the iframe API comes with a +[`queryWorkadventure`](http://github.com/thecodingmachine/workadventure/blob/ab075ef6f4974766a3e2de12a230ac4df0954b58/front/src/Api/iframe/IframeApiContribution.ts#L30-L49) utility function. + +## Types + +The JSON messages sent over the postMessage API are strictly defined using Typescript types. +Those types are not defined using classical Typescript interfaces. + +Indeed, Typescript interfaces only exist at compilation time but cannot be enforced on runtime. The postMessage API +is an entry point to WorkAdventure, and as with any entry point, data must be checked (otherwise, a hacker could +send specially crafted JSON packages to try to hack WA). + +In WorkAdventure, we use the [generic-type-guard](https://github.com/mscharley/generic-type-guard) package. This package +allows us to create interfaces AND custom type guards in one go. + +Let's go back at our example. Let's have a look at the JSON message sent when we want to send a chat message from the API: + +```typescript +sendToWorkadventure({ + type: "chat", + data: { + message: message, + author: author, + }, +}); +``` + +The "data" part of the message is defined in `front/src/Api/Events/ChatEvent.ts`: + +```typescript +import * as tg from "generic-type-guard"; + +export const isChatEvent = new tg.IsInterface() + .withProperties({ + message: tg.isString, + author: tg.isString, + }) + .get(); +/** + * A message sent from the iFrame to the game to add a message in the chat. + */ +export type ChatEvent = tg.GuardedType; +``` + +Using the generic-type-guard library, we start by writing a type guard function (`isChatEvent`). +From this type guard, the library can automatically generate the `ChatEvent` type that we can refer in our code. + +The advantage of this technique is that, **at runtime**, WorkAdventure can verify that the JSON message received +over the postMessage API is indeed correctly formatted. + +If you are not familiar with Typescript type guards, you can read [an introduction to type guards in the Typescript documentation](https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards). + +### Typing one way messages + +For "one-way" messages (from the iframe to WorkAdventure), the `sendToWorkadventure` method expects the passed +object to be of type `IframeEvent`. + +Note: I'd like here to thank @jonnytest1 for helping set up this type system. It rocks ;) + +The `IFrameEvent` type is defined in `front/src/Api/Events/IframeEvent.ts`: + +```typescript +export type IframeEventMap = { + loadPage: LoadPageEvent; + chat: ChatEvent; + openPopup: OpenPopupEvent; + closePopup: ClosePopupEvent; + openTab: OpenTabEvent; + // ... + // All the possible messages go here + // The key goes into the "type" JSON property + // ... +}; +export interface IframeEvent { + type: T; + data: IframeEventMap[T]; +} +``` + +Similarly, if you want to type messages from WorkAdventure to the iframe, there is a very similar `IframeResponseEvent`. + +```typescript +export interface IframeResponseEventMap { + userInputChat: UserInputChatEvent; + enterEvent: EnterLeaveEvent; + leaveEvent: EnterLeaveEvent; + // ... + // All the possible messages go here + // The key goes into the "type" JSON property + // ... +} +export interface IframeResponseEvent { + type: T; + data: IframeResponseEventMap[T]; +} +``` + +### Typing queries (messages with answers) + +If you want to add a new "query" (if you are using the `queryWorkadventure` utility function), you will need to +define the type of the query and the type of the response. + +The signature of `queryWorkadventure` is: + +```typescript +function queryWorkadventure( + content: IframeQuery +): Promise +``` + +Yes, that's a bit cryptic. Hopefully, all you need to know is that to add a new query, you need to edit the `iframeQueryMapTypeGuards` +array in `front/src/Api/Events/IframeEvent.ts`: + +```typescript +export const iframeQueryMapTypeGuards = { + openCoWebsite: { + query: isOpenCoWebsiteEvent, + answer: isCoWebsite, + }, + getCoWebsites: { + query: tg.isUndefined, + answer: tg.isArray(isCoWebsite), + }, + // ... + // the `query` key points to the type guard of the query + // the `answer` key points to the type guard of the response +}; +``` + +### Responding to a query on the WorkAdventure side + +In the WorkAdventure code, each possible query should be handled by what we call an "answerer". + +Registering an answerer happens using the `iframeListener.registerAnswerer()` method. + +Here is a sample: + +```typescript +iframeListener.registerAnswerer("openCoWebsite", (openCoWebsiteEvent, source) => { + // ... + + return /*...*/; +}); +``` + +The `registerAnswerer` callback is passed the event, and should return a response (or a promise to the response) in the expected format +(the one you defined in the `answer` key of `iframeQueryMapTypeGuards`). + +Important: + +- there can be only one answerer registered for a given query type. +- if the answerer is not valid any more, you need to unregister the answerer using `iframeListener.unregisterAnswerer`. + + +## sendToWorkadventure VS queryWorkadventure + +- `sendToWorkadventure` is used to send messages one way from the iframe to WorkAdventure. No response is expected. In particular + if an error happens in WorkAdventure, the iframe will not be notified. +- `queryWorkadventure` is used to send queries that expect an answer. If an error happens in WorkAdventure (i.e. if an + exception is raised), the exception will be propagated to the iframe. + +Because `queryWorkadventure` handles exceptions properly, it can be interesting to use `queryWorkadventure` instead +of `sendToWorkadventure`, even for "one-way" messages. The return message type is simply `undefined` in this case. + diff --git a/docs/dev/images/scripting_1.svg b/docs/dev/images/scripting_1.svg new file mode 100644 index 00000000..cae529f3 --- /dev/null +++ b/docs/dev/images/scripting_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/dev/images/scripting_2.svg b/docs/dev/images/scripting_2.svg new file mode 100644 index 00000000..a07294f4 --- /dev/null +++ b/docs/dev/images/scripting_2.svg @@ -0,0 +1 @@ + \ No newline at end of file