Makale Özeti

Bu makalede Web Part sayfalarına yönelik hazırlanmış örnek kod ve şablonlar kullanarak SharePoint siteleri için özgün Web Part sayfa şablonları yaratılması incelenecektir.

Makale

Microsoft SharePoint Servisleri için Özgün Web Partlar Yaratmak


Giriş


Microsoft Windows SharePoint Servisleri dahilinde bulunan Web Part sayfası yaratma formu yazılım geliştiricilerin bir Web Part sayfası yaratması sürecini oldukça kolaylaştırmaktadır. Bu form WebPart sayfasının yerleşim planları ile ilgili sekiz adet seçenek sunar. Bu şablon seçenekleri Microsoft SharePoint Servislerinin kurulumu ile gelmektedir. Ancak, WebPart sayfası yaratma formuna yeni şablonlar ekleyemezsiniz. Buna ek olarak bu form ile kendi WebPart’larınızı mevcut şablonların içine gömmeniz de mümkün değildir. Bu makalede kendi geliştirdiğiniz sınırsız sayıda özgün sayfa şablonuna göre WebPart sayfaları yaratabilmenizi sağlayacak yeni bir WebPart Sayfası Yaratma Formunu nasıl geliştirebileceğiniz anlatılmaktadır. Geliştireceğiniz bu yeni form ile aynı zamanda şablonların içerisine WebPart’ları da gömebilirsiniz. Ekte bu makalede anlatıldığı şekilde geliştirilmiş örnek WebPart sayfa şablonları bulunmaktadır. Siz de bu örnek şablonları üzerinde değişiklik yaparak kendi ihtiyaçlarınızı karşılayabilirsiniz.

Yeni Web Part Yaratma Form’unun Konfigürasyonu

Yapmanız gereken ilk iş özgün bir yaratma formu yaratmaktır. Aşağıdaki presedürü izleyerek bunu yapabilirsiniz. Aşağıdaki prosedürde dosyalarda kullanılan dil Türkçe’dir. Bu nedenle 1055 isimli klasör kullanılmaktadır. Farklı bir dil kullanıyorsanız ilgili dil ile ilişikili klasörü (İngilizce ise 1033) kullanmanız gerekmektedir.

  &1. Standart WebPart Sayfası Yaratma Formunun (spcf.aspx) üzerinde değişiklik yapılamaz. Bu sistemin tutarsız çalışmasına neden olmaktadır. Biz burada bu formun değişik bir versiyonu olan Custspcf.aspx dosyasını kullanıp, bu dosyanın üzerinde değişiklikler yapacağız. Şimdi Custspcf.aspx isimli dosyayı, üzerinde Microsoft Windows SharePoint servisleri çalışan sunucunun aşağıdaki dizinine kopyalayınız: < Yerel_Dizin>:\Program Files\Common Files\Microsoft Shared\Web Server\Extensions\60\TEMPLATE\LAYOUTS\1055

  &2. Şimdi yeni WebPart Sayfası Yaratma Formunun (Custspcf.aspx) kullanacağı tüm imaj dosyalarını üzerinde Microsoft Windows SharePoint Servisinin çalıştığı sunucunun aşağıda belirtilen dizinine kopyalacağız:

< Yerel_Dizin>:\Program Files\Common Files\Microsoft Shared\Web Server\Extensions\60\TEMPLATE\LAYOUTS\1055\IMAGES

Bu dizinde genellikle sayfa şablonlarının kullandığı thumbnail imajlar saklanmaktadır. Bu örnekte, SharePoint ile hazır gelen sekiz şablonun kullandığı imazları kullanacağız. Custspcf.aspx dosyasındaki değişiklikleri tamamladıktan sonra, bu imajları başkaları ile değiştirebilirsiniz. Burada dikkat edilmesi gereken nokta imaj isimlerinin şablonda referans edilirken kullanılan isimlerle aynı olmasıdır. Örneğin, şablon sayfanızın ismi BenimSablonum01.aspx ise buna karşılık gelecek imaj dosyasının ismi de BenimSablonum01.gif olmak zorundadır. Biz bu örnekte Custom1.gif, Custom2.gif, Custom3.gif, Custom4.gif, Custom5.gif, Custom6.gif, Custom7.gif ve Custom8.gif isimli imaj dosyalarını kullanıyor olacağız.

  &3. Bu noktaya kadar gerekli kopyalama işlemlerini yaptık. Şimdi yeni WebPart Sayfası Yaratma Formu’muza bir link vermemiz gerekiyor. Bunu Create Page’den veya portalimizin anasayfasına bir link koyarak yapacağız. Create Page’e yeni bir link eklemek için aşağıdaki adımları izleyiniz:

  &  &3.1 Aşağıdaki dizinde bulunan Create.aspx dosyasını Notepad gibi bir metin editöründe açın:

< Yerel_Disk>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\LAYOUTS\1055\

  &  &3.2 Create.aspx dosyası içerisinde aşağıdaki metini arayın:

