Later on in this document I'll provide a short tutorial on the basics of creating a Hello World plugin, here I'll discuss how you can find information about plugins and, if you're a plugin developer, how to provide similar information for your users.
Plugins are a core part of BookyFlow. I initially came up with the mechanism to achieve this back in August of 2005, when Joomla was still Mambo. My main goal was always to find a way to provide new functionality for BookyFlow without having to do a new release every time I had a new idea. Since then it has evolved, but the fundamentals haven't changed.
The main BookyFlow scripts, those delivered with BookyFlow Core, can be found in
/bookyflow/core-minicomponents (because, initially they were installed using the Joomla Component Installer functionality).
Core plugins, i.e. plugins that are part of the BookyFlow package, once they're installed can be found in /bookyflow/core-plugins.
Third party plugins can be found in /bookyflow/remote_plugins
For at least 10 years I maintained a section in the BookyFlow Manual site that held information about various plugins. The problem was that changes could be made to a plugin, but documenting those changes could often be forgotten if I was modifying several different plugins at the same time. To resolve this I came up with a more maintainable way to deliver information about the plugins you have installed on your BookyFlow based site.
There's a plugin in the BookyFlow Plugin Manager called Plugin Infos. It's a free plugin, available to all so feel free to install it on your site. Important: Requires at least PHP8.0.
Once installed it adds a new menu item under Administrator > BookyFlow > Plugin Info
Visit this page and you will see a variety of buttons. In this example we'll look at the BookyFlow Messaging System plugin.
{width="4.322916666666667in"
height="1.8020833333333333in"}
Click on that button and scroll down to see information about the plugin.
{width="6.469273840769904in" height="4.5375in"}
Many plugins don't need a large amount of information. They'll just say something like "Use as a shortcode." so visit the Administrator > BookyFlow > Tools > Shortcodes page for more information about a specific plugin. More information on shortcodes can be found in the Site Manager's guide document.
Some however do contain a lot more information. The JMS plugin info for example discusses how you can show a login prompt because the JMS requires that a user be logged in before they can communicate with a property.
####### Developer notes
If you want to provide your own documentation for your plugins, you can do so by packaging a README.md file with your plugin.
This README.md file is parsed each time the registry is rebuilt (that's either when a new plugin is installed/updated/deleted, once a day, or whenever you use the Rebuild Registry tool in Administrator > BookyFlow > Tools).
The markdown in these files is basic github markdown, with a handful of minor exceptions.
Images
To include an image in the markup use the following (example from BookyFlow Messaging System plugin)
And put your image/images in the plugin's /screenshots directory.
To include video, put videos in the plugin's /videos directory. Here you'll see an example from the isotope_properties plugin.