Mishka Installer is a system plugin(event) manager and run time installer for Elixir
Imagine you are going to make an application that will have many plugins built for it in the future.
But the fact that many manipulations will be made on your source code makes it difficult to maintain the application. For example, you present a content management system for your users, and now they need to activate a section for registration and SMS
; the system allows you to present your desired input/output absolutely plugin oriented to your users and makes it possible for the developers to write their required applications beyond the core source code.
This library is divided into the following main sections:
Events and Hook
In this section, you can define a series of plugins for each event, for example: after successful registration or unsuccessful purchase from âthe storeâ, and for each event, put a set of callbacks in one module.
After completing this step, when the user wants to create his own plugin, the Macro behaviour
and Hook
module will call you in its action module.
This helps you have a regular and error-free
system, and the library uses an almost integrated structure in all of its events.
Plugin management system theory and installation of Elixir libraries at runtime
The functionality of this library can be conceptualized as an architectural potential that is composed of two primary components, which are as follows:
- Event management (Plugin Hook powered by Elixir Macro)
- Managing removal and installation of Elixir libraries at
runtime
.
When a programmer uses this library for his own software development, we sought to ensure that in addition to the established capabilities, he also has access to a set of appropriate standards for software development that are based on preset behaviors that can be applied; This was our goal.
It streamlines and organizes the work of a group working on a project while also facilitating the creation of software. Error control and tree structure, which enable us to develop a system that is robust and trustworthy, are two of the guiding ideas behind the construction of this library, which has garnered attention from people all around the world.
The MishkaInstaller library can be created in various systems, and it provides fundamental capabilities such as the management of plugin states and the application of standard behaviors. These features can all be accessed by specified hooks in the library.
The installer part is in beta mode, use it carefully and some of its functionality may not work in the Elixir
release
.
Installing the library:
It should be noted that this library must be installed in two parts of the plugin and the software that wants to display the plugins, and due to its small dependencies, it does not cause any problems. To install, just add this library to your âmix.exsâ in the âdepsâ function as follows:
def deps do
[
{:mishka_installer, "~> 0.1.0"}
]
end
The library has many facilities that require you to read the document completely. But for a brief look at one of the parts of this library called Hook, a LiveBook has been created
Links
Hex: mishka_installer | Hex
Documentation: Mishka installer v0.1.0 â Documentation
Changelog: Changelog for MishkaInstaller 0.1.0 â Mishka installer v0.1.0
Github: GitHub - mishka-group/mishka_installer: Mishka Installer is a system plugin manager and run time installer for elixir