The Ultimate DevOps Tool Chest was a derivative work of the Periodic Table of DevOps. In the process of gathering all of the info for the Periodic Table of DevOps…
The Ultimate DevOps Tool Chest was a derivative work of the Periodic Table of DevOps. In the process of gathering all of the info for the Periodic Table of DevOps I had to categorize, and arrange all of the tools into discreet groups, gather their images, and a hundred other things.
I started putting this into a visual representation so I could see my progress as I gathered the tools, and this eventually became the DevOps Tool Chest. It’s not really all that different from the periodic table. It just presents the information in a different, more complete, manner.
Take a look at the final product here.
Several weeks after starting at my position as Digital Marketing Manager at XebiaLabs I was asked to redesign the company’s signature line. This was prompted by CEO, as well as…
Several weeks after starting at my position as Digital Marketing Manager at XebiaLabs I was asked to redesign the company’s signature line. This was prompted by CEO, as well as employee, complaints that our signature lines were, “too different, disorganized, and unprofessional” They wanted a uniform signature line that could be easily installed, updated, measured, and appreciated by all. Several employees had tried previously, but to no avail.
I started the project, and it is possible that it was the toughest project I’ve ever undertaken.
The first problem that I ran into was that, as an international company, our employees were dispersed across the globe, and thus had no access to the marketing department.
This ruled out the possibility of meeting with employees in person to install their signature lines, and is what prompted me to come up with a “signature line generator” that our employees could use to generate their signature lines, cut and paste it into their email clients, and if there were any issues, repeat the process.
I found this to be much more practical than guiding each and every employee through the process individually, over the phone, or in some other manner. Additionally, this tool would deliver business value in perpetuity as long as it was updated.
- Collect all of the required information
- Validate that information
- Automatically generate their signature line
- Provide them instructions on how to install it on various email clients
- Store the information for use in future signature lines
- Collect the information to be used for the bios on the “Team Page”
- Collect analytics on signature line clicks using Google Analytics tracking code
- Provide a tool that could be extended to XebiaLabs’ parent company
It took about a week to put together over the course of the year, but it was well worth. Below you can find the specifics on some of the cooler features.
Every signature line that I generated I packed with Google campaign tracking code. This simple addition would allow me to track who in the company was having their email signature clicked the most as well as tracking how much of our email traffic was actually coming from personal company emails.
When signature lines are generated Google tracking links are programmed into the design in locations such as the logo, name, address, website links, etc. etc. This generates a uniform tracking standard across an organization, turbocharges email measurements by automatically installing tracking links across the board, and affords the ability to track signature line usage on an individual basis. Here are some of the parameters.
- utm_source = Signature Line
- utm_medium = Email
- utm_content = Logo, Name, Social Link, Advertisement (What is being clicked)
- utm_term = Jon Blumenfeld (Individual’s Name)
I knew that the email signatures were going to change in the future. It’s inevitable. I didn’t want to be responsible for redesigning the signature line and setting up meetings to get people set up in the future so I programmed the form to store the data in our CMS MODx for future use.
Users would be able to click on their personal link, view their signature line any time in the future with updated designs.
“Team Page” Content
Whenever someone would generate a signature line I would store that information for future use on our company page. It proved a whole lot easier than contacting everyone individually for the same information in the future.
Xebia Signature Lines
The signature line generator was a big hit amongst the XebiaLabs team, and as a result XebiaLabs’ parent company Xebia caught wind of it and asked for a version they could use. Doing this was as easy as swapping out the logo, and changing the signature color scheme.
DING was a webpage on the XebiaLabs website that would update, in real time, whenever one of XebiaLabs’ leads interacted with our website. Whenever someone downloaded something, synced to salesforce, or did something…
DING was a webpage on the XebiaLabs website that would update, in real time, whenever one of XebiaLabs’ leads interacted with our website. Whenever someone downloaded something, synced to salesforce, or did something else, DING would begin playing “California Girls” by the Beach Boys and will update the page with the lead’s info.
This tool was necessitated by the fact that sales was perpetually voicing their frustration with the number of leads being delivered to them. However, they were not following up with all of the leads, so I decided to come up with an annoying tool to alert them.
On another page I set up a PHP snippet to pull information from Marketo’s SOAP API using an email I specific in custom template variable attached to the page. The information pulled from Marketo based on this email would then be transformed into a JSON string.
To update the email attached to the document I would shoot a webhook to the page every time someone would interact with the website in Marketo, and MODx would update the variable.
So to illustrate this…
- Someone visits a webpage
- Marketo records a pageview
- A workflow in Marketo calls a webhook that then POSTS the email to a page in MODx
- A MODx snippet on that page replaces a template variable with the new email passed via the webhook
- That same page then uses the new email to output a JSON object of the lead data pulled via the php SOAP client when requested
- Lastly, if someone is on the DING page, which is calling the JSON page in increments of 15 seconds, they will receive new information that then populates tags on the page, and fires off an audio file to start playing.
All of this was incredibly roundabout and crazy, but it was a great learning experience.
Here’s a Video
I was watching a movie called “Middle Men”. This is what inspired me to take a couple of hours and start putting together DING. You can all thank the porn industry for this entertaining tool. Apologies in advance for the sexist dialogue.
- Songs for specific lead owners
- Songs for specific actions (downloads trial, fills out form, synced to salesforce, shared socially, etc. etc.)
- Addition of a “leads per day” counter
- Addition of a “most recent downloads / visits” section
XebiaLabs uses MODx for its content management system and Marketo for its marketing automation system. To integrate Marketo into MODx I came up with an extremely creative solution that used…
XebiaLabs uses MODx for its content management system and Marketo for its marketing automation system. To integrate Marketo into MODx I came up with an extremely creative solution that used a custom PHP class to pull Marketo lead data from their SOAP API and then subsequently populate that data into corresponding MODx “placeholder” elements.
First I found a php client for pulling the information from Marketo’s SOAP API, they provide some code here to pull lead data, but I wanted something I could use to pull other information from their API. turns out, someone had already done much of the heavy lifting.
I then coded the below snippet that does the following.
Initially I check to see if I’m specifying a lead manually by passing someone’s email in a query parameter. This is a nice override for when I need to view pages as a specific person within our database. It’s also nice when I need to ensure that someone sees a webpage with their info. I can append the link I have in an email, for example, to include their email, and subsequently ensure they see they website as they should. They may not have a munchkin cookie after all. If I view a user in this method I store the information in a session so that I don’t have to perpetually communicate with the Marketo API for future pageviews.
If I then view any subsequent page on the website my information gets pulled from the session.
If I don’t have a query parameter specified for a user, and I don’t have any sessions from a previous website visit I use the PHP client to see if their is a munchkin cookie in the user’s browser.
If their is I pull the viewers lead data using their munchkin cookie. Then, as with the query parameter example I store the user’s info in a session variable so that I don’t have to communicate with the API again.
After lead data is stored in a session or pulled directly from the Marketo API I am then able to pass the information to a built in MODx method for displaying information. I use something they call “Placeholders”.