Англійська для розробників Contentful CMS
Словник для розробників, які інтегрують Contentful, безголову платформу CMS — моделі вмісту, записи, розширений текст, webhooks і середовища — для команд, що працюють з маркетингом і інженерією англійською мовою.
Contentful є однією з найпоширеніших корпоративних безголових CMS-платформ - команди контенту управляють записами через свою веб-програму, в той час як інженери витягують цей контент на веб-сайти і додатки через свої API. Оскільки маркетингові, контентні та інженерні команди використовують один і той же інструмент з різними словниками, точним англійською мовою про «моделі контенту», «записів» і «просторів» уникають багато неправильного спілкування в крос-функціональних зустрічах. Цей посібник містить умови.
Організаційна структура
** Space ** — контейнер верхнього рівня у Contentful, у якому міститься модель вмісту, записи і активи — приблизно еквівалентний одному проекту або середовищу для певної програми. “Ми маємо окремі простори для нашого маркетингового сайту і нашої документації про продукт — вони зовсім не мають спільних моделей контенту.”
** Середовище ** — версія вмісту простору і схеми, у якій ви можете працювати незалежно, зазвичай використовується для перевірки змін схеми перед застосуванням їх до реального середовища master.
- “Ми спочатку створили нову модель вмісту у середовищі пісочниці, ретельно її перевірили, а потім об’ єднали ці зміни у головну.” *
** Організація ** — рівень обліку та керування користувачами, розташований над просторами, зазвичай спільний для всіх просторів, що належать компанії.
Моделювання контенту
Тип вмісту
** Тип вмісту ** визначає схему для категорії вмісту — його поля, перевірки і вигляд у редакторі записів. Це Contentful термін для того, що інші CMS називають «збіркою» або «схемою»
“Ми додали поле
relatedArticlesдо типу вмістуBlogPost— кожен існуючий запис тепер показує це поле, порожнє доки редактор не заповнить його.”
Entry
** запис ** — це один елемент вмісту, створений з типу вмісту — один екземпляр, наприклад, один певний запис у блогу, створений з типу вмісту BlogPost.
- “Цей запис перебуває у чернетці вже два тижні — чи можете ви перевірити з автором, чи готовий він до публікації?” *
Asset
** ресурс ** — це мультимедійний файл (зображення, PDF, відео), збережений у Contentful, на який посилаються записи, а не дублюється на кожному записі.
“Ми використовуємо один і той же актив героя на трьох сторінках кампанії — оновлення файлу, як тільки оновлюється, де б він не був вказаний.”
Поле з багатим текстом
Поле ** Rich Text ** зберігає структурований, вкладений вміст (заголовки, списки, вбудовані записи) у форматі JSON, відтворений у HTML або компоненти React за допомогою логіки відтворення вашої програми.
“Поле з багатим текстом дозволяє редакторам вбудовувати запис про продукт безпосередньо всередині статті — наш відтворення знає, як перетворити цю посилання на картку продукту.”
API і Delivery Vocabulary
** Content Delivery API (CDA) ** — API тільки для читання, що обслуговує * опублікований * вміст, використовується виробничими програмами.
** Content Preview API (CPA) ** — паралельний API, що обслуговує * чернетку, неопублікованого * вмісту, використовується для перегляду змін перед їх публікацією.
“Ми вказуємо наші попередні розгортання на Content Preview API, щоб редактори могли побачити неопубліковані зміни перед їх затвердженням.”
** Content Management API (CMA) ** — API, який використовується для програмного створення, оновлення або перенесення вмісту і типів вмісту, на відміну від простого читання.
“Ми написали скрипт міграції проти Content Management API, щоб заповнити нове поле
excerptчерез 400 існуючих записів.”
** Локалізація ** — вбудована підтримка Contentful для зберігання окремих значень полів для кожної локалі в одному записі, замість дублювання цілих записів для кожної мови.
“Французька і німецька версії цього запису мають однакові зображення і структуру — відрізняються лише локалізовані текстові поля.”
Публікація Workflow
** Опубліковано проти стану чернетки ** — запис може мати неопубліковані зміни, які розташовані поряд з його реальною, опублікованою версією; API доставки вмісту обслуговує лише опубліковану версію.
** Webhook ** — налаштований зворотній виклик Contentful, який буде викликано, якщо зміниться вміст (опубліковано, архівовано, вилучено), зазвичай використовується для виклику перебудови статичного сайту.
- “Кожного разу, коли редактор публікує зміну, webhook запускає і запускає автоматичне відновлення нашого статичного сайту — без вручну впроваджуваного кроку.” *
** Міграція моделі вмісту ** — зміна моделі вмісту за допомогою скрипту, з версіями (додання/ вилучення полів, зміна перевірок), запускається за допомогою API керування, а не вручну за допомогою натискання клавіш у інтерфейсі користувача, отже зміни можна повторювати у різних середовищах.
- “Ми написали перейменування поля як скрипт міграції і спочатку запустили його у середовищі пісочниці — таким чином, цей самий скрипт буде застосовано до головного пізніше.” *
Використовується для позначення функціонального підрозділу
| Situation | Phrase |
|---|---|
| Explaining preview vs. live | ”What you see in the preview link includes your unpublished draft changes — customers won’t see any of it until you hit publish.” |
| Describing a webhook-triggered deploy | ”As soon as this entry is published, the webhook triggers a rebuild — the live site should update within about two minutes.” |
| Justifying environment-based testing | ”We test schema changes in a sandbox environment first, so a mistake in the field configuration never touches the live content model.” |
| Explaining localisation | ”You only need to translate the text fields — the layout and images are shared automatically across all locales.” |
Поширені помилки
- Назвати ** тип вмісту ** « шаблоном » — тип вмісту визначає схему/ поля; шаблон зазвичай передбачає фіксовану візуальну компоновку, що є окремою проблемою.
- Плутанина ** Content Delivery API ** (тільки опубліковані) з ** Content Preview API ** (включаючи чернетки) — змішування їх у звіті про помилку відсилає інженерів у неправильне місце.
- Сказати «CMS зламалася», коли редактор насправді означає «перевірка запису зазнала невдачі» — бути конкретним про те, що насправді сталося, знижує час зневадження.
Практичні вправи
- Поясніть у двох реченнях різницю між API доставки вмісту і API попереднього перегляду вмісту для нового інженера.
- Написати коротку записку редактору вмісту, у якій буде пояснено, чому неопубліковані зміни не буде показано на поточному сайті.
- Створення чернетки плану перенесення для додавання нового обов’ язкового поля до існуючого типу вмісту з 500 записами.
Зв’язані ресурси
- Англійська для розробників Sanity CMS
- Англійська для розробників Keystatic CMS
- Як написати повідомлення про знищення API англійською мовою
Навигація по лінії — практичний підхід
Як розробники, що працюють з Contentful, неминуча зворотній зв’язок буде надходити з різних джерел: від вашої команди, клієнтів і навіть автоматизованих перевірок. Зрозуміти нюансовані фрази навколо цих взаємодій є ключовим не тільки для чіткого спілкування, але і для забезпечення вирівнювання пріоритетів і очікувань. Часто, найбільш складною частиною є не сама технічна реалізація, а вираження * чому * щось було зроблено або запропоновано зміну - особливо, коли справа доходить до зацікавлених сторін, які можуть мати різні погляди на те, що є «добрим» контентом або «успішною» інтеграцією. Зокрема, навколо Contentful, ви часто зустрінете обговорення про «схеми», «структури записів» і «моделі контенту» - ці терміни по суті є проектами для ваших даних, тому важливо говорити про них з точністю.
Одним з найпоширеніших сценаріїв є отримання коментаря перегляду у запиті на звантаження, у якому описується проблема зі структурою вмісту. Замість того, щоб просто сказати «виправити це», більш ефективний підхід включає чітке вираження проблеми і запропонування рішення. Наприклад, розробник може відповісти на коментар рецензента: «Щодо непослідовного використання форматування багатого тексту в записах, я змінив схему запису, щоб забезпечити стандартний тип блоку для всіх елементів вмісту. Це зменшує неоднозначність і забезпечує послідовний досвід користувача. » Іншим прикладом може бути розмова у Slack, де обговорюються майбутні зміни: « Нам потрібно обговорити, як ці нові типи полів вплинуть на середовище Contentful — чи є якісь потенційні конфлікти з нашими існуючими потоками роботи? » Важливо не просто вказати, що ви зробили, а продемонструвати, * чому * це було необхідно, посилаючись на більш широкі цілі, такі як поліпшення якості вмісту або скорочення часу розробки. Врешті-решт, чітке і точне спілкування будує довіру і сприяє співпраці в команді.
Крім того, при описі змін, які пропонуються в описі PR, технічна точність в поєднанні з розумінням зацікавлених сторін є найважливішою. Наприклад, «Ця PR оновлює модель вводу Contentful, щоб включити поле featured_image на верхньому рівні для поліпшення ефективності SEO.» Це не просто говорить про те, що було змінено; це пояснює * чому * - посилання безпосередньо на бізнес-ціль (SEO). Пам’ятайте, що зацікавлені сторони не обов’язково є технічними експертами, тому спрощення складних концепцій і зосередження на перевагах є ключовим.
# Example using Contentful's Management API to update an entry field value:
curl -X PATCH --url "https://api.contentful.com/spaces/{space_id}/entries/{entry_id}" \
--header 'Authorization: Bearer {your_api_key}' \
--header 'Content-Type: application/json' \
-d '{
"fields": {
"title": {
"value": "Updated Title - v2"
}
}
}'
Цей приклад демонструє простий виклик API для оновлення поля title запису, демонструючи, як технічні команди перекладаються на практичні дії в Contentful. Ця команда підкреслює основну функцію оновлення вмісту — це те, чим розробникам часто слід керувати і що стосується їхньої роботи.