Атестаційні завдання K2 ERP/CMS
Мультимовність
Категорії можуть мати ієрархію. {| class="wikitable" style="width:100%;" |- | Заголовок | Основна назва матеріалу |- | Короткий SEO-опис або анонс | Текст для списків, прев’ю або SEO-опису |- | Повний текст | базовий вміст матеріалу через WYSIWYG-редактор |- | Категорія | Вибір із довідника через AJAX |- | Мова | Мова поточної версії матеріалу |- | Зображення-прев’ю | Завантаження або вибір із медіабібліотеки |- | Статус | Чернетка, опубліковано, приховано |- | Автор | користувач системи, який створив матеріал |}
CMS-модуль має підтримувати розмежування прав. Поле
Довідник «Мови»
Статуси публікації
|- | Категорії контенту | Класифікація матеріалів: новини, статті, сторінки, оголошення |- | Мови | Перелік мов, якими публікується контент |- | Матеріали | Основні одиниці контенту: сторінки, новини, статті, оголошення |- | Переклади матеріалів | Версії одного матеріалу різними мовами |- | Медіафайли | Зображення, PDF, документи та інші файли |- | Каталоги медіабібліотеки | Структура зберігання файлів |- | Теги | Додаткова класифікація матеріалів |- | SEO-налаштування | Title, description, keywords, URL-slug |- | історія продукту змін | Версії матеріалу та інформаційні дані про редагування |- | Статуси публікації | Чернетка, опубліковано, приховано |- | Модульні блоки | Банери, слайдери, акційні блоки, інформаційні вставки |}
Для реалізації задачі доцільно передбачити такі сутності:
/<код мови>/<категорія>/<url матеріалу>/
Автозбереження потрібно для того, щоб редактор не втрачав текст у разі закриття сторінки, збою браузера або помилки з’єднання. Для редагування повного тексту матеріалу потрібно використати WYSIWYG-редактор. Колонка
платформа має дозволяти:
! Приклад URL:
! У формі потрібно передбачити:
# редактор створює новий матеріал;
# обирає категорію та мову;
# вводить заголовок, короткий SEO-опис і базовий текст;
# додає зображення-прев’ю або інші медіафайли;
# заповнює SEO-поля;
# зберігає матеріал як чернетку;
# за потреби створює версію іншою мовою;
# переглядає попередній вигляд матеріалу;
# змінює статус на '''«Опубліковано»''';
# матеріал автоматизовано з’являється на сайті за налаштованим URL;
# платформа зберігає історію змін і автора останнього редагування. Поле
! Потрібно реалізувати механізм прив’язки матеріалів між мовами. Частина користувачів здатна готувати чернетки, а публікацію виконує редактор або адміністратор. | <code>/код-мови/категорія/url-матеріалу/</code>
|-
| Що виступає як критичною вимогою? компанія-користувач має публічний сайт або внутрішній корпоративний портал. | Заголовок, SEO-опис, WYSIWYG-текст, категорія, мова, медіа, SEO, статус
|-
| Що має підтримувати медіабібліотека? Автозбереження не повинно автоматизовано публікувати матеріал. Бали
|-
| Чернетка
| Матеріал збережено, але він не доступний на сайті
|-
| Опубліковано
| Матеріал доступний на сайті
|-
| Приховано
| Матеріал знято з публікації, але він збережений у системі
|}
== Публікація на сайті ==
CMS-модуль має зняти цю залежність і дати користувачам контроль над контентом у межах зрозумілих прав доступу. Редактор має дозволяти:
</div>
* створення каталогів;
* завантаження зображень;
* завантаження PDF-файлів;
* завантаження інших документів;
* завантаження файлів через AJAX;
* підключення файлів до матеріалів;
* перегляд списку файлів;
* пошук файлів;
* видалення файлів за наявності прав;
* можливість обрізки зображень при завантаженні;
* зберігання медіафайлів у структурованих каталогах. SEO-опис
!== Рекомендовані сутності бази даних ==
компонент має містити медіабібліотеку з каталогами. 100
== Коротко ==
== Попередній перегляд ==
* збереження матеріалу;
* автозбереження чернетки;
* завантаження медіафайлів;
* вибір категорії;
* зміна статусу;
* створення перекладу;
* додавання тегів;
* оновлення версій SEO-полів;
* відновлення попередньої версії. SEO-опис
== Критичні помилки ==
компонент повинен дозволяти відкотити матеріал до попередньої версії. Рівень Advanced передбачає можливість створення окремих блоків контенту для розміщення в різних частинах сайту.<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
Правильна реалізація CMS дає можливість бізнесу оперативно оновлювати інформацію, не створюючи кожного разу задачу для розробника. ! Код мови застосовують, коли потрібно у формуванні URL матеріалу.== Основна інформаційні матеріали ==
<pre>
URL-адреса здатна генеруватися автоматизовано на основі заголовка або задаватися вручну. Довідник мов містить перелік мов, якими публікується контент.{{DISPLAYTITLE:Атестаційні завдання K2 ERP/CMS}}
платформа повинна дозволяти:
{| class="wikitable" style="width:100%;"
== Очікуваний результат ==
== Основні об’єкти модуля ==
== Права доступу ==
! Бали
Потрібно передбачити конфігурування розташування блоку через панель адміністратора. Разом
|-
| Що потрібно створити? * банер;
* акційний блок;
* слайдер;
* інформаційна вставка;
* блок переваг;
* блок партнерів;
* блок контактів. функції ERP
</div>
== Функції медіабібліотеки ==
|}
== AJAX-інтерактив ==
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
== Назва задача ==
! Форма матеріалу повинна дозволяти створювати й редагувати контент без залучення розробника.== Довідник «Категорії контенту» ==
</div>
Через AJAX мають працювати:
компонент має забезпечувати роботу зі сторінками, новинами, статтями, оголошеннями, медіафайлами, багатомовністю, SEO-полями, публікацією, історією змін і правами доступу. CMS-модуль потрібен практично кожній компанії, що має сайт або внутрішній портал: IT-компаніям, маркетинг-агентствам, торговим мережам, освітнім установам, банкам, сервісним компаніям і виробникам. Питання
# створити категорію контенту;
# створити мову;
# створити новий матеріал;
# вказати заголовок, короткий SEO-опис і повний текст;
# обрати категорію через AJAX;
# заповнити SEO-поля;
# завантажити зображення-прев’ю через медіабібліотеку;
# зберегти матеріал як чернетку;
# перевірити автозбереження;
# створити переклад матеріалу іншою мовою;
# перевірити зв’язок між мовними версіями;
# виконати попередній перегляд;
# змінити статус на '''«Опубліковано»''';
# перевірити сформований URL;
# переконатися, що матеріал доступний на сайті;
# внести зміни в матеріал;
# переглянути історію змін;
# відкотити матеріал до попередньої версії;
# створити модульний блок, якщо виконується Advanced-рівень;
# показати журнал матеріалів із фільтрами. ! Поле
== Форма створення та редагування матеріалу ==
|-
| 90–100
| Відмінно
| CMS-модуль на 100% функціонує: матеріали, медіа, мультимовність, публікація, SEO, історія продукту змін і AJAX реалізовані коректно
|-
| 75–89
| Добре
| Основна логіка функціонує, виступає як незначні недоліки, які не руйнують бізнес-процес публікації контенту
|-
| 60–74
| Зараховано
| Базовий сценарій функціонує, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: створення матеріалів, публікація, медіафайли, мультимовність або статуси
|}
!<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
{| class="wikitable" style="width:100%;"
Типовий бізнес-процес роботи CMS-модуля виглядає так:
! SEO-опис
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
{| class="wikitable" style="width:100%;"
|-
| Заголовок
| Назва матеріалу
|-
| Категорія
| Розділ, до якого належить матеріал
|-
| Автор
| користувач системи, який створив матеріал
|-
| Дата створення
| Коли матеріал створено
|-
| Дата останньої зміни
| Коли матеріал редагували востаннє
|-
| Статус публікації
| Чернетка, опубліковано, приховано
|-
| Мова
| Мова матеріалу
|-
| URL
| Адреса опублікованого матеріалу
|}
'''Коротко.''' Потрібно реалізувати CMS-модуль. {| class="wikitable" style="width:100%;"
== Автозбереження чернеток ==
== базовий бізнес-процес ==
! Це сповільнює роботу забезпечується через Без CMS кожна зміна на сайті перетворюється на задачу; так само реалізовано створює чергу дрібних правок і заважає бізнесу оперативно публікувати інформацію. SEO-опис
* пошук по заголовку;
* пошук по автору;
* пошук по категорії;
* фільтрацію за статусом;
* фільтрацію за мовою;
* фільтрацію за датою створення;
* швидку зміну статусу;
* відкриття матеріалу на редагування;
* попередній перегляд;
* перехід до опублікованої сторінки;
* копіювання матеріалу;
* створення перекладу. Роль
== Типи категорій ==
У межах атестації потрібно продемонструвати робочий сценарій.== Модульні блоки контенту ==
== Критерії оцінювання ==
== Функціональність журналу матеріалів ==
'''провідний принцип.''' CMS у K2 ERP — це не без зусиль форма для введення тексту. Для української мови приклад здатна мати вигляд:
! як приклад, категорія '''«Новини»''' здатна містити підкатегорії '''«компанія-користувач»''', '''«Продукти»''', '''«Події»'''. Рівень
{| class="wikitable" style="width:100%;"
Мінімальний сценарій:
Мінімальний складський облік даних:
|-
| SEO title
| Заголовок сторінки для пошукових систем
|-
| SEO description
| SEO-опис сторінки для пошукових систем
|-
| SEO keywords
| Ключові слова, якщо вони використовуються
|-
| URL-адреса / slug
| Частина адреси матеріалу
|-
| Теги
| Тематичні мітки матеріалу
|}
розробника. | Журнал матеріалів
|-
| Що має бути у формі матеріалу? ! SEO-опис
Попередній перегляд дає можливість редактору побачити, як матеріал виглядатиме на сайті, ще до зміни статусу на '''«Опубліковано»'''. Можливі варіанти:
!<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
* форматувати текст;
* додавати заголовки;
* вставляти списки;
* вставляти посилання;
* додавати зображення;
* працювати з таблицями;
* редагувати HTML у межах дозволених прав. |-
| Назва категорії
| Назва, яку бачить користувач системи
|-
| Тип категорії
| Новина, стаття, сторінка, оголошення
|-
| Батьківська категорія
| Для побудови ієрархії
|-
| URL-код
| Частина адреси категорії
|-
| Статус
| Активна або прихована
|}
Мінімальний складський облік даних:
== Журнал «Матеріали» ==
== Медіабібліотека ==
'''критично.''' Медіафайли мають бути пов’язані з матеріалами, але не повинні безконтрольно дублюватися при кожному редагуванні сторінки. | Один матеріал здатна мати пов’язані версії різними мовами
|-
| Який URL потрібен? SEO-опис
Довідник категорій контенту потрібен для структурування матеріалів сайту або порталу. Відповідь
[[Категорія:K2 ERP]]
[[Категорія:Атестаційні завдання K2]]
== WYSIWYG-редактор ==
компонент повинен підтримувати роботу без зайвих перезавантажень сторінки. /en/news/open-new-office/
! Що перевіряється
історія продукту змін має фіксувати:
</div>
Медіабібліотека потрібна для централізованого зберігання файлів, які використовуються в матеріалах сайту або порталу.[[Категорія:Багатомовність]]
Журнал матеріалів повинен відображати всі одиниці контенту сайту або корпоративного порталу.<pre>
![[Категорія:CMS]]
- TinyMCE;
- CKEditor;
- інший редактор, сумісний з K2 ERP. Можливі ролі:
Практичний сенс. Не кожен користувач системи CMS має право публікувати матеріали. Мета задача — створити в K2 ERP CMS-модуль, який дає можливість керувати контентом сайту або внутрішнього корпоративного порталу без постійного залучення розробників.
| Назва блоку | Внутрішня назва для адміністратора |
| Тип блоку | Банер, слайдер, HTML-блок, акційний блок тощо |
| Область показу | Головна сторінка, категорія, стаття, футер, сайдбар |
| Порядок | Черговість показу |
| Статус | Активний або вимкнений |
| Мова | Мова блоку, якщо він має мовні версії |
! Об’єкт
| Поле | ||
|---|---|---|
| Реалізація журналу матеріалів | 20 | Список матеріалів, пошук, фільтри, статуси, мови, автори, категорії |
| Форма створення та редагування матеріалу | 20 | Заголовок, SEO-опис, WYSIWYG-редактор, категорія, мова, SEO, статус |
| Робота медіабібліотеки | 20 | Каталоги, завантаження файлів, прив’язка до матеріалів, AJAX-завантаження |
| технічна підтримка багатомовності | 20 | Мовні версії, зв’язок перекладів, URL з кодом мови |
| Інтерактивність через AJAX | 10 | Збереження, автозбереження, зміна статусу, медіафайли без перезавантаження |
| керування статусами публікації | 10 | Чернетка, опубліковано, приховано, попередній перегляд |
| Це критично, якщо редактор випадково видалив частину тексту, опублікував неправильну версію або зламав форматування. Поле | ||
| Бекенд | K2 ERP на Python або PHP | |
| База даних | PostgreSQL або MySQL | |
| Фронтенд | HTML5, JavaScript | |
| AJAX | Axios або Fetch API | |
| UI-компоненти | DataTables, Select2, WYSIWYG-редактор TinyMCE або CKEditor | |
| Медіауправління | FilePond або Dropzone.js | |
| Друк | Немає обов’язкової необхідності |
Потрібно реалізувати:
SEO-поля
- категорії контенту;
- мови;
- матеріали;
- переклади матеріалів;
- медіафайли;
- каталоги медіабібліотеки;
- теги;
- SEO-налаштування;
- історія продукту змін;
- статуси публікації;
- модульні блоки;
- розташування блоків;
- автори;
- права доступу. ! Умова складання. задача не здатна бути зараховане, якщо платформа не дає можливість пройти базовий цикл CMS: створення матеріалу → збереження чернетки → додавання медіа → публікація → перегляд на сайті → історія продукту змін. Максимальна оцінка
- K2 ERP
- K2 ERP
- Атестаційні завдання K2 ERP
- CMS
- Контент
- Медіабібліотека
- Багатомовність
- WYSIWYG
- TinyMCE
- CKEditor
- SEO
- AJAX
Приклади блоків: /uk/news/vidkryttia-novoho-ofisu/
-
Назва мови
як приклад: українська, англійська, польська
Код мови
як приклад: uk, en, pl
Активність
Чи доступна мова для публікації
Мова за замовчуванням
Ознака основної мови сайту
!
Колонки журналу матеріалів
! * Новини компанії українською мовою → Company news англійською мовою. Параметр
Приклад:
! | CMS-модуль для керування контентом сайту або корпоративного порталу |- | Які довідники потрібні? компонент має підтримувати довідники категорій і мов, журнал матеріалів, форму створення та редагування контенту, WYSIWYG-редактор, медіабібліотеку, багатомовність, автоматичну публікацію, SEO-поля, історію змін, AJAX-інтерактив і, за потреби, модульні блоки контенту.== Реальний бізнес-контекст ==
Після публікації матеріал автоматизовано відображається на сайті за налаштованим шаблоном. |- | Автор | Створює та редагує власні чернетки |- | Редактор | Редагує матеріали, функціонує з медіа, готує публікації |- | Модератор | Перевіряє матеріали й змінює статуси |- | Адміністратор | Керує категоріями, мовами, правами, шаблонами та публікацією |}
Журнал має підтримувати:
Призначення
Перед публікацією потрібно передбачити попередній перегляд матеріалу. |- |
Новина | Публікації про події, оновлення версій, зміни, анонси |
|---|---|---|
| Стаття | Аналітичні або інформаційні матеріали | |
| Сторінка | Статичні сторінки сайту: про компанію, контакти, послуги | |
| Оголошення | Короткі повідомлення або внутрішні публікації |
Технічні вимоги
Шкала оцінювання
URL повинен формуватися за правилом:
Маркетологи, редактори, HR-спеціалісти, менеджери або адміністратори повинні мати можливість самостійно додавати й оновлювати контент: сторінки, новини, статті, оголошення, документи, банери, акційні блоки або внутрішні повідомлення. SEO-опис
- неможливо створити матеріал;
- матеріал не має статусу публікації;
- чернетка відображається на публічному сайті;
- опублікований матеріал недоступний за URL;
- URL формується некоректно або дублюється;
- неможливо завантажити медіафайл;
- медіафайл не прив’язується до матеріалу;
- мультимовні версії не пов’язані між собою;
- історія продукту змін не зберігається;
- неможливо відновити попередню версію;
- немає розмежування прав між автором, редактором і адміністратором;
- AJAX-збереження або автозбереження не функціонує. Окремо варто відзначити який дає можливість менеджерам самостійно створювати й редагувати матеріали сайту, працювати з медіафайлами, публікувати контент різними мовами, керувати статусами і бачити історію змін. SEO-опис
Потрібно реалізувати історію змін матеріалу. Значення
- Про нас українською мовою → About us англійською мовою.== Див. так само ==
Примітка
Критерій
історія продукту змін
| CMS — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля керування контентом сайту або корпоративного порталу виступає ключовою рисою Атестаційне задача K2 ERP. Критично. Чернетка не повинна відображатися на публічному сайті. | Каталоги, завантаження файлів, прив’язку до матеріалів | ||
|---|---|---|
Як має працювати мультимовність? * створювати сторінки;
|
Для завантаження файлів можна використовувати FilePond або Dropzone.js. Статус
Розташування модульних блоківУ журналі редактор має оперативно бачити, які матеріали виступає як чернетками, які опубліковані, які приховані, хто автор, якою мовою матеріал створено і до якої категорії він належить. Це платформа керування життєвим циклом контенту: створення → редагування → медіа → переклади → публікація → історія продукту змін → аналітичні інструменти та технічна підтримка. Опублікований матеріал має бути доступний за сформованим URL. Тип Мета задачакомпонент CMS: керування контентом сайту і корпоративного порталу. Додатково потрібно передбачити SEO-поля. | Категорії контенту та мови
|