30 Mart 2013 Cumartesi

SharePoint 2013 için Workflow Manager 1.0 Kurulum ve Konfigürasyonu


Workflow SharePoint dünyasında çok önemli alanlardan birisidir. Bu makalede de SharePoint 2013 ile gelen Workflow Manager ve konfigürasyonunda bahsedeceğim.
SharePoint 2013 ile birlikte Workflow tarafında Platform Type seçeneği sunulmuştur. SharePoint 2013 ’ü sunucunuza kurduğunuzda varsayılan kurulumda SharePoint 2013 Workflow yapısı mevcut değildir. SharePoint 2013 Workflow oluşturabilmek için Workflow Manager kurmamız ve konfigürasyonunu yapmamız lazım. (Oluşturacağınız SharePoint 2010 Workflow ları SharePoint 2013 de çalışmaktadır)
SharePoint için Workflow oluşturmanın en etkili ve hızlı yollarından birisi SharePoint Designer dır. İsterseniz Designer ara yüzünde Platform Type seçeneğini ve kurulum sonrasında değişimini inceleyelim.


Workflow Manager 1.0 Kurulumu öncesi sadece Platform Type da sadece SharePoint 2010 Workflow seçeneği mevcuttur. SharePoint 2013 Workflow action larını kullanmak ve SharePoint 2013 Workflowları için Workflow Manager 1.0 kurulumu ve konfigürasyonu yapmalıyız.
Öncelikle Windows Server 2012 de mevcut olan Web Platform Installer açıp Workflow diye arattığımızda aşağıdaki gibi sonuçlar gelecektir. Visual Studio 2012 üzerine Office Developer Pack ’i kurarken Workflow Client ve Workflow Manager Tools kurulmuştur o sebepten buraa kurulu olarak görünecektir. Burada Workflow Manager 1.0 seçip Add diyoruz ve sonrasında Install butonuna tıklayınız.

Bize hemen sonrasında kurulacak yazılımları ve lisanslarını soracaktır. Burada I Accept diyerek geçiniz. Kurulumlar sunucu özelliklerine göre değişmekle birlikte 5 dakika civarı sürecektir.
Kurulum bittikten sonra Continue butonuna tıklayarak Konfigürasyon ayarlarına geçiniz.

Burada size üç seçenek sunulacaktır. Tavisye edilen olan Configure Workflow Manager with Default Settings (Recommended) seçiniz.

New Farm Configuration Penceresi açıldığında mevcut SQL Server Instance zaten gelecektir. Sonrasında servis accountu olarak kullanıdığınız kullanıcı adı ve şifresini (User ID & Password) giriniz. Workflow Manager ile ilgili servisler bu hesap ile çalıştırılacaktır.

Sağdaki Scroll aşağıya kaydırdığınızda Certificet Generation Key belirlemenizi isteyecektir. Bu kodu da girdikten sonra sağ alt köşedeki İleri Ok simgeli butona tıklayınız.
Bu işlemler sonrasında karşınıza Konfigürasyon Özet tablosu gelecektir. Bilgileri kontrol ettikten sonra sağ alt köşedeki onay simgeli butona tıklayarak konfigürasyonu başlatınız.

Konfigürasyon Scriptinin çalışması ile birlikte 5 dakikalık bir süre sonrasında Sırasıyla tüm konfigürasyonları sağlayacaktır ve aşağıdaki ekran karşınıza çıkacaktır. Servislerin konfigürasyonuna ait bu ekranda sağ köşesindeki onay simgeli butona tıklayarak konfigürasyonu sonlandırmış oluyorsunuz.


Finish butonuna tıklayarak kurulumu bitirmiş olunuyor.

Kurulum sonrasında IIS üzerinde site oluştuğunu ve SQL Sunucusu üzerinde 5 adet yeni veritabanı oluştuğunu göreceksiniz.


Son bir işlemimiz kaldı o da SharePoint 2013 Workflowlarını kullanacağımız mevcut Site Koleksiyonuna workflow servisini kaydetmek (register).
SharePoint 2013 Management Shell i açarak aşağıdaki Scripti çalıştırınız.

Register-SPWorkflowService –SPSite "http://SiteKoleksiyonuAdresi/" –WorkflowHostUri "https://point:12291/" –AllowOAuthHttp 


Bu işlemden sonra gerek Central Administration ‘dan gerekse SharePoint Designer 2013 açıp SharePoint 2013 Workflow larını kontrol edebiliriz.


Bu ekranda da göreceğiniz üzere artık Platform Type olarak SharePoint 2013 Workflow seçebiliyoruz.


Ayrıca dip not olarak belirtmek isterim ki herhangi bir sorunla karşılaştığınızda TechNet ‘deki bu linki kontrol etmenizi tavsiye ederim.
Kurulum sonrası sorun yaşarsanız Özellikle bu Technet te yazılı olan bu aşamaları kontrol etmenizdir.

Steps to Verify that Server Is Correctly Set Up
Follow these steps to ensure that the server is set up properly.
1. Verify that the steps in the Verifying the Service Bus Configuration and Verifying the Workflow Configuration guides were followed correctly.
2. Open your web browser to the following URL: https://[FQDN]:12290/, where [FQDN] is a fully qualified domain name of the server.
3. If the browser displays a warning or error about certificates, the server is not set up correctly. Follow the Verifying the Service Bus Configuration and Verifying the Workflow Configuration guides to resolve the issue.
4. The browser may prompt for credentials, but no error should be displayed after proper credentials are given.
5. Verify that all the following Windows NT services are started:
1. WorkflowServiceBackend
2. Service Bus Backend
3. Service Bus Gateway
4. FabricHostSvc

Kaynakça:
http://technet.microsoft.com/en-us/library/jj658588.aspx
http://www.edutechnow.com/?p=1888
http://blog.cloudshare.com/2013/01/15/how-to-install-and-configure-workflow-infrastructure-in-sharepoint-2013/
http://technet.microsoft.com/en-us/library/jj193529.aspx

20 Mart 2013 Çarşamba

SharePoint 2013’de Site Dilini Değiştirme


Merhabalar,
SharePoint 2013’ün Türkçe dil paketini kurduktan sonra proje geliştirirken Site Koleksiyonu Türkçe dilini seçerek oluşturdum. Ancak Site Features (Özellikler)’ni konfigürasyonunu yaparken Türkçe isimlerine hakim olmadığım için İngilizceyi seçtim ancak bir türlü İngilizce sayfa gelmedi karşıma. Kısa bir araştırma sonucu buldum sizinle de paylaşayım dedim. SharePoint 2013 Arayüzün dil çevirisini browser dil desteği ile ilerlemekte.
Detaylıca inceleyerek Türkçeden İngilizceye değiştireek olursak;
Site Ayarları --> Site Yönetimi başlığı altında Dil Ayarlarına tıklayınız.


Dil Ayarlarında aşağıdaki gibi Diğer dillerde İngilizceyi  seçiyoruz.


Bu rağmen aşağıdaki ekran görüntüsünde olduğu gibi  menüler ve konfigürasyon sayfaları hala Türkçe olduğunu göreceksiniz. SharePoint 2010 daki Welcome panelinde dil değiştirme seçeneği SharePoint 2013’de kaldırılmış durumda.

Dili değiştirmeniz için web tarayıcınız üzerinde dil ayarlarında düzenlemeler yapmanız gerekmekte (burada IE 10 kullandım);

Tarayıcınızı Internet Options (İnternet Ayarlarına) girdikten sonra General tabında Language butonuna tıklıyoruz.  Sonrasında karşımıza aşağıdaki ekran gelecektir burada Set Languages’e tıklayınız.


Sonrasında karşımıza çıkan ekranda kullandığınız diller mevcuttur. Burada Add a language tıklayınız.

