Разработка лабораторного практикума с применением методов обучения в интерактивной форме




 

Лабораторная работа №1

 

Знакомство с понятием системы управления контентом (cms). обзор существующих cms.

Цель работы: ознакомиться с понятием системы управления сайтом (CMS), целями и задачами использования CMS, самостоятельно выполнит классификацию по нескольким признакам.

Общие сведения:

Любой Web -сайт состоит из набора страниц. Существует два вида организации Web -сайта - статический и динамический. В первом случае специалисты, отвечающие за создание и поддержку сайта, создают каждую в отдельности html-страницу, включая ее оформление и контент. Во втором - в основе любой Web -страницы лежит шаблон, определяющий расположение в окне Web -браузера всех компонентов страницы, и вставка конкретной информации производится с использованием стандартных средств, не требующих от участника процесса знания языка HTML и достаточно сложных для неспециалиста процедур публикации Web -страницы.

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

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

Для создания динамического сайта возможны два пути. Во-первых, это написание собственных программ, отвечающих за создание нужных шаблонов и поддерживающих необходимые функции. При этом созданная система будет полностью отвечать потребностям, однако возможно потребует больших программистских усилий и времени. Второй путь - это воспользоваться уже существующими системами, которые и называются системами управления Web -контентом. Преимуществом этого пути является уменьшение затрат времени и сил. К его недостаткам можно отнести снижение гибкости, предоставление недостаточного или чрезмерного набора возможностей.

Под контентом (дословный перевод английского термина content, означающего содержание, содержимое) понимают информационное наполнение сайта - то есть все типы материалов, которые находятся на сервере: Web -страницы, документы, программы, аудио-файлы, фильмы и так далее. Таким образом, управление контентом - это процесс управления подобными материалами. Он включает следующие элементы: размещение материалов на сервере, изменение и удаление материалов с сервера, когда в них больше нет необходимости, организацию (реорганизацию) материалов, возможность отслеживать их состояние.

Системы управления контентом (англ. Content Management Systems или, сокращенно, CMS) - это программные комплексы, автоматизирующие процедуру управления контентом, которые позволяют разрабатывать и поддерживать динамические информационные Web -сайты Иногда CMS называют "движок" сайта.

Есть два основных вида CMS:

. CMS, работающие и располагающиеся в Интернете

. CMS, установленные на компьютере и соединенные с сайтом автоматически или через интерфейс обновления файлов.

После интеграции CMS с сайтом, сотрудники компании могут управлять содержанием и структурой сайта, публиковать новости, редактировать тексты и размещать графику, изменять и добавлять продукцию в каталоге, создавать новые страницы, разделы и многое другое.

Цели и задачи CMS - управление, наполнение и редактирование информации клиентом на сайте. Проще говоря, это система, предоставляющая возможности изменять и дополнять разделы, редактировать содержимое сайта, менять графику и дизайн сайта. Более того, CMS позволяет управлять содержимым сайта настолько легко, просто и быстро, что коммерческая выгода от использования CMS становится значительной. Система управления контентом сайта снижает стоимость создания и поддержки Web -сайтов, а также увеличивает скорость обновления материалов.

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

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

Существуют платные и бесплатные CMS, которые предоставляют достаточно большие возможности для управления содержимым сайта. Бесплатные CMS имеют большое количество пользователей, которые помогают решать проблемы с управлением сайтом с использованием бесплатной системы управления контентом. К бесплатным CMS существует большое количество расширений и дополнений, которые позволяет сделать процесс управления сайта более удобным и функциональным. Однако минусом бесплатных CMS является отсутствие официальной технической поддержки и низкая скорость исправления критических ошибок в системе управления содержимым сайта.

К наиболее популярным CMS можно отнести:

1С-Битрикс, NetCat, HostCMS, UMI. CMS, Amiro. CMS, ABO. CMS, WordPress, Joomla, Drupal, MODX, Image CMS, Coppermine. Gallery2, LiveStreet, InstantCMS, vBulletin, IPB, Vanilla, phpbb, PHPShop, Prestashop, OpenCart.

Задание: разделить упомянутые CMS на платные/бесплатные и по категориям: CMS общего назначения (многофункциональные порталы), интернет-магазины, галереи, социальные сети, форумы.

Ход занятия: Для проведения данного занятия уместно использовать метод case-study. Для этого необходимо рассмотреть задание как ситуацию-проблему.

