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

Custom branding v2 #1250

Open
Ironem opened this issue Feb 15, 2022 · 4 comments
Open

Custom branding v2 #1250

Ironem opened this issue Feb 15, 2022 · 4 comments
Labels
branding enhancement New feature or request help wanted Community development is encouraged i18n Internationalization related Issues and PRs

Comments

@Ironem
Copy link

Ironem commented Feb 15, 2022

Is your feature request related to a problem? Please describe

After the first version of the custom branding, we can now easily custom several logos and titles. But we can still go further in the customization in order to increase the user experience. Easier the customization is, easier the large organizations can integrate OpenSearch Dashboards.

For example, the descriptive title in the side menu, which is quite too long that's why it can make more sense to replace it. Also when we have other menu items titles, it's preferable to be able to modify the name.

Furthermore, the API text (see below), it is more relevant to put the {AppName} API instead of OpenSearch Dashboards API.

Describe the solution you'd like

Add more fields in the opensearch_dashboards.yml in order to configure other titles.
structure

Targeted fields:
sideBarDescription
api

Describe alternatives you've considered

With the same method as the v1 of custom branding, we will create more field in order to replace titles in the opensearch_dashboards.yml file and then display it in the OpenSearch Dashboard.

@Ironem Ironem added the enhancement New feature or request label Feb 15, 2022
@tmarkley tmarkley added branding i18n Internationalization related Issues and PRs labels Feb 15, 2022
@kavilla
Copy link
Member

kavilla commented Feb 18, 2022

Thanks for opening! I believe we discussed this directly for tracking purposes will leave a note here.

If the solution is implemented feel free to raise a PR! That said hesitant to make only a few updates to the references of OpenSearch Dashboards. Originally, I believe the v1 solution initially had this implementation but was reverted with the idea that v1 was treating the application as a wrapper to OpenSearch Dashboards. Essentially treating OpenSearch Dashboards as a plugin itself and enabling branding for items that surround OpenSearch Dashboards.

The reason why we approached it this way was to avoid making a large decision with no data to support it. If users would like the full functionality to update every reference to OpenSearch Dashboards (which by that issue seems to be the case), then I'm for it. However, it should be every reference of OpenSearch Dashboards. For example, the "zero-data" state when you have no index patterns or no data in the system index, there is a reference to OpenSearch Dashboards. Or even in Settings.

We can approach this by passing down the applicationTitle to all the locations but I think we could also consider a translations plugin (#772). Or not even have a plugin and do it the base repo for custom branding. The application has i18n so we could leverage functionality that interpolate the desired title.

Let me know if you have any questions to the above.

Thanks again!

@ahopp ahopp added the help wanted Community development is encouraged label Mar 3, 2022
@ahopp
Copy link
Contributor

ahopp commented Mar 3, 2022

@kavilla Do you think we should pickup enabling i18n at the same time? For example, what would be the incremental work needed to enable other languages?

@tmarkley
Copy link
Contributor

I agree with @kavilla here, I think we need a more generic solution that covers all references of "OpenSearch Dashboards". It doesn't seem like i18n is a hard requirement to achieve that, but it would be nice to handle all of it at the same time.

@ashwin-pc
Copy link
Member

Just throwing this in there since it might make this simpler. Why dont we solve this problem using built in tools rather than custom solutions? The 3 types properties that we currently support for branding are:

  1. Logo's (images)
  2. Text
  3. URL's

For images we can have for example an assets folder that has the default logo's and other assets that we want to allow the user to update in it. They can then replace those images with custom logos if they choose to. This folder can also be exposed as a volume for docker builds

For Text and URL's we can use the localization framework to set the default strings. We can move all text and URL's that we want the user to be able to update to the default locale file and allow them to customize them there. This way we also get support for localization for branding. we can prefix all the branding strings and URLs differently so that they are easy to find and update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branding enhancement New feature or request help wanted Community development is encouraged i18n Internationalization related Issues and PRs
Projects
None yet
Development

No branches or pull requests

5 participants