On 05.01.21 15:50, [email protected] wrote:
Author: tv
Date: Tue Jan  5 14:50:42 2021
New Revision: 1885148

URL: http://svn.apache.org/viewvc?rev=1885148&view=rev
Log:
Experimental URL mapper implementation

Added:
     turbine/core/branches/URLMapperService/
       - copied from r1885147, turbine/core/trunk/


Hi folks,

I've been carrying this with me for quite some time. The Liferay Portal supports a rule-based mapping of (almost) arbitrary URLs to sets of application parameters and vice-versa. (See https://help.liferay.com/hc/en-us/articles/360017880652-Making-URLs-Friendlier)

Why not build something like this for Turbine?
So this is my first attempt on a possible implementation.

What does it do?
Say, you want to simplify your URLs to make them easier to read, type or remember.

- Instead of /context/app/template/Book.vm?id=1234
  Use /context/app/book/1234

- Instead of /context/app/template/Book.vm/action/BookSave
  Use /context/app/book/save

Say, you want to publish certain landing pages that map to a parametrized page in your app.

- Instead of /context/app/template/BookList.vm?sale=true
  Use /context/app/books-on-sale

You get the point. Some kind of mod_redirect, but *bi-directional*.

*If you think this may be for you, please help me testing.*

How do I use it?
I'm planning to write some documentation but for the time being, check out the branch turbine/core/branches/URLMapperService/ and have a look at the files
- conf/turbine-url-mapping.xml for some configuration examples
- conf/test/TurbineURLMapperServiceTest.properties for the service configuration - src/test/org/apache/turbine/services/urlmapper/TurbineURLMapperServiceTest.java for some preliminary test cases.

Please check if this meets your needs, check your use-cases, corner-cases, performance etc.

I'm eager to get your feedback.

Bye, Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to