A list of tools that developers have at their disposal with every implementation of Brightspot
Brightspot CMS is hailed by editorial teams for giving power back to them, instead of leaving it all in the hands of development teams; however, just because there's an emphasis on editorial autonomy doesn't mean that developers aren't enabled, too. In fact, developers get a slew of valuable debugging tools that enable them in their jobs—all of which are packaged with Brightspot for free.
These tools are collectively called the Dari Debugging Interface, with Dari being the underlying framework on which Brightspot is built (and the reason why Brightspot is so powerful). These debugging tools include a code playground, database query tools, schema viewers, a host of settings, and more. Let's talk about a few of them.
Developer tools packaged with Brightspot
Without the Background Tasks tool, developers would likely rely on logging statements that come with the system they're using; however, this can be a little removed from the developer. Not an issue for developers working with Brightspot, though, thanks to this tool. A developer can get a quick overview in a centralized location.
Speaking of, if a developer happens to be in Brightspot and needs to check background tasks, this is also possible to do inside the CMS in the Developer menu.
The Build Information tool also provides a widget that lists the most recent Github commit messages and a full MD5 hash of every file inside of the .war file for a build, allowing developers to double check that everything they think is in the current build is, in fact, in the current build. Developers are then also able to break the data down by different modules that are installed, so they will be able to see commits to an individual module, like analytics, for example.
Much like the aforementioned Background Tasks tool, build information is also accessible from inside the CMS, giving the developer another quick path to this information depending on whichever context they are already in.
If a developer is already in Brightspot and doesn't want to change context, this tool—much like the Background Tasks and Build Information tools—have been put into the CMS for easy access as well.
Of course, Brightspot still provides a view into the actual underlying MySQL or Solr if a developer wants to go that deep.
Database Schema Viewer
Notice in the screenshot how there is a hyperlink included on the page. This brings the developer to another Dari tool—the Code Editor—that allows them to edit the source code. That means that a developer can change a data model and save it, and then when they refresh, Brightspot will detect and reflect that change. This change is also reflected in the developer's IDE where they are writing the code. The Schema, too, will reflect the change.
Another handy parameter is _debug=true which reloads the page with a Profiler tool that a developer can click on to open a list view of everything that is happening to render and process the page, including but not limited to CDN fetching, database reads, handlebar renderings, text localization, underlying SQL queries, and more, as well as how many times they ran, their length, etc.
Every single event that occurred on the page is listed. This list isn't finite, either, since a developer might want to create their own events—maybe part of their code needs to make an API call to a third-party service, and it's doing that on the server. The developer can have that event show up in this list and thereby better understand the performance implications of it.
Not the case here—Brightspot automatically inserts a comment in every query which includes file names and line numbers, which would be visible to the Ops team in their slow query log. In most other systems, the Ops team would only see the query itself, not where it lives in the code.
And there are many tools beyond those listed above.
One of the many, undeniable values of Brightspot CMS is its flexibility. If a developer already uses a tool to accomplish the use cases mentioned above, they still can. But if they don't have a tool, or if they don't have the right tool, Brightspot provides all of these tools for free. These tools help developers gain unparalleled visibility into the platform and everything that powers it, enabling them to do their jobs more efficiently and with more actionable data.