Skip to content

Commit

Permalink
DBZ-6838: Blog post for addition of Custom properties step in DBZ UI
Browse files Browse the repository at this point in the history
  • Loading branch information
indraraj authored and Naros committed Sep 11, 2023
1 parent 6c57ebc commit 2a51199
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 1 deletion.
9 changes: 8 additions & 1 deletion _data/authors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,11 @@ mfvitale:
bio: "Mario is a Senior Software Engineer at Red Hat. He lives in Italy."
github: mfvitale
linkedin: mfvitale
avatar: mario.jpg
avatar: mario.jpg

indrashukla:
name: "Indra Raj Shukla"
bio: "Indra is a Senior software developer at Red Hat. He has extensive experiance in UI development. He lives in Bangalore, India."
github: indraraj
linkedin: indra-shukla
avatar: indra.jpg
67 changes: 67 additions & 0 deletions _posts/2023-08-21-Debezium-UI-connectors-custom-property.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
layout: post
title: Enable pass-through of additional properties in Debezium UI
date: 2023-08-21
tags: [ community, debezium-ui ]
author: indrashukla
---
The Debezium UI team continues to add support for more features, allowing users to configure connectors more easily. In this article, we'll describe and demonstrate how to provide the additional properties for configuration that are not specified in the UI.
Read further for more information!

+++<!-- more -->+++

== Need for custom properties step

Debezium is very flexible - each connector can be configured and fine-tuned in a variety of ways. Debezium UI already exposes an extensive list of properties that are segregated under different steps for configuration. But even with this extensive list of exposed properties in the UI, there are a few properties that are not known prior and may be needed to be configured while setting up a connector. For example, `producer.*` and `consumer.*` properties are additional options, similarly `driver.*` prefix for the pass-through database drivers properties are also not exposed via UI and if needed, these are to be configured as additional properties.

*Example*

Let's take an example of mySql connector, debezium relies on a kafka producer to write schema changes to the database history topic. You define the configuration for the kafka producer by assigning the values to a set of pass-through configuration properties that begin with the `schema.history.internal.producer.*` prefix.

Debezium strips the prefix from the properties name before it passes the properties to the kafka client.

== Custom properties step

The Debezium UI now allows you to configure additional properties for connectors that are not exposed in the UI. For this we have created a new additional step called *Custom Properties* in the configuration wizard.

[.centered-image.responsive-image]
====
++++
<img src="/assets/images/2023-08-20-enable-passthru-ui/CustomStep2.png" class="responsive-image">
++++
====

*Custom properties* step allow you to provide the additional properties by entering `key` and `value` pair. Once you enter the `key` and `value` pairs of the additional properties, click on the *Apply* button.

[.centered-image.responsive-image]
====
++++
<img src="/assets/images/2023-08-20-enable-passthru-ui/configureEmptylist.png" class="responsive-image">
++++
====

On the *Apply* button click UI will validate the user entries and provide feedback, if there are any problems. If there are no problems, the UI will show a green check icon on the right side of all the successfully added additional properties. You can also remove any added property by clicking on the *Remove* button on the right side of the property.

On the left hand side, you can see the list of already configured properties from previous wizard step and the newly added custom properties in this step are show highlighted in the *blue* color.

[.centered-image.responsive-image]
====
++++
<img src="/assets/images/2023-08-20-enable-passthru-ui/CustomProp.png" class="responsive-image">
++++
====

In the screenshot above user added `schema.history.internal.producer.*` related additional properties .


== Self-contained example

You can try out configuring connector with some custom properties (and more) with our self-contained example https://github.com/debezium/debezium-examples/tree/main/ui-demo[UI demo] - which is included under https://github.com/debezium/debezium-examples[debezium-examples] on Github. The UI demo includes a Docker Compose file which brings up several sources with data as well as the UI. Please refer to the https://github.com/debezium/debezium-examples/tree/main/ui-demo[README file] for more details on running the Debezium UI demo.

To learn more about the Debezium UI, please refer to the link:/documentation/reference/operations/debezium-ui.html[reference documentation].

== More coming soon!

Stay tuned for further improvements and new feature announcements in the UI in the coming releases.

_A big thank you to the team who have contributed in many ways: Anisha Mohanty, René Kerner and Chrish Cranford!_
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/indra.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2a51199

Please sign in to comment.