Site Template Nedir ?

Sharepoint üzerinde out-of box olarak gelen ve önceden belirlenmiş bir takım iş ihtiyaclarını karşılayacak şekilde düzenlenmiş site alt yapılarıdır.Site templatelerini kullanarak ihtiyacımıza yönelik siteleri oluşturabiliriz.(Örneğin Blog sitesi,Takım sitesi ,boş site gibi)

Sharepointin yukarıda bahsettiğim gibi gelen hazır şite şablonların yanısıra bizim oluşturduğumuz site şablonlarını da kullanabilmektedir. Oluşturduğumuz site şablonları paket (.wsp) haline getirip farklı sharepoint site kolleksiyonlarında ,farklı
farmlarda da kullanabiliriz.Olusturduğumuz site template solution’ı Visual Studio 2010 ile açıp site templatemizde istediğimiz değişikliği yapıp tekrar deploy edebiliriz.

Site Templatelerinde Neler Taşınır ?

Site template için olusturulan wsp paketinde ;

  • Lists
  • Libraries
  • External Lists
  • Data source connections
  • List views and data views
  • Custom forms
  • Workflows
  • Content Types
  • Custom Actions
  • Navigation
  • Site pages
  • Master pages
  • Modules
  • WebTemplates

Nesneleri yeni siteye TAŞINIR.

  • Customized permissions
  • Running workflow instances
  • List item version history
  • Workflow tasks associated with running workflows
  • People/group field values
  • Taxonomy field values
  • Publishing pages and publishing sites
  • My Sites

Nesneleri yeni siteye TAŞINMAZ.

Burada site template’in içinde taşınmayan nesneler arasında yeralan “Publishing pages and publishing sites” ‘a dikkatinizi çekmek istiyorum.Yazımın asıl konusunu teşkil etmektedir.

Site Template Alma İşlemi (Saving a site as template)

Sharepoint üzerinde site template almanın bir kaç yöntemi var.Bunlardan bir kaçını sıralamam gerekirse.

1.Sharepoint designerdan “ Save as Template.” Linki tıklanarak

2. Stsadm komutu ile

3.Power Shell komutu ile

4.Site Ayarları üzerinden.

Sharepoint üzerindeki bir sitenin template’ini kullanarak o siteden türemiş siteler üreteceğimizi belirtmiştik.Sharepoint site ayarları (site settings) ,site actions menüsü altında yer alan “save site as template” linki aracılığı işte bu bahsi gecen sitenin template’ini olusturabiliriz.

İşleri kolaylaştıran bu “Save site as template” linki sitemizin Publishing feature’ları açıksa “Site Actions” menüsü altında görünür olmayacaktır.Bir sitenin Publishing Feature ‘ını aktive etmek için hem o webin hemde site kolleksiyonun “Sharepoint Server Publishing” özelliğini aktive etmek gerekecektir.

Tekrar sitenin template’ini “Save site as template” ile almak istediğimizde bu linkin kaybolduğunu göreceksiniz. Peki neden ?

“Save site as template” neden gözükmez ? (Hidden)

Publishing Site tipindeki siteler de yer alan sayfalar ve layouts ‘lar en tepedeki (site kolleksiyon) içerik türlerini kullanırlar.En üstteki site üçerik türleride site template ile taşınmaz.Bundan dolayı publishing site’dan alınan site template ‘i ancak aynı site kolleksiyonun altında yer alan bir sitede çalışır.Farklı bir site kolleksiyonun altında kullanılan bu site template’inden üretilen site düzgün çalışmaz.Bundan dolayı “save site as template ” seçeneği publishing feature’lar açıkken görünür değildir.

Publishing sitede site template ‘i nasıl alınır ? “Save site as template”

1.Save site as template linki görünür olmamasına rağmen browser üzerinden

<site url>/_layouts/savetmpl.aspx yazdığımızda karşımıza site template ‘i alma ekranı gelecektir.

Site template ‘i açılan sayfa üzerinden alıp bu templateden site yarattığımızda değişikliklerin düzgün taşınmadığını (benim başıma gelen örnekte sub sitelerin taşınmama durumu ve değişiklik yapılmış sayfaların boş gelmesi ) görebilirsiniz.

2.Sitemizin publishing özelliğini aktive ettiğimiz çalışan metotlardan  biri de aşağıdaki gibidir.”Save as Template” linkinin bu özellik ile kaybolmasının nedeni budur.Bu menünün tekrar görünür kalmasını sağlayacak bir feature yazarak Publishing Site için site template’i alabiliriz.Bu linkten ilgili feature’a erişebilirsiniz.

3.Son olarak Publishing  tipindeki bir siteden başka siteleri  export – import yöntemi ile türetebiliriz.(Bu yöntem ile sonradan tanımlanmış sharepoint grupları hariç publishing site’a ait tüm değişikliklerin taşındığını göreceksiniz).

Taşımak istediğimiz siteyi export etmek için Central Administration’a gidiyoruz..

Central Admin üzerinden Backup –> Restore –> Export a site or list

Açılan ekranda ilgili siteyi seçiyoruz. Ve backup alınacak dosyayı belirtiyoruz.

Export dosyasının disk üzerinde konumlanacagı yeri belirtiyoruz.”Export full security” seçeneği ile sitedeki tüm kullanıcıları ,itemlar üzerindeki oluşturan ,güncelleyen ,oluşturma tarihi ve güncelleme
tarihi taşınır.

“Export versions” seçeneği listelerin veya dokumanların versiyonlarını çeşitli şekillerde (Tüm versiyonlar,o anki versiyon v.s) alınabilir.

*.cmp üretildikten sonra publishing site tipinde olusturduğumuz boş siteye backup’ını aldığımız siteyi aşağıdaki power shell komutu ile restore ediyoruz..

import-spweb -identity http://contoso/test-path C:\BACKUP\test.cmp

Sorularınız için serkan_akkaya@yahoo.com’dan bana ulaşabilirsiniz.