Aylık Arşivler: May 2011

Project ve hata 33494

Bugün aradığında benim müşteri PerformancePoint çevreleri (SharePoint'te 2010) bozuldu.  Bir app sunucu grubundaki disk alanı azalmış.  Bu hitap ederken, "çok fazla" istemci kaldırıldı ve s in tüm işleyişi durdu.  Çeşitli web bölümleri gösterir "beklenmeyen bir hata oluştu.. Hata 33494. Yöneticiniz için günlüğe ek ayrıntılar ":

image

Hata ortaya baktım ve özel bir şey bulamadık "hata 33494" ilanıyla bu MSDN Forumları ama yardımcı oldu: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

SQL Server'da bir bileşeni olarak ADOMD.NET burada buldum 2008 Özellik paketi: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Resmi büyütmek için tıklayın)

Download ve yüklü ve her şey sabit.

Bu oldukça tuhaf bir hata olduğunu düşünüyorum., Ama eğer sen vurmak, Eğer en az bir seçenek var.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Lists.asmx, GetListItems ve klasörler

Birinin etrafında bugün SharePoint bir parçası olarak sağlanan list.asmx web hizmeti için bir araştırma yaptığını 2010 (ve önceki sürümleri).  O was güçlü-e doğru kök klasörde liste öğelerini almak için (alt klasörleri adları da dahil olmak üzere), öğeleri alt klasörlere alamadım ama.  Bazı Internets üzerinde etrafa yaptı ve şaşırtıcı ortak bir soru.  Henüz, Basit bir soru için iyi bir cevap alamadım., "Ben klasörü biliyorsanız, klasördeki öğelerin nasıl alabilirim?”  Dürüst olmak gerekirse, Ben kendi dışarı bu bir şekil bir süre istedim çünkü bu zor deneyin vermedi Gülümseme.

Bunu ayarlamak için, "Bloglama senaryoları" adlı bir site ve "Özel liste ile alt klasörler" adlı özel bir liste oluşturdum.  Sonra adlı klasör oluşturdu:

  • Yıl 2005
  • Yıl 2006
  • Yıl 2007

Ben birkaç öğe "2006 yılı" klasöre eklendi.  Ne gibi görünüyor olmasıdır.:

image

Arkadaşım değil ama C# kodu yazmak yerine Java yazılımını kullanma, Yani o gerçekten gerekli soap zarfının oldu.  Almak için, JQuery biraz yazdı ve fiddler kullanılmış gerçek http oturumu almak.

İşte ilgili jQuery (Kopyala/Yapıştır istiyorsanız kodu aşağı aşağıda kopyaladığım):

image

Onlar ilk anahtarıdır hem de içerecek şekilde bir <queryOptions> ve <QueryOptions> düğüm.  Bu ikinci anahtarıdır <Klasör> düğüm istemci erişimi olan bir url..

Bu almak için başka yollar olabilir, ama bu amele su kuyusu için beni ne zaman jQuery kullanarak.

İşte yukarıdaki için soap Zarfı:

<soapenv:Zarf xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Vücut>
    <GetListItems xmlns =’
http://schemas.microsoft.com/SharePoint/SOAP/’>
      <listName>Alt klasörler içeren özel bir liste</listName>
      <viewFields>  
        <ViewFields>
          <FIELDREF Name =' başlığı’ />
          <FIELDREF Name ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Klasör>
http://demoserver1/blog Senaryo/listeleri/özel liste ile alt klasörler/yıl 2006</Klasör>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Vücut>
</soapenv:Zarf>

Örnekler ve bu tartışma çok bana tüm ihtiyacım olduğuna inanmak yol açtı <QueryOptions> ve bir klasör adı belirtin.  Benim için, [NULL]'Sarmak hem de içine <queryOptions> hem de tam bir url belirtin <Klasör> düğüm.

İşte jQuery ajax kurulumu:

$(Belge).hazır(işlevi() {
       var soapEnv =
           "<soapenv:Zarf xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Vücut> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
                       <listName>Alt klasörler içeren özel bir liste</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FIELDREF Name =' başlığı’ /> \
                              <FIELDREF Name ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Klasör>http://demoserver1/Blogging Senaryo/listeleri/özel liste ile alt klasörler/yıl 2006</Klasör> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Vücut> \
           </soapenv:Zarf>";

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Lists.asmx, GetList ve "değeri null olamaz”

Bugün keşfettim bu GetList() yöntem lists.asmx Web hizmeti çok dikkatli bir şekilde çağrılacak ya da gizemli bir "Değer null olamaz" özel durum eğilimli (ve, sen-ebilmek almak daha kötü genel hata iletisi üstlenmektedir, "Özel durum türü ' Microsoft.SharePoint.SoapServer.SoapServerException’ atıldı.")  Özellikle, Ben GetList yöntemi herhangi bir önek sağlayamayacağını bulundu.  Aşağıdaki jQuery kod noktayı gösterir:

image

Bunu yaparsanız, "Değer bu aynı derecede boş olamaz ile" web hizmeti yanıt Fiddler-HTTP transkript sağlanan:

<?XML sürüm "1.0 =" kodlama = "utf-8"?>
  <sabun:Zarf
     xmlns:sabun ="
http://schemas.xmlsoap.org/SOAP/envelope/"    
     xmlns:XSI = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <sabun:Vücut>
    <sabun:Arıza>
      <faultCode>sabun:Sunucu</faultCode>
      <faultCode>
        Özel durum türü ' Microsoft.SharePoint.SoapServer.SoapServerException’ atıldı.
      </faultCode>
      <detay>
        <ErrorString xmlns ="
http://schemas.microsoft.com/SharePoint/SOAP/">
Değer null olamaz.
        </ErrorString>
      </detay>
    </sabun:Arıza>
  </sabun:Vücut>
</sabun:Zarf>

Elbette, muhtemelen bu "s0" öneki, kendi eklediğiniz olmaz, ama bazı araçlar yapmaya yatkındır (Eclipse gibi).

Bu daha fazla kafa karıştırıcı / diğer yöntemler önekleri tahammül, çünkü sinir bozucu.  Örneğin, the GetListCollection yöntem bu öneki varsa akıl almaz, "xyzzy" gibi ile bile saçma önek:

image

Bu yüzden umarım bu yardımcı olacak kimse dışarı gelecek lists.asmx ile oldukça yaygın gibi görünüyor "değeri null olamaz".

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Sonsuz yerleştirme <div> Etiketler ve jQuery

Bu tür bir tuhaf konu gibi görünüyor, Bloglama hakkında gerçekten değer emin değilim, Ama bu beni daha önce hiç durdurmadı, Yani burada biz gitmek Gülümseme

Bir ara bazı verileri nerede çekiyorum bir proje üzerinde çalışma dışarı, ve sonra bu XML bir XML iletisi ambalaj sonuçta XSLT ile HTML içine aktarılır.  JQuery bir sürü, bir çeşit bazı sekmeler işlevselliğini uygular.  Bir sekmeyi tıklattığınızda (Gerçekten, bir <div>), jQuery yerleştirilmiş çağırır() ve göster() çeşitli divs (Yani hiç postbacks bu durumda ilk sayfa yükleme tüm içerik indirme).

Birkaç saat önce, mantık geçiş sekmesini hatalı davranmaya başladı ve sekmelerimden biri göstermek değil.  Ben sonuçta o Internet Explorer'ın aslında izlenen (en az) düşündüm ki <div> çok iç içe Etiketler, amacı daha çok daha derin.Geliştirici araç çubuğu gösterir:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-son olarak gösterilen buraya yuvarlandıysa kapatıldı!

Yani, Ben yaptım bir $("#Tab1Content").gizle(), Sekme2'de saklanırdım ve asla ben de Sekme1 gelmedi Sekme2 gösterebilirim.  Visual studio ve tüm div's astar kadar güzel gösterdi kodu kopyaladım ve, Sadece onlar yapmak gerektiği gibi, Bu şekilde:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

Bir süre için kafamı duvarlara yendi ve gerçek HTML'de boş bir sürü kod üreten fark <div> Etiketler, gibi:

<vücut>

  <div id = "Tab1Content">

    <div ID "row1" = />
    <div ID "row2" = />

  </div>

  <div id = "Tab2Content">

    <div ID "row1" = />
    <div ID "row2" = />

  </div>

</vücut>

(Yukarıdaki oversimplified waaaaaaaaaaaay olduğunu.  Boş div Etiketler tamamen geçerli. Bazıları benim <div> Etiketler tam içerik, Ancak çok daha fazla.  Gerçekleşme geldi bu benim <XSL:for-each> yönergelerinin kısa formlu yayan div Etiketler zaman xsl:Her için değil ' herhangi bir veri bulmak.  Bir HTML açıklama çıkış zorla, görüldüğü gibi:

image

 

O benden sonra, div's güzel dizilmiş ve etiket anahtarlama çalışmaya başladı..

Her zaman olduğu gibi, Bunu kimse bir tutam yardımcı olur..

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Quick Fix: "İçerik türü adı '$ Resources:ReportServerResources … içeremez … özel karakterler”

SharePoint kadar temizlik biraz zaman harcama edilmiştir 2010 Site ve Temizleme sorunlardan biriyle ilgili bir bozuk / hatalı yüklenmiş sql Server rapor Hizmetleri sorunu.  Arkadaşlarım biri siteyi şablon olarak kaydetme ve sonra oluşturmak çalıştığınızda sorun ortaya çıkan bu şablonu temel alan yeni bir site oluşturun.  Kayıt işlemi iyi çalıştı, ama ne zaman o güvenilir yeni bir site oluşturmak için, SharePoint aşağıdaki hata iletisi görüntüleniyor:

Hata

İçerik türü adı '$ Resources:ReportServerResources,DataSourceContentTypeName;' içeremez: \ / : * ? “ # % < > { } | ~ & , iki ardışık dönem (..), veya sekme gibi özel karakterleri.

İşte bir ekran başlığı:

 

image

Site içerik türlerinin bir göz vardı ve bu bulundu:

image

Bu içerik türleri açıkça sağlıksız.

Bu sorun çok Internets üzerinde gelmek gibi görünüyor ve orada nasıl çözmek için tek bir fikir olarak görünmüyor.  Burada iyi içerik türü adları için kötü içerik türü adları eşleşen kullanışlı tablo bulundu: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  I el ile güncelleştirmek onları thusly:

image

(BrightStarr Açıkçası isteğe bağlı adıdır, ama bu zarar değil Gülümseme )

Bu bana yeni bir şablon oluşturmak için izin ve bir şey didn't break diğer sitelerde, tamamen farklı bir grup insan üzerinde çalışıyorlardı Project Server şeyler gibi.  Sonra yeni bir site şablonu oluşturabilirsiniz.  Başarı!

Bu emin değilim bir 100% Çözüm, ama benim var. ve dahil herkes bu geçmiş hata sataşmak.  Yeni bir şey bulmak, Bir güncelleştirme göndeririz.  Bu adları ilk etapta ve görünen ad çözme tarafından yanlış olması gerektiğini aslında benim sinirlilik kaynaklanıyor, Ben iç adı dokunmadan değilim. 

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Bir neden için "Bu hata oluşturan bir nedenini belirtmedi.”

Ben bir sürü iş ile SharePoint Arama son zamanlarda ve özellikle KeywordQuery sınıf yaptığını, özellikleri ve yöntemleri.

Olağan şüpheliler ötesinde sonuçlar döndürmek için sonuç istiyorsanız (Buraya bakın), Bu SelectedProperties koleksiyonuna ekleyin, olarak:

myKeywordQuery.SelectProperties.Add("xyzzy");

Çok teşekkürler ve şapka için bir ipucu Corey Roth ve Bu son derece yararlı bir blog yazısı (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Benim durumumda, "xyzzy" yönetilen bir özellik değil.  Ne zaman ben bunu SelectedProperties için yine de eklendi, Benim en sevdiğim attı SharePoint çalışma zamanı özel durumları:

"Bu suçu oluşturan bir neden belirtmedi."

Özellikle sebep ın başkenti "R" gibi.  Bu gibi .NET denk geldi"I-si olmak hayır ağız, ve çığlık olmalı.”

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Kullanışlı referans: KeywordQuery arama sonuçlarından varsayılan

Ne zaman Execute çağırmak() bir KeywordQuery yöntemi, ResultType.RelevantResults üzerinde temel bir ResultTable oluşturabilirsiniz.  Ne demek bu kod parçacığını göstermektedir:

ResultTableCollection resultsTableCollection myKeywordQuery.Execute =();

ResultTable searchResultsTable resultsTableCollection =[ResultType.RelevantResults];

Ortaya çıkan tablo-ecek-si olmak bilgi aşağıdaki sütunları: 

Çalışma kimliği
Sırası
Başlık
Yazar
Boyutu
Yolu
Açıklama
Yazma
Siteadı
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Ben bu listeyi SharePoint elde 2010 çevre, Enterprise edition.  Umarım bu gelecekte birisi için kullanışlı olacak.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Bir nedeni: "Çözüm cab dosyasında ayıklanamadı”

Visual studio web bölümü çalışırken proje bugün, Bir küçük re-org _layouts klasörüne dağıtım işleminin bir parçası koymak için bazı dosyaların yaptım. Özellikle, "TypeAhead.js" için "TypeAhead bir .js dosya adı(eski).JS"  Onun halefi "TypeAhead.js" doğru kanıtlıyor en kısa sürede kaldırmak planlıyoruz.  Bu gibi görünüyordu:

image

Bu hemen neden visual studio ile bir sorun ne zaman ı güvenilir-e proje dağıtmak için:

'Add Solution' dağıtım adımda hata oluştu: Çözüm cab dosyasında ayıklanamadı.

Dosya adlarını bir parantez koymamalısınız çıkıyor.  Kaldırdım Pars ve sorun çözüldü.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin