22 Aralık 2014 Pazartesi

Sharepoint Column E-mail Validation Formula

Sharepoint List Column E-Mail Validation Fromula

=AND(    ISERROR(FIND(" ", [Email],1)), 
IF(ISERROR(FIND("@", [Email],2)), 
FALSE, AND(ISERROR(FIND("@",[Email], FIND("@", [Email],2)+1)),
IF(ISERROR(FIND(".", [Email], FIND("@", [Email],2)+2)),FALSE,FIND(".", [Email], FIND("@", [Email],2)+2) < LEN([Email])))))


Reference

28 Kasım 2014 Cuma

Recycle IIS application pool”: The local sharepoint server is not available "


The local Sharepoint server is not available 

Çözümü: Sql Database'inde bulunan  sharepoint_config ve sharepoint_admin database'lerine db_owner rolü verin. Sorunu çözmüş oluruz.

26 Kasım 2014 Çarşamba

SharePoint Designer : Unexpected Error on server associating the workflow


Sharepoint Designer'da genelde Workflow Publish Activating işleminde karşılaşılan bir durum.Bazı kaynaklarda IISReset işlemi ile çözülebileceğini açıklamışlar.
Sharepoint Designer'ın Cache sorunlarından biridir.
Benim kendi çözümüm server'ı RESTART etmek ama aşağıdaki linklerden de çözüme ulaşabileceğinizi düşünüyorum.

Çözüm 2 (Solution 2) :IISRESET
Çözüm 4 (Solution 4): Restart The Server

1 Kasım 2014 Cumartesi

Sharepoint Farm Domain User Olmadan Oluşturulması

  • Herkes Domain Kullanıcısına sahip olmayabilir.Sql Server'da Windows kullanıcısı kullanmak istiyorsunuzdur.Sharepoint Farmını Windows Kullanıcısıyla nasıl oluşturulacağını aşağıda belirttiğim sırayla yapabilirsiniz.


  1. Sharepoint Configuration Wizard'ta aldığımız hata üsteki gibi olmalı.
  2. SharePoint Management Shell'i admin olarak açıyoruz.
  3. Shell'e New-SPConfigurationDatabase yazıp ENTER'lıyoruz.
  4. Oluşturacağınız Sp Database ismini ve Sql Serverınızın ismini veriyoruz.
  5. Sizden Local Kullanıcınızı isteyecektir.
  6. Passphrase'de hatırlayacağınız bir şifre verein.Bu işlem 2-3 dakika sürebilir.
  7. C:\Users a düşmeden kapatmayın.
Passphrase'de hatırlayacağınız bir şifre verein.

  • SpConfiguration Wizard'ı yeniden açın ve aşağıdaki gibi işleme devam edin.



Next & Finish.

Referans: Tıkla




9 Ekim 2014 Perşembe

Sql Pivoting (Rotating Table)

Sql Query yapısında bazen bir tabloyu döndürmek isteyebiliriz.
Bunun için Pivoting adı verilen sql query yapısını kullanabiliriz.

  • Normal bir Sql işlemi yapalım.


    Sonuç:


  •  Pivot Kullanarak Tablomuzun bakış açısını değiştirelim.

    Sonuç:


http://technet.microsoft.com örneğidir.

8 Ağustos 2014 Cuma

Mdx SubSelect (SSAS-Cube)

    
 1. Normal MDX Select Query






  2. SubSelect Mdx Query




23 Temmuz 2014 Çarşamba

Sql Merge


MERGE [hint] INTO [table_name]
USING (table_view_or_query)

ON (condition)

WHEN MATCHED THEN (update_clause)

WHEN NOT MATCHED THEN (insert_clause);

  • Employee Tablosu oluşturuyoruz. (Create Employee Table)

CREATE TABLE employee (
employee_id int,
first_name  varchar(20),
last_name  varchar(20),
dept_no     varchar(2),
salary    money);
  • Employee Tablosuna değerleri giriyoruz. (Inset values in to the Employee Table)

INSERT INTO employee VALUES (1, 'Dan', 'Morgan', 10, 100000);
INSERT INTO employee VALUES (2, 'Jack', 'Cline', 20, 100000);
INSERT INTO employee VALUES (3, 'Elizabeth', 'Scott', 20, 50000);
INSERT INTO employee VALUES (4, 'Jackie', 'Stough', 20, 40000);
INSERT INTO employee VALUES (5, 'Richard', 'Foote', 20, 30000);
INSERT INTO employee VALUES (6, 'Joe', 'Johnson', 20, 70000);
INSERT INTO employee VALUES (7, 'Clark', 'Urling', 20, 90000);
  • Bonus Tablosu Oluşturuyoruz. (Create Bonuses Table)

CREATE TABLE bonuses (
employee_id int, bonus int DEFAULT 100);

  • Bonus Tablosuna değerleri giriyoruz. (Insert Values in to the Bonuses Table)

INSERT INTO bonuses (employee_id) VALUES (1);
INSERT INTO bonuses (employee_id) VALUES (2);
INSERT INTO bonuses (employee_id) VALUES (4);
INSERT INTO bonuses (employee_id) VALUES (6);
INSERT INTO bonuses (employee_id) VALUES (7); 

  • Aşağıdaki Query'i yazıyoruz. (Write the below Query Code)

Burada eşleştirme yapıyoruz. Dept_no 20 olan verilerin bonus değeri maaşları 0.1 ile çarpılmasıyla hesaplanmış oluyor.
Eğer eşleşmiyorsa Kişini Maaş bonusu maaşının 0.05 ile çarpmı ile Bonuses tablosuna ekleniyor.

Merge INTO bonuses B
USING (
       SELECT employee_id,salary from employee where Dept_no=20) E
  ON (B.employee_id=E.employee_id)
WHEN MATCHED THEN
       UPDATE SET B.bonus =(E.salary * 0.1)
WHEN NOT MATCHED THEN
       INSERT (employee_id,bonus)

  VALUES (E.employee_id,(E.salary * 0.05));

28 Mayıs 2014 Çarşamba

Unable to launch the IIS Express Web server(Visual Studio)

image 

Problemin Çözümü(Solution):
Hala nedenini bilmediğim bir durumla karşılaştım diyebilirim.
Birçok çözümü olan problemde
Windows'tan ISS featureları kendi kendine silindiğini farkettim.

Control Panel => Program And Features =>Turn Windows features On or Off

IIS Featureları Ekleyin(Add IIS Features )
Internet Information Services & Internet Information Services Hostable Web Core

 

25 Şubat 2014 Salı

Secure Store Service(SSS)

Nedir bu SharePoint Secure Store Servisi ? (SSS)
Sharepoint Secure Store Servisi kullancı isimlerini ,şifrelerini ve kullanıcı yetkilerini güvenli olarak saklanmasını sağlar. Genellikle Business Connectivity Servisleri ,Excel Service Uygulamaları ve Visio Servis Uygulamaları ile bir dataya ulaşmak içinde kullanılır.
Neden ihtiyacımız Var ?

SharePoint Business Uygulamaları’nda Harici bir data kullanmak istediğimizde; Business Connectivity Servisi, Secure Store Servisle beraber kullanabiliriz. BCS ve SSS ‘i SharePoint Admin Center’dan rahatlıkla kontrol edebiliriz. Harici Data Kaynağı(External Data Source) ismi olarak Secure Store Target Uygulaması veya Target Uygulaması olarak adlandırılmıştır. BSC,Target Uygulaması ile bağlantı kurmanı sağlamakta böylece Secure Store Servisi, Referansları veya Dataları Harici Data Kaynağında tutmanı ve yönetmemizi sağlar.
Secure Store Servise Başlayalım mı ?
· Central Administration Sayfasını açalım.
· Manage Sevice on Server’i Tıklayalım.
· Secure Store Servisi Aktif Hale Getirelim yani Başlatalım(Start)
http://tech.just4sharing.com/uploads/SSS/sss_1.png
  • Secure Store Servis Uygulamsı Oluşturalım mı ?
· Sırasıyla Central Administration=>Manage Service Aplications
· Menu’den New Tıklayalaım. Secure Store Service’i Tıklayalım.
http://tech.just4sharing.com/uploads/SSS/sss_2.png
http://tech.just4sharing.com/uploads/SSS/sss_3.png
· Alanları dolduralım.
· Bazı Notlar:
Database ismini kendimiz verebiliriz. Çünkü oluşturduğumuz servis Sql Serverinizda Windows Authentication ile bağlanıp Yeni bir DataBase Kuracaktır.
İstersek Windows Authentication’da kullanmayabiliriz.(Kafanıza göre takılın)
Ama Sharepoint Default Server’ı öneriyorum sıkıntı ile karşılaşmamak için.
Security account olarak SP Admin kullanıcınızı Seçin.
http://tech.just4sharing.com/uploads/SSS/sss_4.png
http://tech.just4sharing.com/uploads/SSS/sss_6.png
· OK Tıklayın. Manage Service Application Sayfasına döneceksiniz.
· Service Uygulaması oluşturma işlemini tamalamış olacaksınız.
http://tech.just4sharing.com/uploads/SSS/sss_7.png
http://tech.just4sharing.com/uploads/SSS/sss_8.png
· Oluşturduğunuz Servis Uygulamsını Tıklayın. Burdaki gibi MySecureStore.
· İlk defa oluşturuyorsak Key(Anahtar) Oluşturmalıyız.
· Örnekteki gibi MySecureStore’ı tıkladıktan sonra SpMenude olan Genarate New Key’i tıklayıp...
· Uygulamamız için Anahtar oluşturuyoruz.
http://tech.just4sharing.com/uploads/SSS/sss_10.png
  • Bu şifre Ne İşe Yarıyor?
