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

RHDEVDOCS-4826-Topology support for Service Binding Label Selector Implementation #55734

Merged
merged 1 commit into from Feb 15, 2023

Conversation

@openshift-ci openshift-ci bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 9, 2023
@shreyasiddhartha shreyasiddhartha changed the title Spelling correction RHDEVDOCS-4826-Topology support for Service Binding Label Selector Implementation Feb 9, 2023
@ocpdocs-previewbot
Copy link

ocpdocs-previewbot commented Feb 9, 2023

🤖 Updated build preview is available at:
https://55734--docspreview.netlify.app

Build log: https://circleci.com/gh/ocpdocs-previewbot/openshift-docs/8965

To use *Label Selector* and to create one or more connections at once, you must import `ServiceBinding` resource yaml.
====

** After you click on the dangling arrow, the Service Binding connector *Details* side-panel appears. You can view the *Label Selector* associated with it here.
Copy link

Choose a reason for hiding this comment

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

Will this be a dangling arrow as the connection is already established in the previous step? As seen in the doc dangling is used for the arrow appearing when the user hovers the mouse pointer on the application node i.e. before the connection is established

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@sanketpathak I think this a drag and drop arrow. I'll make the correction.

@invincibleJai
Copy link
Member

/cc @divyanshiGupta

[id="odc-visualizing-the-binding-connections-to-resources_{context}"]
= Visualizing the binding connections to resources

As a user, you can visualize a Service Binding through *Label Selector* in *Topology* view. Label selector is a feature added to Service Binding Operator that aims to simplify the process of binding applications to backing services. It does this by allowing developers to use specified labels to find and connect applications instead of using the name of the application. It aims to alleviate the confusing nature of one or many services to many application binds. This is done by specifying labels that will be consumed by the Service Binding Operator when creating `ServiceBinding` resources.
Copy link

Choose a reason for hiding this comment

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

Suggested change
As a user, you can visualize a Service Binding through *Label Selector* in *Topology* view. Label selector is a feature added to Service Binding Operator that aims to simplify the process of binding applications to backing services. It does this by allowing developers to use specified labels to find and connect applications instead of using the name of the application. It aims to alleviate the confusing nature of one or many services to many application binds. This is done by specifying labels that will be consumed by the Service Binding Operator when creating `ServiceBinding` resources.
As a user, you can visualize a Service Binding through *Label Selector* in *Topology* view. Label selector is a feature added to Service Binding Operator that aims to simplify the process of binding applications to backing services. It does this by allowing developers to use specified labels to find and connect applications instead of using the name of the application. It aims to alleviate the confusing nature of one or many services to many application binds. This is done by specifying labels when creating `ServiceBinding` resources that will be consumed by the Service Binding Operator to find the applications to create a service binding with.


To view the *Label Selector*, consider the following approaches:

** After you import yaml page, you can view the *Label Selector* associated with the Service Binding in the *ServiceBinding details* page.

Choose a reason for hiding this comment

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

Suggested change
** After you import yaml page, you can view the *Label Selector* associated with the Service Binding in the *ServiceBinding details* page.
** After you import a ServiceBinding resource, you can view the *Label Selector* associated with the Service Binding in the *ServiceBinding details* page.

Copy link
Member

@Srivaralakshmi Srivaralakshmi left a comment

Choose a reason for hiding this comment

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

@shreyasiddhartha PTAL at the suggestions. Thanks!

@@ -8,7 +8,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]
toc::[]

[role="_abstract"]
In addition to grouping multiple components within an application, you can also use the *Topology* view to connect components with each other. You can either use a binding connector or a visual one to connect components.
In addition to grouping multiple components within an application, you can also use the *Topology* view to connect components with each other and to connect multiple resources to services with labels. You can either use a binding connector or a visual one to connect components.
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: Simplify this further for easy scanning of information. For example:

Use the Topology view for the following purposes:

  • Group multiple components within an application.
  • Connect components with each other.
  • Connect multiple resources to services with labels.

You can either use a binding connector or a visual one to connect components.

Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: Alternatively, you can also try this:

Use either a binding connector or a visual one in the Topology view for the following purposes:

  • Group multiple components within an application.
  • Connect components with each other.
  • Connect multiple resources to services with labels.

Note:

  • I am not clear what you mean by visual one. Ensure to check with the SMEs whether this is the appropriate term and use the correct one.
  • Check both my suggestions with the SMEs for technical accuracy. Pick the one that is more accurate. Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm using the second suggestion provided by @Srivaralakshmi. Instead of using the "visual one", I'll use the term "visual connector" which is specified later in the document.

@@ -0,0 +1,41 @@
// Module included in the following assemblies:
//
// * applications/connecting_applications_to_services/odc-connecting-an-application-to-a-service-using-the-developer-perspective.adoc
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: Insert a blank line after L3. Refer to the guideline and examples given here.

@@ -8,7 +8,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]
toc::[]

[role="_abstract"]
In addition to grouping multiple components within an application, you can also use the *Topology* view to connect components with each other. You can either use a binding connector or a visual one to connect components.
In addition to grouping multiple components within an application, you can also use the *Topology* view to connect components with each other and to connect multiple resources to services with labels. You can either use a binding connector or a visual one to connect components.