< a href="spcf.aspx" title="Web Part Page" target="_self">

  &  &3.3 Yukarıdaki metni barıdıran tablo satırı TR node’unun tamamını seçip kopyalayın ve kopyaladığınız TR nodu’nun bir altındaki satıra yapıştırın.

  &  &3.4 Yukarda yarattığınız yeni TR node’unun ilk satırındaki spcf.aspx dosya ismini custspcf.aspx olarak değiştirin. Daha sonra TR node’unun title ve alt özelliklerine değer olarak yeni özgün WebPart Sayfası yaratma Formu’na uyacak şekilde değiştirin.

  &  &3.5 Yeni TR elementinin altındaki satırda, spcf.aspx dosyasını custspcf.aspx olarak değiştirin. “Web Part Page” başlığını da yeni forma uygun olacak şekilde değiştirin.

< a href=”spcf.aspx” target=”_self”>Web Part Page


  &  &3.6 Bir sonraki satırda da, yeni WebPart Sayfa Yaratma Formu’nun açıklamasını uygun şekilde değiştirin.

  4. Kendi özgün sayfa şablonlarınızın tümünü aşağıdaki dizine kopyalayın:

< Yerel_Dizin>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\1055\STS\DOCTEMP\SMARTPGS\.

Bu noktada yeni yaratmış olduğunuz WebPart Sayfa Yaratma Formu’na istediğiniz sayıda sayfa şablonu dahil edebilirsiniz. Buna ek olarak çeşitli WebPart’ları şablonlara gömmek de mümkün. Bu örnekte, Microsoft SharePoint Servisleri ile hazır gelen Custom1.aspx, Custom2.aspx, Custom3.aspx, Custom4.aspx, Custom5.aspx, Custom6.aspx, Custom7.aspx, Custom8.aspx isimli şablonları kullanıyoruz. Sizin yaratacağınız şablonların da bu isim standardını korumasında fayda vardır.

  &5. Yaratmış olduğunuz yeni WebPart Sayfa Yaratma Formu’nun farklı dillerdeki versiyonlarını da geliştirme ihtiyacı duyarsanız, yukarıdaki adımları sözkonusu dil ile ilgili dizinleri kullanarak tekrarlayabilirsiniz.

Yeni Bir Şablon Yaratma

Kendimize özel konfigüre etmiş olduğumuz Web Part Sayfa Yaratma Formu şu anda, Microsoft SharePoint Servisleri ile gelen standart şablonlarla çalışıyor. Bu şablonları özgün formumuz için değiştirebilir ya da bunlara yenilerini ekleyebilirsiniz. Bu noktada gelin içerisinde bir İmaj WebPart’ı gömülü kendi özel sayfa şablonumuzu yaratmaya çalışalım. Aşağıdaki adımları izleyiniz:

  &1. Notepad gibi bir metin işleme editöründe bir önceki bölümde konfigüre ettiğimiz sunucuda kullandığız dil ile ilişkili klasörün altındaki Custspcf.aspx dosyasını açın.

  &2. Custspcf.aspx dosyasında, aşağıdaki satırı bulun:

< Select id=”onetidWebPartPageTemplate” name=”WebPartPageTemplate” size=”8” onchange=”DoTemplateOptionChange()”>

  &3. Bu satırdaki size özelliğinin değerini 9 olarak değiştirin.

  &4. Yukarıdaki < SELECT> satırının altındaki < OPTION> node' larının sonuna yeni bir < OPTION> node’u ekleyin:

< OPTION value=”Custom9”>Benim Yeni Özgün Şablonum < /OPTION>

Bu noktada yukarıdaki seçeneklere sınırsız sayıda şablon ekleyebilirsiniz. Buradaki tek kısıt şablonun ismi ile o şablonun öz izleme imaj dosyasının isimleri birbiri ile uyumlu olmalıdır. Örneğin, şablonun ismi Custom9.aspx ise bununla ilgili ön izleme imaj dosyasının ismi Custom9.gif.

  &5. Yukarıdaki değişikliği yaptıktan sonra sayfayı kaydedin.

  &6. Şablonların önizleme imajlarının bulunduğu aşağıdaki dizine giderek, Custom1.gif isimli dosyanın bir kopyasını yine bu dizinde oluşturun; yeni imaj dosyasının ismini Custom9.gif olarak değiştirin.

< Yerel_Dizin>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\LAYOUTS\1055\IMAGES

  &7. Özgün şablonlar ile ilgili aşağıdaki dizine giderek, Custom1.aspx isimli dosyanın bir kopyasını yine bu dizinde oluşturun; yeni dosyanın ismini Custom9.aspx olarak değiştirin.

:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\1033\STS\DOCTEMP\SMARTPGS

Yeni WebPart Yaratma Formu için oluşturduğumuz örnek kod, her sayfa şablonunun, başlık bölümünde _TitlePlaceHolder_ isminde bir referans metni olduğunu varsaymaktadır. Bir kullanıcı bir sayfa yaratmak için sayfa şablonlarından birisini seçtiğinde, yeni sayfa için bir dosya ismi yazar ve Create butonuna basar. Bu noktada şablona uygun bir WebPart Sayfası yaratılır ve şablonda yer alan _TitlePlaceHolder_ isimli referans metni, yeni sayfaya verilen isim ile değiştirilir. Bu bağlamda özgün bir sayfa şablonu yaratmak istediğinizde, bu şablonun içerisinde _TitlePlaceHolder_ isminde bir referans metni barındıran bir başlık WebPart’ını yerleştirmeyi unutmayınız. Aşağıdaki örnek kod, başlık WebPart’ını bununla ilgili alana nasıl yerleştireceğinizi göstermektedir:

< WebPartPages:WebPartZone runat="server" Title="loc:TitleBar" ID="TitleBar" LockLayout="true" AllowPersonalization="false">
    < WebPartPages:TitleBarWebPart runat="server">
        < WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" xmlns:tb="http://schemas.microsoft.com/WebPart/v2/TitleBar">
          < tb:HeaderTitle>
            _TitlePlaceHolder_
          < /tb:HeaderTitle>
          < tb:Image>/_layouts/images/wpicon.gif
        < /WebPart>
    < /WebPartPages:TitleBarWebPart>
< /WebPartPages:WebPartZone>

  &8. Notepad gibi bir metin işleme editöründe Custom9.aspx isimli dosyayı açınız.

  &9. ID değeri “FullPage” olan WebPart alanını (zone) bulunuz.

  &10. FullPage WebPart alanına aşağıdaki gibi bir bitiş tag’ı ekleyin:

< WebPartPages:WebPartZone runat="server" Title="loc:FullPage" ID="FullPage">

< /WebPartPages:WebPartZone>

  &11. Yukarıdaki Web Part alanına aşağıdaki XML metnini yapıştırın ve sayfayı kaydedin. (Buradaki XML metni Microsoft’un logosunu ifade eden bir imaj Web Part’ını tanımlamaktadır.)

< WebPartPages:ImageWebPart runat="server">
    < WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" xmlns:iwp="http://schemas.microsoft.com/WebPart/v2/Image">
        < Title>Company Logo
          < FrameType>None
          < iwp:HorizontalAlignment>Left
          < iwp:ImageLink>http://www.microsoft.com/homepage/gif/bnr-microsoft.gif
    < /WebPart>
< /WebPartPages:ImageWebPart>

  &12. Böylece yeni bir sayfa şablonu yaratmak için yapmamız gerekenleri bitirdik. Şimdi yeni sayfa şablonunuzu test etmek için, yeni Web Part Yaratma Formu’nuzu açın ve yeni şablonu seçerek yeni bir sayfa yaratın. Eğer yaratılan yeni sayfanın en üst kısmında Microsoft logosunu görebiliyorsanız, şablonunuz doğru biçimde çalışıyordur.

Kısıtlar:

Bu makalede anlatılmaya çalışılan yöntem kendi özgün sayfa şablonlarınızı oluşturmak ve bu şablonlara uygun sayfalar yaratmak konusunda size oldukça esneklik kazandırmaktadır, ancak bu konuda bazı kısıtlar da mevcuttur. Örneğin, doküman kütüphaneleri için varsayılan şablon tanımlamak mümkündür. Bir kullanıcı bir doküman kütüphanesi dahilinde yeni bir doküman oluşturmak istediğinde yeni doküman doküman kütüphanesinin varsayılan şablon özelliğine uygun şekilde yaratılır. Microsoft SharePoint servisleri, doküman kütüphaneleri için tanımlanan şablonlara kendi özgün şablonlarınızı da dahil etmenize izin vermez. Bundan dolayı, normal şartlarda doküman kütüphanelerinin varsayılan şablon tanımlamasında kendi özgün sayfa şablonlarınızı kullanmanız mümkün olmaz. Bunun nedeni doküman kütüphaneleri için varsayılan şablon tanımlanırken Microsoft SharePoint servislerinin spcf.aspx dosyasını kullanmasıdır. Bu sayfa da bildiğiniz gibi sadece standart şablonların kullanılmasına izin verir. Kendi özgün şablonlarınızı doküman kütüphanelerinin varsayılan şablonu olarak tanımlayabilmek için kullanılabilecek yöntem; spcf.aspx dosyasının yedeğini almak ve bu dosyanın içini, Custspcf.aspx dosyasının içeriği ile değiştirmektir. Burada yapılan değişiklik unutulmamalıdır. Microsoft SharePoint Servislerini kaldırıp tekrar kurduğunuzda, ya da bir yama veya güncelleme gerçekleştirdiğinizde sizin değiştirmiş olduğunuz spcf.aspx dosyası, orjinal spcf.aspx dosyası ile değiştirilebilir. Bu durumda dikkatli olunması gerekmektedir.

Sonuç

Bu makalede SharePoint portallerinde kullanılmak üzere nasıl özgün sayfa şablonları yaratabileceğimizi ve bu şablonarı kullanmak için özgün bir Web Part Sayfası Yaratma Formu’nu nasıl konfigüre edebileceğimizi gördük. Bu makale ile ilişkilendirilmiş örnek kodlar mevcuttur.

Kaynak : msdn.microsoft.com

Örnek kodlar