Liferay Forms and Data Providers

UX to the max

While trying to give your users the best experience ever you always try to keep things simple. In the past I have filled in many forms and many times with the same data and many times at the same site. Why?

As a simple example I took a free 'zipcode to address' service in the Netherlands and used this to show how easy this can be done. And this is what it looks like.

Todo this I needed to call the service in a different way since the service required  "X-Api-Key" in the header and that's not supported in the data-provider. So, with a simple JAX-RS service I wrote a wrapper to simplify the call so it could be used with the data-provider. Once I had this working it took me just a few minutes to create the form and add the rules to initiate the lookup. The nice thing is I can also use this wrapper in my Liferay Commerce environment to easily add a delivery address.

This is such a powerful piece I started to think further. The service returns information like streetname, province, city, geo-location, when it was build and type of address. With all this information you can start building a profile for users. Every X times they visit your website you can ask them to provide a small piece of the puzzle. And by collecting all this information you can further improve the UX if used in the right way. E.g. you organize an event. Ask people to register and based on geo-location you know what would be the best possible location to organize this event closest to your visitors.

With Liferay Forms it's really easy to start collecting all this information and since it's all stored in Elasticsearch you can use Kibana to create dashboards, drill down and find patterns. Don't forget to think about GDPR compliance and how you protect this data. In case you need to increase security you should consider Liferay Enterprise Search to lock down the communication between Liferay and Elasticsearch.

Blogs