SharePoint Arşiv

SharePoint Online’da Page Layout’tan Sayfalar Üretmek

 

PDF Dokümanların Tarayıcıda Doğrudan Açılması

Sharepoint içerisinde yayınladığınız PDF dokümanların kullanıcıların indirmesine etmesine gerek kalmaksızın veya tarayıcıda birtakım ayarlar yapmanıza gerek olmaksızın otomatik olarak açılabilmesi için PowerShell’de aşağıdaki komut setini çalıştırmanız işinizi görebilir.

 

Hata: Web Application Oluştururken Sayfa Görüntülenemiyor Mesajı

SharePoint farmınızda yeni bir web application yaratmak istediğinizde bazen işlem bir süre devam edip ardından “Sayfa görüntülenemiyor” hata mesajı verebilir. Kontrol ettiğinizde web applicationın sadece Central Administration’ın barındırıldığı sunucu üzerinde yaratılmış olduğunu, farmın diğer web front-end rolündeki sunucularında ise henüz yaratılmamış olduğunu gözlemlersiniz.

Ve bu durumdayken web application altında bir site collection yaratmak istediğinizde hata mesajı alırsınız.

Hatanın çözümü için IIS altında Central Administration uygulaması için shutdown limitini yükseltmeniz yeterli olacaktır. İşlem adımları şu şekilde;

  • IIS üzerinde Central Administration uygulamasının application pool’una gidin.
  • Sağ tıklayın ve “Advanced Settings” kısmına gelin.
  • “Process Model” bölümü içerisindeki “Shutdown time limit” alanı değerini yükseltin. Mesela 200-250 gibi bir değer verebilirsiniz.
  • IIS’i restart edin (iisreset)

 

PowerShell Kullanarak Tüm SharePoint Health Analyzer Kurallarını Çalıştırmak

PowerShell’in artık işe yaramadığı bir nokta kalmadı gibi. Pek çoğumuzun yoğun kullanmadığı, gözümüze çarptıkça veya bir süre sonra sürekli kırmızı bir bant görmekten sıkılınca baktığımız bir yer SharePoint Health Analyzer ekranı. Aslında SharePoint 2010’dan bu yana hayatımızda olup özellikle ürünün kendi kendine kontrol edebileceği temel mimari adımları kontrol eden ve olması gerekenler için bizi yönlendiren bir arayüz.

Health Analyzer’ın varsayılan olarak kontrol ettiği yüzlerce temel kural var ve hatta daha fazlasını siz de yazabilir veya yazılmış bir çözüm dosyasını sisteme yükleyerek bu kuralların da kontrol edilmesini sağlayabilirsiniz.

Health Analyzer aslında her bir rule farklı zamanlamalara sahip olacak şekilde SharePoint Timer prosesinde çalışan bir yapı. Dolayısıyla bir job aracılığı ile tetikleniyor ve kurala uygun olan kurallar işletilerek sonucu tehlikeli, uyarı ve bilgi gibi kategorilerde karşımıza çıkıyor. Özellikle yeni kurulum sonrası ortam yapılandırmalarında bazen bu kuralların kendi zamanlamasını beklemeden tetiklenmesini isteyebilirsiniz. Bunun için aşağıdaki gibi bir PowerShell komutu işinizi görecektir.

PowerShell console’u “Run as Administrator” modda çalıştırmayı unutmamak gerekiyor elbette. Neticede yapılan işlem yönetici rolünün yetkili olduğu bir başlık.

Hata: Maximum allowed Correlation Filter have been reached or exceeded

Geliştirmesini yaptığınız workflowlarda yoğun kullanımlar sonrası aşağıdaki gibi bir hata ile karşılaşabilirsiniz.

Exception command text: [dbo].[PerformBatchOperations], exception = Microsoft.ServiceBus.Messaging.QuotaExceededException: The number of maximum allowed CorrelationFilter have been reached or exceeded. Number of filters:100001, Max number of filters allowed: 100000.

Hatadan da anlaşılacağı üzere bu bir sorundan ziyade bir limitlemeye takıldığınız anlamını içerir. Sorunun çözümü için aşağıdaki adımları uygulamanız yeterli olacaktır.

  • Service Bus Farm’ı stop edin. Bu işlem için “Stop-SBFarm” PowerShell komutunu kullanabilirsiniz.
  • Limiti yükseltin. Bu işlem için “Set-SBRuntimeSetting -Name MaximumNumberOfCorrelationFiltersPerTopic -Value 1000000” PowerShell komutunu kullanabilirsiniz.
  • Veritabanı yöneticinizi açın ve SBMessageContainer01 veritabanında bir sorgu çalıştırın “UPDATE TopicsTable SET MaxCorrelationFilters = 1000000
  • Service Bu Farm’ı yeniden başlatın. Bu işlem için “Start-SBFarm” PowerShell komutunu kullanabilirsiniz.

PowerShell komutları için hem Service Bus PowerShell ekranını hem de Workflow Manager PowerShell ekranını kullanabilirsiniz.

WSS_UsageApplication Veritabanı İsminin Değiştirilmesi

Arama hizmetini yapılandırmanız ile beraber WSS_UsageApplication ismiyle bir servis uygulaması ve aynı zamanda buna ait aynı isimle bir veritabanı yaratılır. Bu veritabanı ismini çeşitli sebeplerle değiştirmek isteyebilirsiniz. Yaratılırken ismini değiştirmek kontrolünüzde olmayan bu servis için veritabanı ismini değiştirme adımları aşağıdaki şekilde olacaktır.

  • Öncelikle aşağıdaki komutlar ile veritabanı ismini SQL Server düzeyinde değiştirin.

  • Ardından aşağıdaki powershell komutuyla servis uygulamasının SharePoint düzeyinde veritabanı ismini yeni veritabanı ismi olarak güncelleyin.

 