Burada English 'i bulup hangi Ülke İngilizcesi olduğunu seçip Add butonuna tıklayarak ekleyiniz.
İngilizceyi ekledikten sonra varsayılan dili belirlemek için dili seçip Move Up  butonunu kullanarak en üste çıkarıyoruz.
Bu ekranda kullanacağımız dili en üste çıkardıktan sonra aşağıdaki ekranlarda sırasıyla Ok butonuna tıklayanız.

SharePoint sayfanıza ilk F5 yaptığınızda İngilizce haline dönecektir.


Ayrıca aşağıdaki ekranda göründüğü gibi Site Ayarları da İngilizce diline dönmüştür.


 Yararlı olması dileğiyle..

18 Mart 2013 Pazartesi

Yüklenmiş Olan SharePoint 2013 Sürümünü Bulmak


Projede  başıma gelen gibi sizin kurmadığınız bir SharePoint 2013 Sunucusu üzerinde çalışmaya başlamadan önce SharePoint 2013 sürümünü kontrol etmekte fayda var. Preview ise hiç geliştirme işlemine başlamadan SharePoint 2013 RTM’e yükseltmenizi tavsiye ederim.  RTM ile Preview arasındaki farkı Preview de mevcut ancak RTM sürümü ile fixlenmiş birçok hata alabilirsiniz. Preview tam anlamıyla hazır biri ürün olmadığından Microsoft Preview ve Beta sürümleri destek (support) vermemektedir.
Hangi sürümü olduğunu anlamak için 2 ayrı yol ile nasıl kontrol edeceğimize yer vereceğim;

Central Administration 

SharePoint 2013 Central Administration --> System Settings --> Manage Servers in this Farm tıklayınca aşağıdaki gibi bir ekran karşımıza çıkacaktır. Bu ekranda Configuration database version karşısındaki değer bize SharePoint versiyonumuzu belirtmektedir.



 veya

Management Shell

Başlat Menüsünden SharePoint 2013 Management Shell’e sağ tıklanıp Run as Administrator denilerek çalıştırılır.
(get-spfarm).buildversion scripti yazıp enter'a bastığımızda.
Görünüm aşağıdaki gibi olacaktır ve bize bilgileri verecektir. (Eğer SharePoint 2013 RTM ise tabiki)


Burada elde ettiğimiz versiyonu da aratırsak karşımıza hangi sürüm olduğunu (bizim senaryomuzda Preview ile RTM vardı) öğrenebilirsiniz.

Örnek bir adres: http://www.marc-lognoul.me/itblog-en/page/SharePoint-SharePoint-2013-Build-Numbers.aspx

Yararlı olması dileğiyle…

7 Mart 2013 Perşembe

SharePoint 2013 Search Yenilikleri ve Sunumu


Merhabalar,

Bugün SharePoint 2013 Search hakkında bir eğitim verdim. Buradan eğitim sunumunu ve kaynaklarımı paylaşayım. Öncelikle şunu belirtmeliyim ki SharePoint 2013 de Arama özelliği ciddi anlamda çok ilerlemiş ve artık kendi başına bir çözüm olabilecek seviyeye varmış görünmekte. Başlıca, Kullanıcı Arayüzünde (UI), Mimari tarafında(Architecture), Yönetimsel (Administration) ve Arama Sorgusu ve Sonuç Özelleştirmlerinde (Query Rule and Result Type Rule) tarafında geliştirmeler ve yenilikler mevcut.



Benim en çok ilgimi çeken özellikleri ise KQL ile Query Rules and Result Sources tarafındaki gelen yenilikler oldu. Tabiki UI tarafındaki JavaScript iyileştirmeleri günümüz popüler web arayüzleri seviyesinde bir görünüm sağlanmış. Ek olarak SharePoint 2010’da arama sonuçlarını XSLT ile özelleştirebilirken artık SharePoint 2013’de arama sonuç sayfalarını XSLT ile değil bunun yerine HTML ve JavaScript ile özelleştirebiliyor olması da büyük bir esneklik diye nitelendirebilirim.

Search konusunda ilerliyen günlerde yaptığım demolara da yer vermeye ugraşacağım

Sunum: http://sdrv.ms/13MvkWi

Yararlı olması dileğiyle...

Kaynakça:
http://technet.microsoft.com/en-us/sharepoint/fp123606.aspx
http://www.bainsight.com/resources-for-sharepoint-fast-search/Pages/SharePoint-Search-2013-Essential-Guide.aspx

5 Mart 2013 Salı

SharePoint için açık kaynak JQuery kütüphanesi projesi: SPServices



SPServices SharePoint Web hizmetleri (Service) için sunulan bir jQuery kütüphanesi olup kullanımı daha kolay hale getirmektedir. jQuery ve SPServices kütüphanelerini sayfanıza register ettiğinizde JQuery kullanır gibi kullanabileceğiniz ve sadece SharePoint Designer gibi editöre ihtiyaç duyabileceğiniz esnek bir geliştirme ortamı sağlamış oluyor.  Aynı zamanda daha yararlı (ve seri) yetenekleri sağlamak için çeşitli Web Servis fonksiyonlarını da içermekte. JavaScript kütüphanesi olduğu için tamamen istemci tarafında çalışmakta ve sunucuya ekstra kurulum gerektirmemekte. Sunucuyu yormayarak ta sunucu performansını ve sistemin performansını artırmaktadır diyebiliriz.


SharePoint 2010 ve 2007 de çalışmakta olan kütüphane test etmeme rağmen SharePoint 2013 de çalışacağını düşünüyorum. Sayfaya register ile birlikte örnek bir kod bloğu dokümantasyonda Codeplexde verilmiş durumda.

Yararlı olması dileğiyle…


Kaynak: http://spservices.codeplex.com/




1 Mart 2013 Cuma

CAML Query kullanarak SharePoint 2013 için Visual Studio 2012 de Custom Web Part Geliştirmek

Bir listeye ait değerleri belirli bir tasarıma göre listelemek için SharePoint hazır bulunan Content Query WebPart, SharePoint Designer aracılığı ile XSLT (DataFormWebPart) veya Visual Studio ile geliştireceğimiz custom web part kullanılabilir. Custom Web Part geliştirirken de yaygın olarak kullandığımız 2 adet query yazma tekniğimiz mevcut bunlar; LINQ to SharePoint ve CAML query.  Burada CAML kullanarak web part ile listeyi belirli bir tasarıma ve filtreye göre getireceğiz. Önceki blog postumda anlattığım CAML Designer 2013 aracını kullanarak geliştirme yapacağız.

SharePoint sunucunuza yada Portale erişebildiğiniz bir Windows 8 makinede CAML Designer 2013'ün kurulu olduğundan emin olunuz.

Öncelikle Haberler listesi adında bir liste oluşturalım ve bu Haberler için HaberKategorileri’ni verebilmek için HaberKategorileri diye başka bir liste oluşturalım.

Haberler listesine Kategori adında bir kolon eklenilir. Bu kolon; oluşturulan HaberKategorileri’ne ait “Title” alanına lookup yapılmıştır. Listemiz aşağıdaki gibi görülecektir.

Web part oluşturmak için visual studio açılır ve Boş bir sharepoint projesi oluşturulur.


Proje içerisine “Visual WebPart” eklenir.


Caml Designer ile Listedeki verileri çekmek

Caml Designer 2013 açıldıktan sonra ilgili Site’a ulaşabilmek için connection oluşturulur.


Url alanı olarak bağlanacağımız Site Collection’un Url’ini veriyoruz. Client OM seçiyoruz ve devamında Connect diyoruz.


