CMS Verification Checklist
This checklist enables the editor to independently verify all CMS functions work correctly.
Table of Contents
- Introduction
- Authentication Verification (VRFY-01)
- Content Collections Verification (VRFY-02)
- Navigation Management Verification (VRFY-03)
- Media Management Verification (VRFY-04)
- Editorial Workflow Verification (VRFY-05)
- Troubleshooting (SUPP-01)
1. Introduction
Purpose
This checklist provides step-by-step verification that all CMS (Content Management System) functions work correctly. Use it to confirm you have full editorial control over site content without needing technical assistance.
When to Use This Checklist
- After site updates - Verify CMS still works after major changes
- Periodically - Monthly check to ensure all functions remain operational
- After issues - Diagnose problems with content management
- Initial setup - Confirm CMS is properly configured for new users
Accessing the CMS
URL: https://bibleteachingprogram.com/admin/
To access the CMS:
- Navigate to the admin URL above
- Click "Login with Netlify Identity"
- Enter your registered email and password
- You should see the collections sidebar on the left
2. Authentication Verification (VRFY-01)
Login Checklist
Logout Checklist
- [ ] Log out successfully
- Click your email in the top right
- Click "Log out"
- Expected: Returned to login screen
- If fails: Clear browser cache and close all browser windows
3. Content Collections Verification (VRFY-02)
The CMS manages 13 content collections and 2 file collections. Verify each one can be accessed, items created, and items edited.
3.1 Posts (Demo Posts)
Location: Sidebar > Posts
Purpose: Demo posts for testing CMS functionality
Access Verification
- [ ] Click "Posts" in sidebar
- [ ] Expected: List of existing posts appears (or empty state if none)
- [ ] If fails: Refresh page, check browser console for errors
Create New Item
- [ ] Click "New Post" button
- [ ] Fill in required fields:
- Title: Enter a test title (e.g., "Test Post - Delete Me")
- Publish Date: Select today's date
- Draft: Leave checked (keeps post hidden)
- Content: Enter some test content
- [ ] Click "Save"
- [ ] Expected: Post saves successfully, "Saved" status shown
- [ ] If fails: Check for validation errors, ensure all required fields filled
Edit Existing Item
- [ ] Open an existing post from the list
- [ ] Modify the title or content
- [ ] Click "Save"
- [ ] Expected: Changes saved successfully
- [ ] If fails: Check if another user has the item locked
Key Fields to Test
title (required) - The post title
date (required) - Publish date picker
draft (boolean) - Toggle visibility
featured_image (optional) - Image upload
attachment (optional) - PDF upload
body (markdown) - Rich text content
3.2 Courses: Foundation
Location: Sidebar > Courses: Foundation
Purpose: Foundation category course lessons
Access Verification
- [ ] Click "Courses: Foundation" in sidebar
- [ ] Expected: List of lessons grouped by course title
- [ ] If fails: Refresh page
Create New Item
- [ ] Click "New Lesson" button
- [ ] Fill in required fields:
- Lesson Title: Enter test title
- Course Title: Enter course name (e.g., "The Cross")
- Course Slug: Enter URL-friendly name (e.g., "the-cross")
- Lesson Number: Enter a number (e.g., 99)
- [ ] Click "Save"
- [ ] Expected: Lesson saves successfully
- [ ] If fails: Verify course slug uses lowercase and hyphens only
Edit Existing Item
- [ ] Open an existing lesson
- [ ] Modify the content or description
- [ ] Click "Save"
- [ ] Expected: Changes saved successfully
Key Fields to Test
title (required) - Lesson title
course_title (required) - Parent course name
course_slug (required) - URL-friendly course name
lesson_number (required) - Ordering number
pdf_notes (optional) - PDF file upload
pdf_slides (optional) - PDF file upload
body (markdown) - Lesson content
3.3 Courses: Christian Life
Location: Sidebar > Courses: Christian Life
Purpose: Christian Life category course lessons
Access Verification
- [ ] Click "Courses: Christian Life" in sidebar
- [ ] Expected: List of lessons grouped by course title
Create New Item
- [ ] Click "New Lesson" button
- [ ] Fill in required fields (same as Foundation courses)
- [ ] Click "Save"
- [ ] Expected: Lesson saves successfully
Edit Existing Item
- [ ] Open an existing lesson and make a change
- [ ] Expected: Changes save successfully
Key Fields to Test
- Same fields as Foundation courses
category field is hidden and defaults to "christian-life"
3.4 Courses: History
Location: Sidebar > Courses: History
Purpose: History category course lessons
Access Verification
- [ ] Click "Courses: History" in sidebar
- [ ] Expected: List of lessons grouped by course title
Create/Edit Verification
- [ ] Create a test lesson with lesson number 99
- [ ] Edit an existing lesson
- [ ] Expected: Both operations succeed
Key Fields to Test
- Same fields as Foundation courses
category field is hidden and defaults to "history"
3.5 Courses: Languages
Location: Sidebar > Courses: Languages
Purpose: Languages category course lessons (Greek, Hebrew)
Access Verification
- [ ] Click "Courses: Languages" in sidebar
- [ ] Expected: List of lessons grouped by course title
Create/Edit Verification
- [ ] Create a test lesson
- [ ] Edit an existing lesson
- [ ] Expected: Both operations succeed
Key Fields to Test
- Same fields as Foundation courses
category field is hidden and defaults to "languages"
3.6 Books
Location: Sidebar > Books
Purpose: Book chapters for various authors
Access Verification
- [ ] Click "Books" in sidebar
- [ ] Expected: List of chapters grouped by book title
Create New Item
- [ ] Click "New Chapter" button
- [ ] Fill in required fields:
- Chapter Title: Enter test title
- Book Title: Enter book name
- Book Slug: Enter URL-friendly name (e.g., "higher-calling")
- Author: Enter author name
- Chapter Number: Enter a number
- Chapter Type: Select from dropdown (Introduction, Chapter, Conclusion, etc.)
- [ ] Click "Save"
- [ ] Expected: Chapter saves successfully
Edit Existing Item
- [ ] Open an existing chapter
- [ ] Modify content
- [ ] Expected: Changes save successfully
Key Fields to Test
title (required) - Chapter title
book_title (required) - Parent book name
book_slug (required) - URL-friendly book name
author (required) - Author name
chapter_number (required) - Ordering number
chapter_type (required) - Type dropdown
accent_color (optional) - Color picker
pdf_attachment (optional) - PDF upload
body (markdown) - Chapter content
3.7 Blog Posts
Location: Sidebar > Blog Posts
Purpose: Blog entries and messages
Access Verification
- [ ] Click "Blog Posts" in sidebar
- [ ] Expected: List of blog posts
Create New Item
- [ ] Click "New Post" button
- [ ] Fill in required fields:
- Title: Enter test title
- Publish Date: Select date
- Draft: Leave checked
- [ ] Click "Save"
- [ ] Expected: Post saves successfully
Edit Existing Item
- [ ] Open and edit an existing post
- [ ] Expected: Changes save successfully
Key Fields to Test
title (required) - Post title
date (required) - Publish date
draft (boolean) - Visibility toggle
scripture_reference (optional) - Scripture citation
scripture_text (optional) - Scripture quotation
speaker (optional) - Speaker name
video_url (optional) - YouTube URL
featured_image (optional) - Image upload
body (markdown) - Post content
3.8 Messages
Location: Sidebar > Messages
Purpose: Standalone sermons and messages
Access Verification
- [ ] Click "Messages" in sidebar
- [ ] Expected: List of messages
Create New Item
- [ ] Click "New Message" button
- [ ] Fill in required fields:
- Message Title: Enter test title
- Publish Date: Select date
- Draft: Leave checked
- [ ] Click "Save"
- [ ] Expected: Message saves successfully
Edit Existing Item
- [ ] Open and edit an existing message
- [ ] Expected: Changes save successfully
Key Fields to Test
title (required) - Message title
date (required) - Publish date
draft (boolean) - Visibility toggle
description (optional) - Brief description
scripture_reference (optional) - Scripture citation
scripture_text (optional) - Scripture quotation
speaker (optional) - Speaker name (default: Steve Dulwich)
video_url (optional) - YouTube URL
featured_image (optional) - Image upload
topics (optional) - Comma-separated topics
body (markdown) - Message content
3.9 Sermon Series
Location: Sidebar > Sermon Series
Purpose: Multi-part message series
Access Verification
- [ ] Click "Sermon Series" in sidebar
- [ ] Expected: List of series entries grouped by series title
Create New Item (Series Overview)
- [ ] Click "New Series Entry" button
- [ ] Fill in fields:
- Content Type: Select "Series Overview"
- Title: Enter series title
- Series Title: Same as title
- Series Slug: URL-friendly name
- Description: Series description
- [ ] Click "Save"
- [ ] Expected: Series overview saves successfully
Create New Item (Sermon)
- [ ] Click "New Series Entry" button
- [ ] Fill in fields:
- Content Type: Select "Sermon"
- Title: Enter sermon title
- Series Title: Parent series name
- Series Slug: Same as series overview
- Sermon Number: Position in series
- [ ] Click "Save"
- [ ] Expected: Sermon saves successfully
Key Fields to Test
content_type (required) - Series Overview or Sermon
title (required) - Entry title
series_title (required) - Series name
series_slug (required) - URL-friendly series name
sermon_number (optional) - Position in series
accent_color (optional) - Color picker
video_url (optional) - YouTube URL
draft (boolean) - Visibility toggle
body (markdown) - Content
3.10 Daily Verses
Location: Sidebar > Daily Verses
Purpose: Daily devotional verses by month and day
Access Verification
- [ ] Click "Daily Verses" in sidebar
- [ ] Expected: List of daily verses
Create New Item
- [ ] Click "New Daily Verse" button
- [ ] Fill in required fields:
- Devotional Title: Enter title (e.g., "Running for the prize")
- Month: Select from dropdown
- Day Number: Enter day (1-31)
- Scripture Reference: Enter reference (e.g., "Philippians 3:14")
- Scripture Text: Enter the verse text
- [ ] Click "Save"
- [ ] Expected: Daily verse saves successfully
Key Fields to Test
title (required) - Devotional title
month (required) - Month dropdown
day_number (required) - Day 1-31
scripture_reference (required) - Bible reference
scripture_text (required) - Verse text
draft (boolean) - Visibility toggle
body (markdown) - Devotional content
3.11 Journal Entries
Location: Sidebar > Journal Entries
Purpose: Date-based journal content (e.g., Isaac Sharp's Journey)
Access Verification
- [ ] Click "Journal Entries" in sidebar
- [ ] Expected: List of journal entries
Create New Item
- [ ] Click "New Entry" button
- [ ] Fill in required fields:
- Entry Title: Enter date title (e.g., "April 23, 1862")
- Book/Journal Title: Enter journal name
- Book Slug: URL-friendly name
- Author: Enter author name
- Year: Enter year (e.g., 1862)
- Month: Select from dropdown
- Day: Enter day number
- Entry Type: Select type (Journal Entry, Notes, Index)
- [ ] Click "Save"
- [ ] Expected: Entry saves successfully
Key Fields to Test
title (required) - Entry title
book_title (required) - Parent journal name
book_slug (required) - URL-friendly name
author (required) - Author name
entry_year (required) - Year number
entry_month (required) - Month dropdown
entry_day (required) - Day 1-31
entry_type (required) - Type dropdown
location (optional) - Geographic location
featured_image (optional) - Image upload
body (markdown) - Entry content
3.12 Bible Pages
Location: Sidebar > Bible Pages
Purpose: Bible section navigation pages
Access Verification
- [ ] Click "Bible Pages" in sidebar
- [ ] Expected: List of Bible section pages
Create New Item
- [ ] Click "New Bible Page" button
- [ ] Fill in required fields:
- Page Title: Enter title
- Page Type: Select type (Main Bible Index, Testament Index, Category Index, etc.)
- Testament: Select testament if applicable
- [ ] Click "Save"
- [ ] Expected: Page saves successfully
Edit Existing Item
- [ ] Open an existing Bible page
- [ ] Modify content or description
- [ ] Expected: Changes save successfully
Key Fields to Test
title (required) - Page title
page_type (required) - Type dropdown
testament (optional) - Old/New Testament
category (optional) - Category slug
description (optional) - SEO description
icon (optional) - Emoji icon
book_range (optional) - Range of books
book_count (optional) - Number of books
body (markdown) - Page content
3.13 Pages
Location: Sidebar > Pages
Purpose: Root informational pages (Contact, Resources, Privacy Policy, etc.)
Access Verification
- [ ] Click "Pages" in sidebar
- [ ] Expected: List of informational pages
Create New Item
- [ ] Click "New Page" button
- [ ] Fill in required fields:
- [ ] Optional fields:
- Description: SEO description
- URL Slug Override: Custom URL path
- Show Breadcrumb: Toggle
- Page Style: Standard, Resource List, or Contact
- [ ] Click "Save"
- [ ] Expected: Page saves successfully
Key Fields to Test
title (required) - Page title
meta_title (optional) - SEO title
description (optional) - SEO description
slug_override (optional) - Custom URL
show_breadcrumb (boolean) - Breadcrumb toggle
page_style (required) - Style dropdown
body (markdown) - Page content
3.14 Site Settings (File Collection)
Location: Sidebar > Site Settings
Purpose: General site configuration
Access Verification
- [ ] Click "Site Settings" in sidebar
- [ ] Click "General Settings"
- [ ] Expected: Settings form loads
Edit Settings
- [ ] Modify the Site Title (or note current value)
- [ ] Click "Save"
- [ ] Expected: Settings save successfully
Key Fields
3.15 Navigation (File Collection)
Location: Sidebar > Navigation
Purpose: Main navigation, footer, and mobile nav configuration
Access Verification
- [ ] Click "Navigation" in sidebar
- [ ] Click "Site Navigation"
- [ ] Expected: Navigation configuration form loads with multiple sections
Key Sections to Verify
- Main Navigation: Top-level nav items with mega menu configuration
- Footer Link Columns: Footer organization columns
- Quick Start Cards: Featured footer cards
- Social Links: Social media profiles
- Mobile Navigation Bar: Bottom mobile nav icons
4. Navigation Management Verification (VRFY-03)
Main Navigation
Mega Menu Configuration
Footer Configuration
Mobile Navigation
5. Media Management Verification (VRFY-04)
Image Uploads
PDF Uploads
-
[ ] Upload PDF via pdf_notes field
- Open a course lesson
- Scroll to "PDF Notes" field
- Click "Choose a file" or drag and drop
- Select a PDF file
- Expected: PDF uploads successfully
- If fails: Verify file is valid PDF, check file size
-
[ ] Upload PDF via pdf_slides field
- Same process for PDF Slides field
- Expected: PDF uploads successfully
-
[ ] Upload PDF via pdf_attachment field
- Open a book chapter
- Use the "PDF Attachment" field
- Expected: PDF uploads successfully
-
[ ] Upload PDF via attachment field
- Open a post
- Use the "PDF Attachment" field
- Expected: PDF uploads successfully
Supported Formats
| Type |
Supported Formats |
Max Size |
| Images |
JPG, PNG, GIF, WebP, SVG |
Varies by provider |
| PDFs |
PDF only |
Varies by provider |
6. Editorial Workflow Verification (VRFY-05)
The CMS uses an editorial workflow with draft/publish functionality.
Draft Status
Publishing
-
[ ] Publish item
- Open an existing draft item
- Uncheck the "Draft" checkbox
- Click "Save"
- Wait 2-3 minutes for site to redeploy
- Expected: Item now visible on live site
-
[ ] Unpublish item
- Open a published item
- Check the "Draft" checkbox
- Click "Save"
- Wait 2-3 minutes for site to redeploy
- Expected: Item no longer visible on live site
Preview Functionality
- [ ] Preview unpublished changes
- Open any content item in the CMS
- Make a change (but don't save)
- Look for "View" or preview button in editor toolbar
- Expected: Opens preview of the item
- If fails: See Troubleshooting - "Preview not loading"
Editorial Workflow States
The CMS may show workflow states:
-
Draft - Item is in draft status
-
In Review - Item submitted for review (if workflow enabled)
-
Ready - Item approved and ready to publish
-
[ ] Verify workflow state transitions
- Check if your items move through expected states
- Expected: Can see and manage workflow states
7. Troubleshooting (SUPP-01)
Can't Log In
Symptoms:
- Login button doesn't respond
- "Invalid credentials" error
- Login loop (keeps returning to login screen)
Solutions:
-
Verify Netlify Identity invitation
- Check email for Netlify Identity invitation
- Click the invitation link to set up your account
- If no invitation received, contact site administrator
-
Clear browser cache
- Clear cookies and cache for bibleteachingprogram.com
- Try again in incognito/private browsing mode
-
Check browser compatibility
- Use modern browser (Chrome, Firefox, Safari, Edge)
- Disable browser extensions that might block scripts
-
Reset password
- Click "Forgot password?" on login screen
- Check email for reset link
- Set new password and try again
Changes Not Appearing on Live Site
Symptoms:
- Saved changes not visible on website
- Old content still showing
- New items not appearing
Solutions:
-
Check draft status
- Open item in CMS
- Verify "Draft" checkbox is UNCHECKED for items you want visible
- Save again if needed
-
Wait for deployment
- Changes take 2-3 minutes to deploy
- Check Netlify dashboard for deploy status
- Look for green "Published" status
-
Clear browser cache
- Hard refresh the page (Ctrl+F5 or Cmd+Shift+R)
- Try viewing in incognito mode
-
Check editorial workflow
- If using workflow, item may be in "Review" or "Draft" state
- Move to "Ready" state and publish
Media Upload Fails
Symptoms:
- Image won't upload
- PDF upload error
- "Upload failed" message
Solutions:
-
Check file size
- Reduce image size to under 5MB
- Compress PDFs using online tools
- Try smaller file first to confirm uploads work
-
Check file format
- Images: Use JPG, PNG, GIF, or WebP
- PDFs: Ensure file is valid PDF (not corrupted)
- Avoid special characters in filename
-
Check internet connection
- Ensure stable internet connection
- Try uploading on different network
-
Try alternative method
- Instead of drag-and-drop, use the file picker
- Clear browser cache and retry
Preview Not Loading
Symptoms:
- Preview shows blank page
- Preview shows wrong content
- Preview button doesn't work
Solutions:
-
Check preview_path configuration
- Preview paths are configured per collection
- If preview shows wrong page, contact administrator
-
Wait for draft save
- Ensure changes are saved before previewing
- Preview shows last saved state
-
Check browser pop-up blocker
- Preview may open in new tab/window
- Allow pop-ups from the CMS domain
-
Try direct URL
- Copy the expected URL from preview_path
- Manually visit that URL on the live site
Editorial Workflow Stuck
Symptoms:
- Can't move item to published state
- Workflow state won't change
- "Pending" status won't clear
Solutions:
-
Check workflow status
- Open item in CMS
- Look for workflow status indicator
- Try manually changing state
-
Force save
- Make a small edit to the item
- Save again to trigger workflow update
-
Check for conflicts
- Another user may have the item locked
- Refresh and check for lock indicator
-
Contact administrator
- If workflow is truly stuck, may need backend intervention
- Note the item title and current state
General Tips
-
Always save before navigating away
- Unsaved changes will be lost
- Look for "Unsaved changes" indicator
-
Use specific, descriptive titles
- Makes items easier to find in CMS
- Helps with SEO on live site
-
Test changes before publishing
- Use preview when available
- Check draft first, then publish
-
Regular backups
- Content is stored in Git
- Major changes are version controlled
Quick Reference
Collection Locations
| Collection |
Sidebar Location |
Content Folder |
| Posts |
Posts |
content/posts |
| Foundation Lessons |
Courses: Foundation |
content/courses/foundation |
| Christian Life Lessons |
Courses: Christian Life |
content/courses/christian-life |
| History Lessons |
Courses: History |
content/courses/history |
| Languages Lessons |
Courses: Languages |
content/courses/languages |
| Book Chapters |
Books |
content/books |
| Blog Posts |
Blog Posts |
content/blog |
| Messages |
Messages |
content/messages |
| Sermon Series |
Sermon Series |
content/series |
| Daily Verses |
Daily Verses |
content/daily-verses |
| Journal Entries |
Journal Entries |
content/journal-entries |
| Bible Pages |
Bible Pages |
content/bible |
| Pages |
Pages |
content/pages |
| Settings |
Site Settings |
config/site-settings.md |
| Navigation |
Navigation |
config/navigation.json |
Media Folders
| Collection |
Image Folder |
| Posts |
/images/posts/ |
| Courses |
/images/courses/ |
| Books |
/images/books/ |
| Blog |
/images/blog/ |
| Messages |
/images/messages/ |
| Series |
/images/series/ |
| Daily Verses |
/images/daily-verses/ |
| Journal Entries |
/images/journal-entries/ |
| Bible Pages |
/images/bible/ |
| Pages |
/images/pages/ |
Last updated: 2026-02-04
CMS: Decap CMS with Netlify Identity
Site: https://bibleteachingprogram.com