22 Nisan 2010 Perşembe

Sharepoint 2010 Linq Anonim Kullanıcıları Desteklememekte


Daha önceki yazımda Linq To Sharepoint güzelliklerinden bahsedip bir örnek ile artık nasıl daha kolay daha güzel sorgular yazıp webpart geliştireceğimizi belirtmiştim.

Ancak bugün pek de güzel olmayan bir haber vermek için yazı yazmaktayım.
Waldek'in blogunda denk geldiğim yazıya göre anonim kullanıcıların gezebileceği yerlerdeki webpartlarımızda Linq yerine CAML sorguları yazmamız gerekecek.

Yazıda ufak bir örnek ile durumu açıklamış. Ben henüz bununla ilgili bir örnek yapmadım.
İlerleyen günlerde örnek yapıp karşılaştığım durumu belirteceğim.

Ayrıca ilgili yazıya yorum olarak katkı sağlayan Sezai'nin de belirttiği üzere
Clien Object Model ve Anonim giriş yapılabilecek yerlerde Linq yerine CAML sorguları yazmamız gerektiğini vurgulamış.

Bugün yüzümün asılmasına sebep olan haber olan Waldek'in yazısına buradan ulaşabilirsiniz.

13 Nisan 2010 Salı

Sharepoint 2010 Web Part Connections with Ajax


Buradaki yazımda Web Partlar arasında bağlantıyı anlattım ve örnek bir projeyi paylaşmıştım.
Bu yazımda ise postback olmadan webpartlar arasında bağlantı kuracağız.
Gene aynı şekilde ekran görüntüleri ile zenginleştirip örnek bir uygulamayı yazının sonunda bulabileceksiniz.
Projemize 2 adet webpart ekledikten sonra adlarını AjaxConsumer ve AjaxProvider olarak değiştiriyoruz.
Sonrasında bağlantıyı sağlayacak interface projemize ekliyoruz.

Prjemizi görüntüsü bu şekilde:

Interfacemize trigger controlümüzle beraber yakalanacak eventin hangisi olduğunu ve provider webpartımızdan consumer webparta gönderilecek datayı taşıyan propertylerimizi ekliyoruz.

Daha sonrasında Provider webpartımızda updatePanel, textbox ve button oluşturup bunları webpartımızın kontrollerine ekliyoruz.
Ardından provider webparta, IAjaxConnection interface implement ediyoruz.

Consumer webpartımıza da updatepanel ve textbox ekledikten sonra update panel triggerını ve gelen datayı textboxa atıyoruz.

Ardından projemizi deploy ediyoruz ve ajaxlı şekilde webpartlar arası bağlantımıızı sağlıyoruz.

örnek projeyi buradan indirebilirsiniz.

29 Mart 2010 Pazartesi

Windows Server 2008 üzerinde Global Assembly Cache(GAC)'a assembly yüklenmesi

Window Server 2003 üzerinde Global Assembly Cache(GAC)'a ilgili dll dosyasını sürekleyip bıraktığımızda GAC'a assembly yüklenmiş oluyordu.
Window Server 2008 ile aynı işlemi yapmak istediğimizde yükleme başarız oluyor ve aşağıdaki mesajı alıyoruz.
Eğer böyle bir hata ile sizde karşılaşırsanız yapmanız gerekenleri aşağıda belirtmekteyim.
  • Administrator olarak "command prompt" ekranını açıyoruz.
  • GAC'a yükleyeceğimiz dll'in bulunduğu klasörü açıyoruz. (explorer d:\projects\myApp)
  • Global Assembly Cache açıyoruz. (explorer c:\windows\assembly)
Administrator olarak iki klasörü de açtıktan sonra ilgili assembly'i GAC'a yükleyebiliriz.

Not: Window Server 2008 Enterprise service pack 2 üzerinde çalışılmıştır.

Sharepoint 2010 Web Part Connections

Bu yazımda Sharepoint 2010 ile ileri seviye web part geliştirmeye göz atarak web partlar arası bağlantıya değineceğim.
Örnek bir uygulama yaparak uygulamayı paylaşacağım.
2 Web Part (wp) geliştirerek biri veriyi gönderen diğeri ise veriyi alan wp olacak.

Deploy edeceğimiz site url yazarak visual web part projesi oluşturduktan sonra projemize VisualProvider ve VisualConsumer adları ile 2 wp ekliyoruz.

WebPartlarımıza textbox ve button ekliyoruz.

Ardından webpartlarımızı bağlayacağımız interface ekliyoruz.
Visual webpartlarımıza gönderdiğimiz datayı ekranda göstereceğimiz methodları yazıyoruz.
Daha sonrasında provider webpartımıza interface implement edip bağlantıyı oluşturuyoruz.
Consumer webpartında da bağlantı oluşturup gelen veriyi visualwebpartımıza gönderiyoruz.
Buradaki önemli nokta gelen verinin null kontrolü yapılmasıdır.
Projemiz deploy edip webpartlarımızı sayfaya ekledikten sonra provider ve consumer webpartlarımızı birbirine bağlıyoruz.
Vee bağlantı kuruldu :) Resmin üzerine tıklayarak açılan sayfada webpartlar arasındaki bağlantı görülebilir.

Örnek projeyi buradan indirebilirsiniz.

24 Mart 2010 Çarşamba

Sharepoint 2010 Event Handler ve Hata Sayfası


SP2007'de göstermek istediğimiz hata mesajını aşağıdaki şekilde yapıyorken

properties.ErrorMessage = "Hata Oluştu";
properties.Cancel = true;

artık Sharepoint 2010 ile birlikte daha düzenli ve kullanıcı dostu şekilde hata mesajını gösterebiliriz.

Öncelikle projemize EventReceiver ekliyoruz.


Ardından göstermek istediğimiz sayfayı "Application Page" olarak projemize ekliyoruz.


Sayfa eklendikten sonra içerisine uygun hata mesajımızı yazabiliriz.

EventReceiver'da kontrolümüzü yaptıktan sonra

properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
properties.RedirectUrl = "/_layouts/MyApp/ErrorPage.aspx";

oluşturduğumuz "Application Page" linkini hata oluşunca yönlenecek sayfa olarak belirtiyoruz.