Всем привет!
разбавлю последние серьезные темы данного раздела более простой и легкомысленной.
как на сайтовой странице вывести линк, при нажатии на который подгружался бы doc or pdf документ? Не открывался в новом окне, а предлагал подгрузиться.
как я понимаю это должен быть просто линк, ведущий, например, на документ лежащий в статик ресурсах.
или вместо статик ресурсов как-то можно использовать объект Документы - никогда с ним не работал, не знаю можно ли сделать документ доступным на сайте.
может у кого был опыт, если поделитесь, у меня меньше времени уйдет по поиск ответа методом "тыка".
спасибо
Всем привет! разбавлю последние серьезные темы данного раздела более простой и легкомысленной. как на сайтовой странице вывести линк, при нажатии на который подгружался бы doc or pdf документ? Не открывался в новом окне, а предлагал подгрузиться. как я понимаю это должен быть просто линк, ведущий, например, на документ лежащий в статик ресурсах. или вместо статик ресурсов как-то можно использовать объект Документы - никогда с ним не работал, не знаю можно ли сделать документ доступным на сайте. может у кого был опыт, если поделитесь, у меня меньше времени уйдет по поиск ответа методом "тыка". спасибо
Это действие зависит от браузера. В хроме просто скачивает. В ФФ предлагает сохранить.
Можно в статик ресурс, нужно только выбрать Public в Cache Control
Если в документы, то нужно выбрать Externally Available Image
[quote="Den Brown"]Всем привет! разбавлю последние серьезные темы данного раздела более простой и легкомысленной. как на сайтовой странице вывести линк, при нажатии на который подгружался бы doc or pdf документ? Не открывался в новом окне, а предлагал подгрузиться. как я понимаю это должен быть просто линк, ведущий, например, на документ лежащий в статик ресурсах. или вместо статик ресурсов как-то можно использовать объект Документы - никогда с ним не работал, не знаю можно ли сделать документ доступным на сайте. может у кого был опыт, если поделитесь, у меня меньше времени уйдет по поиск ответа методом "тыка". спасибо[/quote] Это действие зависит от браузера. В хроме просто скачивает. В ФФ предлагает сохранить. Можно в статик ресурс, нужно только выбрать Public в Cache Control Если в документы, то нужно выбрать Externally Available Image
Wilder прав, действие зависит от браузера.
Но документ я бы советовал не в статик ресурсы класть, а в Documents. На них тоже легко ссылку сформировать, но преимущество в том что можно ссылки делать динамически, с помощью SOQL запроса к Document. И да, документы доступны для скачивания на сайте.
Wilder прав, действие зависит от браузера. Но документ я бы советовал не в статик ресурсы класть, а в Documents. На них тоже легко ссылку сформировать, но преимущество в том что можно ссылки делать динамически, с помощью SOQL запроса к Document. И да, документы доступны для скачивания на сайте.
Ну ты не прав для статик ресурса, все ровно то же самое. Только чуть больше гемороя с созданием и удалением, зато можно архивы использовать.
[quote="Dmitry Shnyrev"]Wilder прав, действие зависит от браузера. Но документ я бы советовал не в статик ресурсы класть, а в Documents. На них тоже легко ссылку сформировать, но преимущество в том что можно ссылки делать динамически, с помощью SOQL запроса к Document. И да, документы доступны для скачивания на сайте.[/quote] Ну ты не прав для статик ресурса, все ровно то же самое. Только чуть больше гемороя с созданием и удалением, зато можно архивы использовать.
Ну каждому свое.
По мне статик ресурсы для статик ресурсов, документы для документов.
Я просто посмотрю потом на тот процесс, когда вы будете заказчику объяснять как поменять (обновить) документ в статик ресурсах.
Ну каждому свое. По мне статик ресурсы для статик ресурсов, документы для документов. Я просто посмотрю потом на тот процесс, когда вы будете заказчику объяснять как поменять (обновить) документ в статик ресурсах.
А со стороны клиента это абсолютно прозрачный процесс. Пишется контроллер для работы со статик ресурсом. Для клиента это обычный аттачмент. А где он лежит для него не важно особенно если организован удобный доступ к нему.
[quote="Dmitry Shnyrev"]Ну каждому свое. По мне статик ресурсы для статик ресурсов, документы для документов. Я просто посмотрю потом на тот процесс, когда вы будете заказчику объяснять как поменять (обновить) документ в статик ресурсах.[/quote] А со стороны клиента это абсолютно прозрачный процесс. Пишется контроллер для работы со статик ресурсом. Для клиента это обычный аттачмент. А где он лежит для него не важно особенно если организован удобный доступ к нему.
Вот тут я совсем ничего понял. Какой контроллер для работы со статик ресурсом? Какой аттачмент?
Мы об одном и том же говорим? Static resource это вроде metadata а на данные. Следовательно он будет тягаться со всеми ченжсетами по всем оргам. А как клиент будет с ним работь? Через Setup->Static Resource я так понимаю? Какие еще тут могут быть контроллеры и обычные аттачменты?
Вот тут я совсем ничего понял. Какой контроллер для работы со статик ресурсом? Какой аттачмент? Мы об одном и том же говорим? Static resource это вроде metadata а на данные. Следовательно он будет тягаться со всеми ченжсетами по всем оргам. А как клиент будет с ним работь? Через Setup->Static Resource я так понимаю? Какие еще тут могут быть контроллеры и обычные аттачменты?
Wilder, мне кажется ты все сильно усложняешь.
Wilder, мне кажется ты все сильно усложняешь.
Ок. Объясняю. Static Resource как и Documents можно получить в метадате это да. Attachment это чистая дата. Как с ними работать клиенту должно быть все равно. Например у меня в пакете есть Import/Export manager и все данные сохраняются в папке в документах. Но клиенту туда не нужно вообще ходить, потому что все происходит через UI. Поэтому я и сказал, что есть контроллер который это все делает.
Другая ситуация. Если нужно работать с зип архивами не из страницы, а из future или async jobs то приходиться использовать Static Resource, потому что салесфорс может чудесно работать с ZIP но только в Static Resource.
[quote="Dmitry Shnyrev"]Вот тут я совсем ничего понял. Какой контроллер для работы со статик ресурсом? Какой аттачмент? Мы об одном и том же говорим? Static resource это вроде metadata а на данные. Следовательно он будет тягаться со всеми ченжсетами по всем оргам. А как клиент будет с ним работь? Через Setup->Static Resource я так понимаю. Какие еще тут могут быть контроллеры и обычные аттачменты?[/quote] Ок. Объясняю. Static Resource как и Documents можно получить в метадате это да. Attachment это чистая дата. Как с ними работать клиенту должно быть все равно. Например у меня в пакете есть Import/Export manager и все данные сохраняются в папке в документах. Но клиенту туда не нужно вообще ходить, потому что все происходит через UI. Поэтому я и сказал, что есть контроллер который это все делает. Другая ситуация. Если нужно работать с зип архивами не из страницы, а из future или async jobs то приходиться использовать Static Resource, потому что салесфорс может чудесно работать с ZIP но только в Static Resource.
[quote="wilder"]апример у меня в пакете есть Import/Export manager и все данные сохраняются в папке в документах. Но клиенту туда не нужно вообще ходить, потому что все происходит через UI. Поэтому я и сказал, что есть контроллер который это все делает.[/quote] Я же говорю, wilder, ты все только усложняешь. У тебя есть свой пакет, с UI для клиента. Это здорово. Но у других его нет. А den спрашивал про [quote="Den Brown"]как на сайтовой странице вывести линк, при нажатии на который подгружался бы doc or pdf документ?[/quote] Я думаю тут проще сделать так: "Дорогой и многоуважаемый клиент, зайдите в Documents и загрузите ваш документ с таким-то именем в документы". Клиент идет в Документы (хорошо знакомый ему инструмент, потому что я думаю клиенты не раз пользовались документами в Salesforce)и загружает туда документ. А мы в контролере делаем SOQL запрос к документу c нужным именем и если он существует, то показываем ссылку. ВСЕ! ПРОФИТ. И не нужны никакие кастомные контроллеры с UI которые кладут документы непонятно куда и чтобы мы потом непонятно откуда с помощью другого контроллера доставали.
вывод такой:
для простых, прямолинейных проектов - документы для документов, стат ресурсы - для технических вещей, далеких от пользователей.
но wilder знает как и выжимает из возможностей СФ все до капли, что может быть важно и просто необходимо для приложений-Пакетов, со всех сторон обложенных лимитами.
вывод такой: для простых, прямолинейных проектов - документы для документов, стат ресурсы - для технических вещей, далеких от пользователей. но wilder знает как и выжимает из возможностей СФ все до капли, что может быть важно и просто необходимо для приложений-Пакетов, со всех сторон обложенных лимитами.
продолжу раскрытие темы:
для выведение дока на сайт страницу я использовал <apex:outputLink>
но как сделать, чтобы один и тот же аттрибут value одинаково хорошо работал как внутри орга, так и на сайте?
идеальным вариантом кажется такой:
<apex:outputLink value="/servlet/servlet.FileDownload?file=00000000000000" >Title</apex:outputLink>
но дело в том, что в таком случае при клике на сайтовой ссылке к базовому УРЛ прибавляется сайтовый путь, и сервлет не работает:
baseURL/Home/servlet/servlet.FileDownload?file=00000000000000
пока пришлось захардкодить полный сайтовый путь в value, что очень плохо, так как реальный сайтовый урл будет другим, плюс эта ссылка внутри орга работает с\до тех пор пока активирован сайт.
спасибо
продолжу раскрытие темы: для выведение дока на сайт страницу я использовал <apex:outputLink> но как сделать, чтобы один и тот же аттрибут value одинаково хорошо работал как внутри орга, так и на сайте? идеальным вариантом кажется такой: <apex:outputLink value="/servlet/servlet.FileDownload?file=00000000000000" >Title</apex:outputLink> но дело в том, что в таком случае при клике на [u]сайтовой[/u] ссылке к базовому УРЛ прибавляется сайтовый путь, и сервлет не работает: baseURL/[b]Home[/b]/servlet/servlet.FileDownload?file=00000000000000 пока пришлось захардкодить полный сайтовый путь в value, что очень плохо, так как реальный сайтовый урл будет другим, плюс эта ссылка внутри орга работает с\до тех пор пока активирован сайт. спасибо
не совсем в тему, но где то рядом.
вот только что обратил внимание, что
для картинки урл в разметке пишем так:
<apex:image url="{!URLFOR($Resource.MyPic)}" />
а для стиля пишем так:
background: url({!$Resource.MyPic}) repeat-x #663300;
не совсем в тему, но где то рядом. вот только что обратил внимание, что для картинки урл в разметке пишем так: [code]<apex:image url="{!URLFOR($Resource.MyPic)}" />[/code] а для стиля пишем так: [code]background: url({!$Resource.MyPic}) repeat-x #663300;[/code]
а вот в формуле к стат ресурсу можно обратиться без URLFOR():
<img src="{!If(Contains(Object__c.Field__c, 'some text'),$Resource.CheckBoxChecked,$Resource.CheckBoxUnchecked)}"/>
да и просто в картинке оказывается тоже можно:
<apex:image url="{!$Resource.MyPic}" />
а вот в формуле к стат ресурсу можно обратиться без URLFOR(): [code]<img src="{!If(Contains(Object__c.Field__c, 'some text'),$Resource.CheckBoxChecked,$Resource.CheckBoxUnchecked)}"/>[/code] да и просто в картинке оказывается тоже можно: [code]<apex:image url="{!$Resource.MyPic}" />[/code]