Secure Store uygulamasındaki kayıtlı bilginin ,içeriğinin şifrelenmesi(encrypting) için oluşturuyoruz. Sağlam bir şifre koyun unutmayacağınız olsun.
http://tech.just4sharing.com/uploads/SSS/sss_11.png
· Bu işlem bittikten sonra artık Target Application ekleyebiliriz.
  • Secure Store Target Application Oluşturalım mı ?                                                              ,
-Üstteki İşlemler yaptıktan sonra ve New Key olşturduktan sonra Boş bir Sayfa ile karşılaşacağız..(Üstteki Resim)
- Menu’den New Tıklıyoruz.
http://tech.just4sharing.com/uploads/SSS/sss_12.png

 Bazı Notlar:
· Target Applicaiton ID’si Değişmez.Yani EDİT edilemez . Unique’dir.
· E-mail Kendi Mailizi yazın.
· Target Application Type’da uygulama tipinizdir.
Individual: Seçili Bütün Sp kullanıcılarının Map edilebileceği tiptir.
Group: Grup Olarak Sp Kullanıcılarının Map edilebileceği tiptir.
Ticket: Taleple Sp Kullanıcılarının Map edilebileceği tiptir.
Restricted: Target Application’a kendine has ek authentication yürütme sağlanamsıdır.
Normal: Geleneksel method referansları authenticationdan sağlar.
· Sql Server Connectionla ilgilendiğimizden ve windows logon kullacılarını kullandığımızdan Group’u seçiyoruz.
· Aşağıdaki gibi Kullanıcı Grubunun ismini yazıyoruz..(Textbox’un altındaki insan iconuna bas kontrol et J)
http://tech.just4sharing.com/uploads/SSS/sss_14.png
· Ok dedikten sonra...
http://tech.just4sharing.com/uploads/SSS/sss_15.png
· Target Application ID Sütunundan Uygulamamızı Seçiyoruz check ediyoruz.(Yandaki kutuyu tıklayın)
· Menuden Set Credentials’ı Tıklıyoruz.
http://tech.just4sharing.com/uploads/SSS/sss_16.png
· Yukarıdaki gibi (Kendinize göre) Dolduruyoruz...
· Target Applicaiton’ı da böylece oluşturmuş olduk.
  • Oluşturdukta ne oldu ?
 Şimdi Office ve Visio’da Gidip Olşturduğumuz uygulamayla bağlatı kurup içindeki verilere ulaşabilirsiniz.

  •  Nasıl mı?

Örneğin Excel’i açın, yeni workbook yaratın.
Data Sekmesinin altında olan From Other Sources ‘ı tıklayın...
From Sql Server Seçin =>ServerName’i Yazin. Secure Service’i Windows Authetication’la kurulum yaptıysanız onunla başka ise Kullanıcı ismi ve parola..Yukarıdaki gibiyse Windows Authenticationı seçin tıklayın.PivotDatabase’inizi Seçin.Table SEÇİN.
Pivot tablo oluşturun.

6 Ocak 2014 Pazartesi

Xml Caching

How can We Cache Xml?
Answer =>

using (XmlTextReader xmlReader1 = new XmlTextReader("c:\\users/can.canbek/documents/visual studio 2012/Projects/EcPiyasalarList/EcPiyasalarList/DelayDBMatriks.xml"))
            {
                XmlDocument xmldoc1 = new XmlDocument();
                xmldoc1.Load(xmlReader1);
                XmlNode topnode1 = xmldoc1.DocumentElement;
                if (HttpRuntime.Cache[xmldoc1.ToString()] == null)
                {
                    HttpRuntime.Cache.Add(xmldoc1.ToString(), xmldoc1, null, DateTime.Now.AddMinutes(15), TimeSpan.Zero,
                        CacheItemPriority.Default, null);
                }
                else
                {
                    xmldoc1 = (XmlDocument)HttpRuntime.Cache[xmldoc1.ToString()];
                }
}

Force Be With You...