Bu yazımda sizlere SharePoint Online üzerinde “Custom Scripting/Özel Betikler” nasıl aktif hâle getirileceğini anlatıyor olacağım.
GİRİŞ
Custom Scripting; Türkçesiyle yazacak olursak “Özel Betikler” olarak çevirilir.
SharePoint Online üzerinde özel script/betik çalıştırma da dahil olmak üzere stil dosyaları ve SharePoint’in birçok eski sürümlerinden alışkın olduğumuz özellikleri/yetenekleri aktif hâle dönüştürmemize yarayan bir yapıdır. Varsayılan olarak Custom Scripting/Özel Betikler deaktif/pasif hâlde bulunmaktadır. Bunun sebebi, SharePoint Online ve SharePoint Server 2019 ürünleri ile birlikte hayatımıza giren Modern Deneyimi ve Güvenlik gerekçeleridir.
Modern Deneyimi bu makalemizin konusu olmamakla birlikte, hiçbir özelleştirme, kodlamaya ihtiyaç duymadan küçük ve işlevsel kontrolleri kullanarak sayfalar oluşturmanıza ve sadece içerik anlamında geliştirme yapmanıza olanak sağlayan yeni bir anlayıştır.
Modern Deneyimi her ne kadar size sayfa tasarımı yaparken kolaylık sağlasa da, işin özü gereği karmaşık yapılar kurmak gerektiğinde kısıtlı kalacaktır. Özellikle de SharePoint 2007/2010/2013/2016 sistemlerini kullanan ve Migration yöntemiyle SharePoint Online’a geçiş yapan firmalarda özel yazılım adı altında yüzlerce ve hatta binlerce noktada geliştirmeler yapılmıştır. Bu geliştirmeler, istisnalar kaideyi bozmamakla birlikte, kimi zaman sunucu tabanlı(C# ve .NET kod) iken kimi zaman da istemci tabanlı(Html,Javascript ve Javascript kütüphaneleri) olarak yapılmıştır. Hâliyle de, geçiş yapan birçok firma eğer hazırlıklı değilse ve alternatif yollar önceden iyi analiz edilmediyse, sancılı ve uzun süreli bir geçiş kendilerini bekliyor olacaktır.
Modern Deneyimin kısıtlarından ötürü (eğer PNP veya SharePoint Online PowerShell kullanılmayacaksa) firmalar, ‘Modern Sayfaları kullanmamak şartıyla‘ geliştirme ve geçişler yapılana kadar Custom Scripting/Özel Betikleri aktif hâle almayı kabul ederler. Geliştirmeler ve Özel Betiklerin geliştirilmesi ve canlıya alınması akabinde de tekrardan deaktif hâle geçerek kullanıcıların Script Injection(Geliştirici konsolunu açıp javascript kod çalıştırma veya sayfayı editleyerek script kodu ekleme gibi…) yöntemini kullanmalarını engellemek gerekecektir.
Şimdi SharePoint Online üzerinde Custom Scripting nasıl açılır bir göz atalım.
Özel Betiklerin Aktif Hâle Getirilmesi
Özel betikleri açmak için 2 yöntem kullanılır: Tenant Seviyesi ve Site Seviyesi. Her iki yöntemi de ekran görüntüsü desteği ile anlatalım.
TENANT SEVİYESİ
1) Office 365’te sol üst alanda yer alan waffle ikonuna tıklayarak yönetim bölümüne geliniz.
2) Yönetim Merkezlerinden “SharePoint” yönetim merkezini seçiniz
3) Yeni bir pencerede SharePoint yönetim merkezi açılacaktır. Ayarlar kısmına geliniz.
4) “Özel Betik” alanını bulunuz ve özel betik çalıştırmasına izin ver alanlarını her ikisi için seçiniz.
5) Değişiklikleri kaydetmek için sayfanın en alt sağ bölümünde yer alan Tamam tuşuna basınız.
Not: Değişikliklerin tüm tenant üzerinde güncellenmesi 24 saate kadar sürebilir. Eğer yaptığınız değişiklikler gerçekleşmez ise, birazdan göstereceğimiz “Site Seviyesi” nde anlatılanları uygulamanız yeterli olacaktır.
SİTE SEVİYESİ
Site seviyesi üst kısımda anlatılan Tenant seviyesine nazaran daha hızlı yapılır ve değişiklikler hemen güncellenir
1) “SharePoint Online Management Shell” uygulamasını açınız, yüklü değilse Microsoft’un sitesinden indirebilirsiniz
2) Aşağıdaki kodu yazınız. Kendi yapınıza uygun bir hâle dönüştürmeniz gerekecektir.
Connect-SPOService -Url https://tenant-admin.sharepoint.com
3) yukarıdaki kodu çalıştırdığınızda bir pencere açıp sizden office 365 admin hesabınız ile sisteme giriş yapmanız istenebilir. Bilgilerinizi doğru girdiyseniz, özel betikleri açmak için aşağıdaki kodu çalıştırmalısınız
Set-SPOSite -Identity https://tenant.sharepoint.com/sites/contoso -DenyAddAndCustomizePages 0
4) Bu kadar! Değişiklik anında gerçekleşeceği için sitenize erişip sayfanıza örnek olarak bir script bloğu ekleyip deneyebilirsiniz. Eğer değişiklik henüz gerçekleşmediyse 1-2 dakika bekleyin, daha sonra tekrar deneyin.
5) Eğer daha sonradan bu özelliği kapatmak isterseniz aşağıdaki kodu çalıştırmanız yeterli olacaktır:
Set-SPOSite -Identity https://tenant.sharepoint.com/sites/contoso -DenyAddAndCustomizePages 1
SONUÇ
Eğer hiçbir alternatifiniz kalmaz ise, bu yöntem önerilmektedir. Özel betikleri eklemenizin Modern sayfalarda bir önemi olmayacağından(Modern Sayfalarda script eklenemez ancak SPFx ile kontrol geliştirip scriptleri çalıştırabilirsiniz) yukarıda anlattıklarımız sadece SharePoint Online üzerinde oluşturulmuş “Classic Team Site“(Klasik Ekip Sitesi) üzerinde geçerli olacaktır.
Bunun dışında eğer Modern sitelerde çalışmasını isterseniz, SPFx ile modern web kontrolleri geliştirmeniz gerekecektir.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: SharePoint custom scripting, SharePoint Özel Betiklerin Açılması