24 Mayıs 2012 Perşembe


Portale Annonim Kullanıcılar için Ribbon Menüyü Gizleme

SharePoint 2007’den SharePoint 2010’a geçtiğimizde kullanıcı arayüzünde bir çok değişiklik ve iyileştirmeler olmuştur. Microsoft SharePoint 2010 erişilebilirlik, stadartlara uyumu ve kullanılabilirlik açısından bir çok olumlu özelliği bünyesinde bulundurmaktadır. Bilindiği üzere SharePoint 2010 ile birlikte Microsoft Office arayüzlerinde aşinalaşmaya başladığımız ribbon kontrolü de gelmiştir. Aşağıda yapmakta olduğum bir portal’den ribbon menüsünün ekran görüntüsü mevcuttur.


Microsoft’un bir çok uygulamasında mevcut olan ribbon menüyü kullanan biri olarakta kullanışlı ve esnek bir kontrol olduğunu rahatça söyleyebiliriz.
Gelelim konumuza yaptığımız yada yapmakta olduğumuz bir web portalinin anonim erişim (Anonymous Access).

Ribon Menüyü Gizleme

SharePoint 2010’da ribbon menü içerik oluşturmak ve yönetim ayarlarını yapabilmek için kullanılmakta olup. Web portalinizin public erişime açık arayüzü için ribbon menü çok bir anlam ifade etmemkle birlikte log-in olmayan kullanıcı için ekranda yer kaplamasına gerek yoktur. Gerek kullanışlılık açısından gerekse yer kaplamaması amacıyla kullanıcılarınız portale log-in olmadığı sürece ribbon menüyü göstermeyebiliriz.
Yapacağımız kod değişiklikleri kullandığımız masterpage ve css dokümanlarında olacaktır.

Masterpage
Masterpagenizde SharePoint ribbon kodlarının olduğu kısmı bulunuz.  Genelde <div id=”s4-ribbonrow”> ile başlayan bir kısımdır.  Bu div etiketinin içine kullanıcı haklarını ayarlamak için SPSecurityTrimmedControl kondtrolünü koyunuz. Bu kontolün attribute lerinden PermissionsString kulnarak ribbon için yetkileri sağlamış olacağız. Eğer ManagePermission ı burada kullanırsak ManagePermission yetkisi olmayan kullanıcılardan ribbon menünüyü gizlemiş olacağız. Kod yapımız aşağıdaki gibi olacaktır.

<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle">
    <SharePoint:SPSecurityTrimmedControl PermissionsString="ManagePermissions" runat="server">
        <!--  Ribbon Menü Kodu burda yer alacak -->
    </SharePoint:SPSecurityTrimmedControl>
</div>
SharePoint 2010’da ribbon menü içerik oluşturmak ve yönetim ayarlarını yapabilmek için kullanılmakta olup. Web portalinizin public erişime açık arayüzü için ribbon menü çok bir anlam ifade etmemkle birlikte log-in olmayan kullanıcı için ekranda yer kaplamasına gerek yoktur. Gerek kullanışlılık açısından gerekse yer kaplamaması amacıyla kullanıcılarınız portale log-in olmadığı sürece ribbon menüyü göstermeyebiliriz.

CSS
Masterpage de yaptığımız değişiklikler ribbonu gizlemek için yeterli olmayacaktır. Login olmayan kullanıcılar için ribbon ekranda hiç görünmemesi lazım olduğundan CSS ile bu düzenlemeyi yapmalıyız.
Yatay eksende ribbon yok ise ribbon kontrollerini içinde bulunduğu div tiketinin yüksekliğini 0 indirmeliyiz. Diğer bir taraftan ribbon içeriği mevcut ise var olan mevcut yapıyı bozmamak için auto seçeneğini yükseklik olarak kullanmalıyız. Kullandığımzı CSS’e aşağıdaki kodu eklemeliyiz.
body #s4-ribbonrow {
    min-height: 0 !important;
    height: auto !important;
}
Bu iki dökümandaki düzenleme yeterli olcaktır!
Ancak eğer farklı izin düzeyleri için ribbon’u gizlemek yada değişiklikler yapmak istiyorsanız  SPSecurityTrimmedControl kondtolüne Liste, Site ve Kişisel ayar seviyesinde yetkilere düzenleme yapabilirsiniz.

Welcome Control ünü Ribbon Dışına Çıkarmak
Ayrıca not düşmek istediğim bir konu da eğer login kontrolünü (welcome control –Genelde sağ üst tarafta login kullanıcı bilgileri, kullanıcı değiştirmek gibi kontrollerin olduğu bölüm–) ribbon dışında sayfa tasarımınızda kullanmak istiyorsanız. Bu welcome controlü dışarı çıkarmak için welcome kontrole ait aşığdaki kodu deault olarak ribbon div etiketi içierisinde bulunduğu yerden kesip sayfa tasarımında kullanmak istediğimiz yere taşımalıyız.
<wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false"/>


Kolaylıklar dilerim!

Hiç yorum yok: