Ensighten Training Stage 1

Overview 

 

Ensighten is Hearst’s Global Tag Management System that will be used to deliver commercial and analytics scripts in javascript to our sites in the US,EU and ASIA.

 

Training will cover: 

  1. Setup of tools and accessing the platform
  2. Overview of deployments, conditions and spaces
  3. Difference between global and brand specific deployments/scripts
  4. Development process
  5. QA process
  6. Releases

 

Setup 

Account

To use the platform, you will need a ensighten account, please get in touch with Dom Pascal if you do not have one. Once you have an account you can log into the platform here: http://manage.ensighten.com

 

 

 

Tools

Ghostery

displays all 3rd party tags being served to the page

 

Ensighten debugger tools browser addon

Allows the changing of the ensighten bootstrap to toggle DEV/PROD spaces across all of our Hearst territories

 

DEV space cookie

In the browser console, a the DEV space can be toggled by adding this cookie: 

 

 

 

Ensighten VT2 Debugger JS Bookmarklet (BETA)

Displays all of the ensighten deployments that are being fired on the page with a error console for debugging.

 

 

 

For more into about installing these tools, check out: http://docs.hdigital.net/ensighten/tools.html

username: docs    password: a secure password

 

 

document.cookie ="nsghtn=dev"
(function(bookmarklets)%7Bfor(var%20i=0;i%3Cbookmarklets.length;i++)%7Bvar%20code=bookmarklets%5Bi%5D.url;if(code.indexOf(%22javascript:%22)!=-1)%7Bcode=code.replace(%22javascript:%22,%22%22);eval(code)%7Delse%7Bcode=code.replace(/%5Es+%7Cs+$/g,%22%22);if(code.length%3E0)%7Bwindow.open(code)%7D%7D%7D%7D)(%5B%7Btitle:%22Visual%20Tagger%202%20(Beta)%22,url:%22javascript:var%20ensAdd_=function(v,c)%7Bvar%20d=document,s=d.createElement(%5Cx22script%5Cx22),t=d.body;s.src=v;if(c)s.onload=c;t.appendChild(s);%7D;if(typeof(Bootstrapper)===%5Cx22undefined%5Cx22)%7BensAdd_(%5Cx22//nexus-test.ensighten.com/corex/dev/Bootstrap.js%5Cx22,function()%7BensAdd_(%5Cx22//ui.ensighten.com/vt/beta/vt.js%5Cx22);%7D);%7Delse%20if(typeof(window%5B%5Cx27__App__%5Cx27%5D)!==%5Cx22object%5Cx22)%7BensAdd_(%5Cx22//ui.ensighten.com/vt/beta/vt.js%5Cx22);%7Dvoid(0);%22%7D%5D)

Inside the platform 

Ensighten uses 3 areas (deployments, conditions and spaces) of the platform to manage the delivery of global javascript through the bootstrap that is included on Hearst websites

 

 

 

 

 

 

 

 

 

<script type="text/javascript">(function(d) {
    var e = d.createElement('script');
    e.async = true;

        e.src = d.location.protocol + '//nexus.ensighten.com/hearst/mag-uk/Bootstrap.js';
    
        if (document.cookie.indexOf("nsghtn=dev") > -1) {
      e.src = d.location.protocol + '//nexus.ensighten.com/hearst/mag-uk-dev/Bootstrap.js';
    }
    
    if (e.src.length > 0) {
      d.getElementsByTagName("head")[0].appendChild(e);
    }
  }(document));
</script>

Deployments 

The library of scripts that are served on the page is managed in the deployments area, searching of specific deployments can be done by using the below drop down to filter by:

  • Deployment name
  • labels (like tags)
  • Spaces (UK, US, NL, etc)

 

When creating deployments please follow this naming convention: 

http://docs.hdigital.net/ensighten/naming-conventions.html

 

 

 

 

 

Conditions

Deployments are linked to specific sites using conditions which are created in regEx.

Each brand will have condition for the below web environments:

  • Production
  • Staging
  • Devbox (global condition applied to all devbox with hdmtech.net or hmitech.io)

 

Spaces 

Each country has its own space, which allows us manage deployments for specific countries in Ensighten admin and control which deployments are served to a website with the below JS bootstrap. 

The main spaces include :

http://docs.hdigital.net/ensighten/spaces.html

  • US
  • UK
  • Netherlands
  • Nordic
  • Spain
  • Italy
  • Japan
  • India

 

 

 

 

 

Types of deployments

Deployments are divided into 2 types (global/brand specific), the majority of deployments are brand specific.

 

we are working on moving towards having more global deployments using the HRST object to capture brand specific data.

 

Global:

Deployments that contain code that doesn't require specific brand IDs or variables can be apply to all sites, example of this is the iCrossing tag that is served on all of our sites.

 

Brand Specific:

Deployments that need a specific ID or variable linked to a brand in the code, an example of this is the google analytics page view script.

 

 

 

 

 

 

 

Process 

Working closely with HDM/HMI, this stream involves the development of front-end/CMS functionality that improves the editorial workflow in the CMS and creates a more intuitive/engaging UX on the front-end.

 

Process

  1. Ticket is created in JIRA for ensighten deployment on this board.
  2. Ticket is taken by DEV and new deployment code is created as a git feature branch in the ensighten github repo with the ticket number form the above JIRA board
  3. After the initial code has been added to the feature branch, a pull request is created and assigned to another team member
  4. Deployment is created in Ensighten from the repo with the JIRA ticket message for the edit message for clearer version control in the event published changes need to be rolled back
  5. QA/UAT test deployment on DEV/QA boxes using chrome/firefox plugin tools.
  6. Once the deployment has passed QA/UAT, it is published to the DEV Ensighten space
  7. Pull request is created for the Hearst Corp ensighten repo to do code reviews by HCORP/HDM/HMI/HMUK
  8. When the pull request has been merged, the deployment will then be merged/published to the ensighten PROD space.

 

 

 

 

 

Process workflow 

QA

Once deployment development is complete and assigned to a gitHub pull request and have been published to the Ensighten DEV space, testing of the deployment can start to ensure there are no javascript conflicts with any new changes to Ensighten code.

 

Steps:

1. Navigate to the site your are testing and toggle to the DEV space with the ensighten plugin or cookie.

2. verify the deployment is being fired using the VT2 debugger JS bookmarlet and there are no errors

3. Check the browser console for any JS errors caused by the ensighten deployment

4. Using the ghostery browser plugin, confirm the tag from the deployment is being serverd on the page.

 

 

For more info on the above tools and QA process, check out these tutorials:

 

http://docs.hdigital.net/ensighten/qa.html

http://docs.hdigital.net/ensighten/tools.html

 

 

 

 

 

 

Releases

Ensighten releases follow the same release guidelines that we use for code releases, which can only occur between Mon-Thurs no later than 3pm GMT.

 

Process

  1. Once the development has passed QA the ticket is dragged to the Approved column in JIRA 
  2. The deployment is then merged into the PROD space in ensighten
  3. After the merge, the deployment needs to be committed and then published to the PROD space
  4. The latest code from the deployment is then copied back into the gitHub pull request and merged into the develop branch
  5. The ticket in is then dragged over the released column in JIRA

 

 

 

Copy of Enisghten Training | Intro

By Hearst Magazines

Copy of Enisghten Training | Intro

EUHUB + News for DEV/QA

  • 1,118