Getting started with Penzle

Penzle Team

a rocket flying in the sky

If you are reading this, it means you have probably heard about what Penzle is and what Penzle does, and most likely you want to turn a heap of content that you already have into something more presentable. A modern looking web page, or maybe a mobile app of some sort? We don't know what it is exactly that you are looking for, and maybe you are also not so sure yourself, but you are still interested to know if Penzle might help you get there more easily.

Look no further. Whatever it is you want to do, Penzle can do it.

Well... not everything, but if it's about content, chances are Penzle can handle it. How can you host your content in an organized way, facilitating easy change and maintenance with simple data access? Oh, that's not it... you just want to know how to get from a bunch of text and images to a nice looking web page? This is almost the same question as the first one, only with less tech words.

The aim of this article is to guide you through this ordeal, from the sign-up process up until you view your content somewhere as a result.

Sign-up process is as simple as you would imagine it to be, just type in some basic information and then check your inbox for that welcome message with the rest of instructions.

Penzle Dashboard

Upon using your credentials for the first time you are greeted with what I am sure seems like a challenging dashboard for a first-time user. Don't worry, you will know it like the back of your hand after you start publishing your own content.

Penzle Home Screen

Now you would need to create your project, an ecosystem where all your content will live, but let's keep this as simple as possible. Penzle has a Default Project created just for this purpose, so you can get comfortable working with it.

First thing you have to make sure is that you have our Default Project selected in the top left corner. Sidebar menu is (always) related to the project that you have selected. This enables a clear separation between different projects and easy navigation.

Create your content

Next thing to learn is how to create your content and where to put it. There are two most important menu items you need to know about in order to achieve this:

Penzle sidebar

  1. How can I create a form matching my content structure? - In CMS slang we are talking about a data template. If, for example, you want to publish your weekly blogs, then your usual content consists of a blog title, author, body, and maybe even date of creation. In the sidebar menu navigate to Development -> Data Templates and then click the action button New data template.

Template design view that opens up will be quite intuitive, and you can just drag and drop the fields you need to cover the structure of your content. Here is how it looks on our Blog Post template. You can refine settings for each field individually by using Settings on the fields you have added to your template.

Penzle data template

You will also notice we've created a template for the blog post author, along with an author list so that we can manage a complete list of authors under a single folder.

  1. Where can I start creating my content? - Navigate to Content Editing -> Content Editor. This is the place where all your content will live in a hierarchically organized structure. Create a selection of blogs by using Add Entry action button and selecting your previously created data template. You can select each one of the new items you have created and write your content or copy/paste it if you have it prepared beforehand.

For demonstration purposes, we have created a list of authors and a blog post example as part of Default Project content.

Penzle Default Project Content

When adding an author to a blog post, we want to limit the author selection to the list of authors we have previously created. To do this you can navigate back to your blog post template, and go to Settings for Author field on your template. If you expand the Start Node option, you will see we have pointed it to /content/Authors where the list of all authors is located.

Penzle Blog Post Author Settings

There are far more options for a complete publishing workflow, as Penzle allows you to plan your decisions and have full control over content transformation steps.

It can be as simple as saving entered content in order to publish it, or you can add nuances like workflow for content approval/translation, version management and much more. Read the official Penzle documentation for guides on how to use these.

Authenticating your project

Penzle is structurally a headless CMS system, meaning its primary concern is content management & delivery. As a Penzle consumer, you always have the absolute freedom to use the content provided by Penzle however you want, whether it be for a Web app, Raspberry Pi, iOS/Android mobile app or something else.

To communicate with Penzle in order to fetch created content, you will need to use your project Id and create an access token.

You can create access tokens for a specific project; simply navigate to Settings in the dashboard sidebar menu, and then go to Projects -> [select your project] -> API Tokens. Write in the token name, description and expiry date. You can choose between two types of tokens:

  • Content delivery token - granting you the ability to retrieve and read data
  • Content management token - granting you the ability to also modify data and save changes

Choose token environment (by default this is set to main, but you can easily create other environments like dev, staging or production).

Bonus - Retrieving your content in .net environment

Follow the steps outlined in this configuration guide to use your created tokens in scope of your .net application.

Then create a DTO model compatible with your data template:

public class BlogPost
{
    public string Title { get; set; }
    public string Body { get; set; }
    public string Author { get; set; }
}

All that remains is data retrieval using IPenzleClient:

var blogPost = await _deliveryClient
    .Entry
    .GetEntry<BlogPost>
    (
    	entryId: new Guid("2bcfc9f2-8d12-494b-b56e-8145bb4aa3a3"),
    	cancellationToken: CancellationToken.None
    );

entryId can be obtained using the info tab on content of interest, as shown below:

Penzle - Obtain Entry Id

Cookie Consent

This website uses cookies to improve your experience while navigating through the website. You can choose to accept or decline to have your browsing tracked by cookies while you’re using this site.