Tag: MOSS

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 Alert Problemi

Ocak 17th, 2011

Sharepoint MVP si olan bir arkadaş çok güzel bir makale yazmış, genel olarak tüm alert me sorunlarını bu check liste bakarak çözebilirsiniz. Ama bunların hepsini yaptıysanız ve hala sorununuz düzelmediyse, siz de benim yaşadıklarımı yaşamış olabilirsiniz. Bu arada ben de ki çözüm çok basitti tabii bu sorunu yakalamak biraz zor oldu.

Benim sorunum tam olarak, Bir listeye Alert Me ekleyince, aboneliğin başarılı bir şekilde gerçekleştiğini anlatan mail geliyordu. Fakat liste veya döküman kütüphanesinde herhangi bir değişiklik olduğunda, bunu belirten instant mailler gelmiyordu. Aşağıdaki makalede yazıldığı üzere

select * from eventcache where EventData is not null
select * from eventlog where ListID = ‘xxx’
select * from EventCache
select * from eventcache order by EventTime DESC

Sorgularıyla alertin DB ye düştüğünü, Job çalışınca buradaki itemın silindiğini yani mailin gönderildiğini gördüm. Event Log lara da bir şey düşmüyordu. Sonra Sharepoint Loglara bakmak aklıma geldi. Orada da her alert me mailinin gönderilmesi sırasında “Alerts Job failed to initialize site collection for Subscriptionid:” hatasının alındığını gördüm. En altta bunun nasıl çözüldüğüne bahsettim.

MVP arkadaşımızın yazdığı makaleyi aşağıya koyuyorum. Orjinal linki ise şurda…

Question: How to Troubleshoot Alerts in WSS 3.0 / MOSS

Answer:

The most common issue in alert is the user will get the initial email, but will not get when changes are made to the list where he configured the alert. Check the following settings in order and ensure that it is correct.

1. Is it an upgrade from V2 to V3? If yes, check the upgrade section at the bottom of this page.

2. If this is a new install of V3 (WSS or MOSS), then do the following

a. Create a new web app and see if the alerts work there. If yes, you can move the content db of the non-working site to this one. If customer is not ready to do that, then try the following.

b. Open the command prompt and go to the 12\Bin folder. Run this command and see whether alerts are enabled for the web application.

Stsadm.exe-o getproperty -url http://problemsite -pn alerts-enabled

The expected output is <Property Exist=”Yes” Value=”yes” />. If you don’t get this, run the following command to change the value.

stsadm.exe -o setproperty -pn alerts-enabled -pv “true” -url http://problemsite

If the property is Yes and still the alerts are not sent, toggle the property from Yes to NO

and then from No to Yes. This may delete all the existing alerts and warn the customer

about this.

c. Check the property job-immediate-alerts schedule through command prompt. Run this command from the 12\bin folder. If we have issues with Scheduled alerts like daily or weekly, then check the property job-daily-alerts and job-weekly-alerts.

stsadm.exe -o getproperty -url http://ProblemSite -pn job-immediate-alerts

The expected output is

<Property Exist=”Yes” Value=”every 5 minutes between 0 and 59″/>. If you don’t get this, run the following command to change the value.

stsadm.exe -o setproperty -pn job-immediate-alerts -pv “every 5 minutes

between 0 and 59″ -url http://ProblemSite

d. Confirm the above step through the UI. Central adminàOperationsàTimer Job Definitions and ensure that a job named Immediate Alerts is present for the web application.

e. Configure the alert for a user in a list. Instead of typing the domain name\ user name, type the email address of the user and see if he gets initial email. Then make a change to the list and see whether he gets the mail related to the change.

f. If he gets the alert as expected, then create a new alert and this time select the user from the people picker or type the domain name\user name.

g. If the alert is not working after doing the above step, then check the ImmedSubscriptions / SchedSubscriptions table of the content db of the web application depending on the type of alert and see a new record is added and ensure that the email field for the user is populated correctly. If not, check whether the email address is present in the user’s profile through the SSP admin page.

h. The initial alert is not security trimmed. So irrespective of whether the user has privileges on the list or not, the initial alert will be sent. If the user is not getting alert for any changes, then check whether the user has Read permission on the list.

