17

I've been reading the documentation around Express Migration, in preparation for trying it on a site, and I've come across a sentence in the release notes that I don't quite understand:

The release note in question

The text refers to "IDs on etalon, source and target" - but I do not understand what "etalon" means in this context. It's not a word I've come across before in Sitecore documentation or in English.

I can't find that issue number on the knowledge base site. But a bit of googling suggests the word can mean "a piece of optical equipment for measuring wavelength", "a horse used for breeding" (if you add an accent) or "standard" if you translate from French. The first two of those are clearly unrelated, and the third still doesn't make the meaning of that sentence entirely clear to me.

My best guess so far is it might mean "the default state of a Sitecore database, as supplied in an install package".

But I'm wondering if anyone can confirm whether I'm right or not?

17

This is quite amusing :-) Here's a summary from one of the developers of the module:

The "Etalon" instance is a synonym of "comparison" instance. It's a clean Sitecore instance with the same version as the source instance. The source is compared with the Etalon. The delta is extracted and moved to the target instance.

Etalon is described by him as "Something used to compare and find the difference" but then linked to https://en.oxforddictionaries.com/definition/etalon, which to be honest looks more suited to the Physics world instead of IT, but there you have it.

| improve this answer | |
  • 4
    From the linked page: "Origin Early 20th century: from French étalon, literally ‘standard of measurement’." — which is the same meaning as this word has in Russian :) – Dmytro Shevchenko Mar 17 '17 at 14:29
  • 2
    In French it also (and more frequently) means "stallion". – maz Mar 17 '17 at 14:42
  • 1
    also mentioned here: en.wikipedia.org/wiki/Standard_(metrology) – chiliNUT Mar 17 '17 at 23:21
11

etalon does indeed refer to the comparison instance, but it should not have made it into public-facing documentation. 'Comparison instance' is the official term (not as fun, but there you go) and the release notes have been updated accordingly. If you find the word 'etalon' in any public-facing API or interface, let me know. :) It can stay in the source code and add some international flavour.

| improve this answer | |
  • 2
    If I spot any more I shall let you know. Yay for understanding, but a quiet boo for corporate standardisation. And a huge sigh of relief that I do not need to acquire a stallion or any optical equipment ;-) – JermDavis Mar 17 '17 at 14:38
9

I would like to think that it is based on the race car from Sleeping Dogs: http://sleepingdogs.wikia.com/wiki/Etalon

A high-speed vehicle based on a Danish supercar? Sounds about right for the express migration :)

In the Express Migration tool itself the Etalon instance seems to be the piece which stores the data about the comparison instance. It seems to store things like locations and security provider details. The basic migration context seems to have three properties: Etalon, Source, and Target. I would think that these three instances are likely what is referred to by the release notes.

| improve this answer | |
  • The plot thickens :D Nice find! :-) – Mark Cassidy Mar 17 '17 at 13:56
  • 4
    FYI, in Russian (many Sitecore devs are Russian-speaking), the word "etalon" means "reference". As in, "reference model", "reference data", "reference point" etc. Something you compare copies against to see if they are correct. – Dmytro Shevchenko Mar 17 '17 at 14:05
  • 2
    Whether it's the answer or not, this deserves points for making me laugh. My migration experiences have only ever been like supercars in that they have been expensive, difficult to maintain and prone to sliding off the road into a ditch. ;-) But maybe Express Migration is about to solve all that for me... – JermDavis Mar 17 '17 at 14:06
  • @DmytroShevchenko You should convert that to an answer! – Jason St-Cyr Mar 17 '17 at 14:07
  • @JayS Well, your answer describes what Etalon actually does, which is more important than the semantics of the word itself. – Dmytro Shevchenko Mar 17 '17 at 14:08
6

Etalon means "standard" or "reference" in many languages: https://translate.google.com/#auto/en/etalon

If you decompile the Express Migration Tool, you'll see that this is all over the place. There's even a InitializeComparisonInstanceArgs! I'm fairly certain this refers to the "standard" item (i.e. untouched from original Sitecore installation). So you would have:

  • Etalon: the item as it originally was in old Sitecore version.
  • Source: the item from Sitecore instance we're migrating.
  • Target: the item in the target Sitecore version.

I've noticed that items within system branch templates in particular tend to change IDs between versions.

Would be nice to get this confirmed. Love the question though. :)

| improve this answer | |
4

I don't know if we can get this confirmed.

But I'm almost certain, in this context, etalon refers to ETL - Extract, Transform, Load.

https://en.wikipedia.org/wiki/Extract,_transform,_load

Data extraction is where data is extracted from homogeneous or heterogeneous data sources; data transformation where the data is transformed for storing in the proper format or structure for the purposes of querying and analysis; data loading where the data is loaded into the final target database, more specifically, an operational data store, data mart, or data warehouse.

Since the data extraction takes time, it is common to execute the three phases in parallel. While the data is being extracted, another transformation process executes while processing the data already received and prepares it for loading while the data loading begins without waiting for the completion of the previous phases.

And for further reference: http://www.webopedia.com/TERM/E/ETL.html

ETL is short for extract, transform, load, three database functions that are combined into one tool to pull data out of one database and place it into another database.

Further...

ETL is used to migrate data from one database to another, to form data marts and data warehouses and also to convert databases from one format or type to another.

| improve this answer | |
  • That's an interesting idea - I'd not considered that it might be related to making "ETL" into a word... – JermDavis Mar 17 '17 at 14:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.