Resources

Brightspot Dari: The underlying methodology behind Brightspot

image showing Brightspot's Dari schema

A look into both the origin story and the backbone of the Brightspot work methodology

The best content management solutions are flexible and meet ever-evolving business requirements and use cases; however, not every solution can deliver on these aspects. When looking for the right content management solution, it's worth taking a peek under the hood to see how the platform is engineered. Does the vendor practice what they preach?

This was top of mind when we built the Brightspot Content Business Platform. Publisher-informed and integration-ready, Brightspot combines flexibility with highly intuitive architecture, enabling organizations to not only create data models rapidly, but ensure teams are enabled to work efficiently without having to worry about any extraneous details. And that’s thanks to a layer called Dari, which has made Brightspot what it is today.

What is Dari?

Dari means "bridge" in Korean, and the naming was intentional: Dari is an abstraction layer that bridges the gap between the underlying technology that powers various features and the editorial or technical team members who use this technology.

We built Dari before we built Brightspot because dealing with databases is traditionally a tricky process. We wanted to have an abstraction so that developers could interact with data without having to think about the underlying database.

8-Headless-Data Modeling.jpg

Dari = A bridge beyond the database

Think about the traditional process of building a web application. Engineers will often begin by conceptualizing what kinds of tables they will need, whether it’s an article table, an image table or anything else.

Once the engineers have conceptualized what is needed, they will typically choose a database solution. Next, they will create those tables in the database—defining all of the columns, character counts, etc. After that, they will write code that enables them to write SQL statements so they can query for articles and join them with the image table or author table.

Dari takes the database almost entirely out of the equation.

While engineers may begin with a concept beforehand, Dari enables them to rapidly create data models on the fly. At no point must they deal with choosing a database or creating tables.

Brightspot allows you to move directly from defining data models to your business requirements.

Traditional data modeling vs. the Brightspot approach

Traditional
  1. Conceptualize required tables
  2. Choose a database solution
  3. Create tables in database
  4. Write code
  5. Adjust to business requirements
Brightspot
  1. Define data models
  2. Adjust to business requirements

When changes are made to data models in Brightspot, there is no work required in the database, and any database decision made in Brightspot is made from a company perspective and not from an application or business logic perspective.

With Dari, a data model can change without changes to the database, and vice versa. The same is true with querying. Without knowing whether Dari is hitting Solr, MySQL or some other database, developers can write queries that express what data they want to get back, removing the burden of having to think about the underlying database.

Everyday applications of Dari

Once we discovered how well this worked, we extended it to the day-to-day dealings of developers. This began as a result of reconsidering file storage in Brightspot. We were already saving metadata, title and author data, but what would we do with binary data?

Without Dari, if a developer needed to upload a file, they would first need to figure out where to put that file, whether that’s on the local disk, on the cloud, etc. The developer would also need to write the code that puts the file in whichever location they choose. With Dari, on the other hand, the developer simply expresses that they want to store binary data, and then they can make a configuration decision about where that data will be stored, thereby removing the burden of having to code the back end (and the CMS user experience).

This concept still exists in Brightspot methodology today. When we train developers, we teach them this principle so they aren’t required to do large amounts of re-work when they develop new features. They can simply rely on Dari and develop more rapidly going forward.

After creating Dari's StorageItem process described above, we took it even further and decided to apply Dari to editors and other users using the Brightspot interface.

When editors are searching for an image, for example, they shouldn’t be concerned with the API that fetches the image or whether the image is coming from the local image library or from a third-party source (like it does with Brightspot’s Federated Search feature); instead, they should only be concerned with finding the image, and they should be able to do so in a consistent Brightspot search experience. Everything else is extraneous detail that shouldn’t impact their workflow.

Dari = Brightspot

Dari is then, really, both the origin story and the backbone of the Brightspot work methodology.

What started as an abstraction layer that allows rapid data modeling then transformed simultaneously into a methodology that guides our everyday development activities.

Dari enables Brightspot to be a powerful tool for businesses since it enables, at the individual level, more efficient work to be done.

For more on Dari and how it supports the development of robust web applications compatible with a variety of databases, read the Dari guide in our developer documentation library.

Share

Related resources

By  Brightspot Staff
July 23, 2020
As a technical leader, finding the right content business platform for your organization will require flexibility, and that isn’t always easy for some platforms.
2 Min Read
By  Brightspot Staff
August 11, 2020
Brightspot frees users from traditional backend complexities involved in data modeling, allowing them to quickly adapt to any future changes.
4 Min Read
October 08, 2020
An API-first CMS provides the advantages of headless CMS—API-only—with rich capabilities like workflow, search and content delivery. With an API-first platform, businesses have the option to use a number of pre-built integrations to save valuable development time and effort.
4 Min Read

All Brightspot Features

The Brightspot Content Business Platform is built by publishers and developers, and is designed to grow with your business.
A robust set of tools to manage sites, content, users and permissions, workflows, languages, and analytics.
Keyword-driven and comprehensive, filterable search and taxonomy features make folders a thing of the past.
Intuitive and designed for the work, including rich-text editing, embeds, plus collaboration features that make teamwork work.
Start publishing content rapidly thanks to built-in, extensible content types including text assets, media, pages and much more.
Drive deeper engagement and personalized experiences by leveraging authentication, profiling, segmentation and affinity features.
Built to be a bridge to your systems and all your data, start with one of the 70 plug-and-play integrations, or build any custom integration to meet your business needs.
Meet users where they are thanks to syndication and distribution tools like RSS, sitemaps, SEO tools, social publishing and translation support.
Front-end agnostic means content businesses can publish how they want - headless with GraphQL or decoupled - all from the same environment.
Get the publishing speed you need with Brightspot. Book your personalized walk-through today!
Request a Brightspot demo graphic