Tuesday, December 22, 2020

                                 Sharepoint Form Kitaplığında Klasörleme

Bir sharepoint Form kitaplığında ki item kayıtlarının fazlalığı form kitaplığının geç yüklenmesine, bu form kitaplığında bulunan iş akışlarının çalışmamasına,form kitaplığındaki kolonların filtrelenmesinin çok geç yapılmasına veya çok ağır yüklenemesine veya sistemin hatalara girmesine  neden olabilir.

Sharepointte bir liste kitaplığındaki görüntülenebilir kaynak eşiği default 5000 dir.Bu sayı aşıldığında liste kitaplığı görünümü görüntülebilinir olmaz. Bu öğe limiti artırılabilinir fakat performans düşük olacaktır.

Belge kitaplığındaki kaynak eşiğini artırmak için:

Central AdministrationàManage Web Applications

İlgili Web Application seçilir ve General Settingsà Resource Throttling


Bunun anlamı bu Web Applicationda bulunan her bir kitaplıklar 290000 item kayıt alabilirdir.

Belge kitaplıklarının kaynak eşiğini artırırsa bu kitaplıklarda zamanla oluşan kayıtlardan dolayı formların yüklenmesi ve görüntülenebilmesi çok yavaşlayacaktır.Bu performans düşüklüğünün çözümü olarak görüntüler yaratılabilinir her bir görüntünün görüntüleyeyeceği formlar şartlara göre bu görünümlerde listelenebilinir. Her bir görünümün görüntüleyebileceği max item sayısı 2000 dir.Bu sayı aşıldığı zaman yine performans düşüklüğü ve sistemsel hatalar yaşanacaktır.Bunun içinde alınacak önlem klasörlemedir. Klasörleme yapıldığında da bir klasörde önerilen item sayısı 2000 dir. Fakat klasörler içinde klasörler (iç içe klasörler) yaratılırsa bu sayı 2000’nin üzerine çıkabilir.

Item sayısı çok yüksek olan bir  Form kitaplığında Klasörlemeyi hatta iç içe klasörlemenin nasıl yapıldığı aşağıdaki şekilde örneklendirebiliriz.

Sharepoint Web Applicationumuzda Shop Report Adında bir Form kitaplığımız vardır ve bu form kitaplığında bulunan toplam öğenin ne kadar olduğunu Form kitaplığı ayarlarına girerek öğrenebiliriz.


Görüldüğü gibi 148 bin 276 tane kayıt tutulmaktadır.Bu kayıtlar görüntülere ayrıldığında ve görüntülerde gruplama yapıldığında görüntülerde ki item sayısı limit aşımına uğradığı için sistem hatalara girmekte ve belge kitaplığına ulaşılamamaktadır.

O yüzden default görünümü Allitem orak set edip görünümdeki gruplamaları kaldırırsak Form kitaplığında Tüm itemler yavaş bile olsa listelenir amaç Form kitaplığını açabilmek yeni görünümler yaratarak klasörlemeyi yapabilmektir.

Bu belge kitaplığında 2007 yılından içinde bulunduğumuz yıla kadar hergün oluşan kayıtlar bulunmaktadır ve bu kayıtları yıllara göre klasörleyip her yıl klasörlerinide belirli periodlara ayırıp iç içe klasörleyeceğiz.

Öncelikle 2007 yılında oluşturulan formları bir görünümde toplayalım.


2007 yılında oluşturulan toplam 6577 tane item ShopReport_2007Kayitları görünümünde bulunmaktadır. Şimdi bu kayıtları 3 perioda bölecek şekilde görünümler ve klasörler yaratalım.

Form kitaplığında gidip Shop Repor 2007 adında bir root klasör yaratıyoruz



Şimdi bu klasörün içine girip bu yıla ait kayıtların periodlara bölünerek tutulduğu diğer klasörleri yaratıyoruz aynı şekilde

Diğer periodlara ayırdığımız Folderları da aynı şekilde oluşturuyoruz.

Bu klasörleye taşıyacağımız öğeler için period şartları sağlayan görünümleri oluşturuyoruz şimdide.

