Arkib Bulanan: Boleh 2011

PerformancePoint dan Ralat 33494

Salah seorang pelanggan saya dipanggil hari apabila persekitaran mereka PerformancePoint (di SharePoint 2010) rosak.  Salah satu pelayan aplikasi di ladang itu berjalan rendah pada ruang cakera.  Walaupun menangani bahawa, pelanggan dipasang "terlalu banyak" dan barangan PP semua berfungsi berhenti.  Bahagian web pelbagai akan menunjukkan "Ralat tidak dijangka berlaku. Ralat 33494. Maklumat tambahan sudah dibalak pentadbir anda":

image

Aku melihat ke atas kesalahan dan tidak mencari apa-apa yang khusus untuk "Ralat 33494" tetapi ini Forum MSDN posting ini membantu anda?: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Saya dapati ADOMD.NET di sini sebagai satu komponen dalam SQL Server 2008 Ciri-ciri Pak: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Klik untuk besarkan)

Memuat turun dan memasang yang dan ia tetap segala-galanya.

Saya rasa ini adalah jenis ralat cantik blog nie., tetapi jika anda memukul ia, anda sekurang-kurangnya anda mempunyai pilihan,.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Lists.asmx, GetListItems dan folder

Saya telah melakukan beberapa kajian untuk orang hari ini di sekitar perkhidmatan web list.asmx disediakan sebagai sebahagian daripada SharePoint 2010 (dan lebih awal).  Dia mampu untuk mendapatkan barangan pada senarai folder akar (termasuk nama-nama sub-folder), tetapi tidak boleh mendapatkan item dalam sub-folder.  Saya ada melihat di sekeliling di internets dan ia adalah satu soalan yang menghairankan biasa.  Namun, Saya tidak boleh mendapatkan jawapan yang baik untuk soalan mudah, "Jika saya tahu folder, bagaimana saya boleh mendapatkan barangan di dalam folder?"  Secara jujur, Saya tidak cuba semua yang sukar kerana saya mahu untuk memikirkan satu ini keluar pada saya sendiri untuk seketika Smile.

Untuk menetapkan ini sehingga, Saya telah mencipta laman web yang bernama "Senario Blogging" dan senarai adat dinamakan "Senarai Custom dengan Sub Folder".  Saya kemudian mencipta folder bernama:

  • Tahun 2005
  • Tahun 2006
  • Tahun 2007

Saya menambah beberapa item ke folder "Tahun 2006".  Ini adalah apa yang kelihatan seperti:

image

Kawan saya tidak menulis kod C # tetapi sebaliknya menggunakan Java, supaya sampul surat SOAP adalah apa yang dia benar-benar diperlukan.  Untuk mendapatkan, Saya menulis sedikit jQuery dan kemudian digunakan pemain biola untuk mendapatkan HTTP perbualan sebenar.

Berikut adalah jQuery yang berkaitan (Saya disalin kod ke bawah jika anda mahu menyalin / menampal):

image

Mereka kunci pertama adalah untuk memasukkan kedua-dua <queryOptions> dan <QueryOptions> nod.  Kunci kedua adalah bahawa <Folder> nod adalah URL yang pelanggan mempunyai akses.

Mungkin ada cara lain untuk mendapatkan ini, tetapi ini berjalan dengan baik bagi saya apabila menggunakan jQuery.

Berikut adalah sampul surat SOAP untuk di atas:

<soapenv:Xmlns sampul surat:soapenv =’http://schemas.xmlsoap.org / sabun / sampul surat /’>                
  <soapenv:Badan>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / sabun /’>
      <listName>Senarai adat dengan Sub Folder</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef Nama = 'Tajuk’ />
          <FieldRef Nama = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Senario / senarai / Senarai Custom dengan Sub Folder / Tahun 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Badan>
</soapenv:Sampul surat>

Banyak contoh-contoh dan perbincangan sekitar ini membawa saya untuk mempercayai bahawa semua saya perlukan adalah <QueryOptions> dan berikan satu nama folder.  Bagi saya, Saya perlu kedua-dua balut ia di dalam <queryOptions> serta menentukan URL yang berkelayakan sepenuhnya untuk <Folder> nod.

Berikut adalah persediaan AJAX jQuery:

$(dokumen).bersedia(fungsi() {
       var soapEnv =
           "<soapenv:Xmlns sampul surat:soapenv =’http://schemas.xmlsoap.org / sabun / sampul surat /’> \
               <soapenv:Badan> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / sabun /’> \
                       <listName>Senarai adat dengan Sub Folder</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Nama = 'Tajuk’ /> \
                              <FieldRef Nama = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Senario / senarai / Senarai Custom dengan Sub Folder / Tahun 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Badan> \
           </soapenv:Sampul surat>";

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Lists.asmx, GetList dan "Nilai tidak boleh adalah tidak sah”

Saya dapati hari ini bahawa GetList yang() kaedah dalam lists.asmx Perkhidmatan web perlu dihubungi sangat hati-hati atau tidak terdedah untuk melontarkan satu misteri "Nilai tidak boleh batal" pengecualian (dan itu menganggap anda boleh mendapatkan masa lalu mesej ralat lebih teruk generik, "Pengecualian dari jenis ' Microsoft.SharePoint.SoapServer.SoapServerException’ telah dibuang. ")  Khususnya, Saya mendapati bahawa anda tidak memberikan apa-apa jenis awalan kaedah GetList.  Cebisan jQuery yang berikut menggambarkan titik:

image

Jika anda berbuat demikian, Perkhidmatan web bertindak-balas dengan "Nilai tidak boleh batal" seperti ini pemain biola-disediakan transkrip HTTP:

<?versi XML = "1.0" pengekodan = "utf-8"?>
  <sabun:Sampul surat
     xmlns:sabun ="
http://schemas.xmlsoap.org / sabun / sampul surat /"    
     xmlns:xSi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
http://www.W3.org/2001/XMLSchema">

  <sabun:Badan>
    <sabun:Kesalahan>
      <faultcode>sabun:Pelayan</faultcode>
      <faultstring>
        Pengecualian dari jenis ' Microsoft.SharePoint.SoapServer.SoapServerException’ dibuang.
      </faultstring>
      <terperinci>
        <errorstring xmlns ="
http://schemas.microsoft.com / SharePoint / sabun /">
Nilai tidak boleh batal.
        </errorstring>
      </terperinci>
    </sabun:Kesalahan>
  </sabun:Badan>
</sabun:Sampul surat>

Kursus, anda mungkin tidak akan menambah awalan "s0" itu sendiri, tetapi beberapa alat yang cenderung untuk melakukannya (seperti gerhana).

Inilah semua lebih mengelirukan / mengecewakan kerana kaedah lain bertolak awalan.  Sebagai contoh, yang GetListCollection kaedah tidak kisah jika ia adalah telah bermula, Walaupun dengan awalan karut seperti "xyzzy":

image

Ini "nilai tidak boleh batal" kelihatan agak biasa dengan begitu mudah-mudahan ini akan membantu seseorang di hadapan lists.asmx.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Henti-henti Penyarangan <div> Tag dan jQuery

Ini seolah-olah seperti apa-apa topik oddball, Saya tidak pasti ia adalah blog benar-benar bernilai kira-kira, tetapi itu tidak pernah berhenti saya sebelum, jadi di sini kita pergi Smile

Saya bekerja di sebuah projek di mana saya menarik beberapa data dari carian, pembungkusan ia ke dalam mesej XML dan kemudian bahawa XML akhirnya berubah menjadi HTML melalui XSLT.  Ada banyak jQuery terlibat, satu bit yang melaksanakan beberapa fungsi tabbing.  Apabila anda klik pada tab (benar-benar, 1 <div>), jQuery menyembah. menyembunyikan() dan. menunjukkan() mengenai pelbagai divs (beban halaman awal memuat turun semua kandungan supaya tidak ada postbacks dalam kes ini).

Sekumpulan jam yang lalu, logik beralih tab mula berkelakuan tidak menentu dan ia tidak akan menunjukkan salah satu tab saya.  Saya akhirnya dikesan ia turun kepada fakta bahawa internet explorer (sekurang-kurangnya) berpendapat bahawa <div> tags bersarang jauh, jauh lebih mendalam daripada toolbar pemaju intended.The akan menunjukkan:

-<id div = "Tab1Content">
  -<div>
    -<div>
      -<id div = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Akhirnya menunjukkan ia telah ditutup sepanjang jalan ke sini!

Jadi, jika saya melakukan $("# Tab1Content").menyembunyikan(), Saya juga akan menyembunyikan Tab2 dan saya tidak dapat menunjukkan Tab2 jika saya tidak juga menunjukkan Tab1.  Saya disalin dan ditampal kod ke dalam studio visual dan ia menunjukkan semua lapisan div terpulang baik, sama seperti mereka sepatutnya melakukan, kelihatan seperti ini:

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

Aku pukul kepala saya ke dinding untuk beberapa ketika dan melihat bahawa dalam HTML kod sebenar telah menjana banyak kosong <div> tags, seperti:

<badan>

  <id div = "Tab1Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

  <id div = "Tab2Content">

    <div id = "ROW1" />
    <div id = "ROW2" />

  </div>

</badan>

(Di atas adalah waaaaaaaaaaaay terlalu dipermudahkan.  Tag div kosong adalah betul-betul sah. Sebahagian daripada saya <div> tags penuh dengan kandungan, tetapi banyak lagi tidak.  Saya datang untuk menyedari bahawa saya <Pemacu:untuk setiap> arahan telah mengeluarkan tag div pendek bentuk apabila Pemacu:untuk setiap tidak 'mencari apa-apa data.  Aku memaksa satu komen HTML ke dalam output, seperti yang ditunjukkan:

image

 

Selepas saya lakukan, semua div itu yang berbaris dengan baik dan menukar tab saya mula bekerja.

Seperti biasa, Saya harap ini membantu seseorang dalam secubit.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Fix cepat: "$ Nama kandungan jenis 'Sumber:ReportServerResources … tidak boleh mengandungi … aksara khas”

Saya telah meluangkan masa membersihkan SharePoint a 2010 laman web dan salah satu daripada isu-isu yang berkaitan dengan pembersihan rasuah / salah dipasang Server Laporan Perkhidmatan SQL isu.  Isu itu timbul apabila salah satu daripada rakan-rakan saya cuba untuk menyelamatkan tapak sebagai templat dan kemudian membuat membuat laman baru berdasarkan template itu.  Operasi save bekerja denda, tetapi apabila dia cuba untuk mencipta laman baru, SharePoint dipaparkan mesej ralat berikut:

Ralat

Nama jenis kandungan '$ Sumber:ReportServerResources,DataSourceContentTypeName;'Tidak boleh mengandungi: \ / : * ? " # % < > { } | ~ & , dua tempoh berturut-turut (..), atau aksara khas seperti tab.

Berikut adalah cap skrin:

 

image

Saya melihat jenis kandungan di laman web ini dan mendapati ini:

image

Mereka jenis kandungan yang jelas yang tidak sihat.

Isu ini seolah-olah datang banyak pada internets dan ada nampaknya tidak menjadi konsensus tunggal tentang bagaimana untuk menyelesaikannya.  Saya mendapati meja berguna yang dipetakan yang buruk nama jenis kandungan untuk nama-nama yang baik jenis kandungan di sini: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Saya secara manual dikemaskini mereka thusly:

image

(BrightStarr nama itu adalah jelas pilihan, tetapi ia tidak boleh menyakiti Smile )

Ini membolehkan saya untuk membuat template baru dan tidak mematahkan apa-apa di laman web lain, termasuk beberapa barangan PerformancePoint Server bahawa kumpulan yang berbeza orang telah bekerja.  Saya kemudian dapat mewujudkan satu laman web baru template.  Kejayaan!

Saya tidak pasti ini adalah satu 100% penyelesaian, tetapi ia mendapat saya dan semua yang terlibat lalu ralat ini menjengkelkan.  Jika saya mendapati apa-apa yang baru, Saya akan menghantar kemas kini.  Gemuruh saya berpunca daripada fakta bahawa nama-nama ini tidak salah di tempat pertama dan dengan menetapkan nama paparan, Saya tidak menyentuh nama dalaman. 

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Satu Punca untuk "pencipta daripada kesalahan ini tidak menyatakan Sebab.”

Saya telah melakukan banyak kerja dengan carian SharePoint akhir-akhir ini dan khususnya kelas KeywordQuery, sifat-sifat dan kaedah.

Jika anda mahu hasil yang ditetapkan untuk kembali keputusan di atas dan di luar suspek biasa (lihat di sini), anda menambah koleksi SelectedProperties yang, seperti dalam:

myKeywordQuery.SelectProperties.Add("xyzzy");

Terima kasih banyak dan tip topi untuk Corey Roth dan blog post ini sangat membantu (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Dalam kes saya,, "Xyzzy" sebenarnya bukan harta diuruskan.  Apabila saya menambah kepada SelectedProperties anyway, SharePoint melemparkan salah satu pengecualian kegemaran saya pernah runtime:

"Pencipta daripada kesalahan ini tidak menyatakan Sebab a."

Saya terutamanya suka modal "R" dalam Sebab.  Ini bunyi kepada saya seperti yang setara. BERSIH daripada "Saya tidak mempunyai mulut, dan saya mesti menjerit."

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Rujukan berguna: Keputusan lalai dari KeywordQuery Search

Apabila anda meminta supaya Melaksanakan() kaedah di KeywordQuery a, anda boleh membuat ResultTable berdasarkan ResultType.RelevantResults.  Ini coretan kod menggambarkan apa yang saya maksudkan:

ResultsTableCollection ResultTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Jadual yang terhasil akan mempunyai ruang maklumat berikut: 

WorkId
Pangkat
Title
Pengarang
Saiz
Jalan
Penerangan
Tulis
SITENAME
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
Contentclass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Saya berasal senarai ini daripada SharePoint 2010 persekitaran, perusahaan edisi.  Semoga ia akan menjadi berguna kepada seseorang pada masa akan datang.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Satu sebab untuk: "Gagal mengekstrak fail teksi dalam larutan”

Walaupun bekerja di sebuah studio visual projek sebahagian web hari ini, Saya kecil semula org-of beberapa fail untuk dimasukkan ke dalam folder _layouts sebagai sebahagian daripada proses penempatan. Khususnya, Saya menamakan semula fail. Js daripada "TypeAhead.js" kepada "TypeAhead(lama).js "  Saya bercadang untuk menghapuskan secepat penggantinya "TypeAhead.js" membuktikan betul.  Ia kelihatan seperti ini:

image

Ini serta-merta disebabkan masalah dengan studio visual apabila saya cuba untuk menggunakan projek:

Ralat berlaku semasa langkah penggunaan 'Tambah solusi': Gagal untuk mengeluarkan fail teksi dalam penyelesaian.

Ia ternyata bahawa anda tidak perlu meletakkan kurungan dalam nama fail.  Saya dibuang parens dan menyelesaikan masalah.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin