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

Преимущества и недостатки статических и динамических сайтов. Эволюция и классификация web-приложений. Требования, предъявляемые к системам управления контентом (CMS). Создание структуры сайта, информационное наполнение страниц. Разработка базы данных CMS.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.06.2012
Размер файла 856,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

r Каждая из платных или бесплатных систем может, в свою очередь, делиться на следующие типы:

r С открытым кодом - предоставляется в форме открытого исходного кода, не требует декодирования, позволяет изменить функциональность в любой момент;

r С криптованным кодом - предоставляется в закодированном виде, никаких изменений в коде делать нельзя, для работы требуется специальное дешифровальное ПО. Все обновления, как правило, требуют полной перезаливки исходного кода;

r На сервере владельца - владелец CMS выделяет вам место на своем сервере без доступа к исходникам. Все управление осуществляется через контрольную панель.

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

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

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

4 Преимущества систем с открытым исходным кодом

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

r Большое количество независимых компаний предлагают услуги по внедрению и поддержке системы.

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

5 Недостатки систем с открытым исходным кодом

r Существуют лицензионные ограничения на использование некоторых форматов данных в системах с открытым исходным кодом.

r Зачастую отсутствуют системы обучения и сертификации специалистов, занимающихся внедрением и технической поддержкой системы.

6 Список наиболее популярных решений

Графически сравнительные характеристики существующих систем изображены на плакате 5.

NetCat относится к классу легких систем. Показатель отчуждаемости и переносимости системы наиболее высок среди всех аналогичных CMS. Кроме того, NetCat - наиболее «коробочный» продукт. Только 15% внедрений являются внутренними, 40% делаются партнерами, а больше всего, 45%, - самими покупателями.

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

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

Среди компаний, использующих NetCat, - «Сотовик», «Новатэк», «Росбанк», «Сыктывкарский фанерный завод».

Текущая версия системы - Netcat 2.2. Существует стартовое решение NetCat Small Business и издание с расширенной функциональностью - NetCat Extra.

Среди уникальных особенностей системы

r управление шаблонами данных - возможность конструирования практически любой структуры данных;

r высокая адаптивность под индивидуальные задачи;

r работа на стандартных настройках абсолютного большинства хостинг -провайдеров.

К недостаткам системы можно отнести отсутствие некоторых функциональных возможностей, в частности функции отмены действий, системы сбора статистики и организации отчетов.

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

NetCat имеет высокий темп развития и очень хорошие перспективы на то, чтобы в дальнейшем стать главным игроком на рынке легких и, возможно, средних CMS-систем.

На данный момент Bitrix - наиболее функциональная CMS на российской рынке. Система относится к среднему классу. У Bitrix одни из самых высоких показатели продаж - более 230 лицензий за 2010 год, а отчуждаемости системы - около 50%. Кроме цен на лицензии имеются затраты на внедрение, которые составляют до 15% от стоимости лицензии.

Наиболее известные компании, использующие Bitrix - Elcomsoft, Ritlabs.

Текущая версия системы - Bitrix 3.3. Из стандартных комплектаций решения на рынке присутствуют: «Старт», «Эксперт», «Бизнес», «Web-Аналитика». Полнофункциональные версии имеют модификации под различные СУБД - MySQL и Oracle.

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

Система является оптимальным решением для крупных и средних сайтов, насыщенных различными функциональными модулями. Удобный интерфейс, «легкий» дизайн, возможность вести свои разработки на предоставляемой платформе. CMS-система Bitrix - практически единственный «коробочный» продукт среднего класса, что делает его наиболее перспективным на рынке.

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

Относительно невысокая функциональность компенсируется высокой юзабилити и практически полным отсутствием требований к пользователю. Возможность разработки и настройки сайта реализуется путем отделения back office от front office в отдельную часть - «Конфигуратор», который могут использовать непосредственно разработчики.

Текущая версия системы - Optimizer 2.5.

Из наиболее известных компаний, использующих технологию Optimizer - Ericsson, «Мир аэрофлота», «Совинтел».

К достоинствам системы можно отнести быстродействие, наличие подробной документации. Также стоит отметить хорошо проработанный модуль «On-line магазин» с элементами CRM, справочной информацией по курсам валют, налогам и пр.

Недостатки системы - техническое требование платформы Windows 2000 Server + MS SQL. Еще один минус данного решения - отсутствие внутренней системы сбора статистики.

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

