Описание новых АПИ функций не сразу появляется в документации. Есть объективные причины, почему это именно так, мне не хочется сейчас лишний раз перетирать вопрос снова. Между тем, сам не испытываю на этот счёт никаких проблем: при наличии исходников можно всегда посмотреть код. Правда, надо знать, где смотреть и что искать. Мне пришла идея написать скрипт, который будет сканировать текущие файлы ядра и выводить список доступных АПИ функций и событий всех модулей. Это значит, что любые доступные модули, написанные по идеологии Битрикс, можно будет "просмотреть".
А почему нельзя саму документацию автоматизированно апдейтить по результатам этого скрипта? Я понимаю, что "человеческие" (написанные человеком) описания функций/событий появляются не быстро, но можно было бы хотя бы создать о них заметки. Преимущества: - их уже можно будет начинать комментировать, а комментарии бывают ценнее, чем даже "человеческое" описание. - по ним будет работать централизованный поиск.
Если пользователи могут менять элементы инфоблока, администратору может быть удобно быть в курсе этих изменений. Ранее писал решение одной из таких задач, где форма обратной связи делалась на инфоблоках. Как раз там мне указывали на то, что править код для каждого инфоблока не удобно.
Теперь решил обобщить задачу и сделать возможность интерфейсно выбирать, любой инфоблок. За одно можно будет фиксировать изменения в журнале событий, тем более, способ теперь известен
Стандартный модуль документооборота отправляет уведомления почтой, но не всегда он есть и не всегда удобно его включать только ради почтовых уведомлений.
Когда речь заходит о поисковой оптимизации, возникает ощущение, что касаешься чего-то волшебного. SEO оптимизаторы для меня - это некие шаманы, пытающиеся ублажить могучих Богов поиска. Они не говорят иначе как "поисковики любят" и "поисковики не любят" SEO рекомендации зачастую противоречат здравому смыслу, но они работают. Примечательно, что на основе "анализа" сайтов оптимизаторы часто дают одни и те же рекомендации. Пару из них мне посчастливилось выполнить.
изза наличия у апача порта 8888 переход происходит на сайт:8888 - такой адрес не обрабатывается из вне (к ури добавляется хост плюс порт) пока попробовали модернизировать с явным указанием хоста без порта
помогло, но вот странички с адресом типа 1c-bitrix.ru/products/index.php/ахинея открывается главная страница компонента, вместо 404, вот как с этим бороться?
В старых версиях продукта мы писали уведомления в живую ленту о новых файлах в группах соцсети. Это было неудобно при большом числе загружаемых файлов, и многие пользователи жаловались на захламленность живой ленты. Мы это восприняли как недоработку, и в текущей версии функционал убрали.
Оказалось, что ряд компаний использовали уведомления в живой ленте в рабочих процессах внутри компании. Мы будем возвращать этот функционал, но в другом виде: уведомления будут идти в виде нотификаторов в мессенджер и они будут гибко настраиваться.
Для тех, кого этот вариант не устраивает, предлагаю решение, которое не изменяя ядро продукта вернёт старое поведение уведомлений. Для этого надо добавить один обработчик в файл /bitrix/php_interface/init.php.
Если этого файла нет, создайте его со следующим содержанием:
Денис, а просто вебдав (библиотека документов), не в группах? Уже несколько идей с просьбой вернуть функционал просто с возможностью отключения, кому не нужно (ну или включения, кому нужно. Сперва так и было, кстати, зачем вырезали - непонятно) и обсуждение на форуме.
Как-то мне пришлось работать с проектом, на котором после сбоя на хостинге, нескольких восстановлений базы и переносов с кодировками стало всё плохо. Нормального бэкапа нет, а данные в базе перемешаны: часть данных отображается нормально, часть кракозябрами. Т.е. выполнить какую-то конвертацию таблиц не представляется возможным. Мне пришлось включить голову и найти решение. Сразу скажу, что не дам простого готового инструмента, наподобие того, что делал для перекодировки сайта в utf8. Тут нужно хорошо понимать, что делается. Но, надеюсь, программист разберется. Главная цель этого сообщения - донести, что в любой ситуации можно найти решение.
Итак, имеем сайт, где файлы нормальные, а в базе данных часть информации хранится нормально, а часть испорчена перекодировкой.
0. Сделайте бэкап
Все знают, но не всегда помнят: какая бы плохая ситуация не была, её всегда можно сделать хуже. Поэтому не спешите что-то исправлять когда что-то сломалось. Начните с сохранения того, что есть.
1. Выясните, каким образом испорчены данные
Есть ряд сервисов, позволяющих определить, как произошла перекодировка текста. Мне понравился и помог сервис Артемия Лебедева. Скопируйте туда плохой текст и поймете, как его можно восстановить.
2. Проверьте на фрагменте текста восстановление используя свой метод перекодировки
Прежде всего нужна функция, которая будет проверять, хороший ли текст к нам пришел. У меня сайт работал в utf-8, поэтому функция имела вид:
function good($str)
{
return preg_match('#[а-яА-Я]#u',$str);
}
У нас в корпоративном портале есть библиотека документов. Этот модуль позволяет работать с документами компании и редактировать их в Office открывая непосредственно из браузера. Для этого используется технология webdav, которая по умолчанию работает для Internet Explorer в связке с MS Office 2010. Или через плагин для браузера FireFox. Но есть определенное неудобство. Дело в том, что доступ ко всей информации портала возможен только по паролю, и чтобы пользователь оставался авторизованным не вводя пароль на каждый хит, в куки браузера передаётся уникальный идентификатор сессии. Но вот офис ничего не знает об этом, поэтому требует от пользователя ввода пароля. [CUT]
Что, согласитесь, не очень удобно. А когда надо часто работать с документами, может вообще сильно досаждать.
Что можно сделать
Самое очевидное решение - настроить NTLM для работы с порталом. Тогда все приложения компьютера (в том числе Office) будут передавать специальные данные авторизации на портал. Но настройка NTLM сопряжена с определенными техническими трудностями. А кроме того, в организации может быть не установлен AD сервер. И могут быть пользователи портала вне домена AD. Иными словами, не всегда это возможно.
Можно сделать иначе: передавать офису в ссылке на документы идентификатор сессии, а на стороне сервера незаметно для основного функционала подменять его. Открываться будет всегда без пароля, но при сохранении может потребоваться ввод пароля если текущая сессия истекла (это будет особенно актуально если в настройках модуля проактивной защиты включена смена идентификатора сессии).
Просто так в качестве параметра передавать идентификатор сессии нельзя т.к. протокол webdav подразумевает несколько последовательных запросов к серверу, в процессе которых параметры запроса теряются.
Решение
Нам потребуется сделать две правки: подменить ссылку на документы и научиться правильно понимать такие ссылки.
Для надо:
1) Скопировать шаблон компонента bitrix:webdav.section.list в шаблон сайта .default (или текущего сайта). Или, говоря проще, папку /bitrix/components/bitrix/webdav.section.list/templates/.default копируем в /bitrix/templates/.default/components/bitrix/webdav.section.list Теперь вместо стандартного шаблона библиотека документов будет использовать наш собственный.
2) Создать файл result_modifier.php в папке /bitrix/templates/.default/components/bitrix/webdav.section.list/.default со следующим содержимым:
Убедитесь что нет пробелов и переносов строк до "<?" и после "?>", иначе можете получить "ошибку в типе содержимого". Всё! Теперь документы можно открывать и сохранять без дополнительного запроса авторизации!
чтобы пользователь оставался авторизованным не вводя пароль на каждый хит, в куки браузера передаётся уникальный идентификатор сессии.
Небольшое дополнение: если при авторизации пользователь ставит галочку "Запомнить меня на этом компьютере", то IE (обычно) передает куку браузера в MS Office. С Firefox это 100% не работает.
Моё отношение к черным сеошником негативное. Думаю, я в этом не одинок Есть проект на Битриксе с вполне конкретной тематической направленностью. Есть соцсеть, комментарии к статьям через форум. Систематически появлялись нелепые комментарии от анонимусов со ссылками на внешние ресурсы. Предлагаю идею, которая мне помогла решить проблему.
Вы вот сейчас как разработчик говорите, а не как админ
А если делать по уму -- то в проактивную защиту бы это надо впихнуть. С возможностью контроля числа ссылок (одна -- нормально, три одинаковых -- перебор, реплика в 1000 символов и одна ссылка - -нормально, больше -- подозрительно и т. д., а совсем бы идеально -- байеса).
И туда же заодно возможность сделать фильтр анонимных прокси, через которые эти школьники и ходят.
Еще в процессе первого нагрузочного тестирования Битрикса версии 6.0 коллеги из QSoft столкнулись с ситуацией, о которой сегодня хочу написать. На тот момент она не была детально изучена, но на последнем тестировании версии 9.5, которое проводилось совместно с компанией Онтико, стали понятны симптомы проблемы и последствия. В финальном отчете проблема описана на 19 странице под заголовком "Особенности генерации тестовой нагрузки", хочу сейчас подробно остановиться на том, как это было.
Мы натыкались на нечто подобное в своей практике. Правда там это были вин2003 и сиквел сервер 2005. Терминальный сервер, на котором работает клиентское приложение, обращается к серверу БД. При увеличении количества экземпляров клиентского приложения появлялись тормоза, которые не проявлялись ни в расходе памяти, ни в дисковом ИО, ни в расходе ЦПУ. Дело оказалось в недостатке числа TCP портов, на которых устанавливались исходящие соединения с сиквел-сервером. Дело в том, что вин2003 по умолчанию имеет верхнюю границу выделения портов MaxUserPort = 5000 и таймаут удержания порта в TIME_WAIT состоянии TcpTimedWaitDelay = 240. В итоге приложение просто ждало пока освободится порт, чтобы можно было создать исходящее подключение. Проблему решили установив верхнюю границу доступных портов в 60000 и уменьшив таймаут до 30 секунд. Подробнее - здесь: и здесь: Возможно, в вашем случае тоже есть подобные ограничения, которые обходятся изменением настроек ОС (я не силен в никсах, поэтому ничего более конкретного подсказать не смогу).
Тоже видится проблема в настройках сетевой инфраструктуры.При подготовке VMBitrix3 проведем ряд тестов и составим рекомендации по более тонкой настройки ОС.
Когда имеем дело с небольшим ветвистым каталогом, и возникает необходимость переделать структуру секций, хочется сконцентрироваться на самой структуре чтобы не отвлекаться на инструменты. Мощные и, порой, громоздкие инструменты административной части не всегда дают такую возможность. Тогда начинают возникать различные идеи, даже такие (Элементы инфоблока как файлы).
Месяцев 6 назад делал аналогичную задачу только без drug & drop и ajax от последнего оказался уже не помню почему, навероное была какая-то проблема с изменением свойств разделов или элементов. Работало это все под админкой, наверное в ближайшее свободное время опишу его в своем блоге.
Пример задачи: на битриксе без веб аналитики регистрировать страницы 404. Это обычно либо ошибочные ссылки на картинки, либо переходы с внешних источников на изменённые разделы. В первом случае надо вносить исправления (может сказаться на производительности, упоминал об этом в конце соответствующей статьи), во втором - ставить редиректы.
По моему перебор Кол-во просмотров находиться в той же таблице что и ID элемента, поэтому разницы нет в свою или в b_iblock_element писать. Думаю каждый сделает считает правильнее, все решения хороши
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».