Этапы проведения

. Введение:

создание групп согласно классификационным категориям;

постановка задачи (выбрать CMS согласно требованиям);

. Проблема:

определить требования для каждой из групп;

провести анализ указанных CMS и выяснить, насколько они удовлетворяют требованиям.

Лабораторная работа № 2

 

ЗНАКОМСТВО CMS MODX REVOLUTION.

Цель работы: ознакомиться системой управления сайтами MODX REVOLUTION, выполнить установку системы на локальный сервер.

Общие сведения:

MODX - это бесплатная профессиональная система управления содержимым (CMS) и фреймворк для веб-приложений, предназначенная для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым) сайтов.

MODX распространяется бесплатно по лицензии GPL с открытым исходным программным кодом (Open Source). Это означает, что систему MODX может использовать каждый: как для личного использования, так и для коммерческого распространения сайтов, построенных на данной системе управления.

MODX написана на программном языке PHP и использует для хранения данных СУБД MySQL или MS SQL. Система управления MODX может быть установлена на большинстве веб-серверов (например, таких как IIS, Apache, Lighttpd, nginx и Zeus), а контрольная панель системы (или админ-зона) работает практически во всех современных браузерах.

Подробнее: <https://MODX.ru/o-sisteme-MODX/>

Версии MODX: Revolution и Evolution

На текущий момент MODX Revolution - это новейшая версия системы управления сайтами MODX, которая активно развивается и поддерживается командой разработки.

На сегодня MODX Evolution используется параллельно с Revolution. Вероятно, для начинающих разработчиков начало работы с Evolution может показаться проще.

Некоторое время назад разработчики заявили об остановке работы над проектом Evolution, чтобы сконцентрироваться только на Revolution. Тем не менее, впоследствии разработка Evolution перешла в руки сообщества и продолжила свое активное развитие. При выборе MODX Evolution для новых проектов желательно учитывать, что в целом функциональные возможности Revo выше Evo.

Подробнее: <https://modx.ru/o-sisteme-modx>

CMS MODX состоит из ядра системы и дополнительных компонентов (пакетов), которые расположены в отдельном репозитории.

Задание: установить локально Web -сервер и СУБД MySQL ( программа DENWER для ОС Windows или настроить связку A pache-PHP-MySQL для UNIX -систем), развернуть CMS MODX. Подробная инструкция по установке находится по адресу https://modx. ws/blog/uroki-modx-revolution/ustanovka-modx-revolution.html <https://modx.ws/blog/uroki-modx-revolution/ustanovka-modx-revolution.html>

Ход занятия: Для проведения данного занятия можно использовать метод "круглого стола".

Этапы проведения

. Блицопрос присутствующих в аудитории с целью согласования порядка работы.

. Обзор полученных ранее знаний.

. Ответы по существу поставленных вопросов.

. Заслушивание предложений выступающих из аудитории.

. Совместное обсуждение вопросов, возникших в процессе выполнения задания.

Лабораторная работа № 3

 

ОСНОВНЫЕ ПОНЯТИЯ CMS MODX REVOLUTION, ЕЕ СТРУКТУРА.

Цель работы: ознакомиться с базовыми понятиями CMS MODX, интегрировать готовый HTML- шаблон в систему.

Общие сведения:

1 основными элементами CMS MODX являются Ресурс, Шаблон, Чанк, TV-переменная, Сниппет, Плагин, Компонент, Плейсхолдер, Стандартное поле, Системная настройка.

Для справки:

Ресурс. Базовые типы ресурсов в Revolution: документ, статический ресурс, символическая ссылка, ссылка. Также в Revolution можно создавать свои собственные типы ресурсов. Каждый ресурс в MODX имеет свой уникальный id.

Шаблон. Понятие шаблона в MODX ничем не отличается от других CMS. Шаблон - это HTML код страницы, в котором некоторые блоки текста или участки кода заменяются с помощью специального синтаксиса на сущности, описанные ниже. Такими сущностями могут быть чанки, TV, плейсхолдеры, вызовы сниппетов или системные переменные.

Чанк - простейшая MODX сущность. Это просто часть шаблона (или весь шаблон), которая для удобства работы или еще по каким-либо соображениям, "вырезана" и сохранена с собственным именем.

В шаблоне веб-документа подставить содержимое чанка можно, указав специальную конструкцию:

[[$название_чанка]]

TV ( template variable), ТВ или дополнительное поле обозначается значком телевизора в админ-панели Revolution.

Суть TV заключается в следующем. Код в шаблоне вывода не меняется, он всегда одинаковый для любого документа (ресурса), которому присвоен данный шаблон. Для тех блоков на странице, которые создаются "на лету" применяются либо сниппеты, либо TV. Т.е. TV - это небольшой элемент страницы, который не является постоянным для разных документов, имеющих один шаблон.

Простейший пример использования TV - дата создания записи в блоге. Каждая запись в блоге выводится по одному и тому же шаблону, но строка с датой у каждой записи будет своя.

Важно понимать, что у каждого ресурса в MODX есть набор стандартных полей, которые хранятся в базе данных. Любое из этих полей может быть незаполненным, но при этом оно существует. Механизм TV позволяет создавать для документа (ресурса) неограниченное количество дополнительных полей, при этом не внося изменения в структуру базы данных.

Привязка TV при их создании осуществляется не к документу, а к шаблону (поэтому они и называются переменными шаблона). Благодаря этому, можно создать TV один раз и пользоваться этой переменной для любого документа.

Чтобы вывести значения TV в шаблоне используются следующие конструкции:

[[*название TV]]

Сниппет - с амая мощная сущность в MODX. Именно наличие сниппетов позволяет создавать очень сложные сайты, вообще не зная PHP.

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

Чтобы можно было управлять действиями сниппета, не внося изменения в код (!), каждый сниппет вызывается в MODX с набором параметров. В зависимости от значений этих параметров сниппет может менять свое поведение в широких пределах.

Конструкции для вызова сниппета на странице выглядят одинаково в обоих ветках:

[[название_сниппета]] - вызов без параметров

[[название_сниппета? &param1=`знач1` &paramN=`значN`]] - вызов с параметрами

Однако, конструкции выше предназначены для т. н. кешированного вызова сниппетов. В этом варианте после выполнения сниппета результат его работы (код или текст, который вернет php функция) будет сохранен в кеше MODX. Такое поведение не всегда желательно. Поэтому вызов сниппета может быть некешированным. Такой вызов ничем не отличается от обычного, но php код сниппета будет выполняться всегда, даже если остальной код на странице уже сформирован и закеширован в MODX.

Некешируемые вызовы сниппетов выглядят так:

[[! название_сниппета]]

Если задача сниппета - вывести какой-то текст или часть HTML страницы, то одним из параметров, как правило, является чанк с шаблоном вывода сниппета.

Плагин в MODX - это php код, который выполняется при наступлении определенных событий. Этот код невозможно вызвать в шаблонах, при создании плагина указывается одно или несколько из предустановленных событий, к которым привязан данный код. Таким образом, плагины расширяют функционал самого ядра MODX, позволяя не вносить изменения в код системных файлов MODX.

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

Компонент. Представляет собой полностью самостоятельное веб-приложение, которое выполняется в админпанели MODX. Функционал, оформление, название - могут быть любыми. MODX предоставляет лишь место в меню менеджера для компонента, все остальное он делает сам. Устанавливаются компоненты через Управление дополнениями (находится в меню менеджера) скачиваясь из репозитория дополнений.

Плейсхолдеры. Это конструкции, которые должны быть замещены значениями, когда страница будет отправлена в браузер. Плейсхолдеры могут заменяться на необходимые значения самим парсером MODX или же одним из сниппетов. Когда страница будет готова к отправке в браузер, все незамененные плейсхолдеры будут вырезаны парсером MODX. Синтаксис

[[+название]]

Стандартные поля документа. Для стандартных полей документа в шаблоне используется тот же синтаксис, что и для вывода значений TV.

Синтаксис:

[[*название]]

Системные настройки MODX имеет большое количество настроек, которые определяют поведение ядра и парсера, влияют на отображение URL, дат, языков и пр. Самой часто используемой системной настройкой можно считать название сайта. Для вывода значений из конфигурации предусмотрены следующие конструкции.

[[++system_setting]]

Отладочные теги. Используются для вывода времени выполнения скриптов или количества запросов. Синтаксис:

[^q^] - кол-во запросов в БД

[^t^] - время генерации страницы

Комментарии MODX. Комментарии появились в Revo и позволяют временно "отключать" сниппеты, чанки или TV, не удаляя их вызов из кода. Парсер MODX пропускает такие конструкции, не обрабатывая их.

Синтаксис:

[[-текст]]

Для интеграции готового HTML-шаблона необходимо:

а) создать шаблоны разных типов страниц в CMS MODX;

б) выявить общие части и вынести их в отдельные чанки, затем проверить корректность отображения.

Задание:

1. Самостоятельно в группах 3-5 человек дать определения перечисленным элементам CMS, обсудить, какие конкретные задачи могут выполнять перечисленные элементы.

. Выполнить внедрение готового шаблона в MODX.

3. Совместным обсуждением определить задачи перечисленных элементов и защитить свою точку зрения по поводу использования повторяющихся частей гипертекстовой разметки в чанках.

Ход занятия: Для проведения данного занятия уместно использовать формат дискуссии.

Этапы проведения

. Студенты делятся на группы по 3-5 человек.

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

. Выделенная проблема становится предметом изучения и обсуждения в каждой малой группе.

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

. Далее следует общая дискуссия: анализ высказанных позиций, принятие наиболее перспективных, дополнение, взаимообогащение разных точек зрения, расширение представлений, установок, способов поведения, изменение отношения поставленной проблеме.

Лабораторная работа № 4

 

ИСПОЛЬЗОВАНИЕ ПОПУЛЯРНЫХ СНИППЕТОВ

Цель работы: выявить задачи, которые выполняют сниппеты WayFinder, FormIt, GetResources, GetPage; научиться их использовать при разработке сайта.

Общие сведения:

Сниппеты - это куски PHP кода, которые позволяют добавлять функциональность в ваш MODx сайт. Согласно официальной документации:

сниппеты - это ответ MODx на внутренний PHP код. Они обеспечивают пользовательский динамичный контент, такой как меню, блоги или новые списки и другие функциональные блоки и что еще угодно, что ваш сайт должен генерировать по запросу.

Сниппеты позволяют добавлять такую функциональность как навигацию, записи твиттера, поиск, галереи образов, формы контактов, вместилище контента, комментарии в ваш MODx сайт без необходимости написания PHP кода самому (если вы не хотите сами создать собственный сниппет). Репозиторий MODx постоянно пополняется коллекциями сниппетов, которые создаются разработчиками ядра либо членами сообщества и вы можете установить и использовать эти сниппеты в пару кликов.

Для установки сниппета в MODX Revolution необходимо зайти в менеджер сайта, дальше System->Package Management нажать Download Extras, и далее выбрать необходимый сниппет, загрузить его и установить.

После установки необходимых сниппетов, следующим шагом является вызов сниппета в нашем шаблоне или странице - там, где вам нужна дополнительная функциональность. Базовым синтаксисом вызова сниппета является: [[snippetName]]. Если ожидается, что сниппет будет генерировать различные результаты для разных пользователей, то тогда вам нужно вызывать некешируемый сниппет и это вы делаете просто поставив восклицательный знак перед сниппетом: [[! snippetName]].

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

Для справки:

1 Wayfinder - это сниппет, который выводит неотсортированный список ссылок на ресурсы в вашем дереве сайта, тип вывода списка зависит от вызова сниппета и параметров данного вызова. В общих словах это значит, что когда вы помещаете вызов Wayfinder‘а в вашем шаблоне, он начинает искать ресурсы, которые отвечают заданным в нём параметрам и возвращает список ссылок к этим ресурсам в формате неотсортированного списка либо в определенном вами формате.

Обычно Wayfinder использую для создания динамической навигации по сайту, (меню). Так как большинство HTML шаблонов используют неупорядоченные списки для создания меню, то Wayfinder является идеальным инструментом для этих целей. Использование сниппета Wayfinder для динамического генерирования меню позволяют избежать лишней работы, так как он автоматически определяет изменения и соответственно меняет меню.довольно гибкий инструмент и позволяет определить, какие ресурсы включить или исключить из меню, каков шаблон меню, как глубина меню сайта. Граница возможностей определяется HTML/CSS кодом.

Для вызова сниппета Wayfinder необходимо задать по крайней мере один параметр - начальный ID. Базовый вызов сниппета Wayfinder в таком случае будет выглядеть вот так:

[[! Wayfinder? &startId=`0`]]

Подробное описание можно найти в официальной документации - https://rtfm. modx.com/extras/revo/wayfinder <https://rtfm.modx.com/extras/revo/wayfinder>

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

