Идеи пользователя 203730

Рейтинг: 1.998  
Новая
Предложил Пользователь 203730 02.02.2017 11:56:25

Давать руководителю записывать в задачу время, потраченное подчиенным

Вот тут https://www.evernote.com/l/AS_VfVvl70xF97hUM2gSVgZCSdSXM-b8Aeo и аналогично черзе API.

Кейс: провели мозговой штурм, я иду и 1 за всех кто в нем учавствовал записываю время.
Рейтинг: 0.5372  
На голосовании
Предложил Пользователь 203730 28.03.2016 16:05:15

Добавить колонку "активность" в затраченное время

Есть необходимость учитывать не все рабочее время которое сотрудник потратил на задачу.
Например, сотрудник делал задачу 10 часов из которых 2 это такие виды работ, за которые компания не берет деньги (или внутренняя планерка).

Очень хочется помечать рабочее время как активное/неактивное или "подтвержденное/неподтвержденное"
И как штрих к портрету - чтобы "потрачено времени на задачу" считалось только по активным записям
Рейтинг: 2.2696  
В работе
Предложил Пользователь 203730 11.09.2015 09:46:42

Конструктор контента выпуска вместо виз. редактора

Проблема: для наполнения текста рассылки модуль sender предлагает использовать виз. редактор.
Чтобы сделать красивую рассылку нужно использовать сниппеты или "почтовые блоки".

Но и те и другие подразумевают наличие верстки с большим количеством вложенных тегов (даже картинку по-хорошему нужно оборачивать в таблицу).
Так вот когда обычный (без образования программиста) маркетолог пытается это все делать - получается не очень. В смысле одно неосторожное движение и пара нужных тегов удаляется.

При этом маркетологи знают такой хороший инструмент как MailChimp (а точнее конструктор в нем). Где любой блок который кладется только в заранее разрешенные места. Плюс любой блок сам содержит перечень мест в которые можно класть другие блоки.

Было бы неплохо если бы виз. редактор тоже такое поддерживал: метки /начало дочернего блока/ и /конец дочернего блока/ и чтобы никуда кроме этих меток ничего вставлять и писать было нельзя
Рейтинг: 0.2549  
Ответил 14.09.2015 12:06:01
Алексей спасибо за идею, работа в этом направление идет уже полным ходом. Планируем выпустить в осеннем релизе.
Рейтинг: 2.4594  
На голосовании
Предложил Пользователь 203730 07.07.2015 11:07:53

Кнопка "Повторить отправку" для выпусков рассылок

При первой же более-менее серьезной рассылке столкнулись с тем, что хостер убивает отправку если шлется более 1000 писем в час (таймвеб).

См. количество ошибок


Настройки потом подкрутили, но тот выпуск который был с ошибками завис в воздухе. Пришлось изобретать костыли.

Очень нужна кнопка "Повторить отправку" для повторного отправки выпуска по тем адресам на которые первый запуск не сработал.
Рейтинг: 0  
Ответил 27.07.2015 13:26:10
Спасибо за идею, пометил себе, подумаем!
Рейтинг: 5.0167  
В работе
Предложил Пользователь 203730 07.07.2015 10:54:49

UTM-метки в рассылках модуля Email-маркетинг

Маркетологи помимо статистики выпуска в админке хотят еще и отслеживать эффективность рассылок (достижение целей теми кто перешел с рассылки) в метрике/аналитике.

Для этого им позарез нужны UTM-метки в ссылках. При текущей реализации сбора статистики это вроде бы даже несложно сделать.
Сейчас каждая ссылка в письме имеет вот такой вид: http://www.intervolga.ru/bitrix/tools/track_mail_click.php?tag=sender.eyJS...&url=http...ii%2F%3Fbx_sender_conversion_id%3D30
После перехода по этой ссылке происходит редирект на основной URL. И было бы просто замечательно если бы редирект (в зависимости от настроек выпуска) делался на URL + UTM-метки.

Например, вот такие <Исходный URL для редиректа>?utm_source=НазваниеРассылки& utm_campaign=НазваниеВыпуска&utm_medium=email&utm_term=IdПодписчика
Рейтинг: 1.127  
Ответил 27.07.2015 13:27:34
Спасибо за идею, учтем!
Рейтинг: 9.3132  
На голосовании
Предложил Пользователь 203730 24.12.2014 00:43:39

Больше DDL в ORM: синхронизация изменений модели в таблицу БД

ORM это хорошо. Он призван избавить разработчика от написания SQL.
Так вот если с DML сейчас все как-то более-менее устаканилось, то в DML еще можно многое улучшить.

Вот мы с Вами выпускаем решения в маркетплейс, описываем table-сущности. А таблички в БД как создаем? Через выполнение SQL из файла install.sql в модуле. А кто позвольте спросить пишет все 3 install.sql - под Oracle, MS Sql, MySql - предположу что никто.

А в ORM уже между прочим есть такая вот возможность:
\Intervolga\MyModule\MyTable::getEntity()->createDbTable();
При выполнении данного кода будет прочитано все что вы написали в методе getMap, сгенерирован SQL под текущую базу данных, создана табличка в БД. с нужными полями.

Есть также много отдельных полезных методов у Application::getConnection(): проверка наличия/создание индексов например.

Вот только для нормальной разработки этого мало. Чтобы это по-настоящему заработало сейчас очень не хватает (лично мне) нескольких вещей:
  1. Возможности при описании полей Table-класса указать что на конкретное поле нужно поставить индекс (естественно я хочу чтобы упомянутый выше метод createDbTable этот признак понимал)
  2. Одного мега-метода который приведен таблицу БД в соответствие с описанием сущности (создаст таблицу если ее нет, удалит лишние поля, создаст недостающие, изменит параметры поля - varchar(10) -> varchar(20), проверит все ли индексы созданы).
Представьте насколько проще будет делать модули с 5-10 таблицами. А уж насколько проще будет делать обновления затрагивающие структуру таблиц я вообще молчу (а вы вспоминаете про 3 базы данных...).
Рейтинг: 5.0047  
На голосовании
Предложил Пользователь 203730 08.12.2014 23:58:06

Пользовательское свойство "Строка": указание размера и возможность его изменения

С появлением Highload-блоков и вероятности появления десятков миллионов записей в HL-блоке хочется нормального свойства типа "Строка".

Этому (нормальности) мешает:
1. Невозможность указать допустимый размер свойства "Строка"
Когда вы создаете пользовательское свойство типа "Строка" - отрабатывает класс \CUserTypeString который создает колонку в базе данных по принципу:
switch(strtolower($DB->type))
{
   case "mysql":
      return "text";
 case "oracle":
      return "varchar2(2000 char)";
 case "mssql":
      return "varchar(2000)";
} 
Т.е. даже если вы захотите хранить строку длиной 20 символов - все равно получите в разы больше.

Кроме того типовое свойство "Строка" как вы сами можете увидеть не позволит хранить более 2000 символов в Oracle и MS SQL. А ведь есть соответствующие типы.


2. Это можно было бы исправить если бы было событие OnAfterUpdate в классе CAllUserTypeEntity - но его нет. Так что даже в собственном типе свойства не получается невозможным сделать alt er   table.


Хочется обратить внимание разработчиков 1С-Битрикс на комментарий в файле /bitrix/modules/main/classes/general/usertype.php на строке 563:
* Надо сказать, что для скорейшего завершения разработки было решено пока не реализовывать такую же гибкость как в инфоблоках (обойдемся пока без alter'ов и прочего).


Может пора вернуться и доделать те самые alter-ы и прочее (события)?
Рейтинг: 60.2055  
На голосовании
Предложил Пользователь 203730 08.07.2014 16:08:39

Массовые Update и Delete в ORM

В настоящий момент ORM поддерживает только Update/Delete по первичному ключу.

В результате если вам нужно удалить 10000 из 1 миллиона при определенном условии приходится или писать говнокод (перебор в цикле, а при указанных объемах это уже пошаговый процесс) или писать говнокод (sql-запрос ручками с поддержкой 3х баз даных).

В общем даешь методы bulkUpdate и bulkDelete которые смогут:
а) обновлять/удалять записи по условиям а не по ключам
б) смогут использовать в запросах свои же поля (например, увеличить значение целочисленного поля НА 1, т.е. SET x = x + 1)
Рейтинг: 17.0633  
На голосовании
Предложил Пользователь 203730 03.06.2014 15:49:06

Определение .1c-bitrix-cdn.ru как CDN

Есть вот такой замечательный сайт http://www.webpagetest.org для оценки скорости загрузки сайта. В том числе он оценивает использует ли сайт CDN.

Этот сайт построен на открытом проекте https://github.com/WPO-Foundation/webpagetest
Используется ли CDN или нет определятся по массиву известных CDN https://github.com/WPO-Foundation/webpagetest/blob/master/agent/browser/ie/pagetest/cdn.h

Так вот к чему я это все: было бы круто если бы .1c-bitrix-cdn.ru попал в этот список.

Рейтинг: 18.9272  
На голосовании
Предложил Пользователь 203730 27.05.2014 16:37:44

Долой BX.core, BX.ajax из зависимостей композитной технологии

Если кто-то не заметил, то когда вы включаете композитный сайт автоматически в зависимости каждой страницы добавляются js-библиотеки BX.core, BX.ajax даже если вы их нигде больше не используете.

