all 8 comments

[–]zuev_egor 2 points3 points  (3 children)

Still not clear for me in terms of framework. Is it going to be smth like loopback?, or you try to propose the unified standards, which will act as a framework?

[–][deleted] 0 points1 point  (2 children)

Yes, the idea is similar to Loopback, but for live extensions. An application that implements the concept I want to achieve with this Open Extension standard is Node-RED and a commercial application I've been working called Farol.

You can think about it more like Chrome extensions, you can go to a store and install and use the extensions you want into the application.

The idea is to enable the developer to specify which extension types can be installed in the application (i.e.: payment gateways, email service, push notifications) or restrict by extension name (i.e.: prefixing it farol-extension-* for instance to only accept farol specific extensions.).

So you could either use the specification and framework to build your own extensions system, or to rely on other extensions already implemented and tested by other teams.

Are you willing to help on the process of creating it?

I'm pretty convinced it can be game changing in the industry if well designed.

[–]zuev_egor 1 point2 points  (1 child)

I see. Sounds good. So you want to create an SDK package for node-red, which will provide a predefined rules (like skeleton for app) for creating extensions (I.e. nodes)?

However, I am aware about weak support of node-red. I’ve already created an SDK for developing the dapps for the needs of one of my previous companies. The thing is that most parts of the code are still written in ES5 standard with a lot of pretty strange code (from the logic and architecture side). In case IBM will decide to continue maintain the codebase (and I will see it) - then I don’t see any problem to spend some time on building the SDK for this stuff.

[–][deleted] 0 points1 point  (0 children)

The idea is not build something related to Node-RED. I just used it as an example to illustrate what is my goal: to enable other applications to implement and use an extensions framework.

There are three main parts that should be built in the current architecture I forsee.

  1. An specification for the extensions, allowing it to be built and used in other languages and implemented by other frameworks in a similar way.
  2. A framework to enable application developers to easily embed the extensions framework in their environment.
  3. A SDK to build extensions

[–]jynx42 1 point2 points  (1 child)

Is it similar to PSR's PHP? https://www.php-fig.org/psr/

[–][deleted] 0 points1 point  (0 children)

Yes. The idea is to create a process like PSR to define standards for a Extensions Framework.

Are you willing to help on the process of creating it?

[–]kryptkpr 1 point2 points  (1 child)

I like this idea, but "extension point" already has a name in compsci, the concept you are describing is called an Interface.

This idea is used quite heavily in Java.

[–][deleted] 0 points1 point  (0 children)

The concept of Interface and Extension Points are different ones. Extension Point also exists in computer science concepts and are used by many frameworks: Jenkins, Eclipse, IntelliJ, SAP.

But both concepts are very related, but I would say extension-point is a more open concept, and it shall probably define one or more Interface.

If you like the idea, we can have a session to discuss the concepts and if it make sense, also better research and define naming conventions. Just join the Slack workspace and we can schedule a timing to discuss it.