Because the UI5 Journey Recorder is a Chrome Extension the Chrome-Webbrowser is required.
- UI5 app running in the browser, accessible via
http(s)://host.ext:port
. Recommended tooling for this is either the official UI5 tooling (ui5 serve
) or some standalone http server likesoerver
orhttp-server
. - UI5 app using UI5 >=
1.60
(because theRecordReplay
API is used extensively which is only available from UI51.60
+) - Node.js version >=
14
(lts/fermium
) - Angular CLI 14 (because the extension is based on Angular 14) (
npm install -g @angular/cli
)
- Clone the repo from Github
- Navigate to the app folder of the repository and install the dependencies
npm install
- Execute the build:dev
npm run build:dev
to build 3.1. OR Execute the build:watchnpm run build:watch
- Open Chrome and the Chrome-Extension Page chrome://extensions
- Choose the "Load unpacked" Button in the top left
- Choose the dist-folder
<repository-path>\dist
- Now open the UI5 Journey Recorder from the extension menu at the top right of Chrome
(Use the pin to make the extension always accessible)
The documentation for the code is done via Compodoc.
Therefore you just have to execute the doc, doc:serve or docu:coverage NPM-Script by npm run doc
.
After this you can open the documentation from app\documentation\index.html
.
The UI5 Journey Recorder consists of two parts:
- the injected content
- the popup content
This is the part which is injected into the page where the journey should be recorded. Here you can find the:
- page_inject
- communication_inject
- content_inject
The page_inject contains all necessary functionality to detect ui5 controls, replay actions gather control informations
The communication_inject contains a REST-Like interface to communicate with the popup-Part of the Extension. This should enable an easier extension and maintenance of the extension-page-communication.
The content_inject is the bridge between the page and the extension-popup it contains the load-up for the page_inject and communication_inject.
Additonally it creates a "bridge"/"passthrough" for the communication-events.
All parts of the extension can be debugged with the default Chrome-Debbuging tools.
Changes are only allowed via Pull-Requests. We have a setup of eslint for eslint please be aware of these.
"More to be comming"