RBC Content - типичный пример внутренней системы, поставляемой в качестве отдельной услуги в комплексе работ по созданию сайта. Фирма RBC Soft - одна из крупнейших компаний-разработчиков на рынке создания сайтов. Поэтому, хотя показатели CMS-системы уступают большинству рассматриваемых в обзоре решений, мы не можем не упомянуть о ней в связи с большим количеством ее внедрений. Хотя это говорит скорее не о популярности системы как таковой, а о популярности RBC Soft как разработчика сайтов.

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

Достоинства системы в основном сводятся к возможности гармоничного ее использования в рамках общей информационной системы предприятия. Система может быть интегрирована со стандартными программными модулями 1C.

Текущая версия системы - 3.5 (Standard Edition и Enterprise Edition).

Из наиболее известных компаний, использующих RBC Contents, - RBC, «МТУ-Информ», ГУМ, РОСНО, Philips, «Лукойл».

Система по своему позиционированию должна занимать нишу «промышленной», но этому мешает средний уровень технической реализации. Юзабилити решения оставляет желать лучшего, однако этот продукт займет свою нишу как звено комплексной системы, поставляемой компанией-разработчиком. Как самостоятельный продукт RBC Contents имеет весьма средние перспективы, но, учитывая характер поставки системы, ее присутствие на рынке может стать весьма значительным.

Satistika (разработчик компания Individ) - одна из самых функциональных CMS в Рунете. Общий уровень системы можно оценить как высокий, что характеризуется и относительно высокой ценой дистрибутива - 2000$. Решение хорошо отчуждаемо, около 50% внедрений производится покупателями. Относительно небольшое количество внедрений системы можно объяснить достаточно высокой стоимостью, техническими ограничениями, а также требованиям, предъявляемыми к разработчикам.

Система имеет государственную регистрацию.

Наиболее известные компании, использующих систему, - Xerox, «Компьютера», МДМ-банк.

Текущая версия системы: Satistika 4.0.

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

К недостаткам системы относятся перегруженность административного интерфейса, технические требования (ОС Windows, MS SQL), отсутствие модульной структуры.

Из уникальных наработок системы можно выделить

r продвинутую систему логирования и статистики;

r встроенный модуль CRM (Customer Relations Managment) - системы обеспечения автоматического управления заказами и взаимоотношениями с клиентами.

Самое большое преимущество Satistika - функциональность. Наиболее полезна эта CMS будет компаниям, имеющим штатных профессиональных разработчиков. Высокий уровень отчуждаемости приближает ее к коробочным продуктам высокой ценовой категории. Наличие партнерских программ, обширной документации, открытого исходного кода и курсов для разработчиков делают систему привлекательной для коммьюнити девелоперов (что, правда, существенно ограничивается использованием ОС Windows).

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

Dynasite не является CMS в классическом понимании этого термина и скорее напоминает платформу для разработок. С этой точки зрения систему можно отнести к классу «тяжелых» решений. Небольшое количество внедрений и невысокая отчуждаемость компенсируются качеством и сложностью разрабатываемых систем. Сотрудничество с известной компанией Vignette также характеризует систему как целый сервер приложений, на котором можно реализовать практически любой функционал.

Непосредственно функции по управлению контентом реализованы слабо. Неудобный в работе интерфейс, отсутствие внятной навигации, нехватка даже стандартных возможностей. Нет смысла критиковать Dynasite с позиций CMS-систем среднего класса - по «внешним» признакам он заведомо проиграет. Однако заложенные в систему возможности могут оказать существенное влияние на становление рынка тяжелых систем. Недаром почти 90% конкурентов назвали DynaSite одной из самых мощных CMS.

Среди компаний, использующих DynaSite, - «МегаФон», фондовая биржа РТС, магазин «Озон». Большинство сайтов, построенных на базе DynaSite, имеют сложную программную часть, что опять же характеризует систему как среду для разработок, нежели внешнюю CMS.

Текущая версия - DynaSite 2.8. Существуют две модификации системы - Standard и Enterprise. Также разработаны решения для отдельных отраслей, например, конфигурация для хостинг -провайдеров.

Среди несомненных достоинств решения - хорошая масштабируемость, возможность интеграции с внешними системами, качественно проработанные модули «электронной коммерции» и «менеджера почтовых рассылок». Система производит впечатление целой платформы для разработок. Внешняя часть, front office, проработана слабо, поэтому для конечного пользователя DynaSite не лучший вариант. Нет смысла использовать подобную систему на средних и малых сайтах, зато она имеет целый ряд преимуществ при реализации на больших, сложных проектах. В дальнейшем у DynaSite есть хорошие перспективы стать лидером рынка в сегменте дорогих систем (особенно в тандеме с Vingette).

