Расширенные настраиваемые поля (ACF) Pro acf-json рабочий процесс

Моя команда только что перешла на использование acf-json, и у нас есть несколько вопросов о том, как обращаться с файлами с точки зрения команды, использующей git.

Вопрос в основном в том, должны ли мы всегда фиксировать файлы .json, когда они отображаются как измененные, и должен ли каждый член команды придерживаться привычки при синхронизации сразу после извлечения?

Недавно (до того, как я понял, что синхронизация не автоматическая) я изменил некоторые вещи в админке перед синхронизацией. Конечно, это сделало мою "измененную" дату более новой, и синхронизация стала невозможной. Мы исправили это, сгенерировав новые файлы .json с рабочего сервера и синхронизировав с ними наши локальные машины. Задача решена.

Но ... после того, как я синхронизировал, был создан более новый .json, который фактически идентичен тому, что я только что импортировал, но с более новой датой модификации. Теперь, если я сделаю это, а другой пользователь синхронизирует, не будет ли одно и то же происходить вечно?

На данный момент я просто удаляю, а не фиксирую их, но я надеюсь, что кто-то сможет объяснить гораздо более автоматизированный, а не практический рабочий процесс при редактировании групп полей.

Спасибо.


person Joel Stransky    schedule 11.08.2015    source источник
comment
Джоэл, это не вопрос программирования. Здесь у многих есть опыт. Вам необходимо объяснить, с какой проблемой вы столкнулись, и какие методы вы предприняли для ее решения.   -  person Aibrean    schedule 12.08.2015
comment
Это не точно, но я все равно изменил свой пост, чтобы включить весь вопрос.   -  person Joel Stransky    schedule 14.08.2015


Ответы (2)


Да, файлы JSON обязательно должны быть зафиксированы в git и синхронизированы (при необходимости) после каждого извлечения. Это может быть утомительно, и члены команды иногда забывают делать это время от времени.

Глядя на includes/admin/admin-field-groups.php внутри каталога плагина ACF, мы видим, что запросы на ручную синхронизацию обрабатываются около строки 295, что означает, что можно автоматизировать процесс синхронизации внутри ловушки.

Выполнение этого потребует большой осторожности, чтобы не мешать загрузке поля ACF ... У меня были проблемы с дублированными полями, когда я пробовал это, и я вернулся к синхронизации полей вручную (в основном я разрабатываю соло)

person Pascal Martineau    schedule 25.04.2018
comment
Спасибо за вклад. Мой вопрос фактически привел к изменению кода в ядре ACF, которое не позволяло ему генерировать новый json после синхронизации. Забываю, какая версия включала обновление. - person Joel Stransky; 30.04.2018

Но ... после того, как я синхронизировал, был создан более новый .json, который фактически идентичен тому, что я только что импортировал, но с более новой датой модификации. Теперь, если я сделаю это, а другой пользователь синхронизирует, разве это не будет происходить вечно?

Чтобы вернуть все в нормальное состояние, необходимо сделать следующее:

1- Локально отправьте ВСЕ ACF в корзину, затем перейдите в корзину и удалите их навсегда. (Данные не удаляются, они хранятся в другом месте в метаданных сообщений)

2- На рабочем сайте или там, где находится последняя функциональная копия, перейдите в Инструменты ACF и экспортируйте все поля в JSON.

3- Локально, импортировать все поля. Будут сгенерированы новые локальные файлы JSON, соответствующие Online Config.

--

Если производственный сайт также имеет проблемы с синхронизацией с Jsons, вам необходимо заблокировать доступ к странице конфигурации в производственной среде, чтобы поля можно было обновлять только через JSON. (совершает)

После того, как конфиги будут синхронизированы, вам необходимо следовать этим рекомендациям.

https://www.awesomeacf.com/how-to-avoid-conflicts-when-using-the-acf-local-json-feature/

person Eduardo Chongkan    schedule 02.10.2019