Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENDOC-536 new bundle classification #555

Merged
merged 6 commits into from
Aug 31, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion vuepress/docs/.vuepress/next.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,15 @@ module.exports = {
title: 'Curate and Share Components',
children: [
{
title: 'Bundle and Component Descriptors',
title: 'Bundle Descriptor Details',
path: path + 'curate/ecr-bundle-details.md'
},
{
title: 'Bundle Transition Comparison',
path: path + 'curate/bundle-comparison.md'
},
{
title: 'Component Descriptors',
path: path + 'curate/ecr-bundle-details.md'
},
{
Expand Down
40 changes: 40 additions & 0 deletions vuepress/docs/next/docs/curate/bundle-comparison.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
Copy link
Collaborator Author

@jyunmitch jyunmitch Aug 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: changed file name...lost most of Nathan's comments but applied all of them here. The files are the same in this commit, I think

sidebarDepth: 2
---

# Entando Bundle Transition to 7.1 Entando Bundle Evolution
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i like this!


Entando 7.1 implements a more modular approach to building apps with the **ent bundle** CLI orchestrating the management of project bundles. The Entando bundle was restructured, its processes decoupled by component type, and the publishing transport method was streamlined. With these changes, Entando Bundles went from git-based to Docker-based OCI bundles. Though both systems are supported on Entando 7.1, this page clarifies the differences between the two, along with the improvements that were made with the new release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Entando bundle -> Entando Bundle (2nd sentence)
Docker-based -> docker-based (4th line)
system is not the right word here. implementations is an option

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll change it to methods, shorter than implementation

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's actually not a method, though... implementations is really the best word here. unless you want to use "bundle structures"

same comment as before applies to "went from"; don't know if you saw it. we need to make it clear that v1 and v5 bundles both exist, and that v1 bundles have not been converted over to v5. 7.1 introduces a new bundle format, but this does not impact existing bundles from 7.0 backwards. the conversion to turn v1 into v5 has to be done by the user

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the statement that both methods are supported suffices here. To get into too much detail is not fruitful when they can see the table of differences just below. And Nathan thought the summary worked. I don't want to say anything about conversion because, 1. not may people will be doing it without Entando's support as Nathan said, and 2. it makes it sound cumbersome right off the bat.

And methods, processes, implementations, they can all work on some level. and since it was just talking about transport methods, thought that would also suffice.


Some of the major improvements with the docker-based bundles are:
* Simplified bundle directory structure
* Single source git repository required with Docker image repositories created automatically as needed
* Optimized file storage and transfer using a layered file-system, beneficial for large projects
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no hyphen - "layered file system"

* Standardized bundle address format
* A decoupled build and deployment process which is easier to understand, modify, and troubleshoot

For specifications on docker-based bundles, see the [Bundle Details](ecr-bundle-details.md) page.
### Bundle Comparison Table
|Attribute | [git-based bundles](../../../v7.0/docs/curate/ecr-bundle-details.md)| [docker-based bundles](ecr-bundle-details.md)|
| :- | :-------------------- | :--------------------- |
|`descriptorVersion`| v1| v5
| Bundle specifications |Defined with descriptor files | Built with [ent bundle CLI](../getting-started/ent-bundle.md) tool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor, but "defined by"

| Versioning |Bundle version set by Git tags |Bundle version set by Docker Tags. For MFEs, the version defaults to 1.0.0 unless set in the [entando.json](ecr-bundle-details.md).
|Plugin ingress| Generated by Entando or set in the plugin descriptor.yaml | Generated by Entando or customized in the [bundle descriptor](ecr-bundle-details.md#entando-bundle-conventions), entando.json
|Identifiers| Designated Bundle ID and Plugin ID | Bundles, MFEs, & Plugins have unique global IDs|
|Initialize from Entando Hub| As git clone |[Direct initialization from Hub](../../tutorials/create/mfe/react.md)(TODO-switch to appropriate tutorial) with `ent init BUNDLE-NAME –from-hub`|
|Bundle Creation | `ent prj` commands| New modular `ent bundle` commands
|Deploy & Install| `ent ecr deploy` and `ent ecr install` | No change
|Export Bundle|`ent bundler`| Not Available
|JHipster Integrated Blueprint Project| `ent jhipster blueprint` creates [MFE & MS template project](../../tutorials/create/ms/generate-microservices-and-micro-frontends.md)| [Convert Blueprint project to v5 bundle](../../tutorials/create/ms/generate-microservices-and-micro-frontends.md) (TODO-change link to new tutorial)
|APIs| Not Available | [Manage APIs with `ent bundle` commands](../getting-started/ent-api.md). MFEs can make API claims to MSs within the namespace
||| MFEs support service discovery by using the property apiClaim
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backtick "apiClaim" because it's a property ??

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's being used as a name of a thing, not referring to code?

|Local Services |Not Available | Default services now include PostgreSQL, MySQL, and Keycloak. Additional services can be added with the [`ent bundle svc` commands](../getting-started/ent-svc.md).
|MFE custom UI| Add with manual scripts| Custom UI is auto-generated in FTL format
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

autogenerated

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looked it up and they are both used, about equally

|Data transfer | Manual | New ways to pass values or information to widgets, bundles, or expose in the APIs by [utilizing context parameters, system parameters and the ext variable](ecr-bundle-details.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sentence fragment is awkward - "or expose in the APIs..." what do you mean by this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the APIs expose the values or information transferred, literally, probably in the browser or something like that

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the verb changed so the subject needs to be reintroduced somehow... "New ways to pass values to widgets and bundles or expose information in APIs by..."

|Bundle Thumbnail| Detailed inside the YAML bundle descriptor|Automatically set with a JPG or PNG file named `thumbnail` in the bundle root folder, e.g. thumbnail.png

* Alternate page titles
# Entando Bundle Version Comparison
# Entando Bundle Differentiation
# Feature Matrix for Bundle Transition