A binding connection between the components can be established only if the target node is an Operator-backed service. This is indicated by the *Create a binding connector* tool-tip which appears when you drag an arrow to such a target node. When an application is connected to a service by using a binding connector a `ServiceBinding` resource is created. Then, the Service Binding Operator controller projects the necessary binding data into the application deployment. After the request is successful, the application is redeployed establishing an interaction between the connected components.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
A binding connection between the components can be established only if the target node is an Operator-backed service. This is indicated by the *Create a binding connector* tool-tip which appears when you drag an arrow to such a target node. When an application is connected to a service by using a binding connector a `ServiceBinding` resource is created. Then, the Service Binding Operator controller projects the necessary binding data into the application deployment. After the request is successful, the application is redeployed establishing an interaction between the connected components.
A binding connection between the components can be established only if the target node is an Operator-backed service. This is indicated by the *Create a binding connector* tool-tip which appears when you drag an arrow to such a target node. When an application is connected to a service by using a binding connector a `ServiceBinding` resource is created. Then, the {servicebinding-title} controller projects the necessary binding data into the application deployment. After the request is successful, the application is redeployed establishing an interaction between the connected components.

Suggestion: Use the product title attributes. Global comment - check and fix all similar occurrences throughout this PR. Refer to point 4 here and info on Product title and Attribute files.

[id="odc-visualizing-the-binding-connections-to-resources_{context}"]
= Visualizing the binding connections to resources

As a user, you can visualize a Service Binding through *Label Selector* in *Topology* view. Label selector is a feature added to Service Binding Operator that aims to simplify the process of binding applications to backing services. It does this by allowing developers to use specified labels to find and connect applications instead of using the name of the application. It aims to alleviate the confusing nature of one or many services to many application binds. This is done by specifying labels when creating `ServiceBinding` resources that will be consumed by the Service Binding Operator to find the applications to create a Service Binding with.
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: Can we try this rewrite for simplicity? Consult my suggestion with SMEs and follow the one that is technically accurate, easy to scan, read, and understand.

As a user, use Label Selector in the Topology view to visualize a service binding and simplify the process of binding applications to backing services. When creating ServiceBinding resources, specify labels by using Label Selector to find and connect applications instead of using the name of the application. The {servicebinding-title} then consumes these ServiceBinding resources and specified labels to find the applications to create a service binding with.

As a user, you can visualize a Service Binding through *Label Selector* in *Topology* view. Label selector is a feature added to Service Binding Operator that aims to simplify the process of binding applications to backing services. It does this by allowing developers to use specified labels to find and connect applications instead of using the name of the application. It aims to alleviate the confusing nature of one or many services to many application binds. This is done by specifying labels when creating `ServiceBinding` resources that will be consumed by the Service Binding Operator to find the applications to create a Service Binding with.
[TIP]
====
When you click on the label selector associated with the Service Binding, you can navigate to a list of all connected resources.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
When you click on the label selector associated with the Service Binding, you can navigate to a list of all connected resources.
To navigate to a list of all connected resources, click the label selector associated with the service binding.

Also, refer to https://www.ibm.com/docs/en/ibm-style?topic=grammar-prepositions.

Question to the writer and SMEs: When you say "click the label selector that is associated with the service binding", do you mean ServiceBinding resource or just service binding? Please clarify.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IMO "ServiceBinding" resources would be a better approach for this labels are specified when creating ServiceBinding resources.

image::odc-label-selector-topology-side-panel.png[]


[NOTE]
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
[NOTE]
+
[NOTE]


[NOTE]
====
When you delete a single connection within *Topology* and delete the Service Binding, this will remove all connections that are tied to the deleted service binding. When you delete a Service Binding connector, the user should see a delete confirmation dialog which explains that all connectors will be deleted. This message will be different from deleting the initial implementation of `ServiceBinding` resource.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
When you delete a single connection within *Topology* and delete the Service Binding, this will remove all connections that are tied to the deleted service binding. When you delete a Service Binding connector, the user should see a delete confirmation dialog which explains that all connectors will be deleted. This message will be different from deleting the initial implementation of `ServiceBinding` resource.
When you delete a binding connector (a single connection within *Topology* along with a service binding), the action removes all connections that are tied to the deleted service binding. While deleting a binding connector, a confirmation dialog appears, which informs that all connectors will be deleted.

Request: Review the suggestion write-up given here with the SMEs for technical accuracy and make adjustments as necessary.

Question to the SMEs and author: This sentence is unclear and ambiguous: "This message will be different from deleting the initial implementation of ServiceBinding resource."

Suggestion: Rewrite for clarity. How is it different? Explain and state the difference clearly.

====
When you delete a single connection within *Topology* and delete the Service Binding, this will remove all connections that are tied to the deleted service binding. When you delete a Service Binding connector, the user should see a delete confirmation dialog which explains that all connectors will be deleted. This message will be different from deleting the initial implementation of `ServiceBinding` resource.

.Delete Service Binding
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
.Delete Service Binding
.Delete ServiceBinding confirmation dialog

@@ -28,7 +28,7 @@ image::odc_customizing_developer_catalog.png[]

[NOTE]
====
As an administrator, you can define the navigation items that appeaer by default for all users. You can also reorder the navigation items.
As an administrator, you can define the navigation items that appear by default for all users. You can also reorder the navigation items.
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion for L6: Delete L6. Refer to the guideline and example here.

@@ -28,7 +28,7 @@ image::odc_customizing_developer_catalog.png[]

[NOTE]
====
As an administrator, you can define the navigation items that appeaer by default for all users. You can also reorder the navigation items.
As an administrator, you can define the navigation items that appear by default for all users. You can also reorder the navigation items.
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: Use admonitions sparingly so that they do not lose their effectiveness. Refer to this guideline here.

  • Move the Note section up, so that it appears immediately after the step 4 instruction and just before the Verification section.

@rolfedh
Copy link
Contributor

rolfedh commented Feb 15, 2023

/cherry-pick enterprise-4.13

@openshift-cherrypick-robot

@rolfedh: new pull request created: #55913

In response to this:

/cherry-pick enterprise-4.13

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@sanketpathak
Copy link

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch/enterprise-4.13 dev-tools Label for all Odo/Pipelines/Helm/Developer Console/Perspective PRs size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants