Добрый день. Сегодня показали нам клиенты такую штуку: скачивается doc файл из системы на SharePoint'e(SP) браузером, открывается вордом(при этом на SP он помечается как открытый) редактируется, жмется в ворде сохранить и файл сохраняется на сервере SP. Собственно вопрос: откуда ворд узнал файл шарапоинтовский и куда его нужно сохранять. Хочется чтоб так же работала наща программа. Это возможно?
Re: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Jack128, Вы писали:
J>Добрый день. Сегодня показали нам клиенты такую штуку: скачивается doc файл из системы на SharePoint'e(SP) браузером, открывается вордом(при этом на SP он помечается как открытый) редактируется, жмется в ворде сохранить и файл сохраняется на сервере SP.
J>Собственно вопрос: откуда ворд узнал файл шарапоинтовский и куда его нужно сохранять. Хочется чтоб так же работала наща программа. Это возможно?
Когда пользователь клацает на ссылку в SP, на самом деле запускается javascript, который создает ActiveX OpenDocuments, который ставится офисом.
Дальше js просто использует этот ActiveX.
А вообще у SP есть API, которое позволяет редактировать файлы, чекинить-чекаутить, и т.д.
Re[2]: Взаимодействие sharepoint и сторонней программы
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, Jack128, Вы писали:
J>>Добрый день. Сегодня показали нам клиенты такую штуку: скачивается doc файл из системы на SharePoint'e(SP) браузером, открывается вордом(при этом на SP он помечается как открытый) редактируется, жмется в ворде сохранить и файл сохраняется на сервере SP.
J>>Собственно вопрос: откуда ворд узнал файл шарапоинтовский и куда его нужно сохранять. Хочется чтоб так же работала наща программа. Это возможно?
bnk>Когда пользователь клацает на ссылку в SP, на самом деле запускается javascript, который создает ActiveX OpenDocuments, который ставится офисом. bnk>Дальше js просто использует этот ActiveX.
Интересно. На вид этот контрол (и OpenXMLDocuments) достаточно общий, не заточенный по Word/Excel. Не в курсе, можно ему как нить сказать, чтоб он запускал наше приложение для определённых типов файлов?
bnk>А вообще у SP есть API, которое позволяет редактировать файлы, чекинить-чекаутить, и т.д.
Это понятно, с помощью этого апи мы можем из своего приложения создать/править документе в SP, это мы тоже будем делать, не вопрос. Но хочется чтоб инициатором создания/редактирования документа мог быть и браузер. Чтоб работа с нашим ПО не отличалась от того же ворда
Re[3]: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Jack128, Вы писали:
bnk>>Когда пользователь клацает на ссылку в SP, на самом деле запускается javascript, который создает ActiveX OpenDocuments, который ставится офисом. bnk>>Дальше js просто использует этот ActiveX. J>Интересно. На вид этот контрол (и OpenXMLDocuments) достаточно общий, не заточенный по Word/Excel. Не в курсе, можно ему как нить сказать, чтоб он запускал наше приложение для определённых типов файлов?
хз. Я не пробовал
bnk>>А вообще у SP есть API, которое позволяет редактировать файлы, чекинить-чекаутить, и т.д. J>Это понятно, с помощью этого апи мы можем из своего приложения создать/править документе в SP, это мы тоже будем делать, не вопрос. Но хочется чтоб инициатором создания/редактирования документа мог быть и браузер. Чтоб работа с нашим ПО не отличалась от того же ворда
А, понятно.
Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию.
Re[4]: Взаимодействие sharepoint и сторонней программы
Здравствуйте, bnk, Вы писали:
bnk>Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию.
С ActiveX который будет делать все сам, вы не сможете закрыть браузер. Как только браузер закрыт — документ просто "отвалился"
Re: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Jack128, Вы писали:
J>Хочется чтоб так же работала наща программа. Это возможно?
Теоретически, да (практически может оказаться довольно сложно реализовать — много работы).
WebDAV поддерживается в клиентских приложениях. В частности:
Начиная с Windows XP WebDAV поддерживается на уровне драйверов FS. Т.е. введя что-то типа http://mysite/Personal Documents — вы попадете в библиотеку SharePoint (или любого сервера, который работает по WebDAV). Но не уверен, что везеде (стандартный диалог открытия файлов в Windows его проглатывает, но вод смогут ли с ним работать все приложения ...).
Правда поддержка довольно ограниченная. Например, вы не увидите версий документа, хотя WebDAV это поддерживает
Офисные пакеты Microsoft (и по заявлениям — OpenOffice) поддерживают и WebDAV и его специфичные расширения. Например, когда вы откроете документ в офисе из SharePoint вы прямо из офисного Backstage можете видеть список всех версий.
Таким образом, получается, что всеми блокировками, разблокировками, сохранениями, версионностью и пр. управляют сами клиентские приложения через WebDAV. Те, которые знают о наличии WebDAV (типа офиса) — управляют по полной программе. Те, которые не знают, только на уровне прочитать/сохранить.
То что делает ActiveX, про который вам сказали, то на сколько я знаю он нужен для:
Перенаправления открытия документа (по умолчанию URL в браузере обрабатывается самим браузером, который просто качает документ и открывает локально, а не удаленно по WebDAV)
Контроль за возвратом документа на сервере и разблокировка/создание версии (для тех приложений, которые это не умеют сами).
Примерно так. Но не скажу, что все изложенное доподлинно точно.
Re[5]: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, bnk, Вы писали:
bnk>>Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию. МР>С ActiveX который будет делать все сам, вы не сможете закрыть браузер. Как только браузер закрыт — документ просто "отвалился"
да от этого актив икса то требуется всего делов то, открыть наше приложение, отдать ему файл, и _путь в шарепоинте_, откуда этот файл был получен. После этого наше приложение уже само, через веб сервис сохранить файл. ОТ браузера оно не будет зависеть.
Ну это все теория. на практике там отношения с разрабами этого решения на SP весьма сложные, и заставить их дергать наш актив икс врядли удастся.
Re: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Jack128, Вы писали:
J>да от этого актив икса то требуется всего делов то, открыть наше приложение, отдать ему файл, и _путь в шарепоинте_, откуда этот файл был получен. После этого наше приложение уже само, через веб сервис сохранить файл. ОТ браузера оно не будет зависеть.
Тогда нормально.
Только все-таки провентилируйте вопрос по поводу API для управления файлами. Мы в работе еще с SharePoint 2007 столкнулись с тем, что готового API для управления телами документов нет (можно управлять метаданными через API списков). Народ извращался — ставил свой сервис на SharePoint и пропихивал тела документов через него. А все решалось простым использованием WebDAV (на клиенте его в минимальном варианте очень просто реализовать).
Впрочем, в 2010 ситуация могла и поменяться.
Re[7]: Взаимодействие sharepoint и сторонней программы
Здравствуйте, Михаил Романов, Вы писали:
МР>Здравствуйте, Jack128, Вы писали:
МР>Только все-таки провентилируйте вопрос по поводу API для управления файлами. Мы в работе еще с SharePoint 2007 столкнулись с тем, что готового API для управления телами документов нет (можно управлять метаданными через API списков). Народ извращался — ставил свой сервис на SharePoint и пропихивал тела документов через него. А все решалось простым использованием WebDAV (на клиенте его в минимальном варианте очень просто реализовать). МР>Впрочем, в 2010 ситуация могла и поменяться.