Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can follow the steps below, or refer to Manage Plugins to read more about managing plugins:

  1. Download plugin's jar file from https://github.com/jogetoss/invisible-recaptcha-field-7.0.0.jar/releases into your computer
  2. In the Joget DX platform, go to System Settings > Manage Plugins > Upload Plugin
  3. Click on Choose File, select the .jar file you just downloaded, and click Upload

...

In the Form Builder, open up any Form that you wish to implement this feature for.

Image Added

Search the Form Element Palette for the Invisible reCAPTCHA element under the Marketplace section.Image Removed

Drag and drop this element into your Form.

Click on the element in your form Form and the Edit Invisible reCAPTCHA panel appears (on the right hand side).

...

Your ID can be any meaningful name you want (e.g.: invisible_recaptcha).

The next section Generating important keys for the plugin will explain how to generate the required reCAPTCHA site key and reCAPTCHA secret key for this plugin.

...

  1. Go to https://www.google.com/recaptcha/about/
  2. Click on v3 Admin Console at the navigation bar
  3. Give your Label a meaningful name (e.g.: recaptcha_test)

  4. For the reCAPTCHA Type, select reCAPTCHA v2 > Invisible reCAPTCHA badge

  5. Under Domains, put the domain name that your Joget DX instance is hosted on.

    Info
    titleSetting a domain name

    If you are using Joget DX on a local computer for development purposes, you can put "localhost" as your domain name.

  6. Tick Accept the reCAPTCHA Terms of Service
  7. Click Submit

Image Modified

Copy the generated reCAPTCHA site keys and reCAPTCHA secret keys, and paste paste them into their respective fields in the Edit Invisible reCAPTCHA configuration.

Image Added

Remember to click Apply Change and save the form.Image Removed

Info
titleImportant reCAPTCHA keys
  • Site keys can actually be shown publicly, but it is censored in this example.
  • Secret keys must never be shown or shared with anyone, because the server uses it to verify reCAPTCHA responses upon form submission.

...

If the bottom right corner of your form shows the protected by reCAPTCHA pop-up, it means that the Invisible reCAPTCHA plugin is working as intended.

Info
titleEdit Invisible reCAPTCHA: Other configurations

What if the Invisible reCAPTCHA plugin is not working as intended?

  • Custom error text is returned when there is a plugin validation error
  • Debug mode can be enabled to help app designers indicate what the problem or error is

You can refer to Custom error text and Debug mode sections.

Tip: Hover on the tooltips (? icon) in Edit Invisible reCAPTCHA configuration to read what each configuration properties mean.

Custom error text

Custom error text is designed to be shown to end-users when there is a plugin validation error.

image here...

Without using the Custom error text configuration property, the top left corner of your Form will only indicate the "Validation Error" message when plugin validation error occurs.

An error message as such does not explain much on what the validation problem is, therefore Custom error text can be used to elaborate the validation problem to end-users.

To produce a meaningful error message, you should first understand what a plugin validation error is.

To replicate an error as such is very simple, you only have to provide an invalid reCAPTCHA secret key in the Edit Invisible reCAPTCHA configuration.

Info
titleReplicating the plugin validation error

Let's say a given key of "67UKQ13rTNaL376" is valid and by changing the 3rd character from "B" to "U", this produces an invalid key of "67UKQ13rTNaL376".

image here..

Debug mode

Enabling Debug mode allows error messages to be printed out for end-users to see.

image here..

Availability of the plugin

You can seek help from Plugin Error Troubleshooting if the Invisible reCAPTCHA plugin is not working as intended.

Plugin Error Troubleshooting

There are two types of error that may occur when using the Invisible reCAPTCHA plugin:

  • reCAPTCHA widget error
  • Plugin validation error

What is a reCAPTCHA widget error?

reCAPTCHA widget error occurs when the widget on the frontend is unable to function properly.

Image Added

For example, you may have chosen the v2 tickbox option instead of the v2 invisible option.

Remember to choose the v2 invisible option, so that the reCAPTCHA site key is enabled for the Invisible reCAPTCHA.

Image Added

This is how a reCAPTCHA widget error looks like.

Because of this error, the form will not be submitted.

What is a Plugin validation error?

This error occurs when the reCAPTCHA plugin is unable to perform backend validation to verify the user that has submitted the form.

Image Added

For example, to simply replicate a Plugin validation error, you only have to provide an invalid reCAPTCHA secret key.

You can change a letter to a different letter or simply make up a reCAPTCHA secret key that does not exist.

For now, let's see what will happen if we do not add a Custom error text and we disable the Debug mode.

Image Added

Following the configurations demonstrated, the Plugin validation error has been replicated:

  • "Validation Error" is printed out to show app designers that the validation has failed
  • "reCAPTCHA error" is a default error text printed out if no Custom error text is added
  • protected by reCAPTCHA widget does not show an red error message like what happened in What is a reCAPTCHA widget error?

In this case, Debug mode is disabled, so you will see the default error text.

But note that if Debug mode is enabled, you will see neither default error text or Custom error text (even if you have added it).

Read more on Custom error text and Debug mode in Custom error text & Debug mode.

Custom error text & Debug mode

  • Custom error text is printed out to app designers only when there is a Plugin validation error
  • Debug mode helps app designers indicate the error text or message

What is Custom error text for?

Image Added

To demonstrate what the Custom error text and Debug mode are used for, once again the reCAPTCHA secret key is made invalid to replicate the Plugin validation error.

In this example, the Custom error text is set as "Invalid reCAPTCHA secret key: Please ensure you secret key is valid!".

The Debug mode needs to be disabled for now in order to show the Custom error text on the top left corner of the Form.

Remember to click Apply Change and save the form.

Image Added

Now you are able to see how Custom error text works.

Instead of printing out the default error text, the Custom error text is printed out.

You see "Invalid reCAPTCHA secret key: Please ensure you secret key is valid!" instead of "reCAPTCHA error".

Now that we have seen how Custom error text works, the next section explains Debug mode.

Info
titleAbout custom and default error text

Some app designers may want to come out with their own error text instead of using the default error text "reCAPTCHA error".

Feel free to provide a meaningful error text message.

With Custom error text, app designers can decide what messagethey want to display to end users.

What is Debug mode for?

Image Added

With the same invalid reCAPTCHA secret key and Custom error text, but this time Debug mode is enabled.

Remember to click Apply Change and save the form.

Image Added

Notice that enabling Debug mode results in the Custom error text not being printed out, even though the Custom error text is being added.

Instead, the top left corner of the Form shows two error messages:

  • "[reCAPTCHA DEBUG MODE ENABLED!]" states that Debug mode is enabled, to warn app designers that additional error info are available in the server log
  • "reCAPTCHA error: invalid-input-secret" states that the reCAPTCHA secret key is invalid

Availability of the plugin

The Invisible reCAPTCHA plugin will only work in some situations.
See table below:

Normal Form

Only a singleplugin can exist and work as intended.

Multiple plugins can be loaded into a single Normal Form, but only the first plugin will be functioning.

Sub-Form

A plugin cannot work as intended in a Sub-Form, but it can work in the Base Form.

CRUD Datalist "New"

Has identical performance and outcomes with the Normal Form and Sub-Form:

  • The Normal Form that CRUD Datalist represents only allows a single plugin to work in it, even though multiple plugins can still be loaded into it
  • The Sub-Form that CRUD Datalist represents only allows the plugin to work in its Base Form

CRUD Datalist "Edit"

Form TypeReason