Hata: This item could not be crawled because the repository did not respond within the specified timeout period

SharePoint 2013 veya 2016 ortamlarınızda sağlıklı çalışan bir arama hizmetinde indexleme esnasında aşağıdaki gibi bir hata ile karşılaşabilirsiniz. Bu hata sonrasında crawl işlemi duracak ve diğer öğeler için devam etmeyecektir.

“This item could not be crawled because the repository did not respond within the specified timeout period. Try to crawl the repository at a later time, or increase the timeout value on the Proxy and Timeout page in search administration. You might also want to crawl this repository during off-peak usage times”

Hatanın  çözümü için aşağıdaki iki yolu deneyebilirsiniz;

  • Sunucu üzerinde Internet Explorer‘ı açın ve Internet Options > Connections > LAN settings bölümüne gidin. Burada “Automatically detect settings” checkboxındaki seçimi kaldırın. Ayrıca eğer internet erişimi vs için proxy kullanıyorsanız proxy ayarlarını da kapatın.
  • Central Administration > Manage Service Applications > Search Service Application > Farm Search Administration bölümüne gidin ve timeout sürelerini daha yüksek değerler ile değiştirin.

Bu adımlardan sonra yeniden crawl işlemini başlattığınızda sorun olmadan indexlemenin başladığını göreceksiniz.

Hata: Database is up to date but some sites are not completely upgraded

SharePoint’in eski bir sürümünden yeni bir sürüme yükselttiğiniz uygulamalarda bazen ön yüzde herhangi bir hata ile karşılaşmasanızda Central Administration üzerinde yer alan “Database Upgrade Status” sayfasına gittiğinizde yükseltme yaptığınız uygulamanın veritabanı için “Database is up to date but some sites are not completely upgraded” hatasını gözlemliyor olabilirsiniz. Bu hata aslında upgrade işleminin tam da istediğimiz gibi gitmediği, birşeylerin eksik olduğu anlamını taşır ve müdehale gerektirir.

Bu statüde bir veritabanınız var ise aşağıdaki PowerShell komutu ile öncelikle yükseltmesi başarıyla sağlanamamış veritabanınızın sistemdeki ID’sini öğrenmeniz gerekir.

Ardından aşağıdaki komut ile bu veritabanı için yükseltme işlemini zorlayabilirsiniz.

Bu komut esnasında hata alıyorsanız hata mesajının sizi yönlendirdiği upgrade log dosyasını incelemenizi öneririm. Zira artık hata ilk upgrade sırasında yaşanan anlık bir hatadan ziyade yükseltmeyi engelleyen bir durumunuzun olduğu anlamına geliyor. Buradaki hata olasılıkları çok çeşitli olabilir, log dosyasını iyi okumak lazım. Mesela basit bir hata olarak upgrade ettiğiniz site koleksiyonunda açık olması beklenen bir feature kapalı olabilir. Bu durumda öncelikle bu sorunu gidermeli ve ardından yukarıdaki komutları çalıştırmalısınız.

Yukarıdaki senaryoyu uyguladınız ancak yine de sayfayı kontrol ettiğinizde hata mesajını görmeye devam ediyorsunuz. Bunun nedeni sayfanın güncellenmesi için SharePoint Configuration Wizard‘ı çalıştırmanız gerekliliği. Configuration Wizard başarıyla çalıştıktan sonra artık olması gerektiği gibi “No action required” mesajını görebilirsiniz.

Yeni Web Uygulaması Yaratırken Sayfa Görüntülenemiyor Hatası

Herhangi bir sorunu bulunmayan bir farmda bazen yeni bir web uygulaması taratırken “Page cannot be displayed” hatası alabilirsiniz. Bu hatanın ardından yapacağınız kontrolde web uygulaması için gerekli veritabanının yaratıldığı ancak IIS web applicationın sadece lokal sunucuda yaratılıp farmdaki diğer sunucularda yaratılmadığını gözlemlersiniz. Ve hatta lokal sunucuda da IIS altındaki dizinin içeriği muhtemelen boş olacaktır.

Söz konusu web uygulaması için yeni bir site koleksiyonu yaratmak istediğinizde ise hata mesajı ile karşılaşacaksınız.

Bu hatanın yüksek olasılıklı sebebi Central Administration web uygulaması için application pool shut down timeoutunun yeterli gelmemesidir. Varsayılan olarak bu süre 90 saniye ve yeterli gelmemesi durumunda işlem yarıda kesilerek amaçladığınız sonuca ulaşmanızı engelliyor. Sorunu aşmak için aşağıdaki adımları yerine getirebilirsiniz;

  • IIS üzerinde Central Administration application pool’unu bulun.
  • Sağ tıklayarak “Advanced Settings” bölümünü açın.
  • “Process Model” sekmesindeki shut down limiti 90 saniye yerine 200 veya 250 saniye olarak değiştirin.
  • IISRESET komutunu çalıştırın.
  • Yeniden web uygulaması yaratmayı deneyin.

 

PowerShell Yardımıyla Dosya İndirmek

PowerShell yardımıyla yapamayacağımız işlem yok gibi, mâlum içeriğinde doğrudan kod yazabiliyoruz. Bu noktada işe yarar bir scripti daha paylaşmak istiyorum. Bunu dilerseniz bir fonksiyon haline getirebilir, belli aralıklar ile çalışacak şekilde zamanlayabilir ve sürekli hale getirebilirsiniz.