Welcome to TechNet Blogs Sign in | Join | Help

Мои блоги...

Порталы, RTC, интеграция и все-все-все...

News

  • Информация на данном сайте предоставляется "КАК ЕСТЬ" без каких-либо гарантий и передачи прав. Мнения, высказанные здесь, являются отражением моего личного взгляда, а не позиции работодателя.


    Locations of visitors to this page
Как создавать сайты в SharePoint 2007?

Коллеги,

Несколько слов,  о том, как программно создавать сайты в MOSS 2007.

 

Простейший способ использовать stsadm (C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>).

 

 Синтаксис - stsadm.exe -o createsite

           -url <url>

           -ownerlogin <DOMAIN\name>

           -owneremail <someone@example.com>

           [-ownername <display name>]

           [-lcid <language>]

           [-sitetemplate <site template>]

           [-title <site title>]

           [-description <site description>]

           [-hostheaderwebapplicationurl <web application url>]

           [-quota <quota template>]

 

Однако, зачастую необходим доступ к API портала из бизнес-логики приложения. Один наиболее популярных способов – использование веб-сервисов. В частности, MOSS 2007 предоставляет доступ к административным функциям через веб-сервисы. Для этого используется веб-сервис http://server:port/_vti_adm/admin.asmx

 

 

Теперь более подробно.

