Создаём простой личный сайт  /

Архитектура сайта

Всё это так, архитектура!
Вас от недуга излечу…
Песенка из к/ф «Собака на сене»


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

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

Входная страница www.vptimofeeva.name

Итак, прежде всего, мы желаем иметь такой тип контента, как «статичные статьи». Статичными мы их называем не в силу их незыблемости, а силу того, что каждая такая статья обычно имеет какое-то определённое место в иерархии всего сайта, узел в дереве его материалов.
Уже на данном этапе можно отследить разницу с организацией контента в Drupal-е (по крайней мере, каким она была года три назад, и, возможно, также и в иных CMS):
— в Drupal-е статья принадлежит какому-либо разделу (словарю) либо нескольким разделам, причём эти разделы сами по себе пусты, как, например, ящичек в библиотечном каталоге — он может иметь маркировку и место, но не содержать карточек. Ещё это похоже на файловую систему — каталоги и файлы. Или на дерево — ветви и листки.
— в DokuWiki контент организован в дереве страниц, т.е. у каждого тематического раздела имеется Стартовая, корневая, страница, от которой начинаются все иные страницы. Пусть даже эта стартовая страница не содержит ничего, кроме списка своих дочерних страниц — тем не менее, даже этот список существует как содержание. Это похоже на сложную ветвящуюся цепь, где каждое звено — страница.
Впрочем, эти тонкости не совсем важны на данном этапе.

Таким образом, мы стараемся заранее продумать основные разделы нашего сайта и простраиваем его со стартовой, Входной, страницы (что, разумеется, нисколько не запрещает нам в дальнейшем добавить новые разделы либо перестроить эту структуру). В нашем случае мы начнём от Входной разделы «Статьи» и «Макеты», в которых будут, соответственно, написанные статьи и сделанные макеты книг.

Страница со стихотворением и видео на www.vptimofeeva.name

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

Прекрасно. Чего мы можем пожелать ещё?
Хорошо бы иметь возможность вносить в тело страницы какие-либо скрытые от читателя комментарии — например, заметки для себя же на будущее, либо для возможных соавторов и редакторов.
Можно добавлять на страницы видеоролики — например, с youtube.com. (Кстати, очень полезно параллельно собственному проекту завести под проект аккаунт на Google — это даст «проектную» почту, фотоальбом, видеоканал, новостной блог, рекламу, календарь и, возможно, какие-то ещё не используемые нами фишки.)
Совершенно необходим механизм ключевых тем, слов, меток — тегов, указывающих на тематическую принадлежность статьи. И можно добавить облако тегов — т.е. графическое выражение популярности тем.
Следует обеспечить обратную связь с читателями — например, дать возможность комментировать статьи. Причём, важна защита от спамеров и роботов.
Кроме статичных, тематических страниц, хорошо бы завести блог — т.е. постить календарные, событийные записи и размышления. Разница со страницами заключается в том, что страница посвящена теме и может иметь несколько авторов, а блоговая запись обычно привязана к дате и имеет одного автора.
Может быть, оказался бы полезным вывод последних опубликованных и отредактированных материалов.

На оформлении сайта мы пока что не станем сосредотачиваться — это станет уже третьим шагом после формирования функциональности и заполнения контентом.

Вот такая вот архитектура.
Подробности мы рассмотрим далее.

Скриншоты в данной статье с уже действующего нашего сайт на DokuWiki — www.vptimofeeva.name, но учиться мы будем на примере иного проекта.
0 комментариев