Release v1.3.8

The new release v1.3.8 have a lot of new fixes.

My aim for the version was to work on the Tree plugin and I did for a while, but then I started working on side projects. Modernised the code in PHP and JS. Worked on the development tool Trigger. Fixed bugs and made some pre studies for future features.

Test the new release: https://infohub.se/

Influenced by GraphQL

In GraphQL you have a schema that describe how the communication will work between the client and the server.
It would help if Infohub could provide the same to the client developers.

I added a function get_call_schema that list all server plugins that you have access to, the version information for each plugin, a list with function names.
Each function have the default IN array so you can see what parameters to send.
This is a good start but it does not yet show what to expect from the plugin.

PHP 8.0

The code works well with PHP 8.0 and the composer is now changed to work with PHP 8.0.
I will soon start with PHP 8.1 now when Ubuntu 22.04 is released.

Trigger query

With the plugin Trigger you can send a message to a node, plugin, function. You can fetch the default variables and modify them.
The plugin existed before but have now got an overhaul. The filtering is improved and works as expected. The last selections are stored and populated when loading the plugin.

View

The plugin View handle all things that manipulate the screen. Now you can populate a form with drop boxes even if the drop box itself have not got any items yet. The selection is stored and wait until the drop box has items.

Pre study

Made some pre studies. The one that came the longest is drag and drop. I have made test code that will be a drag and drop plugin later.
The test code show a list with items and it is possible to drag items in any order.

Main loop

The main loop used to process only 150 iterations and then exist. That is sufficient for normal queries. The limit is there to prevent infinite message loops that locks infohub.
When I worked on get_call_schema then it just quit. I had reached the 150 loops when I called all plugins and all functions. Increased to 500 and it worked.
The 500 is now in a setting in file folder/include/settings_and_errors.php.

Next release

I should work on the Tree plugin but I will work on minor tasks on the existing plugins that has a GUI. Minor things that improve the way the plugins work.