Using a Content Modeling API

Written by carsoncgibbons | Published 2018/01/23
Tech Story Tags: web-development | javascript | api | content-modeling-api | react

TLDRvia the TL;DR App

A Content Modeling API can not only help with content publishing speed and ease, but also preserve the integrity of your application overall. In my Hackernoon piece Benefits of a Decoupled CMS Architecture, I write, “Early decoupled systems still assumed the developer was working within PHP, which only solved half the problem as new modern frameworks and languages further promoted light-weight interactive touch points within applications.”

Cosmic JS is a headless content management system that decouples content from code. The CMS API can plug into any internet-connected application, regardless of programming language, so you can use the tools you love to build apps faster.

Cosmic JS Content Modeling API:

Cosmic JS is a hosted service that includes a web Dashboard and API. It is unopinionated about your application layer and is not tied to any programming language like a CMS that you install and maintain. Simply connect to the API for content and build your app in the language you choose. Get started by reading the documentation.

A basic way to think of Cosmic JS’ structure is:

Bucket: Your websiteObject Type: The blog posts on your websiteObject: A blog postMetafield: A picture on your blog postMetafield: The author of your blog post

Buckets:

A Bucket is the main piece in the Cosmic JS content structure. It’s very flexible and can power the content for an entire website or a portion of a website. Since your Bucket content is delivered via an API endpoint, your Bucket can also power content for any application including iOS, Android, tvOS, Apple Watch, IOT, AR/VR or any other way that you would like to distribute your content.

Objects:

An Object can be a page, a blog post, or anything you want it to be. Cosmic JS gives you the freedom to create and manage content openly and create your own data structure. Each Object allows for the creation of a title, slug, content and Metafields.

Object Title:

{"title": "My Page Title"}

Object Slug:

{"title": "My Page Title","slug": "my-page-title"}

Object Content:

Add content to your Object. You can upload media, add formatted text and other rich text options available in the editor. This will be available as HTML from your API endpoint in the content property.

{"title": "My Page Title","slug": "my-page-title","content": "

My object content with HTML sprinkled in.

"}

Metafields:

Metafields are very powerful pieces of custom data that can be added to objects that can be recursively nested. Your created Metafields are transformed into key/valued Metadata in the API endpoints.

Metafield options include Text, Textarea, HTML Textarea, File / Image, Repeater and more. Your Object’s Metafields will be available as key / values in your API endpoint from the metadata property.

{"title": "My Page Title","slug": "my-page-title","content": "

My object content with HTML sprinkled in.

","metadata": {"headline": "Welcome to My Website!"}}

All of this, of course, is easily navigable through the Cosmic JS Dashboard.

Cosmic JS Dashboard:

A seamless and familiar cloud WYSIWYG editor lets non-technical editors engage around a programing language-agnostic API to manage and deploy content.

{"object": {"_id": "5a673d6e7ce26a7a749769df","slug": "test","title": "Test","content": "<p>Test Content </p>","bucket": "571e7832e4ff45700e000023","type_slug": "tests","created_at": "2018-01-23T13:49:34.306Z","created_by": "5716b504e9c686d006000073","created": "2018-01-23T13:49:34.306Z","status": "draft","object_id": "5a673d6e7ce26a7a749769df","metadata": null}}

Conclusion 🚀:

Cosmic JS offers an intuitive API that can deliver content to any website or application. This gives you the freedom to build your application using any programming language and allows for easier scaling within your development team. The Cosmic JS Content Modeling API makes it easy to manage content, drag and drop media and build content relationships. Flexible user roles and permissions are available so team members see only what they need to get their job done.

Please feel free to reach out to me personally if you have any questions or comments: [email protected]


Written by carsoncgibbons | Director of Sales @ Preciate Formerly Co-Founder @ Cosmic JS Y Combinator W19 Batch
Published by HackerNoon on 2018/01/23