Нам часто требуется не просто дать пользователю укрупненно доступ к экранам просмотра перечня сущностей, а сразу разделять все это на более узкие потоки, в зависимости от стадии обработки той или иной сущности и прочих условий.
Не просто единая точка в хода на экран “Все заказы”, и дальше пусть уточняется фильтрами, а сразу делить на подпотоки: “Заказы созданные мной”, “Заказы от моих клиентов”, “Срочные” и т.п.
И тут для нас ОГРОМНЫЙ плюс папок приложения в том, что они позволяют такое деление не “хардкодить”, а легко изменять и дополнять на внедрении или в процессе эксплуатации. Вплоть до “эксклюзивных” папок для отельных пользователей в зависимости от их стиля работы или процессов, в которых они участвуют.
Сейчас создание логики отбора в папку приложения вполне может создать и сам пользователь. А за техническим специалистом остается только (при необходимости) назначить скрипт видимости и скрипт подсчета количества элементов в папке.
У папок поиска плюсы аналогичные, но на сегодня, в нашей практике это более редко используемая фича.
Кстати, еще у нас достаточно востребованы Наборы и их я тоже не увидел в Jmix.
В приложениях вокруг работы с разного рода документами, задачами, заказами, заявками - частая потребность пользователя - искать сущности по разным критериям и “откладывать” их в некие “Папки-подборки” для временного использования.
Чего не хватает папкам приложения Куба:
- Штатного компонента для их отображения в SideMenu.
SideMenu сейчас используется Очень часто и штанная панель папок (App filders) при таком варианте меню никуда не вписывается.
Мы для себя решили, что штанная панель папок - это средство для администратора приложения, где он может эти папки структурировать, навешивать скрипты и т.п. Показываем ее только для администратора.
А для пользователей отображаем папки приложения в SideMenu “в рукопашную”.
- Хотелось бы иметь еще одну реализацию
FoldersBean#openFolder
с возможностью прокинуть в открываемый экран свои дополнительные параметры. Не очень часто, но это требуется.
- Порой сильно ограничивает то, что скрип количества в папке приложения должен вернуть только числовое значение. Хотелось бы из скрипта возвращать String.
Примерно в половине случаев пользователю хочется видеть рядом с названием папки не только общее число элементов в ней, а еще и сколько их этих элементов имеют статус “срочно” или сколько из них “не прочитаны”. И чтобы отображалось это примерно так: “Заказы 10/3”.
На “бейдже” рядом с пунктом SideMenu мы так отобразить надпись можем, а штатно скриптом количества папки сформировать эту надпись сейчас не получается.
- Полностью разделить фильтр отбора в папку от прочих фильтров, создаваемых на экране.
Попробую описать в чем идея и в чем есть проблема в текущей реализации…
Сейчас папка приложения хранит в себе обычный фильтр отбора сущностей в папку.
Визуально его можно не отображать на компоненте Фильтр, подняв на условии фильтра флаг “скрытый”.
Изменить фильтр/критерии отбора в папку обычный пользователь не может, если нет на это специального права.
А при открытии папки приложения по факту открывается экран browse для сущности и “под капотом” в фильтр на экране назначаются критерии отбора, хранящиеся в настройке папки приложения.
Таким образом, для пользователя папки - это “магия”. Кликает по папке и открывается экран с сущностями, отобранными по каким-то критериям, детали которых простому пользователю часто знать не надо, это определено настройкой приложения (администратором).
Проблема текущей реализации всплывает в сценарии, когда пользователи, работающие с папками приложения, пытаются дополнительно фильтровать записи в папке.
Например, есть в экземпляре приложения некая настроенная для всех папка: “Задачи, назначены мне”.

Работают пользователи с ней и не задумываются о том, откуда магия отбора записей в папку. Критерии фильтра отмечены как скрытые и в обычной работе пользователь их не видит.
Но вот если кому-то часто требуется дополнительно фильтрануть записи в этой папке, то пользователь добавляет свое условие отбора и сохраняет фильтр для себя (“сохранить как” в элементе Фильтра).
Потом ему требуется отредактировать свои условия, он идет в “Редактирование” в фильтре и тут он видит кроме своих критериев, которые он недавно сам добавил, какие-то еще неведомые и ранее невидимые для него условия (те самые, заданные администратором при настройке папки).

Скрыть их тут от пользователя нельзя, и запретить ему удалить эти “непонятные” условия - тоже нельзя.
Удаление таких “системных критериев” папки полностью нарушит отбор записей.
Для пользователя это Очень неочевидно:
- Открыл папку приложения (как-то туда нужные записи отбирается)
- Добавил свои критерии отбора, сохранил свой фильтр в папке - все отбирается как надо
- Открыл редактирование фильтра, нашел какие-то “не мои критерии”, удалил их, снова сохранил свой фильтр.
- Открываю папку приложения - вижу стандартно отобранные записи папки. Потом выбираю свой сохраненный фильтр, ожидаю, что к видимому набору записей применится мой фильтр, но “вдруг вижу что попало”.
Поэтому хорошо бы иметь штатную возможность скрыть фильтр отбора записей в папку приложения от всех пользователей, у кого нет права создания/редактирования папок приложения. Или еще один чек-бокс на условиях фильтра типа “системный”.
Такие условия скрывать в редакторе фильтра от обычных пользователей без специфичного права.
А если пользователь без специфичного права создает на экране свои дополнительные условия отбора и сохраняет их, то сохранять именно эти условия (без системных/скрытых от пользователя).