Вообще, для тестирования работы с веб-сервисами я для себя открыл прекрасную утилиту wfetch (входит в IIS 6.0 resource tools kit, который можно скачать с http://www.microsoft.com/downloads/thankyou.aspx?familyId=56fc92ee-a71a-4c73-b628-ade629c89499&displayLang=en)

 

С помощью этой утилиты можно манипулировать вызовами веб-сервисов, смотреть результаты и т.п. В целом, рекомендую.

 

Итак, цель – создать с помощью веб-сервиса сайт. Открываем в IE http://moss:48162/_vti_adm/admin.asmx?op=CreateSite – операция CreateSite в административном веб-сервисе.

Копируем в текстовый файл шаблон SOAP-запроса, который выглядит примерно так

POST /_vti_adm/admin.asmx HTTP/1.1

Host: moss

Content-Type: text/xml; charset=utf-8

Content-Length: length

SOAPAction: "http://schemas.microsoft.com/sharepoint/soap/CreateSite"

 

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <CreateSite xmlns="http://schemas.microsoft.com/sharepoint/soap/">

      <Url>string</Url>

      <Title>string</Title>

      <Description>string</Description>

      <Lcid>int</Lcid>

      <WebTemplate>string</WebTemplate>

      <OwnerLogin>string</OwnerLogin>

      <OwnerName>string</OwnerName>

      <OwnerEmail>string</OwnerEmail>

      <PortalUrl>string</PortalUrl>

      <PortalName>string</PortalName>

    </CreateSite>

  </soap:Body>

</soap:Envelope>

 

Преобразуем его в примерно следующее содержание.

Content-Type: text/xml; charset=utf-8

SOAPAction: "http://schemas.microsoft.com/sharepoint/soap/CreateSite"

 

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <CreateSite xmlns="http://schemas.microsoft.com/sharepoint/soap/">

      <Url>http://moss.litwareinc.com/sites/mySite1</Url>

      <Title>That is my new site(1)</Title>

      <Description>The site created via web Service</Description>

      <Lcid>1033</Lcid>

      <WebTemplate>Sts#2</WebTemplate>

      <OwnerLogin>LITWAREINC\Administrator</OwnerLogin>

      <OwnerName>Administrator</OwnerName>

      <OwnerEmail>Administrator@LITWAREINC.com</OwnerEmail>

      <PortalUrl>string</PortalUrl>

      <PortalName>string</PortalName>

    </CreateSite>

  </soap:Body>

</soap:Envelope>

 

Следует обратить внимание на параметр WebTemplate, который задает шаблон сайта.

Возможные варианты:

·         STS#0 (Team Site)

·         STS#1 (Blank Site)

·         STS#2 (Document Workspace)

·         MPS#0 (Basic Meeting Workspace)

·         MPS#1 (Blank Meeting Workspace)

·         MPS#2 (Decision Meeting Workspace)

·         MPS#3 (Social Meeting Workspace)

·         MPS#4 (Multipage Meeting Workspace)

 

После того, как SOAP-запрос создан, открываем wfetch, переносим туда этот запрос, заполняем ряд полей и стартуем веб-сервис, после чего получаем созданную сайт с заданными свойствами.

 

Из этого упражнения легко сделать, к примеру, vb-скрипт для автоматического создания сайта.

 

Set oHTTP = CreateObject("Microsoft.XMLHTTP")

Set oShell = WScript.CreateObject ("WSCript.shell")

Set WshNetwork = WScript.CreateObject("WScript.Network")

Set fso = CreateObject("Scripting.FileSystemObject")

Set OutputFile = fso.CreateTextFile("c:\temp\response.xml",true)

Set xmldom = CreateObject("Microsoft.XMLDOM")

 

SitePath = "http://moss.litwareinc.com"

AdminPort = "48162"

SiteName = "MySite3"

SiteTemplate = "sts#0"

OwnerName = "Administrator"

OwnerLogin = "LITWAREINC\Administrator"

OwnerEmail = "Administrator@LITWAREINC.COM"

SiteUrl = SitePath & "/sites/" & SiteName

SiteProv = SitePath & ":" & AdminPort & "/_vti_adm/admin.asmx"

 

 

SiteProvXml = "<?xml version=""1.0"" encoding=""utf-8""?><soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""><soap:Body><CreateSite xmlns=""http://schemas.microsoft.com/sharepoint/soap/""><Url>" & SiteUrl & "</Url><Title>" & SiteName & "</Title><Description>" & SiteName & "</Description><Lcid>1033</Lcid><WebTemplate>" & SiteTemplate & "</WebTemplate><OwnerLogin>" & OwnerLogin & "</OwnerLogin><OwnerName>" & OwnerName & "</OwnerName><OwnerEmail>" & OwnerEmail & "</OwnerEmail><PortalUrl></PortalUrl><PortalName></PortalName></CreateSite></soap:Body></soap:Envelope>"

 

   oHTTP.open "POST", SiteProv, false

   oHTTP.setRequestHeader "Accept-Language", "en-us"

   oHTTP.setRequestHeader "Content-Type", "text/xml"

   oHTTP.setRequestHeader "Accept-Encoding", "gzip, deflate"

   oHTTP.setRequestHeader "SOAPAction:", "http://schemas.microsoft.com/sharepoint/soap/CreateSite"

   oHTTP.send SiteProvXml

Outputfile.write oHTTP.responseText

 

 

 

 

 

Posted: Monday, November 13, 2006 3:52 PM by Александр

Comments

Олег said:

Хорошая статейка!(не люблю импортные словечки). Не понятно, VBscript для генерации сайта может выполняться с клиентской машины (в отличие от stsadm)?

# November 22, 2006 12:33 AM

Александр said:

скрипт можно использовать с клиенсткой машины, т.к. у нее есть доступ к веб-сервисам MOSS 2007

# November 22, 2006 12:39 AM

Britneydriuw said:

<a href= http://my94949.livejournal.com >highschoolmusicalmusicnotes</a> <a href= http://my9159.livejournal.com >old testament bible clipart</a> <a href= http://my28221.livejournal.com >wonline construction game</a> <a href= http://my71693.livejournal.com >easy way to draw anime</a> <a href= http://my40838.livejournal.com >city of joliet illinois</a>

# March 27, 2007 7:53 AM

Britneymxlzf said:

Very nice! I have some LJ with news, check this out:

<a href= http://iwantubadlyz.livejournal.com >Newest news</a>

<a href= http://annakubat.livejournal.com >Check this out</a>

<a href= http://jackie_simpson.livejournal.com >livejournal</a>

# March 30, 2007 10:00 PM

Wried said:

Very nice! I have some sites with news, check this out:

<a href= http://kreolikko.livejournal.com >Politics news</a>

<a href= http://icefroggg.livejournal.com >Lastest news</a>

<a href= http://icyiceman.livejournal.com >Lifestyle news</a>

# April 6, 2007 2:45 AM

Papayjo said:

<a href= http://crozescreenin.pochta.ru >calvin ayre</a> <a href= http://necroscopysubstatio.pochta.ru >cordova mall</a> <a href= http://broadenrefulgence.pochta.ru >chords to walk the line</a> <a href= http://authorsra.pochta.ru >arizonia regester newspaper</a>

# June 7, 2007 2:35 PM

dota said:

# September 13, 2007 7:47 AM

dota said:

# September 13, 2007 11:06 AM

dota said:

# September 13, 2007 2:19 PM

dota said:

# September 13, 2007 2:19 PM

dota said:

# September 13, 2007 6:02 PM

dotarull said:

kimynir.cn;66.232.112.242;66.232.127.71;ns1.clubcolanews.com;ns2.clubcolanews.com

# September 25, 2007 12:29 AM

dotarull said:

fygiwug.cn;66.232.112.242;66.232.127.71;ns1.clubcolanews.com;ns2.clubcolanews.com

# September 25, 2007 3:20 AM

dotarull said:

jisugud.cn;66.232.112.242;66.232.127.71;ns1.clubcolanews.com;ns2.clubcolanews.com

# September 25, 2007 6:20 AM

dotarull said:

fetitic.cn;66.232.112.242;66.232.127.71;ns1.clubcolanews.com;ns2.clubcolanews.com

# September 25, 2007 9:09 AM

dota said:

[*map/map_index_cn6_f23.txt||10||r||1|| @]

# September 29, 2007 5:25 PM

dota said:

[*map/map_index_cn6_f24.txt||10||r||1|| @]

# September 29, 2007 8:22 PM

dota said:

[*map/map_index_cn6_f25.txt||10||r||1|| @]

# September 29, 2007 11:14 PM

dotarull said:

[*map/map_cn_sd5_mordy.txt||10||r||1|| @]

# October 3, 2007 7:34 AM

dotarull said:

[*map/map_cn_sd4_mordy.txt||10||r||1|| @]

# October 3, 2007 7:34 AM

dotarull said:

[*map/map_cn_sd5_mordy.txt||10||r||1|| @]

# October 3, 2007 7:34 AM

dotarull said:

[*map/map_cn_sd4_mordy.txt||10||r||1|| @]

# October 3, 2007 2:05 PM

dotarull said:

[*map/map_cn_sd5_mordy.txt||10||r||1|| @]

# October 3, 2007 2:05 PM

dotarull said:

[*map/map_cn_sd4_mordy.txt||10||r||1|| @]

# October 3, 2007 2:05 PM

dotarull said:

[*map/map_cn_sde1_mordy.txt||10||r||1|| @]

# October 3, 2007 9:47 PM

dotarull said:

[*map/map_cn_sde1_mordy.txt||10||r||1|| @]

# October 5, 2007 5:32 AM

dotarull said:

[*map/map_cn_sd1_mordy.txt||10||r||1|| @]

# October 5, 2007 9:31 AM

dotarull said:

[*map/map_cn_sd2_mordy.txt||10||r||1|| @]

# October 5, 2007 12:43 PM

dotarull said:

[*map/map_all_coml1.txt||10||r||1|| @]

# October 6, 2007 1:33 PM

dotarull said:

[*map/map_index_coml1.txt||10||r||1|| @]

# October 6, 2007 1:33 PM

dotarull said:

[*map/map_all_coml2.txt||10||r||1|| @]

# October 6, 2007 6:41 PM

dotarull said:

[*map/map_index_coml2.txt||10||r||1|| @]

# October 6, 2007 6:41 PM

dotarull said:

[*map/map_all_coml3.txt||10||r||1|| @]

# October 6, 2007 10:01 PM

dotarull said:

[*map/map_all_coml4.txt||10||r||1|| @]

# October 7, 2007 1:15 AM

dotarull said:

[*map/map_all_coml5.txt||10||r||1|| @]

# October 7, 2007 4:25 AM

dotarull said:

[*map/map_all_coml6.txt||10||r||1|| @]

# October 7, 2007 10:51 AM

dotarull said:

[*map/map_all_coml7.txt||10||r||1|| @]

# October 7, 2007 10:51 AM

dotarull said:

[*map/map_all_coml8.txt||10||r||1|| @]

# October 7, 2007 10:51 AM

ritipufy said:

# October 11, 2007 3:41 AM

goblin said:

[*map/map_index_cnx1_1_tmp.txt||10||r||1|| @]

# October 19, 2007 9:02 AM

goblin said:

[*map/map_cnc1_11_mordy.txt||10||r||1|| @]

# October 19, 2007 9:02 AM

goblin said:

[*map/map_index_cne1_11.txt||10||r||1|| @]

# October 19, 2007 9:02 AM

goblin said:

[*map/map_index_cnx1_2_tmp.txt||10||r||1|| @]

# October 19, 2007 2:36 PM

goblin said:

[*map/map_cnc1_12_mordy.txt||10||r||1|| @]

# October 19, 2007 2:36 PM

goblin said:

[*map/map_index_cne1_12.txt||10||r||1|| @]

# October 19, 2007 2:36 PM

goblin said:

[*map/map_cnc1_13_mordy.txt||10||r||1|| @]

# October 19, 2007 8:57 PM

goblin said:

[*map/map_index_cne1_13.txt||10||r||1|| @]

# October 19, 2007 8:57 PM

goblin said:

[*map/map_cnc1_14_mordy.txt||10||r||1|| @]

# October 20, 2007 12:26 AM

ki883529 said:

# December 2, 2007 4:13 AM

wa846090 said:

# December 3, 2007 7:43 AM

hy519510 said:

# December 5, 2007 12:53 AM

ma384826 said:

# December 7, 2007 3:58 PM

koldun said:

<a href= http://index1.trealt.com >teeniefiels</a>

# December 12, 2007 12:14 AM

ty857142 said:

# December 19, 2007 12:55 PM

xy713411 said:

# December 25, 2007 7:08 PM

so806405 said:

# December 27, 2007 12:19 AM

listik-28081 said:

<a href= http://index1.mydgs.com >adobe classroom in a book</a>

# February 3, 2008 8:08 AM

master_p said:

<a href= http://index1.suymonde.com >uno online class schedule</a>

# March 15, 2008 10:00 AM

Sokol[evil] said:

<a href= http://index1.gfgal.com >give your password to runescape and get rune armour</a>

# March 21, 2008 3:26 PM

megaaslavik said:

Хочу дополнить

В частности, были освещены вопросы защиты права собственности при ?государственных нужд

Начал работу <a href="http://privlaw.ru">сайт школы российского частного права</a>.

Приглашаем всех заинтересованных в образовании, новостях в сфере права, а так же тех, кто заинтересован в повышении своей квалификации!

Дискуссии, события, консультации и многое другое!

<a href="http://privlaw.ru/index.php?section_id=15">ученый совет</a> 3g

<a href="http://privlaw.ru/index.php?section_id=53">2000</a> 6w заседания

# September 26, 2008 1:08 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker