What is the Entando Hub?


What do you think about when somebody says Hub?

It is a heart or place to carry a set of issues, or a number of sorts of issues. And an Entando Hub is a repository (native, distant, public, or non-public), that accommodates elements. To be extra particular, the App Builder, the UI of the Entando Platform, can hook up with a number of Entando Hub.

In my current weblog on Entando 7.0 launch, I wrote a bit concerning the Entando Hub. You’ll be able to test that out right here. However, on this weblog, I’ll give a technical overview of the Hub.

Earlier than I begin, let’s discover out why we wanted a Hub.

Within the earlier blogs, we discovered concerning the 4Cs. In the event you don’t learn about that, you possibly can check out this weblog. from the 4 important roles of utility composition, one factor is obvious: the set of elements constructed by creators are reusable and completely versatile. However, to make them straightforward to reuse, there was a must create a Hub, the place they might reside and be obtainable to a bigger viewers.

Now, the query is, what are a number of the capabilities of the Hub?

The Hub permits you to share Single Parts, Element Collections, Answer Templates, Packaged Enterprise Capabilities (PBCs) that creators construct.

Single elements are a constructing block for apps. It is usually a web page template, content material template, micro frontend, microservice, UX Fragment,content material sort…

Image description

Element collections are a packaged set of single elements. They’re assembled elements which might be ultimately functionally unrelated however helpful to a Composer. (e.g. a set of Web page Templates, a set of content material templates or content material varieties + widgets + MFE or a mixture of them)

Image description

Answer templates are a pre-packaged set of PBCs, element collections, and single elements offering full-featured, domain-specific options. (eg: Job Tracker, Provider Portal, Buyer Portal, Associate Portal, E-commerce, …)

Image description

And PBCs are encapsulated software program elements that symbolize a well-defined enterprise functionality, recognizable as such by a enterprise person, and packaged for programmatic entry.

Image description

Any and all of those could be assembled within the Hub, the place new objects and new variations are repeatedly made obtainable. However to keep away from errors or points, we should always observe some greatest practices.

  • The PBCs and/or elements we construct as a creator should be nicely sized. It shouldn’t both be too small or too massive. It ought to be business-driven with a particular enterprise worth. There are a number of eventualities on this case. For instance, a PBC can have many elements which may make it giant, or it will probably have fewer elements, making the dimensions smaller. However on this case, a Composer may have to put in a number of objects to get what they want. It’s a tradeoff between performance and ease of use. Therefore, we should decide correctly, ensuring the element isn’t too giant or too small.

  • Our Parts and PBCs ought to be simply configurable. By this I imply, we should keep away from hard-coded stuff. It’s preferable to make use of separate configuration information or database tables to retailer any worth that’s wanted in your element.

  • It’s best to make use of a bundle supervisor as it will probably assist us with the correct dependency versioning technique. A bundle supervisor helps us by updating all of the packages and/or software program ceaselessly. These packages run assessments to test safety and different issues. It additionally saves us quite a lot of time.

  • Whereas we talk about these greatest practices, we should know that the Curator oversees the Hub, managing the elements obtainable there for the group. Therefore, the Curator ought to do a Safety Evaluation. They need to carry out a radical evaluation of the dependencies, safety alert or code vulnerabilities.

  • Use code high quality metrics to measure and decide if the code now we have written for the PBC is of top quality. Sure variables are checked beneath this high quality evaluation, like code complexity, portability, reusability, and so forth.

  • And eventually, we should always add correct documentation for our PBC. It’s the very first thing that gives readability about our PBC. This documentation ought to be made in such a fashion that it’s nicely understood by each enterprise and technical individuals. Additionally, it’s a good coding follow!

Now, it’s time we check out the Hub.

Image description

As you see right here, there are numerous PBCs, Element Collections, Answer Templates, and Single Parts beneath “Catalog”. After the Curator performs the validation checks, these constructing blocks made by Creators are printed within the Hub.

How can we use the Hub?

This Hub can be utilized with Entando 7.0. This documentation might help us get began after putting in the Hub on Entando 7.0. However within the upcoming blogs, I’ll undoubtedly share how it may be put in in our App Builder.

Is the Hub open supply?

The Entando Hub is beneath the ​​LGPL-3.0 license and is open supply. We are able to simply contribute to it by referring to this repository.

Lastly, earlier than we wrap up, I’d like to elucidate the Entando Cloud Hub.

The Entando Cloud Hub is a SaaS occasion of an Entando Hub that accommodates a private and non-private assortment of elements.

Properly, that’s all concerning the Hub for now. We’re within the course of of making extra tutorials across the Hub and people might be launched over the following few weeks.

However, for now, I’d like to see you all check out the Hub for yourselves and ship in your suggestions to the remark part under!

Image description

Lastly, we at Entando are constructing an thrilling neighborhood that spreads consciousness of composability and modular functions. We name it the Modular Squad, and we’d love to ask you to join us and be a part of this journey!

Thanks!

Add a Comment

Your email address will not be published. Required fields are marked *