Skip to content

Differences between RealURL 1.x and 2.x

Dmitry Dulepov edited this page Mar 15, 2016 · 5 revisions

Differences between RealURL 1.x and 2.x

This page describes differences between RealURL 1.x and 2.x

Missing features

The following features are missing from RealURL 2.x comparing to RealURL 1.x:

"Override the whole page path" feature

This is currently not implemented but it will be.

Redirects

They are not coming back. Read why. I plan to make a separate extension for this feature, which will do it in an earlier stage of TYPO3 initialization or, may be, even on the .htaccess level (for Apache).

_DOMAINS.ifDifferentToCurrent

Do you need it? Write a request in issues or better make a pull request with the code!

No duplicate issues, please :)

Configuration differences

_DOMAINS.ifDifferentToCurrent

Missing because not implemented. See here.

Behavior differences

TODO

Implementation differences

RealURL 1.x code was a huge multilayer hamburger with layers of code written one on top of the other. Due to years of continuous development it became too difficult to support and very hard to optimize.

RealURL 1.x had four different caches. Decoding and encoding process were independent and the result of encoding could not be used by the decoding and vice versa. This caused slow first opening of pages and a lot of load on the database. RealURL optimizes this by using a single cache for encoding and decoding, path cache for page paths only and drops cHash cache completely (it just recalculates cHash if it has to). This speeds up the process significantly and lowers database load.

Caches in RealURL 1.x were suboptimal. For example, if you had extensions with search functions and they used get submission method, these URLs would get into cache and make it huge. With RealURL 2.x you can provide a regexp and ban certain URLs from the cache. By default, solr and indexed search URLs are banned.

RealURL 1.x had many problems with cHash. Its cache could grow uncontrollably and cHash errors still could happen. RealURL 2.x stores cHash inside the URL cache. If URL entry is missing in the cache, RealURL will automatically recalculate cHash using the same functions that TYPO3 does, so cHash will be always correct.

RealURL 1.x did not have any usable configuration defaults. Everybody knows that configuring RealURL 1.x is a pain. RealURL 2.x provides reasonable defaults and requires minimal information from the user. With RealURL 2.0 you can avoid configuration completely if you have domain records on proper pages or a single root page with "Is site root?" flag set in page properties.