Understand Nilead Extension System

Understanding extensions

Extension is the base building block of our system to support dynamic content, understanding extension will allow you to do amazing things with Nilead.

Technical background

In programming world, we make things easier for us (programmers) to understand by defining with stuffs as objects. These objects have properties and actions associated with them just like real-life objects (well, almost like real-life objects). For example, a Product you see in the store is an object with these basic properties and methods:

Properties

  1. Name
  2. Description
  3. Price
  4. Quantity
  5. Weight
  6. Height

Methods

  1. Purchaseable
  2. Deleteable
  3. Countable

Without these objects, the system has no way to know how to store data inside the system and how these data should interact with each other.

When we develop a system, we usually create a fixed set of objects that we think our customers may need, well, we can never be more wrong. In the real world, each website is different with unique set of requirements.

For example, lets say you want to create a website for your school alumni and you may need to create new objects such as Classes, Members, Galleries. Each Class should be associated with its Members and has its own private Galleries, now things get complicated.

Utilizing extension

In Nilead, you’ll create dynamic content using Extension. Extension are groups of data with Fields and Relationships you (or your designer/developer) define. Extensions are created from core objects such as Products, Content, Person, etc... (hence the name Extension). An Extension will inherit all the fields and relationships from its base object as well as its own defined fields and relationships. Once created, you can display this content however you’d like.

NOTE Extension is called extension because it is built on a core object. When you create a new extension, you have to choose the core object you want to build on. An extension built on `Product` will have all core Product's properties and methods in addition to its own fields (properties). This allows the new extension to be treated as a normal `Product` and can be purchased normally.

extension definition

As you can see, extension can have both regular text, numeric fields as well as reference fields that link to other extensions.

NOTE Extension is a very powerful feature but it requires in-depth knowledge. We generally hide this feature by default for the non Super Admin accounts to avoid potential mishaps.

Add new extension

Extension is a great way to add dynamic content support to your website, please check our document to learn how to Add and Update Extension.