Best Practices for Creating a Schema When Using Freestyle

Creating an effective schema in Zesty.io when using Freestyle is crucial for ensuring that your content is well-organized, easy to manage, and scalable. This guide will walk you through the best practices for setting up your schema.

Introduction to Schema in Zesty.io

Before diving into the best practices, it's important to understand what a schema is in the context of Zesty.io. A schema in Zesty.io is essentially the structure or blueprint of your content. It defines how your content is organized and how different types of content relate to each other.

Selecting a Model and Field Type

1. Choose the Appropriate Model

  • Why It's Important: The model determines how your content is stored and accessed in Zesty.io. Choosing the appropriate model for each section determines how it can be utilized in Freestyle.
  • How to Do It:
    • Use a Single Page model for pages like (e.g., homepage, about page, contact page).
    • Use a Multi Page model for collection of pages like (e.g., blog posts, product pages, testimonials).
    • Use a Dataset model for collection of entries like (e.g., categories, logos, FAQs).

Note: Only Single Page and Multi Page models will appear and can be edited in Freestyle.

2. Choose the Appropriate Field Type

  • Why It's Important: The field type determines how your content is validated, formatted, and displayed in Zesty.io.
  • How to Do It:
    • Text Field Type: Use for fields displaying plain text, such as titles, authors, or dates.
    • Media Field Type: Ideal for fields displaying images, PDFs, or videos (e.g., main image, logo, thumbnail).
    • Relationship Field Type: Suitable for fields referencing other content items (e.g., related posts, product variants, author profiles).
    • Numeric Field Type: Use for fields requiring numeric values (e.g., price, rating, quantity).
    • Date & Time Field Type: Perfect for fields displaying dates or times (e.g., publish date, event date, expiration date).
    • Options Field Type: Appropriate for fields presenting a selection from predefined options or boolean inputs (e.g., category, status, color, featured, active, in stock).

Note: All the fields that you created in all model types are available in the content section in Freestyle regardless of the model you are editing.

Creating a Schema

1. Split Contents into Sections

  • Why It's Important: Breaking down your content into logical sections makes it easier to manage and update. It also helps in maintaining a consistent structure across your website or application.
  • How to Do It:
    • Identify the main types of content on your site (e.g., blog posts, product pages, testimonials).
    • Break each content type into smaller sections based on their nature (e.g., for a product page, sections might include product description, specifications, reviews).

2. Identify Key Sections and Split Them into Fields

  • Why It's Important: This step ensures that each piece of information has its own place. It makes your content more flexible and easier to display across different platforms.
  • How to Do It:
    • Within each section, identify key elements that require separate fields (e.g., for a blog post, fields might include title, author, date, body, images).
    • Consider the data type for each field (text, date, image, etc.) to ensure data consistency.

3. Give Verbose Naming to Fields

  • Why It's Important: Clear and descriptive field names make your schema easier to understand and work with, especially for teams.
  • How to Do It:
    • Use names that clearly describe the content or purpose of the field (e.g., instead of 'img1', use 'mainProductImage').
    • Avoid technical jargon unless it is commonly understood by your team.

Additional Considerations

- Scalability

Plan your schema with future growth in mind. Ensure that it can accommodate new content types or changes in content structure.

- Consistency

Maintain consistency in naming conventions and field types across different sections.

- Documentation

Keep a record of your schema structure and any updates. This documentation is invaluable for new team members and for troubleshooting.

- Testing

Test your schema with sample content to ensure that all fields work as expected and that the content displays correctly on your site.

- Feedback Loop

Regularly review your schema with content creators and developers to identify areas for improvement.

Conclusion

A well-thought-out schema is the foundation of effective content management in Zesty.io. By following these best practices, you can create a schema that is logical, easy to manage, and scalable when using Freestyle. Remember, the goal is to make the content management process as efficient and error-free as possible for everyone involved.