perpetua.digital
Published on

Documentation for Launch Properties and my rejected README extension

Authors
README Extension
My README extension for Launch was rejected by Adobe 😔

Data Collection Documentation

If you work in Launch every day like I do, you probably find it to be self documenting. I can open a property and pretty much tell what it does by looking at a few rules and maybe the configuration of the main extensions. However, not everyone is fortunate enough to spend their days in our favorite tag management tool and thus have such a keen sense of setup, dare I say intuition, for how to collect data from websites.

Because of this, in some way or another, I usually have to document the setup of a Launch property so that someone else, such as a new hire, marketer, analyst, etc can get the gist of it and thus do some work in it. This documentation is usually done somewhere outside of Launch like an internal wiki tool like Confluence or, unfortunately, once in a while, in a Word document.

I think documentation, in general, should be done close to the source; ie inside the tool if possible. Unfortunately, Launch does not offer this option. Instead, we're left to pass around links to confluence pages, out of date word documents, and writing comments in our custom code about why this rule uses a CSS selector to trigger. If only there was a better way...

The Property that requires explanation

My desire to document Launch in Launch started when I began using the 1 Rule setup as documented in my previous post. This nonstandard setup would be confusing to a casual user of Launch and could easily be broken, or worse, bloated with unnecessary rules. Thus, I needed to document how to use it.

Someone in Measure Slack suggested a README type rule that they use. Basically an unpublished rule (that remains unpublished) with no triggering action and a custom code section that is all comments and explains how things work. You may have caught a glimpse of it in some of the pictures I posted in the 1 Rule setup post.

1 Rule Setup
1 Rule Setup, ok it technically has 2 rules
1 Rule Setup
Please read me bro!
1 Rule Setup
I kindly ask that you follow these ultimately unenforceable rules

Although this is better than nothing, it requires a few clicks to get to and is in the less than desirable format of plain JavaScript comments with no styling or structure. After using this for a while I thought I had come up with a better way.

The README extension

Every good Github project has a README file. This document explains everything. How the project works, why certain decisions were made, what the current state of the project is, etc. I thought each Launch property should have one and I thought I should be the one to do it.

Given that the only way to add to the Launch UI is through an extension, I decided to make an extension I just called README. It was basically a regular launch extension with a configuration section that was a markdown editor. The point was for users to have a place to put documentation for their properties inside of their properties. Close to the source, as it were.

You install the extension, go to the configuration and write your documentation in markdown. Markdown allows some styling and hierarchy that everyone is used to when reading documentation. The extension made for a single, go-to place for documentation, instead of having it scattered in custom code comments, wiki pages, etc.

Why it was rejected

Ultimately, it was not meant to be. After a little bit of back and forth with Adobe, they decided to reject the extension. The main issue is that extensions are a buildable of the build library and not the Launch UI. Thus, although the extension is not meant to be published, there is nothing that could prevent someone from doing so. Someone who doesn't know what they are doing could very easily put confidential information, PII, etc into their extension and publish it. Perhaps I could get around this by including a hidden JS error that would cause the build to fail if the extension was included, but that probably would not fly either :).

Funnily enough, the extension was accepted in the listings exchange and the page is still up. Although I suspect they accept everything since this URL is a requirement to even have you extension reviewed. https://exchange.adobe.com/apps/ec/600111

Adobe Exchange Listing

Checking the "Show Tips" switch would tell you more about READMEs and Markdown and would show you some common Markdown components

Silver Lining

Although this idea as an extension did not work out, the Adobe rep I spoke to was very supportive of the idea and Launch's need for documentation in general. He promised to add it to their feature roadmap. I will keep my fingers crossed.

Since I developed the extension I still have the ability to release it privately. If for some reason someone is interested I can release it to their organziation. Also, if you want to deploy it on your own, the code is available here.