«Файловий архів» - це система
управління файлами. Файли можуть бути завантажені, перейменовані, скопійовані,
переміщені, вилучені, відредаговані он-лайн. Можлива навіть обрізка зображень.
У «Файловий архів» можуть бути завантажені не тільки зображення, а й документи,
на які даються посилання з сайту (для перегляду або завантаження). Для
зручності роботи кожен запис має мініатюру (для зображення) або іконку (для
документа). Поблизу мініатюри міститься інформація про тип файлу, даті
завантаження і розмірі.
2.3.9
Модуль "Расширения"
Рисунок 8 - Модуль
"Разширения"
На вкладці "Список локальних
розширень" виведені всі розширення, завантажені на даний локальний сервер.
Встановлені розширення позначені зеленим значком з мінусом, не встановлені -
сірим значком із плюсом. Для встановлення розширення досить клацнути по цьому
самому значку (з плюсом), а для видалення - по значку з мінусом. Якщо
розширення надає додаткові параметри для свого налаштування, а також додає
будь-які таблиці в системну базу даних або потребує створення певної папки, то
установка зажадає ще одного кроку.
2.4 Розширення системи
- розширювана система управління. Це означає, що існує основа (ядро) системи, яке здатне функціонувати самостійно і модулі, які підключаються до ядра для реалізації тих чи інших можливостей. Модулі (extension або розширення) - маленькі програми, які додають можливості до ядра. Розширення можуть використовуватися як в бекенді (внутрішньому інтерфейсі), так і під фронтенд (зовнішньому сайті, видимому відвідувачу сайту).
Багато розширення дублюються, розрізняючи в реалізації і тому завжди можна підібрати саме те розширення, яке підходить саме вашому проекту. Крім того, найпопулярніші розширення, як і сама система мають гнучкі налаштування і можуть бути налаштовані відповідно до вимог технічного завдання.
У своїй роботі я користувався такими
розширеннями як: TemplaVoila, CSS styled content (для зовнішнього інтерфейсу).
Нижче ми їх докладно розглянемо.
2.4.1 Розширення TemplaVoila
Якщо коротко, то TemplaVoila є альтернативним двигуном шаблонів пропонують новий підхід при створенні і роботі з елементами дизайну. На самій вершині забезпечується новий інтерфейс користувача у внутрішньому інтерфейсі (Модуль сторінки (Page Module).
Розширення "TemplaVoila"; було розроблено Kasper Skårhøj і Robert Lemke в якості проекту для великої французької компанії Dassault Systemes. TemplaVoila стала результатом нововведень, які вирішували деякі проблеми, що виникли в проекті. Зокрема, TemplaVoila призначена для створення більш гнучкої структури сторінок, ніж існуюча в typo3 концепція "колонок". Надалі, вона інтегрує традиційне створення шаблонів на рівні елементів контенту, з більш зручним ніж раніше стилем "point-n-click".
Нарешті, розробка TemplaVoila також супроводжується деякими розширеннями ядра typo3, особливо, концепції званої гнучкої форми (FlexForms), яка дозволяє з внутрішнього інтерфейсу TYPO3 створювати ієрархічні форми і зберігати їх вміст в структурах XML.
Багато в чому, робота з шаблонізатором TemplaVoila дуже зручна і економить багато часу, тобто не потрібно буде створювати шаблон вручну, писати купу коду - за вас це зробить дане розширення.
Отже, Templavoila - це всього лише альтернативний шаблонизатор для typo3. За допомогою Templavoila з HTML-шаблону генерується typo3-шаблон без змін у структурі HTML. Процес генерації Templavoila-шаблону являє собою зіставлення областей HTML-коду і тієї функціональності, яка буде пов`язана з цими областями. Наприклад, один з тегів "div" буде замінюватися на сайті меню, замість іншого тега буде підставлений елемент контенту. Меппінг (розмітка) виконується за допомогою миші і не вимагає навіть знання HTML.
Важливою особливістю Templavoila є можливість
створення Flexible Content Elements - динамічних елементів контенту. Це
особливі елементи контенту, які можуть включати в себе більш дрібні елементи
контенту і розташовувати їх у відповідності зі структурою
HTML-шаблону.будуються за тими ж принципами, що і Templavoila-шаблони сторінок,
створюючи ефект «шаблону в шаблоні». Використання FCE дозволяє надзвичайно
гнучко управляти вмістом сторінки.
2.4.2 Установка “TemplaVoila” і “CSS Styled Content”
Наступним кроком буде встановлення TemplaVoila - власне механізму для динамічного рендеринга шаблону та вмісту. Ще нам знадобиться "CSS Styled Content", який буде обробляти звичайні елементи вмісту, як це робиться у всіх нормальних сайтах, що працюють на TYPO3.
Завантажимо на свій сервер
"TemplaVoila&" з TER (Архіву Розширень TYPO3) за допомогою EM
(Менеджера Розширень). Коли закінчимо із завантаженням, активізуємо ці два
розширення.
2.4.3 Каталог - сховище
Тепер треба створити важливий для всього web-сайту елемент - "Каталог-сховище" (Storage Folder). Зазвичай Ви зберігаєте елементи, по`язані з якоюсь певною сторінкою безпосередньо на самій цій сторінці.
Це можуть бути звичайні елементи
вмісту або навіть, можливо, користувачі зовнішнього інтерфейсу (FE-users) і
т.п. Однак дуже скоро виявляється, що для сайту потрібні нестандартні
"універсальні" сторінки, щоб розміщувати на них записи,
контекстно пов`язані з усім сайтом, а не тільки з окремими сторінками для
відображення вмісту в зовнішньому інтерфейсі.
2.4.5 Data Structures (DS, структура даних) та Template Objects (TO, об`єкт шаблону)
Структура Даних (Data Structure або DS) необхідна для шаблону сторінки, і одночасно використовуємо цю структуру (DS) для відображення елементів HTML-шаблону. Template Object потрібен для збереження інформації відображення створеному в DS.
Щоб отримати уявлення у відмінностях між DS і TO, відзначимо:
• Структура Даних (DS) говорить, які "поля" шаблону HTML ми можемо відображати.
• Template Object (TO) говорить, які елементи HTML використовуються і відображаються з DS.
За цим визначенням ми бачимо, що TO завжди звертається до DS, що вказує TS, які поля можуть бути відображені, за якими правилами, і в якій ієрархії.
Це означає, що може бути багато TO,
що звертаються до однієї DS і, таким чином, ми можемо використовувати безліч
шаблонів для одних і тих же даних. Незабаром ми побачимо в дії розширення
TemplaVoila.
2.4.6 Розширення СSS Styled Content
Дане розширення забезпечує статичні
TypoScript файли шаблону і додаткові ресурси для основі CSS, XHTML сумісної
візуалізації вмісту елементів у TYPO3.
3. ІНТЕГРУВАННЯ CMS TYPO3 З САЙТОМ
ПІДТРИМКИ НАВЧАЛЬНОГО ПРОЦЕСУ
Чому вирішили інтегрувати систему CMS typo3 в навчальну середу? Вище я вже писав, що таке СMS і для чого вона потрібна, так от, дана система дозволить заощадити багато часу і дасть дуже потужний інструмент у руки адміністратора сайту, а разом з ним і великі переваги.
Не потрібно все робити вручну, а
достатньо буде лише зробити парочку кліків та на сайті, наприклад, поміняються
новини або змінитися карта сайту, додасться/видалиться контент, словом, можна
зробити що завгодно, і все буде здійснюватися автоматично.
3.1 Робота
з шаблонізатором TemplaVoil
Для того, щоб почати роботу з
розширенням TemplaVoila, спочатку необхідно розробити HTML-шаблон сайту, потім
додати його в директорію, яка знаходиться в списку файлів у бекенд typo3.
Шаблон нашого сайту виглядає ось так (код шаблону надано в додатку).
Рисунок 9 - Шаблон
Додамо файл шаблону в директорію
"main" на наш локальный сервер з системою typo3.
Рисунок 10 - Файл шаблону
Після того, як шаблон html готовий - приступаємо до його інтеграції безпосередньо в typo3.
"Майстер" TemplaVoila допоможе нам в цьому.
Отже, запускаємо "майстер"
и вибираємо файл шаблона
Рисунок 11 - Майстер TemplaVoila
На першому етапі потрібно вибрати файл HTML який стане базовим для дизайну нового сайту. Нижче наведено список файлів HTML, знайдених в папці "fileadmin / templates". Необхідно нажати за посиланням "Перегляд", щоб подивитися, як виглядає файл. Коли виявили потрібний шаблон, просто натискаємо "Вибрати в якості шаблону" для продовження. Якщо в списку немає файлів, потрібно скопіювати файл HTML, який передбачається використовувати в якості шаблону, в папку для шаблонів.
Зробивши це, натискаємо на кнопку оновлення для оновлення списку файлів.
Рисунок 12 - Вибір файлу шаблону
Але це ще не все. Тепер ми готові
вказати, де в коді HTML потрібно вставляти сформоване в TYPO3 вміст сторінки, а
де - основне меню. Цей процес називається "розмітка". Яку можна
вказати за допомогою тегів: "td", "div". До речі, теги
стоять за замовчуванням, але можна вибирати інші в майстрові TemplaVoila.
Рисунок 13 - Розмітка шаблону
Далі створюється сайт з даними
шаблоном і автоматично генерується дерево сайту зі сторінками і різного роду
директоріями, наприклад як Storage Folder (папка-сховище). За необхідності ми
можемо видаляти / додавати необхідні нам папки або сторінки і далі заповнювати
їх контентом в блоці контенту.
Рисунок 14 - Дерево сайту
Сайт готовий до додавання контенту і
до решти преобразовнію. На цьому робота з шаблонізатором TemplaVoila завершена.
На черзі робота з файловим архівом і користувачами системи typo3.
3.2 Робота
з блоком "Файловый архив" ("Список файлов")
У блок "Файловий архів"
були завантажені файли, які використовуються для скачування користувачами
сайту. Для цього необхідно було додати в папку власне самі файли, шлях до
файлів виглядає так:
Рисунок 14 - Шлях до файлів
У даному блоці видно вся інформація про файли, а саме: назва файлу, тип, дата, розмір і т.п. Також безпосередньо в "файловому архіві" можливе редагування імені файлу, його копіювання і можливість "вирізати" будь-який файл.
У «Список файлів» можуть бути завантажені не тільки зображення, а й документи, на які даються посилання з сайту (для перегляду або завантаження). Для зручності роботи кожен запис має мініатюру (для зображення) або іконку (для документа). Близько мініатюри міститься інформація про тип файлу, даті завантаження і розмірі.
Файли, які можна буде завантажити авторизованим користувачам сайту, знаходяться на сторінці "Учебный процесс".
До речі, сторінка "Навчальний
процес" прихована від очей неавторизованих відвідувачів, але про це трохи
пізніше. На сторінці вказані розмір файлу і посилання на завантаження.
Рисунок 15 - Файли для завантаження
на сайті
3.3 Робота
з користувачами сайту
Всього лише два типи користувачів існує в системі typo3. Згадайте, що TYPO3 розділена на дві області або два інтерфейси - зовнішній (вебсайт) і внутрішній (управління сайтом).
Зовнішні користувачі.
Зовнішні користувачі або користувачі сайту можуть, як видно з назви, авторизуватися на веб сайті.
Вони не можуть змінювати його вміст вони і потрібні для розмежування доступу до інформації, представленої на сайті!
Зовнішні користувачі (користувачі
сайту) створюються за необхідності. У нашому випадку для користувачів і груп
користувачів сайту створена спеціальна папка "Користувачі". Потрібно
це лише для того, щоб при авторизації система шукала користувачів в цій папці.
Рисунок 16 - Папка
"Користувачі" в бекенді
Також можливе створення так званих
"Груп користувачів" - особливі групи з різними родом привілеями.
Рисунок 17 - Створений користувач
Внутрішні користувачі.
Внутрішній користувач працює у
внутрішньому інтерфейсі і зайнятий зміною інформації за лаштунками. Так як
внутрішні користувачі займаються управлінням сайту, вони ніяк не пов`язані з
обмеженнями, що накладаються на сторінки самого сайту. Внутрішні користувачі можуть
бути створені тільки в одному місці - на кореневій сторінці дерева сторінок
(pid = 0), і тільки внутрішніми користувачами "адміністраторами".
Рисунок 18 - Адміністратори сайту
Для авторизованих користувачів сайту
була створена особлива група під нехитрою назвою "Авторизовані
користувачі"
Рисунок 19 - "Авторизовані
користувачі"
Вона створювалася саме для того, щоб обмежити доступ неавторизованим користувачам сайту до сторіночці "Навчальний процес" так як, на мій погляд, немає сенсу заходити на цю сторінку даними відвідувачам.
Потім достатньо було прив`язати
групу "Авторизовані користувачі" до сторінки "Навчальний
процес" для того, щоб вона стала видимою для цієї групи відвідувачів
сайту.
Рисунок 20 - Права доступу
Щоб було наочніше, зробимо скріншоти
неавторизованого користувача його "опонента".
Рисунок 21 - Меню неавторизованого
користувача
Зауважимо, що сторінка "Учебный
процес" відсутня. Тепер авторизований користувач:
Рис.22 - Меню авторизованого
користувача
Тут же "невидима" сторінка
існує. До слова, в дереві сайту в бекенді вона присутня.
Рисунок 23 - Сторінка в бекенді
сайту присутні
3.4
Створення форми авторизації
Створення форми авторизації, пакет
Introduction Package поставляється вже з повністю налагодженною формою
авторизації. Але що, якщо треба створити ще одну, наприклад? Немає проблем. Це
такий же елемент вмістимого, наче тексту или тексту із зображенням. Перейдем до
внутрішнього інтерфейсу (у внутрішньому інтерфейсі) на сторінку "Welcome
to TYPO3".
Рисунок 24 - Різні форми системи
Як можна побачити з скріншоту - існують ще й "Поштова форма" і "Форма пошуку", але вони зараз нас мало хвилюють.
Далі натискаємо по "Форма авторизації", буде виведена форма для налаштування авторизації.
Перейдіть на вкладку
"Доповнення" Найголовніше тут - вказати "Папку сховище
користувачів". Для цього клікаємо по значку папки, поруч з полем
"Сторінка сховище користувачів".
Рисунок 25 - Папка-сховище
Для того, щоб редагувати форму необхідно нажати на вкладку "Сообщения" в якій можна додати "Заголовок приветствия" и т.і.
Редагування форми:
Рисунок 26 - Редагування форми
авторизації
Ось власне така форма і вийшла в
роботі (код форми наведений у додатку):
Рисунок 27 - Форма авторизації
Висновки
В даній роботі були розглянуті системи управління контентом сайту (CMS). Робота полягала у автоматизації файлової системи сайту підтримки учбового процесу: edu.cassiopeia.com.ua. Автоматизація даної гілки сайту була успішно виконана. Це дасть змогу заощадити час адміністратора сайту і зробить його роботу більш ефективною і захищеною від помилок, так як з використанням системи typo3 вклад адміністратора мінімалізован, тому шанс зробити помилку також є зниженим.