Bugün Doğanlar listesi yapmanız için aşırı pratik çözüm

Bugün hiç kod yazasım yoktu. Boyuna sörf yaptım, ne var ne yok vs. Bir yandan da yapmam gereken bir bugünDoğanlar webpart'ı vardı. Zaman geçiyor ama ben hala saçma sapan şeylerle uğraşıyorum. 

Öncelikle aklıma bir liste yapıp içine bir şekilde bütün kullanıcıları alıp, sadece d.tarihi bugün olanları göstermek geldi. Bu konuda herhangi bir çözüm üretemedim

Okuduğum makaleler hep webPart yapmaya yönlendiriyordu. Son bi umut google'a "how to get all users in sharepoint 2010" keywordunu yazdım ve şu sihirli linki buldum:

http://mysite/_layouts/people.aspx?MembershipGroupId=0&FilterField1=ContentType&FilterValue1=Person

Sonra Ana sayfama sharepoint'in default webPartlarından Page Viewer Web Partını ekledim. Yukardaki linki webPart ayarlarındaki Bağlantı kutucuğuna yazdım.

ve tüm kullanıcı listesini MasterPage'li de olsa almayı başardım.

Url'nin sonuna masterPage görünmesin diye

&IsDlg=1 ekledim.

Son olarak URL Böyle oldu : http://mysite/_layouts/people.aspx?MembershipGroupId=0&FilterField1=ContentType&FilterValue1=Person&IsDlg=1

ve sonunda web Part'ımın içinde Tüm kullanıcıların listesi göründü.

Liste üzerinde ayarlar/Liste Ayarları/Görünüm Oluştur ile yeni bir view oluşturdum.

view'ın filter kısmını aşağıdaki gibi doldurdum (Örnekte Oluşturma Tarihi alanını kullandım, siz varsa alanı Doğum Tarihi olarak değiştirebilirsiniz)

Default view olarak set ettim ve istediğim bugün doğanlar görünümlü webPartı  elde ettim.

 

Yazılarımın şekilsel bozukluklarını bir ara düzelteceğim inşallah :) Aceleyle unutmadan yazayım derken darmadağınık birşey çıkıyor. Umarım işinizi görür. Sorunuz varsa çekinmeyin lütfen...

Liste içinde seçilen kişinin profil bilgilerini göstermek

İşe yeni başlayan personellerin görüntüleneceği bir liste yapmam lazım. Listeye kişiler manuel olarak eklenecek, kullanıcı sadece kişi adını lookup yapıp diğer alanların da listede görüntülenmesini istiyor.

Bu işi kod yazmadan yapmam gerekiyor.

Öncelikle Özel Liste tipinde bir liste yarattım(YeniBaslayanlar).

kolon AdıKolon TipiGösterilecek Alan
Title Tek satır metin  --
Personel Adı Kişi veya Grup Ad (resim ve ayrıntılarıyla)
Bölümü Kişi veya Grup Bölüm

 

 

Personel adı doldurulduğunda Bölümü alanının da otomatik olarak güncellenmesini istiyorum. Bunun için birkaç farklı method var. Ben workflow ile yapmayı tercih ettim.

Sharepoint Designer'ı açtım

List & libraries altında yarattığım listeyi buldum

 

 

listeye tıkladım. Liste özelliklerinden Workflows/New butonuna tıkladım

 

Worklfowuma isim verdim

 

Conditions tabından Kişi geçerli bir SharePoint kullanıcısıysa değerini seçiyoruz.

 

 

Ardından Kişi linkine tıklıyoruz ve girilen kişinin geçerli bir SP kullanıcısı olup olmadığını kontrol ettiriyoruz

 

Personel Adı alanının loginname(oturum açma adı) özelliğine baktırıyoruz

 

Action Tabından Liste öğesini güncelleştir diyoruz

 

Sırasıyla aşağıdaki işlemleri yapıyoruz:

 

OK buttonlarını bitirdikten sonra Save Buttonuna ardından da Publish buttonuna tıklıyoruz.

Workflowun otomatik olarak çalışmasını istiyorsak;

Sharepoint Designer üzerinde Workflowumuzu buluyoruz

 

 

ve start options altındaki ayarları yapıyoruz

 

 

Önemli Not: Listeyi denerken Root kullanıcı ile deneme yapmayınız!

Windows SharePoint Services 3.0 Service Pack 1 yüklü sistemlerde root kullanıcısı ile giriş yaptıysanız workflowlar otomatik olarak çalışmıyor.

bu sorunu düzeltmek isterseniz : http://kbalertz.com/947284/declarative-workflow-start-automatically-after-install-Windows-SharePoint-Services-Service.aspx

SharePoint 2010 ribbon üzerinde kullanıcı resmini gösterme (like facebook)

 

Yukarıdaki gibi kullanıcı resmini riibon üzerinde göstermek için aşağıdaki işlemleri yapmanız yeterli.

  • MasterPage içine aşağıdaki kodu register edin
<%@ Register Tagprefix="ucPortal" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
  • <wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false"></wssuc:Welcome>
    yazan satırı bulun.
  • <wssuc:Welcome Tag'inin hemen öncesine aşağıdaki kodu yapıştırın
<ucPortal:ProfilePropertyLoader runat="server" />
<ucPortal:ProfilePropertyImage PropertyName="PictureUrl" ResizeToFit="1" style="height:29px" ShowPlaceholder="true" id="PictureUrlImage" runat="server"/>
  •  Checkin ve publish ettikten sonra yukarıdaki resim gibi bir ribbonunuz olacak!

SharePoint 2010 User Profile Servisinin Konfigurasyonu

SharePoint üzerinde active directory deki kullanıcıların bilgilerine erişmek ve Kişilerde arama özelliğini aktifleştirmek için User Profile Synchronization Servisini yapılandırmamız gerekiyor.

Bunun için:

  • Öncelikle Central Administration üzerinden “Manage service applications” linkine tıklıyoruz.

 

  • Servis uygulamaları listesinden “User Profile Service” servisini bulup, durumunun started olduğunu gördükten sonra servis üzerine tıklıyoruz.

  • Açılan ekranda Configure Synchronization bağlantısına tıklıyoruz

     

  • Create New Connection a tıklayıp Bilgileri aşağıdaki gibi dolduruyoruz

     

  • Popoulate Containers’a tıkladığımızda Active Directory içeriğini görüyoruz. Burada Select All butonuna tıklayıp OK ile işlemi kaydediyoruz.

    **Burada örnek olarak verdiğim "sproot" adlı kullanıcı benim sharePoint farm administrator account'ımdır. 

    Önemli Not: Farm Administrator kullanıcınızın (sproot) Active Directory üzerinde "Replicate Directory Changes" hakkı olmalıdır. Bu hakkı veremediyseniz sistem yöneticinizden Farm Administrator (sproot) kullanıcısı için geçici olarak "Domain Administrators" grubuna alınmasını sağlayınız. Aksi taktirde active directory ile senkronizasyon bağlantısı kuramayacaksınız. (Populate Container'a tıkladığınızda Active Directory gruplarının/kullanıcılarının listelenmesi yeterli hakkınız olduğu anlamına gelmez. Normal bir domain user'ı da bu bilgiler görebilir.)

    Önemli Not2: Konfigurasyon işlemlerinde hata alıyorsanız sisteminize en güncel SharePoint 2010 toplu güncellemelerini yüklemenizi öneririm http://technet.microsoft.com/en-us/sharepoint/ff800847.aspx