Перейти до вмісту

Атестаційні завдання K2 ERP/CMS

Матеріал з K2 ERP Wiki

Категорії можуть мати ієрархію.; Типовий бізнес-процес роботи CMS-модуля виглядає так:

URL повинен формуватися за правилом: Попередній перегляд надає можливість редактору побачити, як матеріал виглядатиме на сайті, ще до зміни статусу на «Опубліковано».; !; Призначення

Перед публікацією потрібно передбачити попередній перегляд матеріалу.; {| class="wikitable" style="width:100%;"

Назва блоку Внутрішня назва для адміністратора
Тип блоку Банер, слайдер, HTML-блок, акційний блок тощо
Область показу Головна сторінка, категорія, стаття, футер, сайдбар
Порядок Черговість показу
Статус Активний або вимкнений
Мова Мова блоку, якщо він має мовні версії

!; характеристика


!; |- | Заголовок | Основна назва матеріалу |- | Короткий характеристика або анонс | Текст для списків, прев’ю або SEO-опису |- | Повний текст | ключовий вміст матеріалу через WYSIWYG-редактор |- | Категорія | Вибір із довідника через AJAX |- | Мова | Мова поточної версії матеріалу |- | Зображення-прев’ю | Завантаження або вибір із медіабібліотеки |- | Статус | Чернетка, опубліковано, приховано |- | Автор | користувач системи, який створив матеріал |}

У межах атестації потрібно продемонструвати робочий сценарій.;== Назва задача ==

; Для української мови приклад має змогу мати вигляд:

Колонки журналу матеріалів

90–100 Відмінно CMS-модуль в цілому функціонує: матеріали, медіа, мультимовність, публікація, SEO, історичний розвиток змін і AJAX реалізовані коректно
75–89 Добре Основна логіка функціонує, є собою незначні недоліки, які не руйнують бізнес-процес публікації контенту
60–74 Зараховано Базовий сценарій функціонує, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: створення матеріалів, публікація, медіафайли, мультимовність або статуси

Кожен матеріал має змогу мати окремі версії різними мовами.; {| class="wikitable" style="width:100%;" компонент повинен дозволяти відкотити матеріал до попередньої версії.; характеристика !; {| class="wikitable" style="width:100%;" Умова складання. задача не має змогу бути зараховане, якщо платформа не надає можливість пройти базовий цикл CMS: створення матеріалу → збереження чернетки → додавання медіа → публікація → перегляд на сайті → історичний розвиток змін.; У результаті виконання атестаційного задача має бути створений CMS-модуль K2 ERP.; Потрібно реалізувати історію змін матеріалу.; Атестаційне задача K2 ERP — CMS — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля керування контентом сайту або корпоративного порталу.; Поле

Технічні вимоги

/en/news/open-new-office/ |- | Категорії контенту | Класифікація матеріалів: новини, статті, сторінки, оголошення |- | Мови | Перелік мов, якими публікується контент |- | Матеріали | Основні одиниці контенту: сторінки, новини, статті, оголошення |- | Переклади матеріалів | Версії одного матеріалу різними мовами |- | Медіафайли | Зображення, PDF, документи та інші файли |- | Каталоги медіабібліотеки | Структура зберігання файлів |- | Теги | Додаткова класифікація матеріалів |- | SEO-налаштування | Title, description, keywords, URL-slug |- | історичний розвиток змін | Версії матеріалу та інформаційні дані про редагування |- | Статуси публікації | Чернетка, опубліковано, приховано |- | Модульні блоки | Банери, слайдери, акційні блоки, інформаційні вставки |}

Рекомендовані сутності бази даних

Практичний сенс. Не кожен користувач системи CMS має право публікувати матеріали.; характеристика

SEO-поля

Критерії оцінювання

; Опублікований матеріал має бути доступний за сформованим URL.; центральний принцип. CMS у K2 ERP — це не без ускладнень форма для введення тексту.; Роль Категорії контенту та мови
Повний цикл: чернетка → медіа → публікація → URL → історичний розвиток змін

Очікуваний результат

Код мови застосовують, коли потрібно у формуванні URL матеріалу.; Що перевіряється

SEO title Заголовок сторінки для пошукових систем
SEO description характеристика сторінки для пошукових систем
SEO keywords Ключові слова, якщо вони використовуються
URL-адреса / slug Частина адреси матеріалу
Теги Тематичні мітки матеріалу

Журнал «Матеріали»

Медіабібліотека потрібна для централізованого зберігання файлів, які використовуються в матеріалах сайту або порталу.; Поле

Назва мови як ілюстрація: українська, англійська, польська
Код мови як ілюстрація: uk, en, pl
Активність Чи доступна мова для публікації
Мова за замовчуванням Ознака основної мови сайту

Функціональність журналу матеріалів

Приклади блоків:

; Маркетологи, редактори, HR-спеціалісти, менеджери або адміністратори повинні мати можливість самостійно додавати й оновлювати контент: сторінки, новини, статті, оголошення, документи, банери, акційні блоки або внутрішні повідомлення.;== Попередній перегляд ==

  • створювати сторінки;
  • створювати новини, статті та оголошення;
  • редагувати матеріали через WYSIWYG-редактор;
  • працювати з категоріями контенту;
  • публікувати матеріали різними мовами;
  • завантажувати зображення, PDF-файли та інші документи;
  • підключати медіафайли до матеріалів;
  • керувати статусами публікації;
  • формувати зрозумілі URL;
  • заповнювати SEO-поля;
  • зберігати історію змін;
  • відновлювати попередні версії матеріалів;
  • керувати модульними блоками контенту.; історичний розвиток змін має фіксувати:
  • форматувати текст;
  • додавати заголовки;
  • вставляти списки;
  • вставляти посилання;
  • додавати зображення;
  • працювати з таблицями;
  • редагувати HTML у межах дозволених прав.; Поле
компонент має забезпечувати роботу зі сторінками, новинами, статтями, оголошеннями, медіафайлами, багатомовністю, SEO-полями, публікацією, історією змін і правами доступу.; Відповідь Автозбереження не повинно автономно публікувати матеріал.; Бали

Довідник «Категорії контенту»

Критичні помилки

організація має публічний сайт або внутрішній корпоративний портал.; /uk/news/vidkryttia-novoho-ofisu/

CMS-модуль для керування контентом сайту або корпоративного порталу
Журнал матеріалів
Заголовок, характеристика, WYSIWYG-текст, категорія, мова, медіа, SEO, статус
Що має підтримувати медіабібліотека?; Питання

У журналі редактор має оперативно бачити, які матеріали є собою чернетками, які опубліковані, які приховані, хто автор, якою мовою матеріал створено і до якої категорії він належить.; * створювати переклад із поточного матеріалу;

  • бачити, які мовні версії вже існують;
  • перемикатися між мовними версіями;
  • не втрачати зв’язок між перекладами;
  • формувати URL з урахуванням коду мови.; Це платформа керування життєвим циклом контенту: створення → редагування → медіа → переклади → публікація → історичний розвиток змін → аналітичні інструменти та супровід.;
; У формі потрібно передбачити:

Можливі ролі:

; Колонка

Модульні блоки контенту

AJAX-інтерактив

Автор Створює та редагує власні чернетки
Редактор Редагує матеріали, функціонує з медіа, готує публікації
Модератор Перевіряє матеріали й змінює статуси
Адміністратор Керує категоріями, мовами, правами, шаблонами та публікацією

Мультимовність

Довідник «Мови»

; !; компонент повинен підтримувати роботу без зайвих перезавантажень сторінки.;== Публікація на сайті ==
  1. створити категорію контенту;
  2. створити мову;
  3. створити новий матеріал;
  4. вказати заголовок, короткий характеристика і повний текст;
  5. обрати категорію через AJAX;
  6. заповнити SEO-поля;
  7. завантажити зображення-прев’ю через медіабібліотеку;
  8. зберегти матеріал як чернетку;
  9. перевірити автозбереження;
  10. створити переклад матеріалу іншою мовою;
  11. перевірити зв’язок між мовними версіями;
  12. виконати попередній перегляд;
  13. змінити статус на «Опубліковано»;
  14. перевірити сформований URL;
  15. переконатися, що матеріал доступний на сайті;
  16. внести зміни в матеріал;
  17. переглянути історію змін;
  18. відкотити матеріал до попередньої версії;
  19. створити модульний блок, якщо виконується Advanced-рівень;
  20. показати журнал матеріалів із фільтрами.; |-
Назва категорії Назва, яку бачить користувач системи
Тип категорії Новина, стаття, сторінка, оголошення
Батьківська категорія Для побудови ієрархії
URL-код Частина адреси категорії
Статус Активна або прихована

Мінімальний складський облік даних:

Мета задача

Довідник категорій контенту потрібен для структурування матеріалів сайту або порталу.; |-

Чернетка Матеріал збережено, але він не доступний на сайті
Опубліковано Матеріал доступний на сайті
Приховано Матеріал знято з публікації, але він збережений у системі

; як ілюстрація, категорія «Новини» має змогу містити підкатегорії «організація», «Продукти», «Події».; !;


== Див.; додатково ==

== Примітка ==

</div>

# редактор створює новий матеріал;
# обирає категорію та мову;
# вводить заголовок, короткий характеристика і ключовий текст;
# додає зображення-прев’ю або інші медіафайли;
# заповнює SEO-поля;
# зберігає матеріал як чернетку;
# за потреби створює версію іншою мовою;
# переглядає попередній вигляд матеріалу;
# змінює статус на '''«Опубліковано»''';
# матеріал автономно з’являється на сайті за налаштованим URL;
# платформа зберігає історію змін і автора останнього редагування.; характеристика

Приклад URL:

!; |}

Мета задача — створити в K2 ERP CMS-модуль, який надає можливість керувати контентом сайту або внутрішнього корпоративного порталу без постійного залучення розробників.;</div>
== WYSIWYG-редактор ==
!; Разом

Для кожного блоку бажано передбачити:

Журнал має підтримувати:
!; платформа має дозволяти:

Потрібно передбачити конфігурування розташування блоку через панель адміністратора.; * хто редагував матеріал;
* дату й час зміни;
* змінений заголовок;
* змінений текст;
* зміну статусу;
* зміну категорії;
* зміну SEO-полів;
* стару версію;
* нову версію.; характеристика
{| class="wikitable" style="width:100%;"
== Типи категорій ==

!; Бали
Для реалізації задачі доцільно передбачити такі сутності:
|-
| Бекенд
| K2 ERP на Python або PHP
|-
| База даних
| PostgreSQL або MySQL
|-
| Фронтенд
| HTML5, JavaScript
|-
| AJAX
| Axios або Fetch API
|-
| UI-компоненти
| DataTables, Select2, WYSIWYG-редактор TinyMCE або CKEditor
|-
| Медіауправління
| FilePond або Dropzone.js
|-
| Друк
| Немає обов’язкової необхідності
|}

== Статуси публікації ==

[[Категорія:Атестаційні завдання K2]]

* категорії контенту;
* мови;
* матеріали;
* переклади матеріалів;
* медіафайли;
* каталоги медіабібліотеки;
* теги;
* SEO-налаштування;
* історичний розвиток змін;
* статуси публікації;
* модульні блоки;
* розташування блоків;
* автори;
* права доступу.; * банер;
* акційний блок;
* слайдер;
* інформаційна вставка;
* блок переваг;
* блок партнерів;
* блок контактів.;== Коротко ==
'''компонент CMS: керування контентом сайту і корпоративного порталу'''.; !; Параметр

!;== ключовий бізнес-процес ==

[[Категорія:Корпоративна Wiki]]

!; Потрібно реалізувати механізм прив’язки матеріалів між мовами.; Призначення
|-
| Що потрібно створити?; URL-адреса має змогу генеруватися автономно на основі заголовка або задаватися вручну.; характеристика
'''Критично.''' Чернетка не повинна відображатися на публічному сайті.; 100

<pre>

Журнал матеріалів повинен відображати всі одиниці контенту сайту або корпоративного порталу.; !; Через AJAX мають працювати:

CMS-модуль потрібен практично кожній компанії, що має сайт або внутрішній портал: IT-компаніям, маркетинг-агентствам, торговим мережам, освітнім установам, банкам, сервісним компаніям і виробникам.; Тип
Критичними помилками вважаються ситуації, коли:
Мінімальний складський облік даних:
|-
| Заголовок
| Назва матеріалу
|-
| Категорія
| Розділ, до якого належить матеріал
|-
| Автор
| користувач системи, який створив матеріал
|-
| Дата створення
| Коли матеріал створено
|-
| Дата останньої зміни
| Коли матеріал редагували востаннє
|-
| Статус публікації
| Чернетка, опубліковано, приховано
|-
| Мова
| Мова матеріалу
|-
| URL
| Адреса опублікованого матеріалу
|}

<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">

</div>

* пошук по заголовку;
* пошук по автору;
* пошук по категорії;
* фільтрацію за статусом;
* фільтрацію за мовою;
* фільтрацію за датою створення;
* швидку зміну статусу;
* відкриття матеріалу на редагування;
* попередній перегляд;
* перехід до опублікованої сторінки;
* копіювання матеріалу;
* створення перекладу.; Рівень

== Основна відомості ==

платформа повинна дозволяти:

CMS-модуль має зняти цю залежність і дати користувачам контроль над контентом у межах зрозумілих прав доступу.; | <code>/код-мови/категорія/url-матеріалу/</code>
|-
| Що є собою критичною вимогою?; * TinyMCE;
* CKEditor;
* інший редактор, сумісний з K2 ERP.; Об’єкт
!; розробника.; функціональні можливості

Правильна реалізація CMS надає можливість бізнесу оперативно оновлювати інформацію, не створюючи кожного разу задачу для розробника.; * '''Новини компанії''' українською мовою → '''Company news''' англійською мовою.; Автозбереження потрібно для того, щоб редактор не втрачав текст у разі закриття сторінки, збою браузера або помилки з’єднання.; !;== історичний розвиток змін ==

== Права доступу ==
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
Форма матеріалу повинна дозволяти створювати й редагувати контент без залучення розробника.; Довідник мов містить перелік мов, якими публікується контент.; * створення каталогів;
* завантаження зображень;
* завантаження PDF-файлів;
* завантаження інших документів;
* завантаження файлів через AJAX;
* підключення файлів до матеріалів;
* перегляд списку файлів;
* пошук файлів;
* видалення файлів за наявності прав;
* можливість обрізки зображень при завантаженні;
* зберігання медіафайлів у структурованих каталогах.; Значення

* '''Про нас''' українською мовою → '''About us''' англійською мовою.; | Каталоги, завантаження файлів, прив’язку до матеріалів
|-
| Як має працювати мультимовність?; характеристика
Потрібно реалізувати:
<pre>

Приклад:

Автозбереження чернеток

Розташування модульних блоків

Можливі варіанти:

Реальний бізнес-контекст

;== Шкала оцінювання ==

  • неможливо створити матеріал;
  • матеріал не має статусу публікації;
  • чернетка відображається на публічному сайті;
  • опублікований матеріал недоступний за URL;
  • URL формується некоректно або дублюється;
  • неможливо завантажити медіафайл;
  • медіафайл не прив’язується до матеріалу;
  • мультимовні версії не пов’язані між собою;
  • історичний розвиток змін не зберігається;
  • неможливо відновити попередню версію;
  • немає розмежування прав між автором, редактором і адміністратором;
  • AJAX-збереження або автозбереження не функціонує.; Поле

Відкат до попередньої версії

компонент має містити медіабібліотеку з каталогами.; !; компонент повинен підтримувати автоматичне збереження чернеток кожні X хвилин.; |-

Новина Публікації про події, актуалізація, зміни, анонси Стаття Аналітичні або інформаційні матеріали Сторінка Статичні сторінки сайту: про компанію, контакти, послуги Оголошення Короткі повідомлення або внутрішні публікації

!; Максимальна оцінка

  • збереження матеріалу;
  • автозбереження чернетки;
  • завантаження медіафайлів;
  • вибір категорії;
  • зміна статусу;
  • створення перекладу;
  • додавання тегів;
  • актуалізація SEO-полів;
  • відновлення попередньої версії.; Поле

компонент має підтримувати довідники категорій і мов, журнал матеріалів, форму створення та редагування контенту, WYSIWYG-редактор, медіабібліотеку, багатомовність, автоматичну публікацію, SEO-поля, історію змін, AJAX-інтерактив і, за потреби, модульні блоки контенту.; {| class="wikitable" style="width:100%;"

CMS-модуль має підтримувати розмежування прав.;== Медіабібліотека ==

Рівень Advanced передбачає можливість створення окремих блоків контенту для розміщення в різних частинах сайту.; Частина користувачів має змогу готувати чернетки, а публікацію виконує редактор або адміністратор.; Статус Для редагування повного тексту матеріалу потрібно використати WYSIWYG-редактор.; Це сповільнює роботу забезпечується через Без CMS кожна зміна на сайті перетворюється на задачу; додатково реалізовано створює чергу дрібних правок і заважає бізнесу оперативно публікувати інформацію.; істотно. Медіафайли мають бути пов’язані з матеріалами, але не повинні безконтрольно дублюватися при кожному редагуванні сторінки.; Критерій

Функції медіабібліотеки

Редактор має дозволяти: |- | Реалізація журналу матеріалів | 20 | Список матеріалів, пошук, фільтри, статуси, мови, автори, категорії |- | Форма створення та редагування матеріалу | 20 | Заголовок, характеристика, WYSIWYG-редактор, категорія, мова, SEO, статус |- | Робота медіабібліотеки | 20 | Каталоги, завантаження файлів, прив’язка до матеріалів, AJAX-завантаження |- | супровід багатомовності | 20 | Мовні версії, зв’язок перекладів, URL з кодом мови |- | Інтерактивність через AJAX | 10 | Збереження, автозбереження, зміна статусу, медіафайли без перезавантаження |- | керування статусами публікації | 10 | Чернетка, опубліковано, приховано, попередній перегляд |- Мінімальний сценарій: Для завантаження файлів можна використовувати FilePond або Dropzone.js.; !; характеристика

!; Додатково потрібно передбачити SEO-поля.; | Один матеріал має змогу мати пов’язані версії різними мовами |- | Який URL потрібен?; !;== Основні об’єкти модуля ==

Практичне задача

Коротко. Потрібно реалізувати CMS-модуль, який надає можливість менеджерам самостійно створювати й редагувати матеріали сайту, працювати з медіафайлами, публікувати контент різними мовами, керувати статусами та бачити історію змін.;== Форма створення та редагування матеріалу == /<код мови>/<категорія>/<url матеріалу>/