Liferay 5.2.3: custom URLs formats

Liferay SEO capabilities seems to be surprisingly weak when it comes to URL management. Consider an example: you’re trying to build a webapp that will be doing some abstract searches over some search data sources, and present the results on one page.

You want page to have URL like http://<host>%5B:<port>%5D/section/subsection/search/<keyword>%5B?someParam=<value>%5D
Particular goals: URL can be generated by other website that knows nothing of our Liferay-based portal internals, and it (URL) should be nice and bookmarkable.

On the page you want to have some portlets, provided by different development teams/vendors, that would get the keyword and present results. The portlets should be independent since new ones can be added over time, and you want to be able to order development of several new portlets in parallel via several independent vendors. Thus every portlet on page should be able to obtain <keyword> and <value> passed in URL to page.
Continue reading

Getting Elastic: attention points for EP6.1.2 starters

For anyone who decided to start e-commerce with ElasticPath (version 6.1.2 in particular): if you’re digging though official documentation already trying to get an understanding of what the EP "ecosystem" is and what installation/configuration process should be – here are some quirks and highlight points that are worth knowing.

Points covered here are: system overview; URLs, ports, credentials configurations; localization configuration for indexing/searches.

Continue reading

ElasticPath: browsing catalog without specifying category

Greetings dear readers,
As promised in previous post, this time I’m about to explain how to make ElasticPath 6.1.2 allow browsing catalog without specifying a category. This is probably one of the more significant changes we did to core EP6.1.2 logic, so I believe some people might find this post very helpful. On the other hand, the amount of lines of code and configs for this change is actually quite small, so don’t let the significance mention scare you off.
Note: I can not and wish not to give any guarantees about the code/configs provided in this or any other post in my blog – so use at your own risk.
Continue reading