Make the plugins Erlang/Elixir applications
Are there any advantages by treating *EPL.beam files as plugins over making plugins valid Elixir/Erlang applications? The web socket handlers could be configured via the config file.
*EPL.beam allows us to automatically configure cowboy routes and automatically register in the UI.
How do you suggest to address these?
Each plugin could configure its application environment (e.g. via env tuple in .app file), and point us to websocket handler.
Exactly, that was my idea.
Have a look at erl_cowboy and how it's being used in dobby_rest. If I understand the problem correctly, you could have tuples like {"/path/to/my_resource", handle_module} passed to the Erl/Ex application env either through the .app file or .config files (mix.exs or config/*.exs files respectively for Elixir).
I think it's related to both #27 and #26 .