This repository contains the DataFlex workspace that was used in Jakob Kruses "It doesn't work - please fix!" presentation at EDUC 2024 in Split, Croatia.
The workspace contains three applications:
- A WebApp - originally a copy of the WebOrderMobile application without reports
- A FlexTron application - originally a copy of OrderMobile without reports
- A desktop application - originally a copy of Order Entry without reports
In all three applications a prototype "bug reporting" tool has been added to showcase usage of the browser-based MediaStream Recording API, which was the focus of the presentation. Reports have been removed to avoid dependencies on other (library) workspaces.
The MediaStream Recording API is a web API, available in most current browsers. MDN describes it like this:
The MediaStream Recording API makes it possible to capture the data generated by a MediaStream or HTMLMediaElement object for analysis, processing, or saving to disk.
A MediaStream can be aquired from user devices (like cameras or microphones) or "display media," meaning what's showing/playing on a computer. So using this API, you can record from webcams, screens or <video>
, <audio>
or <canvas>
elements on a page.
The MediaStream Recording API is not natively supported by DataFlex. But it is (partially) bridged by a custom component in the WebAPIs library. That custom component was used in this workspace. You'll find the component in the cMediaStreamAPI.pkg
and cMediaStreamRecordingAPI.pkg
files, and in the AppHtml\Custom
folder.
For usage of the API in this "bug reporting" showcase, check out these files:
For other usage options, such as recording from a webcam, check out the demo application in the WebAPIs library, available online here.