Проверка возможности применения
Некоторое конкретное расширение не всегда может быть применено к некоторой конкретной конфигурации. Например потому, что оно само по себе содержит ошибки в модулях. Или потому, что не совпадают значения контролируемых свойств заимствованных объектов.
Первая проблема легко решается ещё до запуска с помощью проверки модулей расширения. А вот о второй проблеме вы могли узнать только после запуска приложения и подключения расширения. Если в этот момент что-то не так с объектами, к которым выполняется обращение, то платформа сообщала об этом и не подключала расширение.
Для того чтобы снизить трудоёмкость разработки расширений, мы проанализировали сложившуюся ситуацию, немного изменили поведение системы, и реализовали ряд проверок.
Теперь новые средства диагностики позволят вам проверить применимость расширений ещё до их реального запуска вместе с конфигурацией.
Добавление собственных ролей
Раньше существовала возможность изменять роли типовой конфигурации, заимствуя их и добавляя в них объекты, созданные в расширении. Теперь в расширениях вы можете создавать собственные роли.
Мы видим два основных сценария использования собственных ролей. Во-первых, они могут потребоваться для создания атомарных или комплексных наборов прав на те объекты, которые расширение привносит в конфигурацию. Без какой-либо привязки к уже существующим в конфигурации ролям.
Во-вторых, с их помощью можно создавать атомарные или комплексные наборы прав на объекты конфигурации, которые учитывают специфику доработки.
Роли, созданные в расширениях, вы можете добавить пользователю только программно. Например, таким образом:
Пользователь, роли которого дополнены расширением, отображается в конфигураторе со специальным новым значком.
В конфигураторе вы можете удалить роли пользователя, которые добавлены ему расширениями. Но не по-одиночке, а только все вместе. Для этого у пользователя на вкладке Прочее появился пункт Роли, добавленные расширениями конфигурации. Для удаления ролей нужно снять отметку с этого пункта.
Если добавившее роль расширение в какой-то момент перестаёт проходить проверку применимости и становится неактивным, то роль, добавленная из него, продолжает быть доступной через коллекцию РолиПользователя как обычный объект метаданных. С помощью встроенного языка вы можете удалить её из ролей пользователя, или добавить в набор ролей другого пользователя.
Если же вы удаляете расширение, то все добавленные им роли также удаляются из списков ролей пользователей.
Описание
Доступно в версии ZennoPoster 7.3.1.0 и выше.
Профиль-папка — это альтернативный способ сохранения профиля, отличающийся от привычного сохранения профиля в файл. Она нацелена решить такие проблемы, как:
Целостность профиля
При сохранении в файл, в случае ошибок инстанса, профили могли оказаться “битыми”. Профиль-папка должна решить эти проблемы — при старте проекта вы запускаете инстанс и указываете ему использование определенной профиль-папки. Во время работы инстанс сохраняет часть данных в профиль-папку без вашего участия, как это делает обычный браузер. И если инстанс испортится, данные останутся в папке. Автоматически сохраняются такие данные инстанса, как:
-
Cookie
-
Local Storage
-
HSTS Super Cookie
-
Indexed DB
-
Всё, что относится к браузер-профилю (UserAgent, Accept, Accept-Language). Теперь к браузер-профилю также относятся шрифты, плагины, часовой пояс, геопозиция и WebRTC, поэтому их сохранение так же происходит автоматически.
Единственные вещи, не сохраняемые автоматически — это Proxy и переменные (для их сохранения нужно вызывать специальный экшен, см. )
Быстрая загрузка и сохранение
При работе с файлом, при длительном использовании, размер файла мог увеличиваться, что приводило к увеличению времени загрузки и сохранения. Профиль-папка хранит данные в нескольких файлах, и в момент записи затрагивает только нужные из них. Это работает намного быстрее.
В отличии от профиль-файла, профиль-папку нельзя загрузить при помощи действия “Операции над профилем“. Чтобы использовать профиль-папку, необходимо в начале проекта запустить инстанс с указанием нужной профиль-папки, и далее инстанс будет как-бы “привязан” к этой профиль-папке во время работы. Подробнее см. примеры ниже.