Взаимодействие sharepoint и сторонней программы
От: Jack128  
Дата: 10.04.12 19:08
Оценка:
Добрый день. Сегодня показали нам клиенты такую штуку: скачивается doc файл из системы на SharePoint'e(SP) браузером, открывается вордом(при этом на SP он помечается как открытый) редактируется, жмется в ворде сохранить и файл сохраняется на сервере SP. Собственно вопрос: откуда ворд узнал файл шарапоинтовский и куда его нужно сохранять. Хочется чтоб так же работала наща программа. Это возможно?
Re: Взаимодействие sharepoint и сторонней программы
От: bnk СССР http://unmanagedvisio.com/
Дата: 11.04.12 04:27
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Добрый день. Сегодня показали нам клиенты такую штуку: скачивается doc файл из системы на SharePoint'e(SP) браузером, открывается вордом(при этом на SP он помечается как открытый) редактируется, жмется в ворде сохранить и файл сохраняется на сервере SP.


J>Собственно вопрос: откуда ворд узнал файл шарапоинтовский и куда его нужно сохранять. Хочется чтоб так же работала наща программа. Это возможно?


Когда пользователь клацает на ссылку в SP, на самом деле запускается javascript, который создает ActiveX OpenDocuments, который ставится офисом.
Дальше js просто использует этот ActiveX.

А вообще у SP есть API, которое позволяет редактировать файлы, чекинить-чекаутить, и т.д.
Re[2]: Взаимодействие sharepoint и сторонней программы
От: Jack128  
Дата: 11.04.12 05:50
Оценка:
Здравствуйте, 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 и сторонней программы
От: bnk СССР http://unmanagedvisio.com/
Дата: 11.04.12 06:26
Оценка:
Здравствуйте, Jack128, Вы писали:

bnk>>Когда пользователь клацает на ссылку в SP, на самом деле запускается javascript, который создает ActiveX OpenDocuments, который ставится офисом.

bnk>>Дальше js просто использует этот ActiveX.
J>Интересно. На вид этот контрол (и OpenXMLDocuments) достаточно общий, не заточенный по Word/Excel. Не в курсе, можно ему как нить сказать, чтоб он запускал наше приложение для определённых типов файлов?

хз. Я не пробовал

bnk>>А вообще у SP есть API, которое позволяет редактировать файлы, чекинить-чекаутить, и т.д.

J>Это понятно, с помощью этого апи мы можем из своего приложения создать/править документе в SP, это мы тоже будем делать, не вопрос. Но хочется чтоб инициатором создания/редактирования документа мог быть и браузер. Чтоб работа с нашим ПО не отличалась от того же ворда

А, понятно.
Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию.
Re[4]: Взаимодействие sharepoint и сторонней программы
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 11.04.12 12:49
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию.

С ActiveX который будет делать все сам, вы не сможете закрыть браузер. Как только браузер закрыт — документ просто "отвалился"
Re: Взаимодействие sharepoint и сторонней программы
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 11.04.12 13:44
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Хочется чтоб так же работала наща программа. Это возможно?

Теоретически, да (практически может оказаться довольно сложно реализовать — много работы).

Из того, что знаю я сам:

SharePoint работает по протоколу WebDav + свои собственные расширения для этого протокола:
  • [MS-WDV]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions
  • [MS-WDVME]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Microsoft Extensions
  • [MS-WDVSE]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Server Extensions

    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 и сторонней программы
    От: Jack128  
    Дата: 11.04.12 18:49
    Оценка:
    Здравствуйте, Михаил Романов, Вы писали:

    МР>Здравствуйте, bnk, Вы писали:


    bnk>>Ну если нельзя OpenDocuments допилить, можете наверное просто свой ActiveX поставить который будет делать то что нужно, по образу и подобию.

    МР>С ActiveX который будет делать все сам, вы не сможете закрыть браузер. Как только браузер закрыт — документ просто "отвалился"
    да от этого актив икса то требуется всего делов то, открыть наше приложение, отдать ему файл, и _путь в шарепоинте_, откуда этот файл был получен. После этого наше приложение уже само, через веб сервис сохранить файл. ОТ браузера оно не будет зависеть.
    Ну это все теория. на практике там отношения с разрабами этого решения на SP весьма сложные, и заставить их дергать наш актив икс врядли удастся.
    Re: Взаимодействие sharepoint и сторонней программы
    От: Jack128  
    Дата: 11.04.12 19:14
    Оценка: 2 (1)
    Здравствуйте, Jack128, Вы писали:

    На первый взгляд — оно
    й
    Re[6]: Взаимодействие sharepoint и сторонней программы
    От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
    Дата: 12.04.12 05:27
    Оценка:
    Здравствуйте, Jack128, Вы писали:

    J>да от этого актив икса то требуется всего делов то, открыть наше приложение, отдать ему файл, и _путь в шарепоинте_, откуда этот файл был получен. После этого наше приложение уже само, через веб сервис сохранить файл. ОТ браузера оно не будет зависеть.

    Тогда нормально.
    Только все-таки провентилируйте вопрос по поводу API для управления файлами. Мы в работе еще с SharePoint 2007 столкнулись с тем, что готового API для управления телами документов нет (можно управлять метаданными через API списков). Народ извращался — ставил свой сервис на SharePoint и пропихивал тела документов через него. А все решалось простым использованием WebDAV (на клиенте его в минимальном варианте очень просто реализовать).

    Впрочем, в 2010 ситуация могла и поменяться.
    Re[7]: Взаимодействие sharepoint и сторонней программы
    От: Jack128  
    Дата: 12.04.12 05:45
    Оценка:
    Здравствуйте, Михаил Романов, Вы писали:

    МР>Здравствуйте, Jack128, Вы писали:


    МР>Только все-таки провентилируйте вопрос по поводу API для управления файлами. Мы в работе еще с SharePoint 2007 столкнулись с тем, что готового API для управления телами документов нет (можно управлять метаданными через API списков). Народ извращался — ставил свой сервис на SharePoint и пропихивал тела документов через него. А все решалось простым использованием WebDAV (на клиенте его в минимальном варианте очень просто реализовать).

    МР>Впрочем, в 2010 ситуация могла и поменяться.

    Ну в 2010 вроде нормуль всё:
    записать документ: http://msdn.microsoft.com/en-us/library/websvccopy.copy.copyintoitems.aspx
    получить документ: http://msdn.microsoft.com/en-us/library/websvccopy.copy.getitem.aspx
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.