Контент-селекторы¶
Контент-селекторы позволяют определить содержимое, к которому пользователи будут иметь доступ.
Выбираемое содержимое оценивается с точки зрения поисковых запросов, написанных на языке CSEL (Content Selector Expression Language).
Выберите в меню пункт Управление, а затем подпункт Контент-селекторы.
На странице Контент-селекторы приведен список всех существующих в Системе селекторов. Каждый из них представлен в виде отдельной строки.

Для каждого контент-селектора отображаются:
- Имя селектора.
- Тип (CSEL).
- Описание селектора.
В столбце Действия в строке селектора расположены следующие кнопки:
- Редактировать конфигурацию селектора. С помощью этой кнопки можно изменить его параметры (Описание и Выражение).
- Удалить, предназначенная для удаления селектора.
Создание контент-селектора¶
Для добавления нового контент-селектора:
- На странице Контент-селекторы нажмите на кнопку Добавить контент-селектор.
- Укажите Имя селектора. Имя должно быть уникальным и может содержать только английские буквы, цифры, дефисы и точки.
- Введите Описание селектора.
- Задайте Выражение для создаваемого селектора, см. раздел «Выражения контент-селекторов».
- Нажмите на кнопку Создать контент-селектор.
Выражения контент-селекторов¶
Выражение контент-селектора является поисковым запросом с использованием синтаксиса CSEL.
Ниже приведены допустимые атрибуты контент-селекторов.
| Атрибут | Допустимые значения |
|---|---|
| path | Путь к содержимому в репозитории |
| format | Формат запрашиваемого содержимого |
Примеры контент-селекторов с регулярными выражениями (для Non-HA сборок)
Валидные операторы:
| Оператор | Описание | Пример |
|---|---|---|
| == | Точное соответствие тексту | format == "raw" |
| =~ | Соответствие регулярному выражению Java | path =~ "^/org/apache/commons/."* |
| =^ | Начинается с текста | path =^ "/com/example/" |
| аnd | Соответствие всем выражениям | format == "maven2" and path =~ "^/org/apache/commons/."* |
| or | Соответствие одному из выражений | format == "maven2" or format == "npm" |
| (expr) | Группировка нескольких выражений | format == "npm" or (format == "maven2" and path =~ "^/org/apache/commons/.")* |
Во избежание ошибок БД в регулярных выражениях диапазона версий следует избегать экранирования дефиса, например: path =~ "[0-9a-zA-Z\-_]".
Примеры использования:
- Выбрать контент формата raw:
format == "raw". - Выбрать все компоненты, расположенные по указанному пути:
path =^ "/org/apache/maven/". - Выбрать контент maven2 по пути, начинающемуся с /org/:
format == "maven2" and path =^ "/org".
При создании контент-селекторов необходимо помнить, что путь всегда будет начинаться со слеша, даже если он не отображается при поиске и просмотре.
Примеры контент-селекторов без регулярных выражений (для HA сборок)
Валидные операторы:
| Оператор | Описание | Пример |
|---|---|---|
| == | Полное соответствие тексту | format == "raw" |
| != | Не равно | path != "test.jar" |
| =^ | Начинается с текста | path =^ "/org/apache/commons" |
| аnd | Соответствие всем выражениям | format == "maven2" and path =^ "/org/apache/commons" |
| or | Соответствие одному из выражений | format == "maven2" or format == "npm" |
| (expr) | Группировка нескольких выражений | format == "npm" or (format == "maven2" and path =^ "/org/apache/commons") |
Операторы, которых следует избегать:
| Оператор | Описание | Пример |
|---|---|---|
| =~ | Соответствует шаблону регулярного выражения Java | path =~ "^/org/apache/commons/."* |
| \- | Экранирование дефисов в диапазонах версий | path =~ "[0-9a-zA-Z-_]" |
Примеры использования:
- Выбрать контент формата raw:
format == "raw". - Выбрать все содержимое maven2, путь к которому начинается с org.apa-che.commons:
format == "maven2" and path =^ "/org/apache/commons/".
При создании контент-селекторов необходимо помнить, что путь всегда будет начинаться со слеша, даже если он не отображается при поиске и просмотре.