-
Notifications
You must be signed in to change notification settings - Fork 0
Changes with QWebEngine
The change from the outdated QWebKit
based browser engine to the Chrome based QWebEngine
is mainly an "under-the-hood" change. But it has also impact to the end user, as it affects features like the embedding of web content on the board.
With the switch to QWebEngine
OpenBoard comes with an up-to-date and fully HTML5 compliant browser engine, which is able to render modern web sites correctly. It can even run web conference applications like Jitsi or BigBlueButton from within OpenBoard including access to camera and microphone.
The context menu allows to navigate in history, to open links in new tabs or to view the source code of a page or open a web inspector window for debugging.
The browser has however still a very simple user interface and lacks much of the functions you might be used from external browsers like bookmark management, auto-completion, etc.
The former search entry field is no longer used. Instead a query can directly typed into the URL field. If the content of this field cannot be interpreted as an URL or starts with a question mark ?
a configurable search engine is used to search for that term.
The search engine can be configured in the OpenBoard configuration file:
[Web]
SearchEngineUrl=https://duckduckgo.com/?q=%1
The placeholder %1
is replaced by the search term.
One of the main reasons to have a built-in web browser within OpenBoard is the ability to take web content and to embed it on OpenBoard pages. This feature has undergone several changes in the past, and as Adobe Flash as the main technology for embeddable content was replaced by HTML5 features, JavaScript and other technologies, it was getting less useful recently.
The switch to the new web engine offers the possibility to rework the embedding of web content. We will now offer the following options:
- Embed a complete web page as widget on an OpenBoard page. This feature did exist before and is unchanged.
- Embed a video or audio player from a web page offering oEmbed information (e.g. Youtube, Vimeo and many others).
- Embed an
<iframe>
from a web page as widget. These three features are combined into a web trap tool, which was formerly capable of extracting Flash animations from a web page. Flash animations are no longer supported. - Embed a screenshot of a complete web page or a selected part of the page. This feature did exist before and is unchanged.
- Embed an image from a web page. This can be achieved by copying the image in the web browser using the context menu and pasting it on the board using
Ctrl-V
.
Many of the widgets are small, web-browser-based applications. They have the ability to interact with the board, e.g. to change the pen color (see ColorChooser) or set a background image (see Papier). For these interactions with the board they are using a so-called API. Unfortunately, this API has to change with the introduction of the new web engine.
For new boards this is not a problem, as the widget applications are all updated to work with the new API. Boards created with previous versions of OpenBoard might however be affected of that change. OpenBoard saves a copy of each widget placed on the board in the document directory. For existing boards, this copy might contain versions of the widget using the old API. As some of the API changes are incompatible, some features of these widgets will cease to work.
Note: Might it be possible to offer an automatic update function, which replaces these copies with the new versions of the widgets?
The browser engine is a separate package and can be updated independent of the Qt version used to build OpenBoard. An update mechanism for the web engine independent of the OpenBoard core should be considered.