We’d also have to create a couple of properties for our content types.
To be fair it is also possible to create content types through the web interface in EPiServer, but to do that we’d have to have the site up and running already… also, nobody does that because it makes it harder to create strongly typed models for your views. We’d simply log into the user interface and start creating our ContentTypes, like so: In Contentful no code would have yet to be written. Public class StartPageContentType : PageData In the EPiServer case we’d start writing code to hardwire our ContentTypes to database models. Now here’s where our process would start to diverge. Let’s compare our process in building such an app in EPiServer (a traditional CMS) and Contentful.įor both systems we’d first have to identify our content types which in our simplified example is rather easy: StartPage, ArticlePage, Like, Comment and Tag are all good candidates. All fairly common requirements for any CMS-project today. We should also be able to categorize pages by tags. Imagine we were hired to build a simple web application that needs to be powered by a CMS it needs a StartPage and ArticlePages, logged in users should be able to like and comment certain pages. While that sounds all fine and dandy, how does it really work? Problems of poor test data and making sure our design holds up in a production environment from day one. By putting the content in the cloud we could use the exact same content in all environments, mitigating the Little, too late and presents the application with problems that historically have been very hard to catch during developmentĪnd testing. (Who wouldn’t?)Īs just about everyone that has been involved in a CMS-project can witness The production of content almost always comes too You might want to get started creating content quickly.You might want to create content for several channels (mobile app, web site etc.), but none of them might be production ready yet.You might want to postpone the selection of technical platform, but not fall behind in the production of content.Reasons for this but a few that immediately cross my mind are Into their cloud instead of into a management system tied to the actual website presenting it.īut what is the point, you might ask, of producing content with nowhere to present it yet? There might of course be several good This is of course far from ideal and contentful presents an interesting solution to this by moving the production of content The problem with this approach is that the producing of content will have to wait as it is dependent on the presentation. It to staging and there you can start creating your content which we’ll then copy over to production once ready”. “We’ll start by defining the look and feel for a few weeks, then we’ll start building the actual website, then we’ll deploy Historically if a client would want to build a new website the dialogue might go something like this:
Your content separately in the cloud and accessing it through simple yet powerful REST apis. Contentful instead introduces the idea of managing For example EPiServer, Joomla, Drupal, SiteCore etc. The CMSs I’ve been working with in the past have been of the “install this package to your solution and build your
A CMS with a fresh new approach to content management.
4) Add your environment variablesĪdd a now.Recently I’ve been toying around with Contentful. If you are missing these directories, you did not properly initialize the project. Open the project within your preferred text editor and make sure your project has the following directories: package.json, package-lock.json. Next, add the project dependencies: npm i contentful next react react-dom Next, initialize your project, creating a package.json file in the process: npm init -y We will be storing these in our env files or Now’s handy CLI 3) Spin up your Next appĬreate a directory for your project: mkdir nextjs-contentful-blog & cd nextjs-contentful-blog With the keys created, make a note of both the Space ID and the Content Delivery API - access token, these will be used later on. 2) Create your API KeysĬlick through to the Settings tab and choose the API Keys option, then click the Add API Key button. Next, let’s create a set of API keys as well as find your space id, this will allow you to connect to the Contentful Client to request your posts. Just like that, you have a post you can make a request for then render on your Nextjs site. Next, open the Content section using the Content tab, click the Add Post button and create a dumby post.