Open letsfindaway opened 12 months ago
I have some ideas to improve the situation.
Making "Interactivities" a subfolder of "Applications" would easily allow to assign a custom widget to either category and also allow to move them around by DnD. To improve visibility of subfolders, they should be the very first items in the library. Currently, they are the first items after the C++ tools.
We could improve the way you install a widget downloaded from the Internet. OpenBoard could e.g. inspect any downloaded zip
file. If it contains a single top-level folder ending with .wgt
, then we could ask the user whether this file should be installed as a custom widget. Probably other sanity checks could be performed, e.g. checking the config.xml
file for existence and syntax.
This would enable very simple single-click installation of custom widgets.
OpenBoard comes with a set of built-in widgets. In addition, a user can install additional widgets.
There are some sites on the Internet that recommend copying such widgets to the OpenBoard installation directory. This is bad practice, and in fact OpenBoard already provides a better mechanism for this.
Widget folders
OpenBoard searched for widgets in the following locations:
$appdir/library/applications
contains widgets for the Applications folder.$appdir/library/interactivities
contains widgets for the Interactivities folder.$usrdir/interactive content
contains user provided widgets for the Applications folder.There is no folder for user provided interactivities.
Applications and Interactivities
In the library OpenBoard distinguishes Applications and Interactivities. Technically, however, they are identical, besides the fact, that the Applications folder additionally contains the C++ tools. There is no way to distinguish an application and an interactivity.
Installing user widgets
The current situation is as follows:
.wgt
directory on the library, OpenBoard tries to copy the content to the installation folder for interactivities, i.e.$appdir/library/interactivities
. Same bad practive. Additionally, this folder is not user writable on Linux.$usrdir/interactive content
, which would be the preferred way.Questions
Some questions have to be answered before looking for a good solution: