Tag: MOSS 2010

Sharepoint 2010 Error : The underlying connection was closed: “Could not establish trust relationship for the SSL/TLS secure channel.”

Mart 6th, 2011

Basit olarak aşağıdaki şekilde bu hatayı çözebilirsiniz.

SSL Webservisinizi çağırmadan önce BypassCertificateError metodunu çağırın. Bu metod ile sertifika hatasını geçiştirebilirsiniz.

 using System.Net;
  using System.Net.Security;
  using System.Security.Cryptography.X509Certificates;

        public static void BypassCertificateError()
        {
            ServicePointManager.ServerCertificateValidationCallback +=

                delegate(
                    Object sender1,
                    X509Certificate certificate,
                    X509Chain chain,
                    SslPolicyErrors sslPolicyErrors)
                {
                    return true;
                };
        }

Tags: , , , , , ,
Posted in Sharepoint, Yazılım | 2 Comments »

Sharepoint 2010 : Farmlar Arası Service Application Paylaşımı

Şubat 10th, 2011

Basit olarak Farmlar arası Service Application Paylaşımı hakkında bilgi vermeye çalışacağım. Ne gerek var, ben technetten okurum diyorsanız buyurun http://technet.microsoft.com/en-us/library/ff621100.aspx 🙂

Edit : Pek basit ve kısa olmadı, yani ben bu kadar uzayabileceğini düşünmemiştim…

Ama technette olmayan, basit hatalar ve çözümlerinden de bahsedecem.

Farmlar arasında paylaşımını yapabileceğiniz Service Application’lar aşağıdakilerdir.

  • Business Data Connectivity
  • Managed Metadata
  • User Profile
  • Search
  • Secure Store
  • Web Analytics
Tanımlar

A Farmı : Paylaşımı yapacak olan Farm – Publisher Farm

B Farmı : Paylaşımdan yararlanacak olan Farm – Consumer Farm

Basit Olarak Yapılması Gerekenler

    1. Farmlar arasında Trust Sağlamak

    Exchange trust certificates between the farms ile ilgili Technet linki : http://technet.microsoft.com/en-us/library/ee704552.aspx

Bu işlem için A farmından Root Certificate, B farmından Root ve STS Certificate larını almamız gerekecek. Sertifikaları Central Administration ı kullanarak da alabiliriz. Ama bence bununla uğraşmayın. Aşağıdaki komutları satır satır Sharepoint Management Shell e yapıştırıp, çalıştırın. Bunun sonucunda C dizininde sertifikaların oluştuğunu göreceksiniz.

A Farmı (Servisi Share edecek olan Farm):

Root Certificate

$rootCert = (Get-SPCertificateAuthority).RootCertificate

$rootCert.Export(“Cert”) | Set-Content C:\PublishingFarmRoot.cer -Encoding byte

B Farmı (Servisi kullanacak olan Farm):

Root Certificate

$rootCert = (Get-SPCertificateAuthority).RootCertificate

$rootCert.Export(“Cert”) | Set-Content C:\ConsumingFarmRoot.cer -Encoding byte

STS Certificate

$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate

$stsCert.Export(“Cert”) | Set-Content C:\ConsumingFarmSTS.cer -Encoding byte

Sertifikalarımızı oluşturduktan sonra B Farmının sertifikalarını A Serverına, A Farmının sertifikasını ise B Serverına taşıyoruz. Daha sonra yine aşağıdaki komutlar ile bu sertifikaları import ediyoruz. Sertifikaların isimlerini değiştirmediyseniz ve kopyalanan sertifikaları yine C:\ dizinine koyduysanız aşağıdaki komutlarda herhangi bir değişiklik yapmadan sertifikaları import edebilirsiniz.

A Farmı (Servisi Share edecek olan Farm):

Root Certificate

$trustCert = Get-PfxCertificate C:\ConsumingFarmRoot.cer

New-SPTrustedRootAuthority ConsumingFarm -Certificate $trustCert

STS Certificate

$stsCert = Get-PfxCertificate c:\ConsumingFarmSTS.cer

New-SPTrustedServiceTokenIssuer ConsumingFarm -Certificate $stsCert

B Farmı (Servisi kullanacak olan Farm):

Root Certificate

$trustCert = Get-PfxCertificate C:\PublishingFarmRoot.cer

New-SPTrustedRootAuthority PublishingFarm -Certificate $trustCert

Trust işlemini sağlamak bu kadar. İlk başlarda biraz göz korkutabilir fakat görüldüğü kadar zor değil. Burada dikkat etmeniz gereken sadece Hangi sertifikanın Publish veya Consumer Farmlardan export edildiği ve/veya import edildiği. Geri kalan işlemler copy/paste 🙂

    2. Service Application’ı Yayınlamak

On the publishing farm, publish the service application ile ilgili Technet linki : http://technet.microsoft.com/en-us/library/ee704545.aspx

Bu adımı da yine Sharepoint Management Shell kullanarak yapabilirsiniz. Ben Central Administration dan yapmanızı öneririm. Service Application’ı çok basit bir şekilde publish ediyoruz.

Central Administration -> Application Management -> Manage Service Applications yolunu izleyip, yayınlamak istediğimiz servisi seçiyoruz ve ribbon kısmındaki Publish butonuna tıklıyoruz.


Karşımıza çıkan ekranda, Publish to other farms alanının işaretli olduğuna dikkat ediyoruz ve Published URL alanında yazan URI kopyaladığımızdan emin olduktan sonra OK butonu ile servisimizi publish ediyoruz.

    3. Servisi Kullanacak Olan Farm’a Yetki Vermek

    On the consuming farm, set the permission to the appropriate service applications ile ilgili Technet linki : http://technet.microsoft.com/en-us/library/ff700211.aspx

    Bu işlem temel olarak çok basit. Yapmanız gereken sadece iki adet işlem var.

    Servisi kullanacak olan B Farmı üzerinde, Sharepoint Management Shelli çalıştırıp aşağıdaki komutu yazıyoruz.

    Get-SPFarm | Select Id

    Bu komutun çıktısı bize yetki verilecek olan Farmın ID sini verecek. Daha sonra Servis Paylaşımı yapacak olan A Farmında, Manage service applications kısmında Application Discovery and Load Balancing Service Application servisinini seçiyoruz. Yine Ribbon kısmından Permissions butonuna tıklıyoruz.


    Bir önceki adımda elde ettiğimiz ID yi buraya yapıştırıyoruz.


    Add butonu ile alt kısıma eklenen ID ye Full Control yetkisi verip OK butonuna tıklıyoruz.


    4. Paylaşılan Service Bağlanma

On the consuming farm, connect to the remote service application ile ilgili Technet linki : http://technet.microsoft.com/en-us/library/ee704558.aspx

Tüm ayarlarımız tamamlandıktan sonra geriye paylaştığımız bu servise bağlanmak kaldı. Central Managementtan Manage service applications ekranına geliyoruz ve ribbonlardan Connect butonuna tıklıyoruz.


Buradan bağlanamak istediğimiz Servisi seçiyoruz. Karşımıza gelen ekranda Farm or Service Application address alanına 2. adımda bir kenara not aldığımız Published URL stringini yapıştırıyoruz ve OK butonu ile işlemi tamamlıyoruz. Published URL i bir kenara not etmediyseniz, 2. adımı tekrarlamanız durumunda yine aynı URI yi elde edebilirsiniz.


Yukarıdaki anlattığım adımlar ve ayarlardan sonra, bağlanmaya çalışırken, aşağıdaki gibi bir hata alabilirsiniz.

“Unable to connect to the specified address. Verify the URL you entered and contact the service administrator for more details.”

Tabi bu hata size anlamlı gelmeyecektir, zira çok genel bir hata. Bunun üzerine ULS loglarına (..\..\14\LOGS) bakacaksınız. Burada da muhtemelen aşağıdaki hatayı alacaksınız.

“SharePoint Foundation Claims Authentication fo1t Monitorable …inistration.Claims.SPClaimProviderManager.GetClaimProvidersForContext(Uri context, SPClaimProviderOperationOptions mode, IEnumerable`1 providerNames) at Microsoft.SharePoint.Administration.Claims.SPClaimProviderOperations.ClaimsForEntity(Uri context, SPClaimProviderOperationOptions mode, String[] providerNames, SPClaim entity) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.AugmentClaimsIdentity(IClaimsIdentity identity, SPClaim identityClaim, RequestSecurityToken request) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.GetOutputClaimsIdentity(IClaimsPrincipal principal, RequestSecurityToken request, Scope scope) at Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.Issue(IClaimsPrincipal principal, RequestSecurityToken request) … “

Buna göre yapmış olduğunuz hatalar aşağıdakilerden biri olabilir :

  1. Sertifika export ve import işlemleri sırasında hangi sertifikanın hangi serverdan alınıp, hangi servera yükleneceğini karıştırmış olabilirsiniz. Eğer sorunun bu olduğunu düşünüyorsanız, Central Administration -> Security -> Trust yolunu izleyip, her iki serverdaki yüklemiş olduğunuz sertifikaları silin. Burada bulunan local sertifikayı silmemeye özen gösterin.
    Daha sonra birinci adımı tekrarlayın.
  2. Yukarıda anlattığım, üçüncü adımdaki aşamayı yanlış uygulamış olmak. Örneğin; Servisi kullanacak olan farmdaki Application Discovery and Load Balancing Service ine, servisi publish edecek olan farma yetki vermek. Tam tersi olması gerekiyordu.
  3. A ve B farmlarının kurulumlarının farklı domain userları ile yapılması. Bu ayrı bölgelerdeki farmları ayrı sorumlulara teslim etmek için gayet makul ve mantıklı bir işlem. Böyle bir durum ile karşı karşıya iseniz, Paylaşımı yapılan Service Application’da, diğer farmın userına da Full Control yetkisi vermeniz gerekecektir.
  4. A ve B Farmlarının bulunduğu serverlar birbirleri ile 32844 portundan konuşabilir durumda olmalıdırlar.
  5. Muhtemelen yukarıdaki çoğu durum ile karşılaşmayacaksınız. Bu satıra kadar indiyseniz hiçbir şey derdinize çözüm olmamış demektir. Aslında çözümünüz çok basit birşey olabilir. Sharepoint’in temelinden gelen bir çözüm 🙂 IISRESET. Evet evet yanlış duymadınız, service bağlanmayı denemeden önce, yaptığınız değişikliklerden sonra, her iki servera da mutlaka iisreset atın.

Bunlar da yardımcı olmadıysa, probleminizi paylaşırsanız sevinirim.

Tags: , , , , , , , , , , , , , , ,
Posted in Sharepoint | 4 Comments »

Sharepoint 2010 Error : “The type or namespace name ‘DirectoryServices’ does not exist in the namespace ‘System'”

Ekim 29th, 2010

Sharepoint 2010 da başlıktaki gibi bir hata alıyorsanız ki tam metni aşağıdadır. Bunun çözümü şu şekildedir :

Hata Metni : “The type or namespace name ‘DirectoryServices’ does not exist in the namespace ‘System’ (are you missing an assembly reference)”

Çözüm :

Web.config dosyasını açıp compilation tagını şu şekle getiriyoruz.

<compilation debug=”true”>
<assemblies>
<add assembly=”System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A”/>
</assemblies>
</compilation>

Tags: , , , , ,
Posted in Sharepoint | 2 Comments »

Sharepoint Error : This page allows a limit of 200 controls, and that limit has been exceeded

Ekim 26th, 2010

Kendime ve sizlere not ;

Sharepoint sayfanızda başlıkta yazan hatayı alıyorsanız yapmanız gerekenler :

  1. c:\inetpub\wwwroot\wss\VirtualDirectories\80 dizinine gidin,
  2. Web.config dosyanızı açın,
  3. Aşağıdaki satırı bulun,
    <SafeMode MaxControls=”200″ CallStack=”false” DirectFileDependencies=”10″ TotalFileDependencies=”50″ AllowPageLevelTrace=”false”>
    <PageParserPaths />
    </SafeMode>
  4. Buradan MaxControls=”200″ ayarındaki 200 rakamını artırın.
  5. Kaydedip dosyayı kapatın, bu sorununuzu çözecektir.

Gelen Aramalar:

  • sharepoint
  • sharepoint 2013 turkish language pack
  • this page allows a limit of 200 controls sharepoint 2013

Tags: , , , ,
Posted in Bilgisayar, Sharepoint | No Comments »

Sharepoint 2010 : Quick Launch’dan “Recently Modified” Alanını Kaldırma

Eylül 8th, 2010

Sharepoint Site’ını Sharepoint Designer ile açıyoruz. Corev4.css dosyasına aşağıdaki css tagı yoksa bunu ekliyoruz. Varsa sadece display:none satırını ilgili tagın içine eklememiz yeterli olacaktır.

.s4-recentchanges
{
DISPLAY:none;
}

Bu işlemi sadece birkaç sayfada uygulamak istiyorsanız, kod içerisinden değil, web part ekleyerek yapmanız daha iyi olacaktır. Zira güncellemelerde falan eski dosyalar ezileceği için yaptığınız ayarlamalar da gidecektir. Bunun için bir Content Editor Webpart içerisine aşağıdaki kodu koymamız yeterli olacaktır.

<style>
.s4-recentchanges
{
DISPLAY:none;
}
</style>

Tags: , , , ,
Posted in Sharepoint | No Comments »

Sharepoint 2010 : Sayfada Width && Align Değişiklikleri

Eylül 8th, 2010

İlgili ayar sharepoint designer 2010 ile aşağıdaki şekilde yapılabilir…

Sharepoint designer ile corev4.css dosyasını açıyoruz ve css deki form tagını aşağıdaki gibi değiştiriyoruz.

form
{
width: 80%;
margin-left: auto;
margin-right: auto;
}

Buradaki width ayarını yukarıdaki gibi % ile belirtebiliriz veya aşağıdaki gibi manuel bir değer de set edebiliriz.

Width: 800px;


Gelen Aramalar:

  • sharepoint eğitim seti

Tags: , , , ,
Posted in Sharepoint | No Comments »