Netlify-cms existing collection items are not displayed even if github request returns item

874 views Asked by At

I'm using netlify-cms 2.10.68, netlify-cms-app 2.11.20 with Gatsby 2.26.1 to do a simple event listing site.

When I restart the server or redeploy, existing collection items are not displayed in the cms.

When checking the network traffic to github to retrieve the items it returns them fine.

Little bit lost as to where to look next?

Here's:

The Network response from github made by netlify-cms

{
  "sha": "3.....",
  "url": "https://api.github.com/repos/organisation/repo/git/trees/3.......",
  "tree": [
    {
      "path": "test-webinar-1.md",
      "mode": "100644",
      "type": "blob",
      "sha": "a....",
      "size": 133,
      "url": "https://api.github.com/repos/organisation/repo/git/blobs/a...."
    }
  ],
  "truncated": false
}

my ./static/admin/config.yml

backend:
  name: github
  repo: repo_name
  branch: production
media_folder: static/images/uploads
public_folder: images/uploads

collections:
  - name: 'webinar'
    label: 'Webinar'
    folder: '/data/events/webinar'
    nested:
      depth: 100
    slug: '{{slug}}'
    create: true
    filter: { field: 'Type', value: 'Webinar' }
    path: '{{title}}'
    fields:
      - { name: 'title', label: 'Event Name' }
      - label: 'Event Type'
        name: 'event_type'
        widget: 'select'
        multiple: false
        description: 'Event Type (Conference, Webinar, Workshop etc.)'
        options: ['Conference', 'Webinar', 'Workshop']
      - { name: 'date', label: 'Date', widget: 'datetime' }
      - label: 'Event Status'
        name: 'status'
        widget: 'select'
        multiple: false
        description: 'Page status'
        options: ['Draft', 'Hidden', 'Testing', 'Public', 'Private']
      - { name: 'body', label: 'Body', widget: 'markdown' }

My ./package.json

{
  "name": "event-microsite",
  "description": "Did you want some events?",
  "license": "UNLICENSED",
  "private": true,
  "version": "0.1.0",
  "scripts": {
    "build": "gatsby build",
    "clean": "gatsby clean",
    "develop": "gatsby develop",
    "fd": "gatsby clean && gatsby develop",
    "fpd": "gatsby clean && gatsby build && gatsby deploy",
    "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\" \"!{package.json, yarn.lock, .cache/*, public/*\"",
    "serve": "gatsby serve",
    "start": "npm run develop",
    "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1",
    "precommit": "yarn format"
  },
  "dependencies": {
    "@material-ui/core": "^4.11.0",
    "@types/js-cookie": "^2.2.6",
    "codemirror": "^5.58.2",
    "gatsby": "^2.26.1",
    "gatsby-image": "^2.6.0",
    "gatsby-plugin-hubspot": "^1.3.4",
    "gatsby-plugin-netlify-cms": "4.1.40",
    "gatsby-source-filesystem": "^2.5.0",
    "gatsby-source-hubspot-forms": "^2.2.0",
    "gatsby-transformer-remark": "^2.10.0",
    "immutable": "3.7.6",
    "isomorphic-unfetch": "^3.1.0",
    "js-cookie": "^2.2.1",
    "lodash": "^4.17.20",
    "moment": "^2.29.1",
    "netlify-cms": "^2.10.68",
    "netlify-cms-app": "2.11.20",
    "netlify-cms-lib-util": "^2.11.5",
    "netlify-cms-lib-widgets": "^1.6.0",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-router": "^5.2.0",
    "redux": "^3.0.5",
    "seamless-immutable": "^7.1.4",
    "typescript": "^4.0.5"
  },
  "devDependencies": {
    "@babel/core": "7.11.6",
    "@typescript-eslint/eslint-plugin": "^4.8.1",
    "@typescript-eslint/parser": "^4.8.1",
    "babel": "^6.23.0",
    "babel-jest": "^26.6.3",
    "babel-preset-gatsby": "^0.6.0",
    "core-js": "^3.7.0",
    "eslint": "^7.13.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-config-prettier": "^6.15.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsx-a11y": "6.4.1",
    "eslint-plugin-prettier": "^3.1.4",
    "eslint-plugin-react": "^7.21.5",
    "eslint-plugin-react-hooks": "4",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^26.6.3",
    "mouseflow": "^1.0.3",
    "prettier": "2.1.2",
    "react-test-renderer": "16.12.0",
    "sentry": "^0.1.2",
    "stylelint": "^13.8.0",
    "stylelint-config-airbnb": "^0.0.0",
    "stylelint-config-recommended": "^3.0.0",
    "webpack": "^5.5.1"
  },
  "stylelint": {
    "extends": "stylelint-config-airbnb"
  },
  "prettier": {
    "arrowParens": "avoid",
    "semi": false,
    "printWidth": 100,
    "singleQuote": true
  },
  "eslintConfig": {
    "env": {
      "browser": true,
      "es2021": true,
      "es6": true,
      "jest": true,
      "node": true
    },
    "extends": [
      "airbnb-typescript/base",
      "eslint:recommended",
      "plugin:react/recommended",
      "plugin:@typescript-eslint/recommended",
      "prettier",
      "prettier/@typescript-eslint",
      "prettier/react"
    ],
    "plugins": [
      "prettier",
      "@typescript-eslint",
      "react"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "ecmaFeatures": {
        "jsx": true
      },
      "ecmaVersion": 12,
      "sourceType": "module",
      "project": "./tsconfig.json"
    },
    "root": true,
    "rules": {
      "prettier/prettier": [
        "error"
      ]
    }
  }
}
1

There are 1 answers

0
crowgers On BEST ANSWER

The issue is in the CMS Collection.

specifically these two lines

filter: { field: 'Type', value: 'Webinar' }
fields:
  - label: 'Event Type'
    name: 'event_type'
    widget: 'select'
    multiple: false
    description: 'Event Type (Conference, Webinar, Workshop etc.)'
    options: ['Conference', 'Webinar', 'Workshop']

The Field is wrongly referenced.