i. This also happen if there is some issue in their mail provider (third party email providers. In this case, capture the ULS log with all information events in the verbose mode and check for lines which says Alert has been sent.

j. Email enabled security groups can also be used for configuring alerts. If the changes are not notified to the members of the group, check whether the group is added to the list with minimum Read permission. Also some email providers block email groups if the number of members are more than certain number.

k. Open SQL Query Analyzer; connect to the content database of problematic site. Run the following query.

Select * from timerlock

This server is responsible for processing the timer service. You can follow this KB ?

http://support.microsoft.com/kb/934838 to sync the accounts and password across the

Farm

The internal working mechanism of how an alert should work in v3:

The EventCache table records the SQL level events as they occur and the EventData and ACL columns are not NULL for an alert event. There is an alerts timer job that runs periodically to process the records in the EventCache. After the alerts timer job runs, it nulls out the EventData and ACL columns. Then, it will log an event into the EventLog table. So check the following in SQL.

select * from eventcache where EventData is not null

This will output all of the subscriptions which have not been processed yet. We can see if there are some alerts which are not processed.

select * from eventlog where ListID = ‘xxx’

You can get the ListID from the EventCache table by running

Select * from EventCache and check the documents which correspond to the problematic list.

If you cannot find any record, perform the following tests:

Run filemon on the MOSS server which is responsible for the timer service and check if the Timer

service picks up the alert template during the whole process.

Upload a new document to the document library which is supposed to have the alerts. Begin running

the filemon and analyze the logs.

p. select * from eventcache order by EventTime DESC

Check if the latest log is the one corresponds to your uploaded document. Make sure the EventData and ACL columns are not NULL.

After 5 minutes or more minutes, check the EventCache table again to see if the EventData and ACL columns are NULLed.

If so, stop filemon after the EventData and ACL columns are NULLed . Review log.

Upgrade from V2 to V3

1. Check this KB – http://support.microsoft.com/kb/936759/en-us

2. If no alerts are getting triggered even for a new web app, then run the Psconfig Wizard without changing any options

The timer job displayed an older date because the upgrade job was hung

3. If the alert works on new web apps, then you can move the site collections from the upgraded web app to the newly created web app through stsadm ?o backup / restore or stsadm ?o export / import. This action will be useful only if you have fewer site collections and this is only a workaround.


Sorununuz çözülmedi mi o zaman google da “Alerts Job failed to initialize site collection for Subscriptionid:” hatasını aratın.

Şu link te ben çözümü buldum. Buna göre yukarıdaki hatada verilen URL’in Access Drive Mappings’te Default Zone olarak işaretlenmiş olması gerekmekteymiş.

WPJim adlı kullanıcının yaptığı tam açıklama şu şekilde:

Found the solution for my problem – another Forum had listed this as a solution (can’t recall which, been to so many):

Go to the Central Administration tool for the affected site, click on Operations –> Access Drive Mappings

Ensure that the URL listed for the Default Zone is the URL of your site, not the Windows Name of your Site’s server.  If it is not, edit it (Click on the linked URL name).

Hope this helps you.


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

Hiding the SharePoint 2010 Ribbon From Anonymous Users

Kasım 9th, 2010

Konu ile ilgili güzel bir yazı….

http://www.endusersharepoint.com/2010/11/09/hiding-the-sharepoint-2010-ribbon-from-anonymous-users/

Tags: , ,
Posted in Sharepoint | No 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 »

Automatic Refresh Uyarısı Nasıl Kaldırılır?

Ocak 31st, 2010

Elinizde bulunan bir excel i, Excel Service den yararlanarak Sharepointte göstermek istiyorsunuz; Fakat her sayfa açılışında aşağıdaki gibi hata mı alıyorsunuz?

xxxx workbook contains one or more queries that refresh external data.
A malicious user can design a query to access confidential information and distribute it to other users or perform other harmful actions.

If you trust the source of this workbook, click Yes to enable queries to external data in this workbook.
If you are not sure, click No so that changes are not applied to your workbook.

Bunu aşmak için yapmanız gereken;

  1. Central Administration dan ilgili SSP nin Admin Page ine gidin.
  2. Buradan Trusted File Locations.
  3. İlgili güvenilir locationı bulun ve tıklayın.
  4. Açılan konfigürasyon sayfasından External Data nın Warn On Refresh özelliğini disable edin;

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

Sharepoint Listelerinin GUID’ni Bulmak

Ocak 8th, 2010

Bazen sharepoint listelerinin GUID lerine ihtiyaç duyarız,

Bunları bulmanın üç yolu mevcut, ikisi kolay, biri zor 🙂 hangisini isterseniz kullanabilirsiniz;

Birinci Yol;

  1. İlgili listenin settingslerine geliyoruz,
  2. Burada adres çubuğunda yazan
    http://moss/_layouts/listedit.aspx?List=%7B90D46FEF%2D30EE%2D4DB3%2DB027%2DCBE7EDA5DB09%7D
    benzeri adresten List değerinde yazan stringi alıyoruz
  3. %7B90D46FEF%2D30EE%2D4DB3%2DB027%2DCBE7EDA5DB09%7D
    bu stringin
    %7B = {
    %7D = }
    %2D = –
    değişikliklerini yapıyoruz ve
    {90D46FEF-30EE%2D4DB3-B027-CBE7EDA5DB09}
    şeklinde GUID imizi elde ediyoruz.

İkinci Yol;

  1. İlgili listenin settingslerine geliyoruz,
  2. Information Management Policy Settings e tıklıyoruz.
  3. Adres çubuğundan list değerini çevrime gerek duymadan kopyalayıp yapıştırabiliriz 🙂

Üçüncü Yol;

  1. İlgili listenin settingslerine Firefox kullanarak geliyoruz,
  2. Hiç bir ek işleme gerek kalmadan decode edilmiş şekilde list değerinden GUID imizi alabiliriz 🙂

Evet farkındayım en kolay yolu en sona yazdım…

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

  • Takip Edin

  • Destek Verin

    Destek vermek için tıklayın...

  • Etiket Bulutu

  • Kategoriler

  • Son Yazılar

  • Bağlantılar

  • Popüler Yazılar

  • Twitter