NOT:Burada dikkat edilmesi gereken root kitaplığa gitmektir.Klasörlerin içinde görüntü oluşturmaya çalışırsanız o klasördeki itemlar için olur bu ama biz klasörlere item taşıyacağız o yüzden root olan belge kitaplığını açıp orda görünüm oluşturmamız gerekir.

Şimdi Shop Report_2007_1.Folder’a taşıyacağımız itemların tutulacağı görünümü gerekli sartlarını sağlayarak yaratıyoruz.


Bu görünümde bu şartları sağlayan 2119 tane öğe var ve biz bu öğeleri birazdan Shop Report_2007_1.Folder’a taşıyacağız.

Bunun için içinde bulunduğumuz sitenin Site Actionsà Manage Content and Structure


ilgili Form kitaplığımızı seçiyoruz

ilgili görünümü açıyoruz.


Şimdi buradaki itemları seçiyoruz ve daha sonra taşıma yapıyoruz.


Karşımıza bir Weppage Dialog ekranı açılacaktır ve buradan seçtiğimiz itemları taşıyacağımız yer sorulacaktır.


İlgili Folder’ seçip (Shop Report_2007_1.Folder) Ok dedikten sonra taşıma işlemi başlayacaktır.



Taşıma işlemi tamamlanmış oldu.Şimdi Folder’a açıp taşıdığımız öğeleri burada görebiliriz.


Yukarıda anlatılan tüm işlemleri gerekli şartları sağlayarak diğer Folderlar içinde yaparız.

Hazırlayan:Güler ONUK



Sharepoint Elektronik Tablo  Kitaplığı Oluşturma ve Bu kitaplığa Uyarılar Düzenleme

Excel belgesi içinde tutulan verileri sharepoint’e alıp bu veriler üzerinde özel uyarılar düzenleyebiliriz. Bunu yapabilmek için öncelikli olarak sharepoint de Elektronik liste belge kitaplığı oluşturmamız gerekir.





Belgeyi Alma işlemi tamamlandıktan sonra alınan excel belgesi açılır ve bize bu belgeden import edilecek alanın seçmemiz beklenir. 

import edilen Excel belgesinin Sharepoint Liste kitaplığına taşınması aşağıda ki gibi olur.


Excel verilerini Teminat Uyarı Sistemi Liste kitaplığına import ettikten sonra, bu liste kitaplığında hangi kolonlar değiştiğinde veya hangi kolonlada şartlar oluşturulmuşsa şartların yerine gelmesi durumunda kullanıcıyı haberdar edecek uyarı sistemimizi tasarlıyoruz. Bunun için öncelikli olarak seçilen veya oluşturulan yeni kolonlara şartlar tanımlamamız gerekir.

Teminat Uyarı Sistemi Liste Kitaplığında Bitiş Tarihi bugünün tarihinden 30 gün küçük veya eşit Teminatlar için uyarı sisteminin oluşturulması için liste kitaplığında yeni bir kolon oluştup bu kolona şart tanımlarız




Oluşturulacak yeni sutun bir alandan yeni bir değer alacağı için hesaplanmış bilgi türünde bir sutun olup geri dönüş değerine sahip olması gerekir. Biz bitiş tarihine 30 gün kala teminatların uyarı vermesini istiyoruz o yüzden geri dönüş değeri bir tarih olacak. 



Şimdi bitim süresi 30 gün kalan teminatların uyarı sistemini tasarlıyoruz. Bunun için Teminat Uyarı Sistemi Liste kitaplığı için yeni bir görünüm yaratıp bu görüntü için filtre oluşturacağız.



Oluşturulacak yeni sutun ,bir alandan yeni bir değer alacağı için hesaplanmış bilgi türünde bir sutun olup geri dönüş değerine sahip olması gerekir. Biz bitiş tarihine 30 gün kala teminatların uyarı vermesini istiyoruz o yüzden geri dönüş değeri bir tarih olacak. Tarih ve Saat.






Hazırlayan:Güler ONUK


Tuesday, December 15, 2020

 İnfopath Formunda Bir Alana  5 ’ ten Fazla Şart Girebilmek

Bir infopath formunda herhangi bir alan için kural oluşturulmak istenirse, bu kuralın çalışmasını sağlayan şartlar limiti 5 tanedir. Bazen bir kuralın çalışmasını sağlayan şartlar 5’in üzerinde olabilir.Bu durumda yapılması gereken kurallar için şartlar oluşturlurken “The Expression” şart  ifadesinin kullanılmasıdır.

Aşağıdaki örnekte bir Checkbox kontrolü için bir validation kuralı oluşturuyoruz ve bu kuralın çalışması 9 şartın sağlanması ile mümkün olacak.

Bu alan seçiliyken kural oluşturuyoruz.

Kaynak CheckBox kontrölü gerekli şartlar’ın sağlanamaması durumunda doğrulama hataları verecek.

8 tane farklı alanımız var ve bulanlarla birlikte Form üzerinde FormGiris adında formun giriş değerini tutan bir alanımız daha olacak. Kaynak CheckBox kontrölü doğrulama kuralı bu 9 alanın şartlarının sağlanması doğrultusunda çalışacak.

Kuralın çalışmasını sağlayan şartlar aşağıdaki gibi ,

Kaynak alanı 1’e eşit değilse ve

TM NDT alanı 1’e eşit değilse ve

Boroskop Kontrol alanı 1’e eşit değilse ve

Termal Sprey alanı 1’e eşit değilse ve

Kaplama alanı 1’e eşit değilse ve

Tap Test alanı 1’e eşit değilse ve

Bilyalı Dövme alanı 1’e eşit değilse ve

Tesellüm alanı 1’e eşit değilse ve

FormGiris=”Diger”

Şekilde görüldüğü gibi 5 alan seçip ancak 5 şart oluşturabiliyoruz.

Şimdi bu 9 alanımızı 5 şart alanına sığdırabilmek için “The Expression” şart  ifadesinin kullanıyor olacağız.

Alanlarımızın tam xpath değerlerini şartlara yazmamız gerekli.

Mesela Kaynak Alanına sağtıklayıp Copy Xpath 


Bunu diğer alanlarımız içinde yapıyoruz ve aşağıdaki gibi şartlarımızı “The Expression” şart  ifadesinin içine yazarız.

/my:myFields/my:TMNDT!="1" and /my:myFields/my:Kaplama!="1" and /my:myFields/my:BoroskopKontrol!= "1" and /my:myFields/my:TermalSprey!="1" and /my:myFields/my:Kaynak!="1" and /my:myFields/my:TapTest!="1" and /my:myFields/my:BilyalıDovme !="1" and /my:myFields/my:Tesellum !="1"

 

Görüldüğü gibi “The Expression” şart  ifadesiyle 9 şartımızıda 5 şartlık kural doğrulamasına yazabildik



Hazırlayan:Güler ONUK


 INFOPATH FORMU’NUN CLASS OLARAK KAYDEDİLMESİ

Infopath Formunu design edip Form için kullanılacak gerekli denetimleri form’a yerleştirdikten sonra formun C# Class’ını elde etmek için yapmamız gereken

Form’un File menüsüne gidip formu source code olarak saklamaktır.

Kaynakdosya olarak yazdığımız klasöre bilgisayarımızda kaydettiğimiz konumdan ulaşıp bu klasöre yazılan dosyaları görürüz.



Bu dosyalar içinde yeralan myschema.xsd dosyası infopath formumuzun ana veri kaynağıdır.Yani Formda kullandığımız tüm denetimler veri kaynağı olarak bu schemaya yazılır.

Şimdi bu xsd dosyasını C# clasına çevirelim.Yapmamız gereken bu dosyayı C:\ dizinine kopyalamak. 

Visualstudio command prompt ile myschema.xsd dosyasını c# classına çeviririz.


 

Command prompta C:\ dizinine kadar ilerledikten sonra

xsd.exe myschema.xsd /CLASSES /language:cs


Böylelikle c dizininde myschema.cs dosyası yaratılmış olunur.


Hazırlayan:Güler ONUK





Infopath Formlarında Dinamik Kontroller Yaratma

                                  Sharepoint Form Kitaplığında Klasörleme Bir sharepoint Form kitaplığında ki item kayıtlarının fazlalığı ...