Почему добавляются понятно - нужно делать ajax-запросы к теневой странице. Но очень напрягает что ускорение за счет быстрой отдачи страницы смазывается загрузкой дополнительных ~150 кБ javascript.
Мне не жалко, вот только на мобильных (а мы помним что композит позиционируется как ускорение и для мобильников в особенности) загрзка и интерпретация этих лишних килобайт скриптов займет много времени.

Это все происходит при том, что на 99% сайтов используется jQuery. А если она уже загружается - почему бы не использовать ее? Битриксу переписать js-заглушки проще и правильнее чем заставлять каждого верстальщика учить BX и не использовать jQuery.

Суть идеи в том, чтобы в настройках модуля композитного сайта появилась настройка "Какую JS-библиотеку использовать для заглушек": BX / jQuery
Рейтинг: 36.1092  
На голосовании
Предложил Пользователь 203730 27.05.2014 16:30:27

Сделать, чтобы версию jQuery-библиотеки в ядре продукта можно было выбирать

Битрикс регистрирует через CJSCore::RegisterExt библиотеку jquery. Соответственно ее можно и нужно использовать как зависимость во всяких component_epilog-ах и своих JS-библиотеках черзе CJSCore::Init

Говорить о том, что наврядли найдется сайт не использующий jquery, думаю не нужно.
Однако jQuery развивается и хочется идти вногу со временем. А для этого нужно периодически обновлять в ядре версию jQuery.

Никакое общение с техподдержкой и просьбы обновить jquery в ядре с версии 1.8 до более свежей естественно ни к чему не привели. Да и учитывая обратную совместимость наврядли коллеги захотят это делать (обновлять).

Ввиду этого - идея: всегда распространять с ядром все версии jQuery (хотя бы с точностью до второго числа версии) и дать возможность выбирать в настройках сайта/главного модуля какую версию регистрировать в CJSCore::RegisterExt под именем 'jquery'
Рейтинг: 25.0266  
На голосовании
Предложил Пользователь 203730 21.05.2014 13:31:55

Сделать аналог метода MoveJSToBody для перемещения скриптов шаблона и страницы (компонентов) в конец body

По мотивам обсуждения http://habrahabr.ru/company/bitrix/blog/221805/#comment_7561303 хочется чтобы соответствующие методы были сделаны.

Это позволит оптимизировать скорость загрузки страницы и исправить замечание "Удалите код JavaScript, препятствующий показу страницы" замечательного софта PageSpeed Insights от гугла, который показывает где на странице проблемы в клиентской оптимизации

В общем очень ждем методы
  • MoveTemplateJSToBody
  • MovePageJSToBody
Рейтинг: 15.429  
На голосовании
Предложил Пользователь 203730 27.03.2014 12:35:31

Нужен аналог функции strip_tags для сео-модуля

Часто бывает удобно добавлять через новые сео-возможности битрикса анонсное описание элементов в description/keywords

Однако анонсное описание почти всегда набрано в режиме HTML.

В результате получаются валидные, но не красивые описания - с отображением тегов

Очень нужна функция с поведением strip_tags для ее использования при формировании метасвойств!
Рейтинг: 17.6473  
На голосовании
Предложил Пользователь 203730 13.02.2014 09:45:00

Переделать самые популярные компоненты на классы

Битрикс анонсировал что можно компоненты писать как классы - с наследованием.
Это все хорошо, но разработчики чаще не пишут новые компоненты а кастомизируют существующие.
Чем раньше появятся компоненты catalog.* и news.* переделанные на классы тем раньше повысится производительность программистов.
Рейтинг: 0.6393  
Ответил 21.03.2014 20:00:34
Сделаем первый пример в 4 компонентах магазина, чуть позже в статье я напишу какие это компоненты.

Закрою данную идею как решенную, так как мы сами заинтересованны в этом и уже начали работу в данном направление.  
Рейтинг: 14.443  
На голосовании
Предложил Пользователь 203730 05.12.2013 10:19:51

Морфология в модуле "Поисковая оптимизация"

Очень не хватает минимальной морфологии при задании title/description/keywords через новый модуль поисковой оптимизации. Нужна возможность переводить названия (в частности разделов) в единственное/множественное число и склонять по падежам русского языка
Рейтинг: 42.099  
На голосовании
Предложил Пользователь 203730 05.07.2013 13:15:58

Отправлять в CDN сжатые копии файлов

Суть проблемы я описал в блоге http://dev.1c-bitrix.ru/community/webdev/user/203730/blog/7949/
На основе информации из данного обращения была создана заявка в отдел разработок. Номер обращения в разработку: 40808.

Если коротко, то суть в том, что на CDN отправляется статика типа styles.css, а сжатые копии styles.css.gz - нет.

Поэтому при включении CDN браузеру приходится скачивать больше несжатых файлов.