Cumartesi, Ağustos 14, 2010

SharePoint 2010 – Custom MasterPage ile Yönetilebilir Kod Kullanımı

MasterPage kavramı Asp.Net tabanlı geliştirilen orta ve büyük çaplı uygualamaların olmazsa olmazları arasında yer almaktadır. En büyük faydası ise web sayfası içerisinde 5-10 veya daha fazla sayfada kullanılacak olan tasarımın tekrar tekrar sayfaların markup kod kısmına eklenmesi yerine ortak bir şablon üzerinde alarak devam edilmesinin en doğru yol olduğu kavramı ile birleşerek bu sayfalar için taban şablon olarak kullanılmaktadır. Ayrıca tasarım öğeleri dışında arka plan kullanabileceğimiz CSharp ve VB.Net dillerini de kullanarak programatik anlamda da işlemler yapabilinmesi mümkündür. Tabii bu işlemleri uygulama geliştiricilerin tercih etmesinin başlıca sebebi ise bu tekniğin kolay olması ve kullanım rahatlığından kaynaklanmaktadır. Bu tür kolaylıklar yer alırken bu güzel özelliğin SharePoint içerisinde olmamasını beklemek belki de yapılabilecek en büyük yanılgılardan biri olacaktır. Peki aramızda daha önceden SharePoint ile uygulama geliştiren varsa bu işlem SharePoint 2007 de sadece SharePoint Designer (SPD) ile yapabilmekte ve kod ile işlem yapmak istediğimizde bayaa fazla tefarruatlı işlem yapmak gerekirdi. Bu işlemlerde SharePoint development işleminin en zor işlemlerinden biri olarak gösterilirdi. Şimdi geçmiş zamana laf atarak birşeyler yazdığıma göre 2010 sürümünde işlerin çok kolaylaştığını ve hadi hop hemen yapabileceğimi söyleyeceğimi düşünüyorsanız maalesef yanılıyorsunuz. Hala zor bir işlemdir. Ancak dökümante edilmesi ve kolay bulunması amacıyla bu yazımızda arka plan kod yardımı harici masterpage ‘I nasıl portal içerisinde kullanabileceğimizi incelemeye çalışacağız. Aslında makalenin başlığı ingilizce olmalıydı. Çünkü bu tanım yapacak olduğumuz işi daha net açıklamaktadır. SharePoint 2010 – Custom MasterPage Wıth Behind Code daha anlaşılır değil mi? Smile

 

MasterPage ‘I kod yardımı ile bize özel duruma getirmek için yine bir masterPage ‘e ihtiyacımzı olacaktır. Ayrıca SharePoint ile uygulama geliştiricen yazılımcılar (Yazılımcılar SharePoint Designer ‘I nedense pek sevmezlerde Smile ) SPD uygulamasını sevmeleri gerekmektedir. Çünkü her ne kadar işlemlerimizi Visual Studio 2010 üzerinde yapacak olsakta MasterPage üzerindeki tasarımsal işlemlerimizi design kısmını da görebildiğimiz için SPD üzerinde yapıyor olacağız. Yazıya başlamadan önce üzerinde değişiklik yapacağımız MasterPage ‘I hazırlamamız ya da bulmamız gerekecektir. Ben bu tür geliştirdiğim uygulamalar için SharePoint Server MVP ‘si Randy Drisgill ‘in hazırlamış olduğu Starter MasterPage I kullanıyorum. Burada gereksiz stil öğelerinden temizlenmiş MasterPage tasarımları bulunmaktadır. Üzerine işlem yapmak için oldukça yararlı bir kaynaktır.

 

Uygulama geliştirmeye başlamadan önce kullanacak olduğumuz MasterPage ‘I Portal sayfasının masterPage ve Page Layout larının yer aldığı Document Library ‘e eklemek gerekmektedir. Bu lokasyonu bulabilmek için Portal sayfasının üzerinde sol kısımda yer alan Sıte Actions seçeneğin Site Settings kısmına tıklıyor sonrasında karşımıza çıkan ekranda ise Galleries kısmında MasterPage olan bölümü seçerek listeyi açıyoruz. Sonrasında kullanacak olduğumuz MasterPage ‘I bu kısma ekliyoruz.

 

1

 

Artık uygulama geliştirmeye hazırız. Vısual Studio 2010 içerisinde Empty SharePoint Project şeması ile projeyi oluşturuyoruz.

 

2

 

Bir sonraki adımda geliştirecek olduğumuz uygulamanın hangi Portal üzerinde ve hangi düzeyde Deploy olacağınız sormaktadır. Biz bu kısımda Farm seçeneğini seçerek devam ediyoruz.

 

3


MasterPage ‘I kullanabilmek için projeye Module şemasını eklemek gerekecektir. Bunun için Projenin klasörünün üstüne sağ tıklama yardımı ile Add New Item seçeneğine gidiyoruz.

 

5


Açılan ekrandan içerisine MasterPage ‘I de ekleyecek olduğumuz Module şablonunu ekliyoruz.

 

6


Bu işlem sonrasında MaterPageModule ‘ün içerisine indirmiş olduğunuz _starter.master dosyasını ekliyoruz. Sonrasında ise Elements.xml dosyasının içeriğini aşağıdaki son haline getiriyoruz.

 

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="MasterPageModule" Url ="_catalogs/masterpage">
  <File Path="MasterPageModule\_starter.master" 
Url="MasterPageModule/_starter.master" />
</Module>
</Elements>



Sırada yapmamız gereken işlem Projeye Feature eklemek olacaktır. Bunun için Features öğesinin üzerine sağ tıklama yaparak Add Features seçeneğine tıklıyoruz. (Otomatik olarak eklenmiş olma ihtimali de bulunmaktadır.)



7







Sonrasında Features içerisinde yer alan Itemslara göz atıyoruz.



 



8



Items yer almadığı için ve bize lazım olan Eventleri kullanmak olduğundan Feature1 ‘ın üzerinde sağ tıklama yardımı ile Add Event Receiver seçeneğini seçerek adımlara devam ediyoruz.



 



9






Bu işlem sonrasında Feature1.EventReceiver.cs isimli kod parçası oluştu. Bu kod parçasında yer alan comment ‘li metodlardan FeatureActivate ve FeatureDeactivating commentlerini kaldırıyoruz.



 



Metodları hazırlamış olduğumuz Feature ‘ın aktifleştiği anlarda ve tekrar kaldırıldığı zamanlarda yapacak olduğu işlemleri kontrol etmek amacıyla kullanıyor olacağız. Aktif duruma geldiğinde bizim hazırlamış olduğumuz harici masterPage pasif duruma geçtiğinde ise masterPage havuzunda yer alan herhangi bir masterPage I kullanıyor olarak ayarlıyoruz. pasif zamanlarda kullanacak olduğu MasterPage ‘I Adventure Works için hazırlanmış olan nightandday.master ‘I kullanıyoruz. 




public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    SPWeb currentWeb = (SPWeb)properties.Feature.Parent;

    currentWeb.MasterUrl = "/_catalogs/masterpage/_starter.master";
    currentWeb.CustomMasterUrl = "/_catalogs/masterpage/_starter.master";
    currentWeb.Update();
}

public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
    SPWeb currentWeb = (SPWeb)properties.Feature.Parent;

    currentWeb.MasterUrl = "/_catalogs/masterpage/nightandday.master";
    currentWeb.CustomMasterUrl = "/_catalogs/masterpage/nightandday.master";
    currentWeb.Update();
}



Yapmış olduğumuz işlemler sonrasında ilk etapta projeyi deploy edip bir göz atalım bakalım. Biz Feature ‘ı aktifleştirdiğimizde gerçekten seçmiş olduğumuz masterpage varsayılan tasarım oluyor mu?



 



10







Kod yardımı ile MasterPage aktifleştirme işlemi başarılı olmuş gibi görünüyor. Şimdi ki adımımız ise masterPage üzerine Web.UI bileşenlerinden ekleyip bunların event v.b. değerlerini kullanmak olacaktır. Bu sebeple projeye Add Reference… yardımı ile System.Web.dll Microsoft.Sharepoint.Publishing.dll ‘ini ekliyoruz.



 



11









12










13







Referans ekleme işlemlerini tamamladıktan sonra MasterPage üzerinde bir kaç web kontrolü ekliyoruz. Bunun için SPD 2010 üzerinden MasterPage tabına tıklayarak karşımıza gelen MasterPage ‘ler arasından _starter.master I seçip içerisine Label ve Button kontrolü ekliyoruz.



 



14







_starter.master ‘a aşağıdaki kod parçalarını ekliyoruz.






<div id="divRibbonContainer" runat="server">

    <asp:Label runat="server" Text="Label" id="Label1"></asp:Label>


    <br />


     <asp:Button runat="server" Text="Button" id="Button1"></asp:Button>


</div>





MasterPageModule ‘un üzerinde sağ tıklama yaptıktan sonra yeni bir class file ekliyoruz ve içeriğini aşadağıdaki şekilde güncelliyoruz.



 



15








using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MasterPageWithCodeBehind.MasterPageModule
{
    public class _starter : MasterPage
    {
        protected System.Web.UI.HtmlControls.HtmlGenericControl divRibbonContainer;
        protected Label Label1;
        protected Button button1;

        protected void Page_Load(object sender, EventArgs e)
        {
            divRibbonContainer.Visible = true;
            Label1.Text = "Hello World!";

            button1.Click += new EventHandler(button1_Click);
        }

        void button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "Gidiyorum ben baska sayfaya";
            Response.Redirect("/sitePages/db.aspx");
        }
    }
}



Bu değişikliği de yaptıktan sonra artık uygulamayı derleyip projenin dll ‘ini oluşturabiliriz. Şimdi bu adımları gördükten sonra o kadar zor bir adım yokmuş ki şeklinde aklınızca cümleler uçuşuyor olabilir. Ancak maalesef bu teknik behind code da yapılan işlemlerin çalışması için yeterli değildir. Ilk olarak oluşturulan dll için PublicTokenKey oluşturup sonra bu token yardımı ile dll ‘I masterpage ‘e inherit etmek gerekecektir.



 



PublicTokenKey almak için dll ‘in bulunduğu yol ve sn.exe –Tp komutunu Vısual Studio Command Prompt üzerinde çalıştırmak gerekecektir.



 



16







Publıc Token Key ‘I aldıktan sonra şimdi oluşan dll ‘I MasterPage ‘e inherit etmemiz gerekmektedir. Bu işlem için asp.net alışık olduğumuz inherit işlemini uyguluyor olacağız.



 



<%@ Master language="C#" Inherits="" %>



 



Inherits özelliğini değerini ise aşağıdaki şekilde belirliyoruz.



 



MasterPageWithCodeBehind.MasterPageModule._starter, MasterPageWithCodeBehind, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db08a6e4fe0a07ee



 



Son olarak MasterPage ‘in inherit kısmı aşağıdaki gibi olacaktır.



 




<%@ Master language="C#" Inherits="MasterPageWithCodeBehind.MasterPageModule._starter, MasterPageWithCodeBehind, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db08a6e4fe0a07ee" %>




 



Bu işlem sonrasında artık projeyi deploy edip tekrar sonucu görebiliriz.



 



17







Sayfayı görüntülemek istediğimizde bize kullandığımız yöntemin güvenli olmadığı şekilde bir hata verdi. Bunun neden olduğunu kısaca açıklamak gerekirse, web uygulamaları geliştirirken IIS server varsayılan olan Inherits olarak kullanılan dosyaların DLL değil CS ya da VB kod olmasını beklemektedir. Bu iki değer dışında kullanılan bütün kod parçalarını ise sisteme zarar verebilecek tehtit olarak algılar ve çalışmasını engeller. Peki bizim yapmamız gereken nedir? SharePoint portalın web.config dosyasında yer alan SafeControl listesine bizim oluşturmuş olduğumuz dll ‘I eklemek olacaktır.



 



SharePoint portalin web.config ‘inin olduğu dosyaya erişmek için



C:\inetpub\wwwroot\wss\VirtualDirectories\80 yolunu kullanabilirsiniz. Web.config içerisine ekleyecek olduğumuz kod parçası ise aşağıdaki gibi olacaktır.



 




<SafeControl Assembly="MasterPageWithCodeBehind, Version=1.0.0.0, Culture=neutral, PublicKeyToken=db08a6e4fe0a07ee" Namespace="MasterPageWithCodeBehind.MasterPageModule" TypeName="_starter" Safe="True" AllowRemoteDesigner="true" />




 



Değişikliği yapıp tekrar sayfayı çalıştırdığımızda yapmış olduğumuz değişikliklerin sorunsuzca çalıştığını gözlemlemiş oluruz.



 



18



 



Sonuç olarak bu yazımızda SharePoint ‘in ileri sevviye konularından biri olan kod yardımı ile CustomMaster page ‘I düzenleme ve üzerinden işlem yapma konusunu incelemeye çalıştık.



 



Umarım yararlı olmuştur.

Cuma, Ağustos 13, 2010

SharePoint 2010 - SPD 2010 ile Server–Side Kod Yazmak

SharePoint Designer 2010 ile cs ya da vb kod yazamıyorum. Ne yapmam gerekiyor? Sad smileCEVAP: Aşağıdaki yazıyı okuman sana yardımcı olabilir. Smile

SharePoint 2010 ile basit web sayfalarını en rahat oluşturabileceğimiz ve master page birlikteliğini sağlayabilceğimiz en başarılı uygulama SharePoint Designer 2010 (SPD 2010) uygulamasıdır. Bu sebepten ötürüdür ki SharePoint 2010 ‘u eline alan uygulama geliştiricilerin büyük bir çoğunluğu root klasöre de erişebilme özelliği sebebi ile yeni bir sayfa v.b. eklemek istediklerinde bu uygulamayı kullanırlar. Evet kesinlikle kabul ediyorum en hızlı Asp.Net sayfa oluşturup yayınlayabileceğiniz uygulamadır. Ancak Server-Side kod yazarken yani Event yakalayıp o esnada bir işlem yaptırtmak istediğimiz zamanlarda biraz sıkıntılı bir yanı vardır. Bu yazımızda sıkıntılı yanı nasıl aşabileceğimize değinmeye çalışacağız.

 

Öncelikle SPD 2010 üzerinde SitePages kısmına gelip web sayfası oluşturuyor sonraısında ise arka planda otomatik oluşmuş kod parçasına göz atıyoruz.

 

Kod kısmının görünümü ise aşağıdaki gibidir.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"</a>>
<%@ Page Language="C#" %>
<html dir="ltr" xmlns="<a href="http://www.w3.org/1999/xhtml"">http://www.w3.org/1999/xhtml"</a> xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">

<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<head runat="server">
<meta name="WebPartPageExpansion" content="full" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>

<!--[if gte mso 9]>
<SharePoint:CTFieldRefs runat=server Prefix="mso:" FieldList="FileLeafRef,WikiField,_dlc_DocId,_dlc_DocIdUrl,_dlc_DocIdPersistId"><xml>
   
<mso:CustomDocumentProperties>
<mso:_dlc_DocId msdt:dt="string">WM56YMSTHXCT-11-5</mso:_dlc_DocId>
<mso:_dlc_DocIdItemGuid msdt:dt="string">e2f62402-89fd-4320-9663-f86e1492ee1a</mso:_dlc_DocIdItemGuid>
<mso:_dlc_DocIdUrl msdt:dt="string"><a href="http://turhal-pc/test/_layouts/DocIdRedir.aspx?ID=WM56YMSTHXCT-11-5">http://turhal-pc/test/_layouts/DocIdRedir.aspx?ID=WM56YMSTHXCT-11-5</a>, WM56YMSTHXCT-11-5</mso:_dlc_DocIdUrl>
</mso:CustomDocumentProperties>
</xml></SharePoint:CTFieldRefs><![endif]-->
</head>

<body>

<form id="form1" runat="server">
</form>

</body>

</html>

 

Sayfanın SharePoint şablonlarını saymazsak Asp.Net sayfası olduğunu gözlemleriz. Bu durumda eski bilgilerimizi aklımıza getirelim. Eğer ki asp.net sayfada kod dosyası kullanma şansımız yoksa aspx sayfaya server-side kod için script ekleyip metot v.b. kod parçalarını bu kısma ekliyorduk. O zaman şimdi bu yöntem ile sayfayı düzenleyip ve Page_Load olayını tetikleyen ufak bir kod parçası yazalım.

 

<script runat=”Server” >

protected void Page_Load (object sender, EventArgs e)

{

    form1.InnerHtml = “<h1> Merhabaaa </h1>”

}
</script>

 

Bu değişikliği kaydedip publish ettiğimizde source kodun içerisinde server-side kod kullanamayacağımızı açıklayan bir hata alırız. Peki bu durumda ne yapmamız gerekiyor. Aslında işlem basit. Web.config içerisinde SharePoint tarafında aspx sayfalarının içerisinde Server-Side kullanımı engelenmiştir. Bizim yapmamız gereken bunu aktif duruma getirmek olacaktır.

 

Web.Config dosyasının içerisinde configuration/SharePoint/PageParserPath bölümüne gelip aşağıdaki kod parçasını ekliyoruz.

 

<PageParserPaths>

    <PageParserPath VirtualPath=”test/SitePages/Article_Page.aspx” CompilationMode=”Always” AllowServerScript=”True” />

</PageParserPaths>

 

Evet işlem sadece bu kadar. Değişiklik sonrasında sayfanızı sorunsuzca kullanmaya başlayabilirsiniz. Ancak bu yazıyı okuduktan sonra aklınıza şu tür sorular gelebilir. Evet bu şekilde sayfayı çalıştırdık. Ancak benim 100 tane sayfam var hepsi içinde mi bu yöntemi kullanmalıyım. Hepsine bir arada seçebileceğim bir teknik yok mudur?

Cevabı ise hayır yoktur olacaktır. SharePoint 2010 genel anlamda eğer ki Server-Side kod geliştirmek istiyorsanız bunu Visual Studio içerisinde yapmanız gerekmektedir der. Bu sebeple bu kadar çok sayfanız var ise yapılması gereken VS2010 uygulamasında SharePoint Module ‘ler geliştirip web sayfalarını onun üzerind en taşımak olacaktır. Hayır bunu istemiyorum derseniz ise tek tek sayfanızın sunucu da olduğu yer bilgisi ile birlikte eklemeniz gerekecektir.

 

Umarım yararlı olmuştur.

Perşembe, Ağustos 12, 2010

SharePoint 2010–Office Visio 2010 Workflow ile Calismak

Mıcrosoft Offıce Visio uygulaması iş süreçlerinin modellenmesi açısından benim ve diğer bir çok insanın oldukça fazla tercih ettiği bir uygulamadır. Temel iş süreçleri, kurumsal süreçler, mimari analizler ve iş akışları en sık kullanılan şablonlar olarak karşımıza çıkmaktadır. SharePoint 2010 ise diğer yazılarımızda da detaylıca anlattığımız gibi birlikte çalışmanın en üst noktada olduğu çok başarılı bir üründür. SharePoint 2010 ile yapabileceğimiz işlerden birisi de yapılan adımları belirli iş akışı süreçlerine bağlayıp sonrasında list v.b. öğelerimizi bu akışlar ile bağlantılı bir şekilde kullanabilmemizdir. Portal sisteminin kendi bünyesinde Onay, Bilgi toplama, coklu istek gibi temel iş akışları yer almaktadır. Eğer ki bizim kullanacak olduğumuz iş akışları bu hazır tasarımlardan farklı ise custom workflow geliştirmenin zamanını geldiğini göstermektedir. Bu iş akışı türünü yapabileceğimiz yegane uygulamalar SharePoint Designer 2010 ve Workflow Foundation ‘dır. Tabikii hazırlayacak olduğumuz iş akışlarının tasarımlarını çizeceğimiz uygulama da Office Visio 2010 ‘dur. Bu noktada aklımıza şu tür hayaller belirmeye başlıyor. Visio ile tasarlamış olduğumuz akışı direk şu projenin içerisine aktarabilsekte sonrasında diğer ufak detayları hazırlayıp workflow kullanabilsek. Ne kadar kadar güzel bir hayal değil mi? Bence de öyle. Ancak bana biri böyle bir konudan bahsettiğinde bunun hayal değil zaten var olan bir yapı olduğundan ayrıca bu akışları bir adım sonrasında Visual Studio üzerinde düzenlenebilir hale de getirileceğinden bahsetmekteyim. Şimdi bunu böyle yapıyorum dedim dedikten sonra nasıl yapıldığına değinmezsek olmaz. Smile Uzun lafın kısası bu yazımız da Visio 2010 ile geliştirmiş olduğumuz bir SharePoint Workflow tasarımını SharePoint Designer 2010 uygulamasına nasıl entegre edebileceğimizi ve sonrasında Visual Studio 2010 ile düzenleme yapabilmek için hangi ufak noktaya dikkat edebilmemiz gerektiğine değiniyor olacağız.

 

Visio 2010 uygulamasında proje şablonu olarak aşağıda görmüş olduğunuz SharePoint Workflow ‘u seçerek başlıyoruz. Neden diğer Workflow ları kullanmıyoruz derseniz bizde çünkü iş akışını SharePoint için geliştiriyoruz deriz. Smile

 

1

 

Pekı proje sablonunu acık ama araç kutusunda neler olduğunu görmeden akış çizmek zor olsa gerek…

 

SharePoint Workflow Actions

2

SharePoint Workflow Condition


3


SharePoint Workflow Terminator

 

4

Evet artık elimizde ki materyallerin hepsini gördüğümüze göre akışı geliştirmemiz de herhangi bir sıkıntının olmaması gerekiyor.

 

Kendi hayal gücümüze göre Visio üzerinde bir akış hazırlayarak adımlarımıza devam ediyoruz.

 

5


Güzelce akışımızı tasarladık. Şimdi bu tasarlamış olduğumuz akışın doğruluğunu kontrol etmemiz gerekmtedir. Bunun için Visio içerisinde yer alan Process tabinin içerisinde Check Diagram seçeneğine tıkladığınızda doğruluğunu test ediyor olacaksınız. Eğer ki doğru ise sorunsuzdur diye bir mesaj alıyor olursunuz.

 

6

 

Üst kısımda yer alan menüye göz attığınız onaylanan iş akışını dışa atkar ve içe al seçeneklerini fark ediyor olacaksınız. Import işlemi yardımı ile *.vmw uzantılı dosya çıkmakta ve bu dosyayı sorunsuzca SharePoint Designer 2010 uygulamasında kullanabilirsiniz. Akışı çıkarttığımızın sonrasında çıkan xoml, vsx ve xml çıktıları aşağıdaki gibi olacaktır.

 

7

 

8

9


Herşey yolunda gözüküyor. Şimdi yapmamız gerek ise vmi uzantılı dosyayı SharePoint Designer üzerinde içeri almak olacaktır. Bu amaçla SPD 2010 da Workflow tabına kadar geliyoruz. Sonrasında bu kısımdan Import From Visio seçeneğine tıklayarak Visio üzerinde hazırlamış olduğumuz akışı ekliyoruz.

 

9

 

Ekleme işlemi esnasında List Workflow seçeneği list spesifik olarak akışı tanımlamaktadır. Reusable Workflow ise tip bazı akış oluşturmakta ve bu tipe bağlı tüm alt içeriklerde de kullanılabilmektedir. Ayrıca eğer ki Reusable Workflow olarak akışınızı oluşturursanız sonrasında Visual Studio üzerinde Import SharePoint Reusable Workflow proje şablonunu kullanarak geliştirme işlemleri yapabilirsiniz.

10


Bu işlemler sonrasında akışımız SPD 2010 ‘da geiştirebileceğimiz bir hal alır.

 

11

Doldurulması gereken alanları tamamladıktan sonra Workflow ‘u publish ettiğimizde Portal sistemimizde sorunsuzca kullanılıyor olabilir duruma geliyor. Ayrıca bir taşla da iki kuş vurmuş oluyoruz.

 

Umarım yararlı olabilmişimdir. Smile

Cumartesi, Ağustos 07, 2010

SharePoint 2010–Veri Tabani Loglama (Logging Database)

SharePoint ile uğraşan insanların en sık sorduğu sorulardan biri portalın içerisinde yapılan işlemleri veri tabanında nasıl loglayabilirim oluyor. Ayrıca bu soru oldukça güzeldir. Neden derseniz portal yöneticisi sisteme dahil olan kişilerin hareketlerini takip edebilir. Gerekirse sorun olmuş bir durumu bu loglar yardımı ile çözüm üretebilir. Biz de bu yazımızda SharePoint 2010 ‘da veri tabanı loglama için ne tür işlemler yapmamız gerektiğini inceliyor olacağız.

 

Öncelikle bu işlemin adı veri tabanı loglama olduğu için öncelikli işlemi management studio içerisinde işlemleri gerçekleştiriyoruz. SharePoint instance ı içerisinde WSS_Logging veri tabanından yararlanıyor olacağız.

 

1

 

Portal içerisinde yer alan WebPart, Site, Reports, Application Pages v.b. gibi bölümlere son kullanıcılar tarafından yapılan istekler WSS_Logging veri tabanı içerisinde yer alan tablolarda yer alır. Bunlar ile ilgili rapor alınmak istendiğinizde ise view lar içerisinde yer alan RequestUsage yardımı ile bu işlemi gerçekleştirebiliriz. Peki bu view ‘in içerisinde neler var. İsterseniz bir göz atalım.

 

2

Yukarıda yer alan sorguyu çalıştırdığımızda ise hiç bir kayıt gelmediğini gözlemleriz. İşte şimdi sistem içerisinde her işlemin loglanması için yapılması gerekenleri adım adım inceleyelim.

 

SharePoint 2010 Central Administrator sayfasının içerisinde yer alna Monitoring tabından Configure usage and health data collection linkine tıklıyoruz.

3


Karşımıza çıkan ekranda gerekli ayarlamaları yapabilmemiz için seçenekler yer almaktadır. Bu sayfayı aşağıdaki gibi olacak şekilde düzenliyoruz.

 

4

5


Ayarlamaları tamamldıktan sonra loglanan verilerin hangi sıklıkla veri tabanına ekleneceği ile ilgili bilgi girmemiz gerekmektedir. Bunun için ise Logging Schedule yapmamız gerekecek. Edit Timer Job bölümü bizim isteklerimizi karşılayacak naçizane bölümdür. Smile

6

 

Yapmış olduğumuz işlemler sonrasında loglarımız otomatik olarak veri tabanına atılır oldu.

7

 

Herkese iyi günler…

Çarşamba, Ağustos 04, 2010

SharePoint 2010 – Tasarımın Düzenlenmesi

SharePoint 2010 ile gelen çok şık ve görsel bir tasarım şablonu bulunmaktadır. Fakat tahmin edebileceğiniz üzere şirket ve kişi bazlı olarak tasarımların düzenlenmesinin gerekli olduğu durumların ortaya çıkması mümkündür. Özellikle de kurumsal firmalara hazırlamış olduğumuz SharePoint 2010 projelerinin tasarımlarının öncelikli olarak şirlet şablonuna uyumlu bir hale getirilip ondan sonra çalışılması devam etmek gerekir. Peki bu tür işlem yapmanın ne tür bir gereksinimleri olur konusuna gelirsek. Bunu iki yönden inceleyebiliriz. Birinci olarak küçük ve orta ölçekli geliştirilen projeleri ele alalım. İlk olarak alt siteler ve sayfalar bazında belirli bir stilin ve tasarımın olması son kullanıcı üzerinde oldukça iyi bir izlenim bırakmaktadır. Ayrıca orta ve küçük ölçekli projelerin insanların gözünde daha değerli görünebilmesi amacıyla ve profesyonel bir izlenim olabilmesi açısında tasarımın özel ve sabit olmasında kesinlikle önem payı vardır.

İkinci olarak büyük ölçekli yani kurumsal firmalarda ise zaten genel anlamda kullandıkları hazır şablonları olduklarından bunun SharePoint içerisine uyarlanması gerekecektir. Çünkü yine profesyonel kullanım açısından önemi vardır.

 

Bu kadar bilgiyi neden anlattığımıza gelirsek, tahmin edebileceğiniz üzere SharePoint ‘in varsayılan MasterPage ‘ini ve sayfalarını düzenlemek oldukça önemli bir süreç olarak yer almaktadır. Biz de bu yazımızda basitçe nasıl gerekli düzenleme işlemlerini yapabileceğimizi anlatmaya çalışacağız.

 

Öncelikle SharePoint ‘in Server ‘da ya da Windows 7 işletim sisteminde deploy ediyor olmamız için kurulu olması gerekmektedir. Sonrasında tasarım işlemlerini yapabilmek amacıyla sistemimizde kurulu olan Office Microsoft 2010 sistemin kurulu olan işlemci tipine bağlı olarak SharePoint Designer 2010 ürününü de kurmak gerekecektir. Bu ürün yerine Visual Studio kullanmamazdıydık diye bir sou gelebilir aklınıza. Ancak SharePoint ‘in tasarımsal öğelerini ve MasterPage ‘ini en iyi görüntüleyebilmemiz açısında oldukça önem teşkil etmektedir.

 

Bu durumda ilk olarak SharePoint 2010 ‘un bi varsayılan tasarımına göz atıyor olalım.

 

 

Şimdi bu site tasarımını düzenliyor olmamız gerekecektir. Bu işlem için de SharePoint Designer uygulaması içerisinde portal sayfasının adresini open site diyerek sayfanın nesnelerine erişebilmek mümkündür.

 

 

MasterPage ikonuna tıkladığımızda sistemde var olan sayfa ve MasterPage leri görebilmemiz mümkündür. Bu dökümanlar üzerinde değişiklik yapmadan önce kesinlikle kopyalayıp başka bir yere kopyalamak herhangi bir problem çıkmasına karşın yararlı olacaktır.

 


 

Bu işlem sonrasında herhangi bir master page ‘in üzerine tıkladığımızda karşımıza bir ekran çıkar ve bu sayfa üzerinde gerekli düzenlemelerin yapılabilmesi için bir link yer alacaktır.

 


Edit linkine tıkladığımızda sayfanın düzenlenme ekranı çıkacak ve gerekli işlemleri yapabilmemiz mümkün olacaktır.



Bu sayfa üzerinde bir değişiklik yapıp sonrasında farklı bir isimle kaydedip en sonra işlem olarakta varsayılan MasterPage olarak tanımlamamız kullanımını mümkün kılacaktır.

 

6

 

MasterPage ‘I bu şekilde varsayılan yapabilmekle birlikte Administrator Panel içerisinden de işlem yapabilmemiz mümkündür. Bunun için SharePoint portalın içerisinden site action menüsüne tıklar ve açılan ekrandan Site Setting seçeneğini seçerek adımlarımıza devam ederiz.


7


Açılan ekrandan site thema ‘ı seçiyoruz.

 

8

Bu ekran içerisinde sistem var olan temaları görebilmemiz mümkündür.

 

9

Bu kısımda istediğimiz temayı seçip uyarlamamız yeterli olacaktır. Eğer ki var olan temalardan herhangi birisini ya da kendi oluşturmuş olduğunuz temayı düzenlemeniz gerekirse Theme Gallery linkine tıkladıktan sonra karşımıza tema listesi gelir. Bu ekrandan seçmiş olduğumuzu güncelleyebiliriz.

 

Eğer ki hazırladığınız temayı editlerken zorlanıyorsanız theme builder isimli uygulmayı indirip daha da kolay bir sekilde yapabilirsiniz.

 

10

Sonuç olarak burada düzenlediğimiz tasarımı Site Theme ekranından seçtikten sonra tasarımı uygula seçenği ile işlemimizi tamamlamış oluruz.

 

Herkese iyi günler…