Perşembe, Temmuz 10, 2014

SharePoint InfoPath Form Services Arayüzde Olmayan Özellikleri Listeleme

Her ne kadar geleceği çok parlak olmasa da pek çoğumuz için Microsoft Office InfoPath çoğu noktada hayat kurtaran bir uygulama olmuştur. Özellikle formlara Browser üzerinden erişip işlem yaptırmak, Client'larda herhangi bir şey kurulu olmadan aksiyon alıyor olmak ve çoğu işlemi de kod yazmadan kurallar ile işletmek gerçekten kulağa çok hoş geliyor. Proje ve kullanım oranı büyüdükçe çok güvendiğiniz SharePoint InfoPath Form servisleri zaman zaman size problem çıkarmaya başlar. Bu problemler uygulamanın tasarımı, sistem kaynaklarının yetersizliği gibi konulardan kaynaklanmakla birlikte zaman zaman da arka plandaki gizli ayarlardan kaynaklanıyor olabilir. Uygulamanız geniş kitlelere yayıldıkça zaman zaman varsayılan değerlerle oynamanız gerekebilir. SharePoint Central Administration ekranı üzerinden bir takım ayarlar ile oynayabiliyorsunuz ama asıl hayat kurtaran ayarlara PowerShell ile müdahale etmeniz gerekebilir. Bu işlemler oldukça basittir. 

InfoPath Form Services'in tüm ayarlarını görüntülemek için ilk olarak SharePoint Management Shell ekranını Run As Administrator seçeneği ile açalım ardından aşağıdaki kod ile InfoPath Form Services'in tüm ayarlarını görüntüleyebilirsiniz.

$SPInfopath=Get-SPInfoPathFormsService

$SPInfopath | Select *

Bu kodları çalıştırdığınızda ekranda aşağıdaki şekilde tüm ayarları ve bu ayarlara atanmış olan değerleri görüyor olacaksınız.

TypeName                                 : Forms Service
FormTemplates                            : ......
DefaultDataConnectionTimeout             : 10000
MemoryCacheSize                          : 250
MaxDataConnectionTimeout                 : 20000
MaxDataConnectionResponseSize            : 1500
MaxDataConnectionRoundTrip               : 20000
MaxFormLoadTime                          : 40000
RequireSslForDataConnections             : True
AllowEmbeddedSqlForDataConnections       : False
AllowUdcAuthenticationForDataConnections : False
AllowUserFormCrossDomainDataConnections  : True
AllowUserFormBrowserEnabling             : True
MaxSizeOfFormSessionState                : 4194304
MaxSizeOfUserFormState                   : 4194304
MaxPostbacksPerSession                   : 75
MaxUserActionsPerPostback                : 200
ActiveSessionsTimeout                    : 1440
AllowUserFormBrowserRendering            : True
AllowViewState                           : False
ViewStateThreshold                       : 40960
DataConnectionFiles                      : {}
ExemptUserAgents                         : {crawler, googlebot, ms search, msnb
                                           ot...}
Instances                                : {}
Applications                             : {}
Required                                 : False
JobDefinitions                           : {}
RunningJobs                              : {}
JobHistoryEntries                        : {}
CanUpgrade                               : True
IsBackwardsCompatible                    : True
NeedsUpgradeIncludeChildren              : False
NeedsUpgrade                             : False
UpgradeContext                           : Microsoft.SharePoint.Upgrade.SPUpgra
                                           deContext
Name                                     :
DisplayName                              :
Id                                       : c4211568-4ede-4e2f-81f1-******
Status                                   : Online
Parent                                   : SPFarm Name=SharePoint_Config_***
Version                                  : 1814277
Properties                               : {}
Farm                                     : SPFarm Name=SharePoint_Config_***

UpgradedPersistedProperties              : {}

Bu ayarlardan herhangi birini düzenlemek için aşağıdaki örnekteki gibi bir aksiyon alabilirsiniz. Örneğin biz bu örneğimizde DefaultDataConnectionTimeout değerini 10 000'den 20 000'e çekiyoruz.

$SPInfopath.DefaultDataConnectionTimeout = 20000

Yukarıdaki kodu çalıştırdığınızda değer direkt güncellenecektir. Tüm özellikleri tekrar listeleyerek sonuca göz atabilirsiniz. Bu arada hangi özelliği ne zaman değiştirmeniz gerekiyor? Buna tabiki siz direkt karar vermemelisiniz. Herhangi bir hata aldığınızda ilgili log dosyasına gidip hatayı analiz ettiğinizde SharePoint zaten size gerekli bilgiyi veriyor olacaktır.