Building content in Analysis Workspace can be challenging. We've all been in situations where someone asks for support (within our company, the Experience League, or other platforms like Measure Slack) when trying to build a Segment, Calculated Metric, or Analysis Workspace Project. Oftentimes, this then leads to length discussions of "drop this one slot below! No, not at the very bottom, above that! No, that's where you started! Let me give you a screenshot! No, don't drag it onto the screenshot! Argh!" and lots more screenshots, messages, and "can't we just hop on a quick call?" of 2 hours length.
As a second scenario, agencies and consultants often want to easily bring content from one IMS Org to another one. Even admins within a company wish they could just quickly make changes like replacing all instances of a wrong Segment with the correct one in a Workspace Project. However, there is no quick way to do this today.
Thirdly, enthusiasts like me tried building communities around sharing components, like I did on Github. Without easy access to a technical definition, nobody wants to go through the hassle of providing any content. For active community members like me, there is little point in trying to document our work in blog posts with screenshots like this:
To help with all cases, I want to propose a view similar to the existing debugger for API requests in Workspace. For components like Segments, Calculated Metrics, entire Projects, or even Panels and Freeform tables within Workspace, I want to have a "view as JSON" button, which gives us the technical definition of the component and allows us to edit it directly.
Why is this feature important to you -
To help with user support, accessible advanced components that are easy to copy and paste, and efficient batch changes for expert users.
How would you like the feature to work -
In the builder for Segments and Calculated Metrics, introduce a new button to bring up JSON view, similar to this mock:
Upon clicking, this would open a modal similar to the existing debugger, with an editable JSON definition of the component:
Once edited, the user could then apply this new definition to the component. Of course, it should be validated first, but the changes should then be reflected in the component builder. Ideally, there would also be a button to download the definition as a JSON file as well as an upload for a previous export.
The same workflow could be used for Freeform tables, Panels, or even entire Projects:
This could help massively speed up support and community sharing of components.
Current Behaviour -
"No, don't drop it there you buffoon! No, that's where we started 20 minutes ago! Just close it and open it again, but DON'T SAVE!"