Автор: Ондржей Яношик, Мартин Чапек

NOTUM Technologies е официален партньор на Strapi и агенция за разработка на софтуер по поръчка, базирана в Чехия. Нашата специалност е разработка на уеб и мобилни приложения. Ние предоставяме нашите услуги както за стартиращи фирми, така и за корпоративни клиенти в повече от 10 държави и нашите приложения се използват от повече от 5 000 000 потребители всеки месец.

🚀 Относно плъгина

strapi-plugin-content-versioning” ви позволява да:

  • Имате няколко чернови версии на един обект ✅
  • Съхранявайте история на всички промени (с пътуване във времето) ✅
  • Имате различни публикувани и чернови данни ✅

Защо го построихме?

Наистина обичаме STRAPI (както може би се досещате), но едно нещо, което ни липсваше в различни проекти, беше версията на съдържанието — особено възможността да имаме различна версия на чернови и публикувани данни и да пазим история на всички данни.

Разработихме този плъгин по време на разработването на нов сайт, базиран на Strapi v4 за чешка застрахователна компания, наречен Direct. С разрешението на клиента го пуснахме като плъгин с отворен код и ще продължим да го развиваме. 🎉

Как работи под капака?

Нашият плъгин е вдъхновен от функцията Strapi Content Internationalization (i18n). Приставката i18n работи по същия начин на ниско ниво при създаване на локализирани версии. Затова създадохме специфичен идентификатор на съответните версии, който групира всички версии на един и същ запис и също така създава връзка между записите.

Тъй като можем да използваме силата на „системата за чернови и публикуване“, вашите контролери трябва да работят без допълнително кодиране или промени. Голяма помощ при създаването на нашия плъгин е новият Plugin API, който е полезен при работа с основния код на Strapi, без да е необходимо да пренаписвате файлове.

Целият плъгин се състои от 3 основни части:

  1. Персонализиран контролер, който управлява запазването и създаването на нови версии.
  2. Мидълуер, който филтрира само съответните версии в списъка.
  3. Компоненти, поставени на страничния панел, които се инжектират в „информационна зона“.

Какво следва от пътната карта?

Предвид факта, че си сътрудничим интензивно със Strapi, ние ще актуализираме проекта въз основа на заявки за функции от нашия клиент и общността. Следващите функции са:

✨ Инсталиране с една команда ✨ Разширяване на функционалността също и за единични типове ✨ Автоматично запазване ✨ Актуализиране на текущата версия без създаване на нов елемент от хронологията ✨ Режим на автоматичен преглед за получаване на чернова

Но първо бихме искали да пуснем стабилна версия. Плъгинът не е лесен за пускане и очакваме много крайни случаи в различни употреби.

Как другите могат да допринесат

Ще се радваме да чуем вашите отзиви! Моля, използвайте Проблеми с GitHub за заявки за функции/доклади за грешки и въпроси. Освен това сте повече от добре дошли да допринесете за проекта!

Инсталирай сега

npm install @notum-cz/strapi-plugin-content-versioning