Вызов сниппета getResources осуществляется с помощью такой контсрукции:

[[! getResources?

&showHidden=`1`

&tpl=`articleTpl`

]],

где articleTpl - специально подготовленный шаблон.

Подробное описание можно найти в официальной документации - https://rtfm. modx.com/extras/revo/getresources <https://rtfm.modx.com/extras/revo/getresources>

3 FormIt - это сниппет, который позволяет строить динамические формы в MODX Revolution. Есть много причин использования форм на вашем вебсайте, основной из них является создание интерфейса контакта или связи.

Итак, чтобы FormIt заработал, вам необходимо разместить вызов сниппета и HTML код формы в месте контакт формы. Если вы используете eForm сниппет MODX Evolution, то вам необходимо создать tpl шаблон для вашей формы, а затем вызвать его в сниппете, но при использовании FormIt вам не нужно вызывать форму в сниппете, вместо этого вы размещаете форму после вызова сниппета.

Давайте взглянем на вызов сниппета. Документация FormIt официального сайта MODX содержит отличный пример формы контакта. Будет полезно почитать документацию по этой ссылке https://rtfm. modx.com/extras/revo/FormIt <https://rtfm.modx.com/extras/revo/FormIt>

Во-первых, нам необходимо определить хуки FormIt вызова. Хуки - это скрипты, которые срабатывают при вызове сниппета. Их можно связывать вместе, но важно знать, что они исполняются последовательно и если один выдаст ошибку, то не сработают и остальные.

Первый необходимый хук, который посылает электронную почту - это email и он имеет несколько параметров задокументированных здесь (https://rtfm. modx.com/extras/revo/FormIt#FormIt-Hooks). Вызов сниппета будет выглядеть вот так:

[[! FormIt?

&hooks=`email`

&emailTpl=`sentEmailTpl`

&emailSubject=`Message from Learn MODx Revo Website`

&emailTo=`me@myemailaddress.com`

]]

Параметр emailTpl определяет чанк, который содержит шаблон для вывода сообщения, высылаемого формой.

4 getPage - это сниппет MODx Revolution, который позволяет добавлять пагинацию к элементам сайта, которые могут быть разбиты постранично. Согласно документации getPage - это… общий сниппет для представления, навигации и возможного кеширования, многостраничных просмотров любых элементов, которые принимают ограничительные и офсетные параметры для ограничения набора данных и устанавливает плейсхолдер, который getPage может использовать для получения общего количества элементов выводимых на странице.- это сниппет-обёртка. Он не может сам по себе делать что-либо. Необходимо иметь еще один сниппет, который выводит содержимое, которое нужно разбить на страницы и затем getPage делает пагинацию. В данном случае сниппет, создавающий вывод - это getResources и вызов getResources обёртывается с помощью getPage.

Пример использования сниппета:

[[! getPage?

&elementClass=`modSnippet`

&element=`getResources`

&showHidden=`1`

&tpl=`articleTpl`

&limit=`3`

]]

Подробная документация: https://rtfm. modx.com/extras/revo/getPage <https://rtfm.modx.com/extras/revo/getPage>

Задание:

1 Студентам необходимо разделиться на 4 группы, каждая из которых берет себе по одному сниппету для изучения.

2 Представители каждой группы по очереди объясняют варианты и способы использования сниппета остальным студентам.

Ход занятия: Для проведения данного занятия уместно использовать метод проектов.

Этапы проведения:

. Каждая малая группа студентов для изучения получает тему (один из сниппетов). Студенты малой группы должны проанализировать ее и разбить на мини-темы.

. Каждый студент малой группы индивидуально изучает мини-тему и готовит о ней мини-доклад, который представляет своей малой группе.

. Каждая малая группа затем синтезирует эти мини-темы в общую групповую мини-лекцию об использовании сниппета перед всей учебной группой.

. Остальные группы задают вопросы после окончания презентации.


Заключение

 

В ходе прохождения научно-педагогической практики на кафедре "Информационные системы и защита информации" Тамбовского Государственного Технического Университета были изучены интерактивные методы обучения, а также был составлен лабораторный практикум по дисциплине " Web -инжиниринг" для студентов, обучающихся по направлению подготовки бакалавров 230400 - Информационные системы и технологии (стандарт 3-го поколения), с применением интерактивных методов.




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: