Базы данных являются одной из самых мощных и гибких возможностей в приложении Страницы. С помощью некоторой конфигурации и настройки, они позволяют вам создавать комплексные области на ваш сайт.
Базы данных, как следует из названия, предназначены для хранения данных и отображению их пользователям. Это может быть проста база, например таблица записей, содержащих название и контент, что-то подобное записям блога, либо комплексная база, отображающая множество различной информации, например полей данных. Возможности безграничны.
Особенности баз данных в Страницах
Поиск
В IPS4 по умолчанию можно производить поиск информации по базам данных (вы можете исключить любую базу из поиска, если желаете). Каждая база данных рассматривается как отдельная область вашего сообщества, поэтому доступна в форме поиска как отдельный элемент, такой же, как приложение Форумы, например.
Поиск по базе данных
Системные возможности
Приложение Страницы предоставляет базам данных широкий ряд возможностей системы, которые даже самую простую базу данных делают многофункциональной и хорошо интегрированной с вашим сообществом. Например, вы можете включить для любой базы данных возможность комментировать записи и оставлять к ним отзывы. Пользователи также могут подписываться на категории и отдельные записей для получения уведомлений о новом контенте. Социальные возможности, такие как репутация и возможность поделиться контентом в социальные сети, также доступны для записей баз данных. Тегирование и набор модераторских возможностей тоже применимы к каждой записи и поддерживаются что называется "из коробки".
Редактирование в Wiki-стиле
C точки зрения добавления/редактирования записей, базы данных в приложении Страницы ведут себя точно так же, как и другие приложения Invision Community; а именно, когда пользователь добавляет запись, он считается её 'владельцем'. Тем не менее, базы данных имею возможность редактирования записей в стиле wiki, в результате чего любой пользователь сможет редактировать записи после их создания.
Редактирование в wiki стиле
Хранение изменений
Базы данных также поддерживают хранение копий записей. Это значит, что при каждом изменении записи, сохраняется её предыдущая версия, доступ к которой можно получить позже. Вы также можете вернуться к более ранней версии записи, если в этом есть необходимость.
Интеграция с форумами
И, наконец, базы данных имеют специальную интеграцию с приложение Форумы. При создании новой записи в базу данных, IPS4 может одновременно разместить запись как тему в выбранном вами форуме. Но это ещё не всё, вы можете использовать тему форума в качестве комментариев к записи, вместо стандартного интерфейса комментирования.
Публикация темы в форуме при публикации записи в базу данных
Из чего состоит база данных
База данных состоит из нескольких ключевых компонентов:
-
Сама база данных
Естественно, вам нужно создать саму базу данных. Здесь можно настроить параметры, влияющие на базу данных в целом, например сортировка записей, отзывы, разрешения и так далее. -
Категории
Если ваша база данных использует категории (вы можете их не использовать), они добавляют другой уровень структуры и другие разрешения. -
Поля
Вы можете создавать дополнительные поля для всех видов данных, которые могут понадобиться для вашей базы данных. IPS4 поддерживает множество различных типов полей, от простого текстового поля, до полей загрузки файлов и полей связи с другими базами данных. -
Шаблоны
Шаблоны позволяют вам настроить отображение базы данных. Стандартные шаблоны уже есть в IPS4, и если вы не знакомы с кодом, вы можете воспользоваться именно стандартными шаблонами. Для тех, кто с кодом знаком, редактирование шаблонов это лучший способ построить сложное и комплексное приложение.
Структура URL адресов базы данных
Базы данных существуют внутри созданной страницы. Отдельные категории и записи в базе данных доступны через URL адрес страницы, на которой расположена базы данных. Например, если у вас есть страница с URL адресом <site.ru>/моястраница и эта страница содержит вашу базу данных, вы можете получить доступ к записям вашей базы по следующему URL адресу <site.ru>/моястраница/категория/запись, где 'категория' является названием категории записи, а 'запись' соответственно названием записи. Эти URL адреса будут динамически обновляться, если вы переименовали вашу страницу или переместили базу данных на другую страницу.
Для обеспечения такой структуры, каждая база данных может быть расположена только на одной странице. Они не могут быть продублированы на других страницах (хотя вы можете создавать блоки, содержащие данные из базы данных, и размещать их на любых других страницах).
Дополнительные поля
Более продвинутые виды использования баз данных требуют для достижения своих целей дополнительные данные. Для сбора и хранения этих данных создаются дополнительные поля. Они создаются в админцентре и когда пользователь добавляет новую запись в базу данных, поле отображается в форме её создания.
IPS4 поддерживает широкий диапазон типов полей, что легко позволяет собирать данные определенного типа. Поддерживаемые типы полей:
-
Адрес
Добавляет специальное поле адреса с автозаполнение. -
Чекбокс
Единичная кнопка выбора. -
Набор чекбоксов
Набор из нескольких кнопок выбора. -
Код
Поле ввода кода с определением и подсветкой синтаксиса. -
Дата
Поле даты с возможностью выбора. -
Редактор
Текстовый редактор WYSIWYG. -
Связь с базой данных
Расширенный тип поля, позволяющий связывать записи из других баз данных. -
Пользователь
Обеспечивает формой поиска поля с автозаполнением. -
Число
Поле ввода чисел (на устаревших браузерах представляет собой текстовое поле, но с проверкой ввода). -
Пароль
Поле ввода пароля. -
Радиокнопка
Групп радиокнопок (то есть можно выбрать только один из вариантов). -
Окно выбора
Выпадающее меню с указанными пунктами (есть возможность выбора нескольких пунктов). -
Soundcloud
Поле встраивания музыки с сервиса Soundcloud. -
Spotify
Поле встраивания музыки с сервиса Spotify. -
Номер телефона
Поле ввода номера телефона (в устаревших браузерах отображается как простое текстовое поле). -
Текст (по умолчанию)
Одностроковое текстовое поле. -
Текстовая область
Многострокове поле ввода текста. -
Загрузка
Поле загрузки файла. -
URL
Поле ввода URL адреса (в устаревших браузерах отображается как простое текстовое поле с проверкой формата URL). -
Да/Нет
Поле переключения, который может принимать положительное или отрицательное значения. -
YouTube
Поле встраивания видеоролика с YouTube.
Многие из этих типов полей имеют дополнительные параметры, специфичные для них. Например, окно выбора имеет настройку, позволяющую выбор нескольких значений, в свою очередь поле загрузки файла имеет настройку, позволяющую загружать сразу несколько файлов, а также настройку, разрешающую загрузку файлов с определёнными расширениями.
Форматирование поля
Поля могут иметь автоматическое форматирование, примененное к ним. Для тех, кто не знаком с кодом, доступны для выбора разноцветные бейджи, и вы можете контролировать расположение полей в списке записей и при просмотре записи. Для знакомых с кодом пользователей, вы можете полностью контролировать отображение полей с помощью HTML кода включая логику шаблонов IPS4. Это означает, что у вас есть возможность использовать данные, хранящиеся в IPS4, для каждого поля некоторыми очень интересными способами - например, вы можете взять данные из поля Адрес и использовать их в шаблоне для отображения карты Google Maps, или создать несколько полей, но не отображать их для пользователей, а использовать их для создания макета шаблонов записи. На самом деле вариантов использования очень много, зависит от вашего воображения.
Разрешения
На базы данных влияют следующие виды разрешений:
-
На уровне страниц
Поскольку страницы имеют свои собственные настройки разрешений, если пользователь не имеет прав на просмотр страницы, он также не сможет увидеть базу данных на этой странице. -
На уровне базы данных
Права доступа могут быть установлены на уровне базы данных, которые формируют разрешения по умолчанию для категорий в этой базе данных. -
На уровне категорий
Категория может переопределить доступы уровня базы данных и установить свои собственные права. Это полезно для скрытых категорий - например предназначенных для модераторов или пользователей с премиум доступом.
Управление базами данных
Управление базами данных производится на странице Страницы > Контент > Базы данных в вашем админцентре. На этой странице вы увидите список существующих баз данных и выпадающее меню для управления ими.
Добавление записей в базу происходит с помощью иконки , либо на сайте на странице, на которой расположена база данных. Таким образом для добавления записей пользователем не нужен доступ в админцентр.
Создание баз данных
Чтобы создать базу данных, нажмите кнопку "+ Создать". После этого вам будет предложено выбрать создание новой базы данных, либо загрузить .xml файл базы. Мы остановимся на создании новой.
Детали
Здесь расположены основные настройки базы данных. В нижней части вкладки вы можете выбрать шаблоны, которые будет использовать база. Вы можете создать собственные шаблоны и переназначить их позже.
Язык
На вкладке Язык, вы можете установить слова, которые будут использоваться для обозначения записей в этой базе данных (вместо общего термина 'записи'). Например, если вы создаёте базу данных для документации, эти слова будут означать, как IPS4 будет обращаться к вашей базе данных в контексте, например "Поиск документов", "В этой базе данных 5 документов" и "Создать новый документ".
Параметры
Эта вкладка позволит вам активировать возможность комментировать записи, оставлять отзывы, разрешить указание тегов, включить режим wiki-редактирования (о котором мы писали выше). Здесь же доступны настройки сортировки, позволяющие указать порядок сортировки записей, и, что немаловажно, выбрать поле, по которому будет производиться сортировка. Например, если у вас есть база данных, содержащая записи о динозаврах, вы можете настроить сортировку по полю Эра (предварительно создав это поле). Вы можете вернуться к настройке сортировки после создания всех необходимых полей.
Форум
Эта вкладка настраивает интеграцию с форумом, как мы рассказывали выше (категории могут переназначать эту настройку).
Страница
Так как база данных размещается на странице, вы можете с лёгкостью создать её на этой вкладке, как часть процесса создания базы данных. Кроме того, вы можете добавить её на другие существующие страницы позже.
Добавление базы данных на страницу
Если вы не создали страницу в процессе создания базы данных, вы можете сделать это вручную с помощью специального тега. На вкладке Детали при создании базы данных, вы указали её ключ в поле "Ключ базы данных". Данный ключ используется как раз для вставки базы на страницу, например, если ключ вашей базы mybase, тег будет выглядеть следующим образом:
{database="my-database"}
Как уже упоминалось выше, база данных может быть размещена только на одной странице; вы не должны использовать этот тег для размещения базы на нескольких страница, во избежание ошибок.