January meant an eventful launch to the year for us, which resulted in quite a few new features to the proxy that you can use to cater to even more customer. We have added enhanced compatibility with major CDN providers to pass metadata on the originating user, we have added the ability to define a Live Staging domain, and the Dropbox notification email has been enhanced to show you the changed files. Read the details after the jump!
We have received repeated requests from our more data-conscious partners to provide more metadata on the users visiting the proxied sites. To oblige, we have added a way of passing the originator IP address, as well as the option to expand this metadata in the future. The feature is still in beta stage, meaning there is no user interface to configure it, but if you would like to enable the feature, we can help.
Once enabled, the proxy begins adding the X-TranslationProxy-Originator-IP header to each remote request, which will contain the original user IP – this is usually masked by the CDN provider to some degree (by nature, they send the request from a different IP address than the user, and though they provide the original via a specialized header, this is quite often removed as it can cause undesirable behavior if sent on to the CDN provider again). Based on the CDN provider of your choice, we use the values of the following headers to determine the originator:
- Akamai: True-Client-IP
- CloudFlare: CF-Connecting-IP, True-Client-IP (Enterprise accounts only!)
- CloudFront: X-Forwarded-For
- Incapsula: Incap-Client-IP
- RackSpace: X-Forwarded-For
- MAXCDN: X-MaxCDN-Connecting-IP
The MAXCDN header is a bit of an odd one out: since MAXCDN allows the configuration of any header, we have decided to require the creation of such a specialized header to pass on the original address. In all other cases, the header in question is provided by default by the CDN service (though you do need an enterprise account for CloudFlare’s True Client IP forwarding).
Live Staging Domain
Easyling has had the ability to utilize a staging domain (essentially a secondary server where content is made available for our crawler before publishing so that it can be extracted and translated – for more information, see an older blog post that details the process) for quite some time now. Last year, it was enhanced with another ability, to intercept requests not only for the preview domain and the crawler, but also for the live domain.
What does this mean in practice? Effectively, you are able to rewrite the project domain, pointing it from one domain to another. This is particularly useful in cases where the client changes the host, from “mytemporarystagingdevdomain.com” to “myawesomefinalpublisheddomain.com”, in which case you can “override” the project domain with the newer one and spare the cost of re-translating a new project. However, keep in mind that the paths and content must match exactly, otherwise new words will be extracted!
To make this feature work, just add a new staging domain, and mark it as your live default.
Dropbox Email Notification
January also saw the rollout of a seemingly minor, but quite appreciable enhancement to tour Dropbox notification email: the list of changed files. This was made possible by the migration to using Dropbox API v2, allowing us to query for the list of changed files at each notification, and add them to the email, so that you can actually see what triggered the update, and make a decision on whether or not to import the new content. Needless to say, this requires a registered Dropbox account linked to at least one project – something that might be desirable otherwise as well, given the automation possibilities it opens up.Dedicated demo for You Tweet