Rapid creation of web-based local applications for Desktop systems
At the moment, this is a working solution, but it is under active development. So far implemented only for Windows (and only 64-bit)! On request, compiles are possible for Windows 32-bit, Linux and IOS
What is it for?
In many cases, the developer is required to distribute his product locally, without using additional server infrastructure (working with secret databases, managing infrastructure, etc.). As a rule, this is a single-user application (but no one does not interfere to scale it across the network into several local machines).
My others quality plugins:
- Expander (Extend all available models: adding all types custom fields +attributes for model with in database save, and controllers: extends lists and adding custom Behaviors with built-in CMS tools in easy visual mode)
- Multi Domains (Create multiple domains or url and bind this to arbitry theme or page/staticpage with extending routing rules use single CMS installation)
- Back To Front (Components for creates All Backend Widgets in Frontend pages: Lists, Search, Filter, Forms, FormWidgets, MediaManager, Reports and manage this items)
- Backend Menu (Complete change and reconfiguration of all menus in backend: adding, rename, move, hide, icons adding and change)
- Backend Popup (Quick modify records in backend controllers lists in modal popup mode)
- Auto SEO (Full SEO automate. Generate SEO tags based on rules and page content data)
- Desktop application builder (Free experimental plugin. Easy make Desktop Application on OctoberCMS base)
- Shortcodes Engine (Free plugin. Core plugin for includes shortcodes in page content, support Static pages)
- Include Content (Free plugin. Include content on page from other site or file)
- AdSense (Free plugin. Enables to use AdSense on page)
What does it consist of?
This is a complex application consisting of an embedded web server, a PHP FastCGI -server and a browser that is responsible for issuing content and using a system browser for this (for Windows, this is IE10-11, Edge). The application, along with executable scripts, is packaged in one .exe file. When application launched for execution, it is unpacked into a temporary directory and starts (on slower machines, there may be a delay, since unpacking occurs every time it is started).
How does it work?
- with the help of the plugin for October CMS a configuration .yaml-file is created with the application settings in the plugin folder "/config"
- using the "builder.exe" utility and zip archiver, the corresponding resources from the "assets" folder are added to the application template "tmp.exe", we get one executable .exe - file
- upon launching, as mentioned earlier, the file is unpacked, the settings of the configuration file generated by the CMS-plugin are read, then the server is started, browser shell and application system menu.
In the plans:
- Add icons for Application
- Make server mode work for local users
- Add a subscription licensing mechanism (for a certain period) for distributed applications (as a OctoberCMS plugin)
- Embedding the Mysql engine directly into the code (without installing the latter)
- Encryption content folder "assets"
- Add cross-compile application "on fly" on Linux System for all platforms (+ downloads mechanism)
Make steps for build Desktop Application:
Attention: Your antivirus can swear for a virus (my Avast blocked this), add to the exception, because there are no viruses and cannot be (a false positive occurs, because the antivirus has an assumption that something bad has been added to the executable file)
Download distributive from https://desktopbuilder.linkonoid.com/desktopbuilder.zip and unpack examples archives . See folders structure in make_1.zip and make_2.zip for make your project
Make project structure folders:
- ->"components" (copy from example folder)
- ->"octobercms" (your OctoberCMS distributive with my plugin install and config or other arbitrary correct PHP-"index.php" - files)
Go to OctoberCMS backend and run plugin settings for creating config .yaml file
Copy "zip.exe", "builder.exe", "tmp.exe" files to one level with a folder of your "assets" distribution
You can skip the creation steps 4&5, if you already have a prepared project with my plugin and the generated configuration file, just copy the OctoberCMS installation into the appropriate project folder "octobercms"
Run "builder.exe" and see makes create "DesktopBuilder.exe" executable application file (if desired rename)
In the delivery of the plugin (in download distributive) there are two compiled files "PHPinfo.exe" and "DesktopBuilder.exe" (included in the respective archives) to demonstrate the operation of the application
This plugin has not been reviewed yet.
Initialize plugin DesktopBuilder
May 08, 2019