
Решил его описать.
Начну лишь с того, что медиабиблиотека действительно удобная вещь.
При работе с контентом из публичной части является хорошим подспорьем для контент-менеджера
Но все ли так гладко?
При работе с элементами инфоблоков обратил внимание, что при использовании медиабиблиотеки в админке в поле картинка подставляется именно путь к файлу.
Стало интересно, а что же сделает система?

Мне понадобилось продублировать одну и ту же картинку для нескольких секций и - чудо.
Теперь физически картинка существует и в медиабиблиотеке и в нескольких экземплярах для каждой из секций (для каждого файла создается свой запись в b_files)
т.е. если я буду использовать одну и ту же картинку 100 раз - то получу 100 физических копий.
Возникает вопрос. А чем тогда медиабиблиотека отличается от тех же структурированных в разделы файлов на моем компьютере?
Конечно, отличий можно найти много, хотя бы возможность совместного использования, но главный вопрос, который меня мучал:
А почему сразу не писать в инфоблок ID уже готового файла из b_files?
нашел только один ответ, который противоречит этой задаче.
Если удалить элемент или секцию, то есть шанс удалить и картинку, которую используют другие объекты.
Однако...
А что мешает проверить использование ID файла в других обектах перед удалением? И в случае, если этот элемент используется, не удалять его.
Банальная проверка ссылочной целостности.
Вот такие вот пироги.
Сформировалось ИМХО: Есть еще поле для доработочки продукта в части медиабиблиотеки. Ну не используется она пока в полную мощь и в силу всех своих возможностей.
Ну и еще момент
как добавлять картинки из медиабиблиотеки в инфоблоки
особо ничего дорабатывать не надо
Просто проверить путь к картинке на наличие в b_files
и в случае наличия - просто записать готовый ID
правда есть еще момент, который ставит палки в колеса
Теперь пишу о том как рухнуло ИМХО

А ведь картинка при работе с элементами инфоблока может масштабироваться

Конечно, можно проверять поля, WIDTH, HEIGHT и пр.
Но... это уже не абсолютный вариант

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

так что где то промелькнул этот же, но недописанный пост
P.S.S. C наименование таблицы опечатался. b_files->b_file
Чтобы, например, в тексте можно было вставить картинку.
А то что из нее можно добавлять и превьюшки - это побочный бонус.
У каждого редактора есть свой комп, не перекрыт доступ к картинкам на сервере, и разницы в добавлении с компа или библиотеки принципиальной нет.
Поэтому данная цель фактически была бы изобретением велосипеда.
я бы назвал преимуществом именно возможность работы с "общим информационным пространством" с приятным интерфесом и возможностью структурировать и подписывать материалы
Но вот помечать то хочется
Мал мал доработок и новый эффект
Соглашусь с Антоном, что главное в медиабиблиотеке это загрузка файлов. Очень удобно когда редактируешь страницу, нужно вставить картинку, быстро загрузил и кинул на страницу, не нужно думать куда ее загружать, чтобы бардака не было. К тому же медиабиблиотека не только для картинок, ну и вообще для любых файлов. Можно одному редактору дать право загружать только картинки, а другому только документы.
Вообщем очень удобный инструмент, активно его использую.
но только в случае работы со статикой
что касаеся инфоблоков, то вопрос спорный
не будем же мы усложнять работу сайта, заливая сначала картинки для инфоблоков в медиатеку, чтобы потом дать возможность продублировать их в инфоблоках. В таком
В чем смысл то?
[/QUOTE]А вот проверки при удалении элементов, а не используется ли картинка где-то еще, только добавят лишних запросов к базе.[QUOTE]
ну так обработка картинок тоже "не бесплатно" для сервера обходится
Обратите внимание на то, что в любом случае при сохранении картинки происходит обработка уже имеющейся в базе картинки
В общем спорные вопросы есть
на сем откланяюсь из поста
Используйте медиабиблиотеку по следующим соображениям:
Как бы вы не вставляли картинки в инфоблоки, они все равно будут дублироваться
Так зачем же отказываться от удобного, на мой взгляд, инструмента?
Грузите не бойтесь, пусть юзают. Тем более что наглядность и удобство являются неоспоримым фактом.
P.S. А многие до сих пор так и думают, что используя картинку из библиотеки, они работают с одним и тем же объектом.
Ан нет. Объекты одинаковые только в статике.
В инфоблоках объекты получаются уже разные
Если нужно экономить на общих файлах, то для этих целей есть свойства с привязкой к файлам на диске.
А есть еще и партнерские модули и компоненты и т.д.
Поэтому факт дубляжа (хотя дублирование, наверное, грубое понятие в данном случае) учитывать стоит.
И помнить, что любой файл в большинстве случаев существует в персональном экземпляре для каждого из объетов системы.
И в данном случае назначение медиабиблиотеки - лишь удобная медиатека, но никак не хранилище общих медиаданных объектов. Тем более, что после использования в объектах системы связи с данными медиатеки теряются.
За исключением статики. Здесь уже медиабиблиотека может выступать и как хранилище.
так что благодаря вашему посту я как раз-таки избежал лишней траты времени =) а то собирался ваять скрипт по перенесу старых данных и вместо того, чтобы просто кинуть файлы во времянку, скормить иблоку, а потом времянку удалить, - планировал сперва загнать их все в либу дополнительным скриптом без дублирования файлов, собрать таблицу соответствия старым ссылкам и идам в либе, а потом уже кормить иблок. а результат-то был бы тот же, только времени больше =)
Просто на днях пришлось использовать и вот решил посмотреть, что же происходит на практике
За то, что пост позволил сэкономить кому то время - рад
Мысли вслух не пропали даром
Спасибо за комментарий
Если на детальную картинку при создании инфоблока ведёт ссылка из медиабиблиотеки, то могли бы её путь так и записывать в инфоблок и сделать, чтобы совсем такая картинка не удалялась из самой медиабиблиотеки и проверять ничего не надо. Зачем картинку удалять из медиабиблиотеки при удалении инфоблока, когда медиабиблиотека наполняется и чистится в ручном режиме и представляет, по сути из себя архив?
Реально медиабиблиотека работает в качестве "хранилища" только на статике
Во инфоблоках она работает только как КлипАрт (всегда создаем из элемента бибилиотеки из нее "дубликат" в инфоблоке)
Я использую медиа библиотеку и храню в ней не только картинки но и архивы, вес архива может достигать 1-200 мб
При вставке архива в инфоблок появляется дубликат который СЖИРАЕТ 1-200мб места... Ну да ладно проблема основная не в этом...
Когда архив вставляется в инфо блок мы получаем ссылку типа
/bitrix/redirect.php?event1=advisors&event2=test&event3=arhiv.zip&goto=/upload/iblock/b0b/arhiv.zip
и архив попадает в каталог /iblock/b0b/
Ссылка формируется для веб аналитики, по этому имеет такой формат.
Далее поисковики индексируют контент, приходят копирайтеры из вне и переносят все на свои блоги и сайты.
Вставляют ссылку сделанною мною /bitrix/redirect.php?event1=advisors&event2=test&event3=arhiv.zip&goto=/upload/iblock/b0b/arhiv.zip
В случае если я перезаливаю архив с обновлением, адрес архива меняется!!!!!!!!!!
/bitrix/redirect.php?event1=advisors&event2=test&event3=arhiv.zip&goto=/upload/iblock/1ef/arhiv.zip
И тем самым ссылка на сторонних сайтах становиться битой!!!!!!!
Что можно сделать ?
Как получать данные в Веб Аналитике и иметь постоянные ссылки ?