Сабж. Для быстрого вылова наличия изменений для текущего пользователя. Чтобы вычислялось, например, при наличии в $arSelect => "UnviewedUpdatesCount".
Сейчас для этого нужны дополнительные операции, хотя всё вполне можно сделать одним SQL-запросом.
Спасибо разработчикам за новые "личные сообщения"! Растем!
Однако, предлагаю их немного доработать, беря пример со Skype, где предлагаемый мною функционал уже реализован.
Личные сообщения - это приватный способ общения, и, например, руководитель не хотел бы, чтобы какой-нибудь систадмин или хакер однажды увидел, ЧТО он (руководитель) обсуждает с коллегами в личных сообщениях. В связи с чем, предлагаю ввести функционал, позволящий удалять или не сохранять историю переписки или отдельные сообщения.
Накапливаясь, история переписки превращается в компромат на руководителя, посему, предлагаю сделать возможным удалять не только отдельное сообщение, но и полностью переписку с отдельным пользователем, и вообще - переписку полностью. Думаю, что руководители будут время от времени пользоваться этой возможностью, и будут благодарны разработчикам за нее...
Событие после подключения модуля - OnAfterModuleInclude.
Давно уже мучает такая мысль, что часто это было бы удобно для подключения своего функционала, связанного с модулем и местами позволило бы избежать лишнего кастома и замусоривания init.php.
Всё мучался мыслью а-ля module_epilog.php, но тут увидел предыдущую идею и подумал, что событие удобней.
Они должны вызываться для всех существующих init.php: общего и сайто-зависимых.
Зачем это необходимо добавление кода в init.php может преследовать две цели:
1. Добиться подключения кода на каждом хите т.е. расширение его области видимости. С последующим вызовом из произвольного места на сайте. Т.е. подключение кода и его вызов разнесены во времени исполнения страницы.
2. Добиться подключения кода и его работы непосредственно сразу после подключения.
В обоих случаях код добавляют руками. Если необходимо раздавать код, который работает по принципу 2 (подключили и тут же запустили) через маркетплейс, то это становится трудоёмкой задачей. Нужно писать инструкцию.
Пример такого кода - класс для логирования. Он обслуживает код, который уже исполняется в init.php, а обработчики событий ещё не начали работу. Посмотрите на .
В маркетплейсе появились решения которые уже дописывают свой код в хвост init.php я считаю, что обработчики решат эту проблему.
Добавлять строчку в шапку init.php с вызовом CModule::IncludeModule('MyModule');
Руками разработчика или скриптом считаю не очень хорошей идеей.
В модуле веб аналитики, в разделе поисковики, добавить аналитику по позиции (занимаемому месту) ключевого слова в поисковиках, (имеется в виду непосредственно место в поисковой выдаче с учетом регионов для яндекса) в виде рейтинга и графиков динамики изменения.
На текущий момент при регистрации новой задачи в крайний срок автоматически подставляется время 00:00:00.
Таким образом получается, что крайний срок задачи в списке задач будет выглядеть как "17 мая" однако 17 мая она уже будет просрочена. А если задача ставится как сегодня до конца дня? (почему-то таких задач много)
С точки зрения связки пользователей "начальник-подчиненный" это очень неудобно:
для начальника - у его подчиненных много просроченных задач, для подчиненных - они-то думали у них еще есть день.
Напоминание пользователям о том, что нужно установить не только день, но и время плохо действует - забывают, устанавливают не так.
Как я вижу - в параметрах для задач добавить "время устанавливаемое для крайнего срока по умолчанию" - 23:59:59, 18:00:00, и т. д.
Хотелось бы сделать расквающиеся списки с ограничителями (линиями), возможностью подставить к ссылке картинку и возможностью индексации поисковыми системами. Примерно как тут
Ниже пишу об уведомлениях, которые касаются задач. Хотя думаю, что применимы и не только к задачам.
Что говорят пользователи:
Возможность группировать уведомления, связанные с одной задачей.
С одной задачей произошло 6 изменений подряд. Пришло 6 писем на почту. На всплывающей панели - 6 новых сообщений.
Если задача не одна?
Доходит до того, что появляется 30+ сообщений и писем про 3-4 задачи. Текст уведомлений весьма похож и при просмотре большого их количества не удается понять, где и что случилось - проще зайти на страницу задачи и посмотреть.
Опять же, если посреди этих уведомлений есть некоторое "важное" сообщение, оно среди них теряется.
Хочется: 1 сообщение для каждой задачи, в котором как в истории высвечивается, что же сделали с задачей.
Опять же. Я думаю, что не только к задачам это относится.
Предлагаю добавить Планировщик событий в "Собрания и планерки" (так, как это реализовано в Календаре). Модуль "Собрания и планерки" очень полезен и удобен. НО: планируя собрание и выбирая участников не видно их занятость. Сейчас приходится делать двойную работу - сначала просмотреть через Планировщик в Календаре, затем вернуться к собранию. Или второй вариант - добавить в "Событие" в Календаре возможность создавать "Повестку" собрания со всеми его возможностями.
Понимаю, это вопрос уже поднимался, но всё же не могу не написать об этом вновь. Я предложил идею, которую сами же разработчики Битрикса описывали в качестве кастомизации. Причём ничего сложного там нет. Потому я и сделал предложение добавить это сразу в комплектацию. В итоге один такой "гуру" которому это не нужно, потому что скорее всего за подобные доработки он берёт деньги (иначе мог бы хоть коммент оставить а не прятаться) проголосовал "ПРОТИВ" и всех 4ёх кто проголосовал "ЗА" заминусил аж в -5?
Ну и что толку от этих ИДЕЙ если многим разработчикам (партнерам Битрикса) они даже на руку? А ведь здесь в большинстве своём пишут посты и сообщения в блогах и форумах как раз партнёры Битрикса, а не клиенты.
Предлагаю сделать XML экспорт решений из Маркетплейса для того, чтобы партнеры могли размещать решения на своих сайтах, а также легко импортировать лицензии в 1С. Ну и для других целей.
Предлагаю немного доделать встроенный механизм ЧПУ, так чтобы можно было выводить в ардесную строку разделы и подразделы элемента.
Пример:
#SITE_DIR#/news/[#SECTION_CODE_1#/[#SECTION_CODE_2#/[...]]]#ELEMENT_CODE#/