Easyling Release Notes - 2016 August

Sep 4, 2016 - Easyling.com

August is a month of celebration in Budapest, and so it was at Easyling as well: while the rest of the country celebrated the national day, we celebrated our brand new documentation, as well as our new updates that make your life easier and the Proxy more powerful. For example, we can now process

Source: MTI; Photo taken by: Szigetváry Zsolt

Public Memcache Accelerator

The proxy has had the ability to load cacheable content into the AppEngine Datastore for a while now, but the option was available only for administrators as we were trialling this action.

To recap, if the page has the appropriate cache headers (Pragma: public; Cache-Control: public, max-age=/\d+/), the Google EdgeCache may elect to store it in its EdgeNodes, distributed around the globe. However, storing it in one place will not accelerate responses for requests from another. To go around this, we have created our own Datastore-based caching solution: should the proxied page meet these requirements, we will store it for ourselves Now, even if a request falls through the EdgeCache, we will serve the content without forwarding the request and waiting for the remote server first, instead serving up the stored response as fast as the Datastore can return it (usually measured in the single-digit milliseconds).

Now, we have seen it fit to roll out the option to the public after we have verified that it works as we want it to. You can enable it in the Advanced Settings screen, among the Tweaks.

[caption id=“attachment_3140” align=“aligncenter” width=“583”]PublicCache By activating the public cache option, we forgo requesting new content from the remote server, bringing down page serving time to the speed of DataStore[/caption]

Brand New Documentation

One of the most common complaints we receive on our support channels is that our documentation and help leaves a lot to be desired. We have began to maintain a public help interface, but it was woefully insufficient. With this mind, we set about rewriting our entire documentation from scratch, focusing on user stories instead of logical divisions. The result is a greatly expanded user documentation, built around the most common questions we receive on our support channels. The online platform we chose offers easy searching in the docs, as well as the ability to download the manual in HTML or PDF formats, for offline viewing or distribution within the organisation. You can browse our new and improved documentation from our home page (Resources menu), directly from here!

Search&Replace On the Go

The Path Settings dialog of the Dashboard is home to some of the more powerful options that can be set on a project. These include the ability to force the cache headers to specific values, override content types and charsets, and now, the option to outright alter the source content.

The Search&Replace option has two modes: either you can set a search term and its replacement verbatim, or you can set the search term to behave as a regular expression, enabling you to match variable content (as long as you can establish a general pattern). You must also specify a Content-Type which will restrict the replacement from affecting everything; and a default character encoding - since the replacement runs before anything else, the proxy has no information on the encoding used on the page. You can also specify multiple rules for the same domain, which will run in the order you added them, and can can affect the output of the preceding operations in the chain! Also, this replacement, if enabled, is the first operation the proxy carries out on the content, preceding even the Source Cache building - any caches will store the altered content.

[caption id=“attachment_3141” align=“aligncenter” width=“706”]ContentSearchAndReplace All occurrences of the word “Easyling” will be replaced by the phrase “My Translation Proxy” on the landing page[/caption]

[caption id=“attachment_3142” align=“aligncenter” width=“706”]ContentSearchAndReplace-regex Everywhere the word “works” (case insensitively) is found on its own (i.e. not as part of another word), it will be prepended with an exclamation mark - regular expressions allow “backreferences” in the replacement.[/caption]

With the advent of HTML5, multiple new media types made their debut, including 

With this, we are now handling the 

Client-Side Translation Beta program continues

As usual, we are always on the lookout for pilot projects for our Client-Side Translation feature - if you’d like to trial translation in the client’s browser, please contact support for more information! To recap, client-side translation is a good fit for large sites serving large amounts of traffic, as it bypasses the proxy and incurs no page serving costs. However, it is still in a BETA phase - it may not work for all sites and browsers (most notably, Internet Explorer 11 is the oldest supported browser).