CMS Recommendations for CloudCore Project

Overview

This document outlines various Content Management System (CMS) solutions for allowing non-technical staff to contribute content to the CloudCore educational platform without needing to understand Git/GitHub complexities.

Current Setup Constraints

  • Source Branch: main (contains .qmd source files)
  • Published Branch: gh-pages (contains built HTML)
  • Build Process: Quarto renders .qmd → HTML
  • Deployment: GitHub Pages from gh-pages branch
  • Challenge: Most CMS solutions need to edit source files in main, not the published gh-pages

Decision Matrix

Solution Technical Skill Needed Setup Time Ongoing Maintenance Cost Best For
GitHub Web Low 1 hour None Free Tech-comfortable staff
Prose.io Low 2 hours Low Free Markdown editors
Netlify CMS Medium 4 hours Low Free Professional CMS needs
Web Forms Medium 8 hours Low Free Non-technical contributors
Two Repos Medium 3 hours Low Free Clean separation
Codespaces Low 1 hour None Free* Power users
Email Form None 30 min High Free Minimal needs

Content Templates to Create

Regardless of solution chosen, create these templates:

<!-- /_templates/scenario.md -->
---
title: "Scenario Title"
unit: "ISYS6018"
week: 1
difficulty: "beginner|intermediate|advanced"
---

## Scenario Overview
[Brief description]

## Learning Objectives
- Objective 1
- Objective 2

## Scenario Details
[Full scenario content]

## Resources Required
- Resource 1
- Resource 2

## Assessment Criteria
[How students will be evaluated]
<!-- /_templates/character.md -->
---
name: "Character Name"
role: "Job Title"
department: "Department"
---

## Background
[Character background]

## Personality Traits
- Trait 1
- Trait 2

## Key Information
[What this character knows]

## Interview Responses
[Typical responses to questions]

Security Considerations

  1. API Tokens: Store in GitHub Secrets, never in code
  2. Permissions: Use least-privilege principle
  3. Validation: Validate all user input
  4. Review: Always require PR review before merge
  5. Backup: Regular backups of content

Getting Help

  • GitHub Docs: https://docs.github.com/en/github/managing-files-in-a-repository
  • Prose.io: http://prose.io/#about
  • Netlify CMS: https://www.netlifycms.org/docs/
  • Quarto: https://quarto.org/docs/websites/

Next Steps

  1. Review this document with your team
  2. Choose a solution based on your staff’s technical comfort
  3. Pilot with one willing staff member
  4. Document the chosen process thoroughly
  5. Train all content contributors
  6. Iterate based on feedback

Last Updated: January 2025