Q-Publishing - одна из наиболее популярных CMS в Рунете. С помощью грамотного позиционирования ее разработчикам удалось добиться хорошего уровня цитируемости и узнаваемости своего бренда. Общий уровень системы можно оценить как средний. Из ее 0особенностей стоит отметить значительный уровень внедрений на зарубежных сайтах (90 из 120 за 2008 год). Причина тому - реализация партнерских программ с софтверными компаниями, занимающимися распространением системы среди зарубежных потребителей. Также это сказывается и на ценовой политике компании - стоимость лицензии более $1000.

Среди самых крупных российских компаний, пользующихся Q-Publishing, - ЮКОС и ABBYY. Среди самых крупных иностранных компаний AOL, SUN Microsystems, Canon.

Текущая версия системы - 6.1. Есть три модификации продукта: Light, Standard и Professional. Отчуждаемость системы можно оценить как невысокую (примерно 80% внедрений являются внутренними). Однако по этому показателю данное решение превосходит некоторые коробочные продукты. В целом система отличается высокой функциональностью. Большинство возможностей реализовано на достаточно высоком уровне, разработаны интерфейсы администрирования различных модулей.

Из уникальных наработок системы следует выделить

r Mаsquerade Filter - механизм, дающий возможность преобразовывать URL динамических страниц в приемлемый для поисковых роботов вид;

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

Система Q-Publishing производит впечатление хорошо сделанной профессиональной платформы. Неплохо проработаны возможности параллельного развития - API, интеграция с 1C. Использование системы по преимуществу на зарубежных сайтах также говорит в ее пользу - западный рынок CMS более устойчив, чем российский. Решение имеет удобный интерфейс и средний уровень юзабилити.

5. Разработка системы администрирования контента

5.1 Требования к системе администрирования контента (CMS)

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

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

Система должна позволять:

r Изменять и корректировать структуру сайта.

r Редактировать существующие страницы и создавать новые.

r Редактировать информационное наполнение всех страниц сайта.

r Быть гибкой, в плане добавления новых модулей.

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

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

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

r Динамически формируемый блок «Контакты», с системой администрирования, которая позволяет добавлять, удалять и редактировать контактную информацию.

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

r Блок «Фотоальбом», позволяющий посетителям просматривать фотографии, размещаемые администратором сайта при помощи страницы администрирования данного Web - приложения.

5.2 Терминология

Каждую ссылку с главной страницы сайта или из главного меню можно представить в виде раздела сайта, содержащего другие страницы. Именно эти ссылки формируют структуру сайта. Например, главное меню сайта содержит разделы: Главная, Новости, Фотоальбом, Достижения и т.д. Каждый подобный раздел может содержать как одну страницу, так и сразу несколько, например, раздел "О компании" может содержать страницы: Характеристика компании, Руководство, Контактная Информация.

5.3 Структура сайта

Рассмотрим сайт, имеющий следующую структуру:

r О Компании:

· Характеристика компании.

· Руководство.

· Контактная информация.

r Продукция.

r Список публикаций:

· Публикации в прессе.

· Публикации в Интернете.

· Зарубежные публикации.

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

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

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

С помощью CMS можно создавать и редактировать.

r Разделы статей, предназначенный для объединения статей в группы.

r Статьи - информационные страницы сайта.

r Параграфы - составляющие элементы статьи.

5.4 Структура и элементы статьи

Если попытаться разбить информационное наполнение страниц на логические элементы, то каждая страница может содержать:

r Заголовки.

r Абзацы (блоки текста).

r Изображения.

r Ссылки.

r Таблицы.

С точки зрения CMS, каждая статья содержит параграфы, которыми могут быть:

r Заголовки.

r Блоки текста вместе с изображениями; изображения часто служат для иллюстрации текста и в тоже время изображения обычно имеют подпись, поэтому блоки текста целесообразно объединить с изображениями;

r Ссылки, в том числе на другие статьи из CMS.

r Таблицы.

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

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

Например, «Заголовок» может иметь стили:

r Название страницы.

r Обычный заголовок.

r Важный блок страницы.

r Заголовок примечания.

Абзацу могут быть присвоены следующие стили:

r Обычный текст.

r Текст с отступом.

r Подпись к картинке.

r Примечание.

Стили содержат не только оформление, но и логику поведения элементов, например, у элемента «Ссылка» могут быть стили:

r Открыть ссылку в новом окне.

r Открыть ссылку в текущем окне.

r Открыть ссылку во всплывающем окне.

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

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