Bağlantı kurulduktan sonra aşağıdaki ekran görününecektir. Bu görünümde soldaki Url’in barındırdığı menüyü açtığımızda siteye ait tüm listeler çıkacaktır.



Haberler listesini seçtikten sonra gösterilcek ilgili alanlar seçilir ve sürükle bırak ile sağ taraftaki alana atılır. İlk başlık değeri “Title” alanını vereceğinden o atılır. Hangi değeri veridiğini görmek için alt taraftaki menüden Caml seçilebilir.


Burada üst menü içerisinde bulunan yerlere göre filtreleme oluşturabiliriz.Örnek olarak eklenme tarih alanına göre sıralama yaptırmak için Ordey By seçilir ve yine bu alan sürükle bırak yöntemi ile alınır.Created alanına tıklanıldığında ise sıralama tersten olacaktır.


Where alanında ise birçok filtreleme yapabiliriz.Örnek olarak sadece Gündem haberlerini göstersin.Bunun için Kategori alanı sürükle bırak yapıldığında aşağıdaki gibi görülecektir.


Gündem alanı seçilir.Query By ID ise kolon içerisinde string olarak Gündem içermesi yerine seçilen item’ın ID sini alır.Listeye yanlışlıkla birden fazla aynı isimde satır eklenebilir.Ve haberler listesine de her iki farklı öğe için aynı isimde kategori eklenmiş olabilir.Bu durumda Gündem alanı ID ye göre seçilmediğinde gelebilecek eksik veriler için önlem alınmış olunur.
Son olarak Test dediğimizde Gündem kategorisine ait haberler görüntülenecektir.


Burada biz istemediğimiz halde birkaç alan da görüntülenmiştir.Bu değerler default olarak gösterilip kullanıcı tarafından bilgilendirilmesi içindir.Aşağıda oluşturulan otomatik kod blokları içerisinde yer almayacaktır.Bu kolonların da kod bloğu içerisine gelmesi için tekrar ViewFields alanında eklenilmesi gerekmektedir.

Son olarak buradaki listeye ait değerleri web part içerisinde kullanmak için Server OM içerisindeki kodları kopyalıyoruz.


Web part içerisine geldiğimzde ToolBox içerisinden bir Repeater atalım(Haberler listesini datasource olarak bu kontrol içerisinde göstereceğiz).Web part içerisine Repeater ekledikten sonra item template’i aşağıdaki gibi düzenleyelim.


Page Load içerisine caml designer yardımıyla aldığımız kodlay yapıştırılır.Ancak burada spWeb nesnesi olmadığından derleme sırasında hata meydana gelecektir.spWeb nesnesini oluşturmak için SPContext class’ından yararlanılır.Kodun son hali aşağıdaki gibidir


Projeyi deploy ettikten sonra web part’ı görmek için Haberler adında yeni bir sayfa ekleyelim.



Sayfa açıldıktan sonra Ribbon içerisinden insert ve devamında web part seçilir.


Burada Custom kategorisi içerisinde oluşturulan web partlar yer alacaktır.Haberler web part’ını ekleyip add ve sonrasında sayfayı kaydediyoruz.


Sayfayı kaydet dedikten sonra web partımız aşağıdaki gibi görülecektir


Dikkat edileceği üzere burada lookup alanı ID değeri ile birlikte gelmiştir.Bunun için split işlemi uygulanabilinir.Ancak burada repeater içerisinde gösterilen alanda split işlemi uygulamak çok daha kolay olacaktır.


Split işlemi sonrasında webpartımızı tekrar deploy edip sayfayı yenilediğimizde aşağıdaki gibi Gündem kategori bilgisi listedeki ID degeri olmaksızın gelmiş olacaktır.
Böylece webpartımız çok bir tasarım yapmamış olsakda istediğimiz sayfada kullanılacak şekilde hazır durumda ve istenildiği zaman giydirilerek ilgili yerde kullanılabilir duruma gelmiştir.

Yararlı olması dileğiyle...