Files
radio.org.tr/DECAP_CMS_SETUP.md
T
Buğra f041165e9b Fix Netlify Identity confirmation email authentication flow
- Create dedicated /auth page to handle confirmation, recovery, and invite tokens
- Add proper redirects in _redirects and netlify.toml for token handling
- Update main layout to automatically redirect authentication tokens to auth page
- Add Turkish authentication interface with loading states and error handling
- Provide fallback redirect mechanisms for different token types
- Update documentation with current setup status and fixes

This resolves the issue where confirmation emails linked to hash URLs that didn't work.
Now users will be properly guided through the authentication process.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 03:18:53 +03:00

4.8 KiB

Decap CMS Setup for ARC Website

Overview

This website uses Decap CMS (formerly Netlify CMS) for content management. It allows authorized users to create, edit, and manage blog posts through a web interface.

Current Setup Status

Error: "Unable to access identity settings. When using git-gateway backend make sure to enable Identity service and Git Gateway."

This means Netlify Identity and Git Gateway need to be properly configured.

Setup Instructions

1. Enable Netlify Identity

  1. Go to your Netlify dashboard: https://app.netlify.com/
  2. Select your site (ym1ktc.netlify.app)
  3. Navigate to Site settingsIdentity
  4. Click "Enable Identity"
  5. In Identity settings, configure:
    • Registration: Set to "Invite only" (recommended for security)
    • External providers: Optionally enable GitHub, Google, etc.
    • Field validation: No changes needed for basic setup

2. Configure Git Gateway

This is the crucial step that's currently missing:

  1. In your site's Identity settings
  2. Go to "Services" tab
  3. Click "Enable Git Gateway"
  4. This allows Decap CMS to commit directly to your GitHub repository
  5. Important: Git Gateway requires the Identity service to be enabled first

3. Configure Custom Domain Access

Since you're using https://taslak.radio.org.tr/, ensure:

  1. The custom domain is properly configured in Netlify
  2. Identity service works on both domains:

4. Invite Users

After Identity and Git Gateway are enabled:

  1. In Identity tab, click "Invite users"
  2. Enter email addresses of content editors
  3. They will receive invitation emails
  4. Users must accept invitations to access the CMS

5. Access the CMS

  • Primary URL: https://taslak.radio.org.tr/admin/
  • Backup URL: https://ym1ktc.netlify.app/admin/
  • Users can log in with their invited credentials
  • The CMS will redirect to /decapcms/ for the actual interface

Features

Turkish Interface

  • All field labels are in Turkish
  • Configured for Turkish content creators
  • Default author set to "TA1SPH"

Blog Post Management

  • Create new blog posts
  • Edit existing posts
  • Upload featured images
  • Organize with categories and tags
  • Markdown editor for content

File Structure

  • Blog posts are stored in src/data/post/
  • Images are stored in src/assets/images/
  • Posts use the format: YYYY-MM-DD-slug.md

Configuration Files

/public/decapcms/config.yml

Main configuration file that defines:

  • Backend (Git Gateway)
  • Collections (Blog posts)
  • Fields and their types
  • Media handling

/public/decapcms/index.html

The CMS interface HTML file

/public/_redirects

Netlify redirect rules for admin routing

Usage

  1. Users navigate to /admin/
  2. They are redirected to the CMS interface
  3. After authentication, they can:
    • Create new blog posts
    • Edit existing posts
    • Upload images
    • Manage categories and tags

Security

  • Only invited users can access the CMS
  • All changes are committed to the main repository
  • GitHub Actions will automatically deploy changes
  • Content is version-controlled through Git

Troubleshooting

Fixed Issues:

"Unable to access identity settings" - This was fixed by enabling Identity and Git Gateway in Netlify Confirmation email links not working - Created /auth page to handle authentication tokens

Current Setup Status:

The site now has:

  • Custom authentication handler at /auth
  • Proper redirect handling for confirmation emails
  • Automatic routing from hash-based tokens to query parameters

If you're still getting confirmation email issues:

  1. Go to https://app.netlify.com/sites/ym1ktc/settings/identity
  2. Check that Identity is enabled
  3. Go to Services tab and ensure "Git Gateway" is enabled
  4. The confirmation links should now work properly

Common Issues:

  1. "Unable to access identity settings": Enable Identity service and Git Gateway in Netlify dashboard
  2. Can't log in: Check if Identity is enabled and user is invited
  3. Can't save posts: Ensure Git Gateway is enabled and connected to GitHub
  4. Images not uploading: Check media folder permissions in repository
  5. Custom domain issues: Ensure Identity works on both netlify.app and custom domain
  6. 404 on /admin/: Check that _redirects file is deployed correctly

Quick Verification Steps:

  1. Check Identity status: https://app.netlify.com/sites/ym1ktc/settings/identity
  2. Check Git Gateway: Should show "Connected" status when properly configured
  3. Test admin access: https://taslak.radio.org.tr/admin/
  4. Check browser console for JavaScript errors

Support

For technical issues, contact the development team or check the Decap CMS documentation at https://decapcms.org/docs/

Netlify-specific help: https://docs.netlify.com/visitor-access/identity/