5.5 Работа с системой администрирования разрабатываемой (CMS)

Для администрирования ресурса необходимо обратиться к ключевому файлу библиотеке администрирования. Как правило, этот файл не выводят виде ссылок на страницы ресурса, в целях безопасности. (А если и выводят, то только ссылку на страницу авторизации пользователей)

При обращении в адресной строке браузера к адресу:

http://www.имя_сайта.имя_домена/admin/

или http://www.имя_сайта.имя_домена/admin/index.php

пользователь попадает на страницу администрирования контента.

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

r Управление разделами статей.

r Управление метаданными статьи.

Метаданные статьи включают в себя название, описание статьи (эти элементы выводятся на странице администрирования) и информацию для заголовка и метатегов страницы сайта: заголовок страницы (Тег <TITLE>), описание страницы (метатег <DESCRIPTION>), ключевые слова (<KEYWORDS>).

Работа над статьей как структурным элементом позволяет осуществлять над ней следующие действия:

· Создание.

· Редактирование (изменение метаданных статьи).

· Удаление.

· Скрытие/отображение.

r Редактирование статей (работа с параграфами).

CMS должна обеспечивать следующие операции с параграфами:

· Создание.

· Редактирование.

· Удаление.

· Скрытие/Отображение.

· Перемещение вверх/вниз.

5.6 Управление разделами статей

Раздел статей - это группа статей, логически объединенных по какому-либо критерию. Создание нового раздела осуществляется через систему CMS. На главной странице системы администрирования, представленной на рисунке 1, выводиться список существующих разделов.

Рисунок 2. - «Внешний вид главной страницы CMS»

Для создания нового раздела следует перейти по ссылке «Добавить». Открывшаяся страница создания нового раздела (Рисунок 2), содержит два поля:

r Название.

r Порядковый номер.

А так же три переключателя типа «Radio button»:

r Страница.

r Архив новостей.

r Фотоальбомы.

Которые отвечают за переключение между видами добавляемых разделов, будь -то Фотоальбом, файл «Лента новостей» или Статья.

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

Рисунок 3. - «Страница создания нового раздела»

За переключения между типами добавляемой информации отвечает главное меню навигации системы администрирования (Рисунок 3).

Рисунок 4. - «Меню навигации системы администрирования»

5.7 Редактирование контента

Редактирование «Новостной ленты». За редактирования раздела новостей отвечает пункт меню с соответствующим названием. При обращении к ссылке Добавить/Редактировать пользователь переходит на страницу с онлайновым редактором (Рисунок 4) Данный редактор - это продукт стороннего разработчика, называется FCKeditor и бесплатно распространяется в соответствии с лицензией GNU Lesser General Public. FCKeditor имеет интуитивно понятный интерфейс панели управления, очень похожей на панели редактирования содержимого таких известных редакторов, как мс word от Microsoft или Open Word от Open Office для Linux.

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

Рисунок 5. - «Внешний вид текстового редактора»

Редактирование статей

Процесс редактирования типа данных «Статья», мало чем отличается от редактирования типа данных «Новость», за исключением, отсутствия поля «Анонс».

5.8 Выбор платформы для реализации проекта

r Языковой:

· HTML 4.0;

· PHP 4;

· SQL.

r Программный:

· Photoshop v.7;

· ACDSee v.5.0;

· Денвер (PHP, PERL, MYSQL, Apache);

· PHP Editor v.1.5;

· Microsoft Visio 202 SR-1;

· FCKeditor 2.0.

5.9 Обоснование выбора языковых и программных средств

Язык НТМL позволяет размечать электронный документ, который отображается на экране с полиграфическим уровнем оформления; результирующий документ может содержать самые разнообразные метки, иллюстрации, аудио- и видеофрагменты и так далее. В состав языка вошли развитые средства для создания различных уровней заголовков, шрифтовых выделений, различные списки, таблицы и многое другое.

Принципы гипертекстовой разметки

HTML является описательным языком разметки документов, в нем используются указатели разметки (теги). Теговая модель описывает документ как совокупность контейнеров, каждый из которых начинается и заканчивается тегами, то есть документ НТМL представляет собой не что иное, как обычный АSСII - файл, с добавленными в него управляющими НТМL - кодами (тегами). Поскольку HTML произошел от SGML, в нем разрешено использовать только три управляющих символа: горизонтальную табуляцию, перевод каретки и перевод строки. Это облегчает взаимодействие с различными операционными системами.

PHP (Personal Home Pages) - это серверный язык создания сценариев (или стороны сервера), разработанный специально для web. В HTML-страницу можно внедрить код РНР, который будет выполняться при каждом ее посещении. Код РНР интерпретируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы.

Разработка РНР была начата в 1994 г. и вначале выполнялась одним человеком,

Расмусом Лердорфом (Rasmus Lerdorf). Этот язык был принят рядом талантливых людей и претерпел три основных редакции, пока не стал широко используемым и зрелым продуктом, с которым мы имеем дело сегодня. К январю 2001 г. он использовался почти в пяти миллионах доменов во всем мире, и их число продолжает быстро расти. Количество доменов, в которых в настоящее время используется РНР, можно выяснить на странице http://www.php.net/usage.php.

РНР - это продукт с открытым исходным кодом (Open Source). У пользователя имеется доступ к исходному коду. Его можно использовать, изменять и свободно распространять другим пользователям или организациям.

Первоначально РНР являлось сокращением от Personal Home Page (Персональная начальная страница), но затем это название было изменено в соответствии с рекурсивным соглашением по наименованию GNU (GNU = Gnu's Not Unix) и теперь означает РНР Hypertext Preprocessor (Препроцессор гипертекста РНР).

В настоящее время последней версией РНР является PHP 5.0.1

Адрес начальной страницы для РНР - http://www.php.net

Адрес начальной страницы для Zend - http://www.zend.com

В Число конкурентов PHP входят Perl, Active Server Pages(ASP),Java Server Pages(JSP).

PHP обладает множеством преимуществ по сравнению с этими продуктами, среди которых наиболее значительными являются:

r Высокая производительность.

r Наличие интерфейсов ко многим системам баз данных.

r Встроенные библиотеки для выполнения многих общих задач, связанных с web.

r Низкая стоимость.

r Простота изучения и использования.

r Переносимость.

r Доступность исходного кода.

MySQL. - очень быстрая, надежная система управления реляционными базами данных (СУРБД). База данных позволяет эффективно хранить, искать, сортировать и получать данные. Сервер MySQL управляет доступом к данным, позволяя работать с ними одновременно нескольким пользователям, обеспечивает быстрый доступ к данным и гарантирует предоставление доступа только имеющим на это право пользователям. Следовательно, MySQL является многопользовательским, многопотоковым сервером. Он применяет SQL (Structured Query Language -язык структурированных запросов), используемый по всему миру стандартный язык запросов в базы данных. MySQL появился на рынке в 1996 г., но его разработка началась еще в 1979 г. В настоящее время, по прошествии десяти лет своего существования, эта система завоевала приз читательских симпатий журнала Linux Journal.

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

К конкурентам MySQL, помимо прочих относятся, PostgreSQL, Microsoft SQL Server, Oracle.

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

Web-сервер Apache - это программа, которая исполняет функции http-сервера. Именно с ее помощью и будет функционировать web - сервер. Эта программа исполняет все необходимые функции, под ее руководством работает большинство ресурсов сети. Данная CMS не исключение, в силу гибкости и универсальности Apache использует именно этот сервер.

5.10 Разработка базы данных CMS

сайт управление контент страница

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

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

На данном этапе разработки для работы системы используется восемь таблиц.

r Admins - для занесения пользователей и их паролей.

r Contens - таблица для хранения статей.

r Gb (аббревиатура от guest book) - таблица содержащая данные раздела «Гостевая книга».

r Mails - таблица для работы с электронной почтой.

r News - таблица содержащая тип данных «Новость».

r Parts - таблица с данными о разделах.

r Photo_album - таблица, содержащая разделы фотоальбома.

r Photo_image - таблица, для работы с изображениями

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

Тип данных для полей Id и Part выбран исходя из того, что категорий, как правило, в несколько раз меньше, чем контента (статей, иллюстраций, новостей и т.д.), и для небольшого сайта вполне достаточно зарезервировать 999 категорий/подкатегорий; для обоих полей используется тип INT.

Поле Title имеет максимальную длину 255 символов поскольку число букв в названии статей может быть различным. Использование полей переменной длины (тип VARCHAR, а не CHAR) позволяет избежать хранения ненужной информации, поэтому длина поля определяется максимально возможными или достаточными для большинства записей значениями.

В таблице Admins хранятся учетные записи пользователей, необходимые для авторизации. То есть при вводе в форму авторизации пароль введенный пользователем под своим «логином», сверяется с паролем занесенным в базу данных. Это обеспечивает механизм элементарной защиты от не санкционированного входа в систему администрирования посторонних лиц. В дальнейшем при развитии системы планируется ввести в таблицу поле категории, для разграничения полномочий между пользователями системы, такими как администратор сайта, редактор контента и т.д.

В таблице Photo_image для повышения производительности системы все изображения хранятся в директории «Files», а в базе данных находятся только пути к файлам изображений, что позволяет кешировать все изображения на стороне HTTP-сервера. Максимальная длинна пути в большинстве операционных систем ограничивается 255 символами.

Таблица 1. - Admins

Поле

Тип

Ноль

Комментарии

id

int(3)

Нет

Уникальный индекс пользователя

login

varchar(255)

Нет

Имя пользователя

PASSWORD

varchar(255)

Нет

Пароль пользователя

Таблица 2. - mails

Поле

Тип

Ноль

Комментарии

id

bigint(20)

Нет

Уникальный идентификатор

mail

varchar(255)

Нет

Имя электронного адреса

Таблица 3. - news

Поле

Тип

Ноль

Комментарии

id

int(3)

Нет

Уникальный идентификатор новости

title

varchar(255)

Нет

Имя новости

preview

text

Нет

Предпросмотр новости, который отображается в «ленте новостей»

content

text

Нет

Содержание новости

image

varchar(50)

Нет

Изображение, которое выводиться в ленту новостей

news_date

varchar(8)

Нет

Число в формате (Ymd), когда новость была опубликована.

Таблица 4. - Gb

Поле

Тип

Ноль

По умолчанию

Комментарии

id

bigint(20)

Нет

Уникальный идентификатор

author

varchar(255)

Нет

Имя автора

mail

varchar(255)

Нет

Адрес электронной почты

content

text

Нет

Содержание

dt

varchar(8)

Нет

Дата

active

enum('yes', 'no')

Нет

yes

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

Таблица 5. - photo_album

Поле

Тип

Ноль

По умолчанию

Комментарии

id

int(11)

Нет

Уникальный идентификатор фотоальбома (раздела)

name

varchar(255)

Нет

Название фотоальбома

order_id

int(11)

Нет

0

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

Таблица 6. - photo_image

Поле

Тип

Ноль

По умолчанию

Комментарии

id

int(11)

Нет

Уникальный идентификатор изображения

name

varchar(255)

Нет

Название изображения

path

varchar(255)

Нет

Путь к файлу изображения

album_id

int(11)

Нет

0

Индекс раздела фотоальбома (таблица photo_album)

order_id

int(11)

Нет

0

Индекс: порядок, в котором изображения будут выводиться на страницу

Графически взаимодействие элементов разработанной базы данных показано на плакате 2.

5.11 Структура директорий

r /lib - сокр. от library (библиотека) директория содержащая библиотеки файлов классов.

r /tpl - сокр. от template (шаблон) директория содержащая файлы шаблонов страниц. Содержит поддиректорию /admin в которой находятся файлы шаблонов для системы администрирования.

r CMS Автоматически создает директорию /files (файлы), в которой находятся публикуемые на сайте изображения.

r /img - сокр. от images (изображения) содержит графические элементы дизайна.

r /admin - Директория с файлами администрирования контента.

r /fck - директория текстового on-line редактора FCKeditor.

5.12 Принцип работы системы

Графически взаимодействие элементов сайта представлено на плакате.

При обращении к «центральному» файлу index.php, в корневой директории, строкой: «include_once('head.inc');» подключается так же файл «собирающий» файл head.inc. Его задачу составляет подключение конфигурационного файла conf.inc и библиотеки классов lib.inc, а так же определение не обходимых шаблонов. Файл conf.inc определяет пути URL к элементам системы:

r Путь к библиотеке классов.

r Путь к библиотеке шаблонов.

r Путь к библиотеке системы управления.

Кроме того определяет параметры подключения к базе данных:

r Определяет имя сервера.

r Определяет имя базы данных.

r Определяет пароль пользователя базы данных.

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

r Определяет возможные кодировки(в том числе кодировку работы с библиотекой).

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

r Подключает библиотеку классов.

5.13 Файлы библиотеки классов

Графически диаграмма классов представлена на плакате 3.

error.class - класс работы с ошибками. В зависимости от того, какая ошибка, с каким идентификационным номером произошла, выводит сообщение.

validator.class - класс предназначен для проверки значений данных на соответствие «типу данных». Тип определяется регулярным выражением. Как было уже сказано выше, в данной версии реализации, CMS работает с тремя типами данных: «новость», «статья», «изображение».

mysql.class - как видно из названия, класс для работы с базой данных. Работает с параметрами активации и отключения базы данных. Так же осуществляет выборку, сортировку, установку, удаление пользователей, таблиц, записей.

mail.class - класс позволяет работать с электронной почтой и имеет набор следующих функций:

r Несколько уровней проверки вводимого пользователем имени почтового адреса (включая проверку на существование последнего).

r Добавление файлов к письму.

r Возможность установить кодировку письма.

r И другие функции.

templates.class - «шаблонизатор». Работает с файлами шаблонов. В том числе, определяет какой шаблон для какого типа данных нужно подобрать из существующих. Передает результаты работы template.class`у.

template.class - Производит парсинг контента и вставляет его в нужный шаблон. Формирует тело HTML - документа. Сам шаблон представляет собой не большие куски HTML - разметки, с синтаксическими конструкциями, которые понимает шаблонизатор. Данный метод позволяет изменять дизайн страниц, при меньших затратах времени, в отличие от метода «ручной верстки страниц».

Шаблоны можно рассматривать как «расширение» программного кода. Шаблоны не только автоматизируют утомительный процесс кодирования, но и обеспечивают структурное деление проекта в рабочих группах. Роль такого деления возрастает с увеличением объемов проекта и численности групп, а также с усложнением архитектуры проекта, причем не только на стадии программирования, но и при последующем сопровождении программы.

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

Существует несколько разных подходов для создания шаблонов с помощью языка РНР:

r внедрение HTML в код РНР;

r включение файлов в страницу.

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

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

В листинге 1 представлен некий базовый шаблон, созданный на основе этой технологии.

Листинг 1. - Шаблон «news»

<br>

<table width="98%" border="0" bgcolor="#FFFFFF" cellpadding="3" cellspacing="0" style="border: 1px solid #F4F4F4;" align=center>

<tr>

<th width="90%" class="thCornerL" style="color:#FFA34F; text-decoration:none;" align="left">{title}</th>

<th width="150" align=right nowrap=nowrap class="thCornerR" style="color:#FFA34F; text-decoration:none;">{news_date}</th></tr>

<tr><td valign=top colspan=2>{preview}</td></tr>

<tr><td valign=top colspan="2">{content &nbsp;}</td></tr>

<tr><td valign=top colspan="2"><a href="javascript:history.back();">Назад</a>

</td></tr></table>

Cтроки (title, News_date, preview, content&nbsp;), заключенные в фигурные скобки ({ }) интерпретируются как соответствующие имена переменных, вместо которых подставляется соответствующее значение. Дизайнер строит страницу по своему усмотрению; все, что от него потребуется, - включать в соответствующие места документа эти ключевые строки. Конечно, программисты и дизайнеры должны заранее согласовать имена всех переменных!

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

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

r Регистрация файлов - регистрация всех файлов, обрабатываемых сценариями шаблонов.

r Регистрация переменных - регистрация всех переменных, которые должны заменяться своими значениями в зарегистрированных файлах.

r Обработка файлов - замена всех переменных, находящихся между ограничителями, в зарегистрированных файлах.

r Вывод файла - вывод обработанных зарегистрированных файлов в браузере.

Графически подстановка данных в шаблон изображена на рисунке 6.

Рисунок 6. - «Подстановка данных в шаблон»

6. Вопросы техники безопасности

6.1 Требования к системе управления охраной труда

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

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

1 Политика организации в области охраны труда

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

Политика организации в области охраны труда должна:

r определять общие цели по улучшению условий и охраны труда работников;

r соответствовать характеру и масштабу рисков, а так же быть увязанной с хозяйственными целями организации;

r включать обязательства руководства организации по соответствию условий и охраны труда законодательству в области охраны труда;

r включать обязательства руководства организации по постоянному улучшению условий и охраны труда, формированию общественных органов и служб охраны труда, обеспечению социального партнерства, информированию работников об условиях труда на рабочих местах, существующих производственных рисках и полагающихся компенсациях за нанесение вреда здоровью;

r предусматривать основу для установления целей по охране труда их анализа;

2 Идентификация опасностей, оценка риска и управление им

Организация должна разрабатывать, внедрять и поддерживать в рабочем состоянии процедуры идентификации опасностей, оценки рисков и внедрение необходимых мер защиты от них. Эти процедуры должны гарантировать идентификацию опасностей, оценку и управление риском. Идентификация опасностей на рабочих местах должна учитывать ситуации, которые потенциально могут приводить к травме или заболеванию, причины возникновения потенциального заболевания, связанного с выполняемой работой, а так же сведения о ранее имевших место травмах, заболеваниях или происшествиях. Идентификация опасностей должна включать рассмотрение организации работ, управление их выполнением, проектирование рабочих мест, технологических процессов и оборудования, а так же их монтажа и эксплуатации. Все риски, следует анализировать, оценивать и упорядочивать по приоритетам необходимости исключения или снижения. Следует учитывать случаи отклонений в работе, связанные с возможными аварийными ситуациями. Риски признанные неприемлемыми, должны быть использованы как исходные данные для разработки целей и задач в области охраны труда. Все идентифицированные риски подлежат управлению, с учетом приоритетов и применяемых мер, таких как, исключение опасной работы и ее замену, инженерные методы ограничения воздействия опасностей, средства коллективной защиты. При выполнении работ с высоким уровнем риска должны даваться письменные разрешения на проведения таких работ. При аттестации рабочих мест проводят оценку условий труда и травмобезопасности рабочих мест.

3 Планирование условий охраны труда

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

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

r требования законодательных актов, государственные нормативные требования охраны труда;

r важные факторы охраны труда, технологические, эксплуатационные и другие особенности деятельности организации, включая ресурсные возможности;

r политику организации в области охраны труда, включая обязательство по предотвращению несчастных случаев и профессиональных заболеваний;

Руководство, должно определять и документально оформлять программу улучшения условий охраны труда, уделяя внимание следующим действиям:

r подготовке программы улучшения условий и охраны труда;

r определению и приобретению необходимых средств управления, производственными процессами, оборудования (включая компьютеры, контрольно-измерительную аппаратуру), средств индивидуальной и коллективной защиты;

r разъяснению работникам степени соответствия рабочих мест установленным требованиям условий и охраны труда, а так же приобретению работниками навыков необходимых для достижения требуемого уровня безопасности труда;

r выяснению перспективных тенденций, включая оценку возможностей превышения организацией современного технического уровня обеспечения охраны труда;

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

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

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


Подобные документы

  • Подходы к созданию сайтов. Обоснование необходимости наличия персонального сайта компании ИП Тимонина Е.Н.. Структура, интерфейс, этапы создания сайта. Описание кода страниц. Создание web-страниц и наполнение их информацией. Верстка сайтов с чистым кодом.

    дипломная работа [1,5 M], добавлен 03.06.2015

  • Изучение различных систем управления содержимым, обеспечивающих доступ к информации в сети Интернет и удобное редактирование сайта. Разработка информационной структуры, дизайна и информационное наполнение web-сайта по теме "Экстремальные виды спорта".

    дипломная работа [2,6 M], добавлен 15.05.2012

  • Выбор инструментальных и программных средств для создания сайта. Структура программного продукта. Создание сайта при помощи программы WordPress. Тестирование разработанной программы. Разработка структуры и дизайна сайта. Наполнение сайта контентом.

    курсовая работа [1,0 M], добавлен 09.01.2014

  • Принципы построения распределенных информационных приложений. Распределенное трех уровневое приложение. Необходимость использования приложений в средней школе. Системы управления контентом для создания сайта. Анализ сайтов учителей начальных классов.

    дипломная работа [2,1 M], добавлен 26.05.2014

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

    дипломная работа [2,4 M], добавлен 27.10.2017

  • Особенности создания страниц на языке APS.NET, создание и формы обращение к базам данных. Интерфейс автоматического вывода определнного столбца базы данных в элементы управления. Структура базы данных, принцип работы страниц сайта, настройка приложения.

    курсовая работа [387,3 K], добавлен 02.03.2010

  • Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.

    курсовая работа [1,4 M], добавлен 24.12.2012

  • Сайтостроение. Классификация сайтов. CMS, выбор системы управления контентом для сайта. Регистрация домена, хостинг, размещение сайта в сети. VPS или виртуальный выделенный сервер. Поисковая оптимизация сайта. Файл robots.txt. Карта сайта sitemap.xml.

    курсовая работа [139,4 K], добавлен 18.02.2015

  • Обзор и анализ используемых технологий, содержания и дизайна сайтов ВУЗов, в том числе созданных на основе CMS. Исследование содержания сайта ПРИПИТ и информационных потребностей различных групп его потенциальных посетителей. Разработка дизайна сайта.

    дипломная работа [129,4 K], добавлен 11.03.2010

  • Разработка информационной структуры, дизайна и информационное наполнение web-сайта, который предоставляет сведения участникам турниров юных математиков. Создание анимированного баннера, логотипа, шаблона сайта. Обзор графического программного обеспечения.

    дипломная работа [3,2 M], добавлен 15.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.