Kategori Arşivleri: SharePoint geliştirme

SharePoint nedenleri ile "beklenmeyen bir hata oluştu" Takvim bambu etkileşim

Bugün, Bazı gelişmiş işbirliği için bir bambu takvim web bölümü kullanan bir ortamda çalışma. Bu standart bir orta/küçük çiftlik iki yükü dengelenmiş WFEs ile, "dizin oluşturma için bir uygulama sunucusu" ve InfoPath ve Kümelenmiş SQL end.

Bazı olağanüstü durum kurtarma yazılımı WFEs birine istemci yüklü ve bu site koleksiyonundaki belirli bir site için kırık bir röportaj sonuçlandı. Ne zaman yük dengeleme etkilenen röportaj ve bu siteyi işaret, kullanıcılar "beklenmeyen bir hata oluştu" cümle ile büyük ölçüde boş bir beyaz ekran gördüm. Başka hiçbir bilgi gösterdi, Bu cümle.

Onlar bakmak istedi. Kolayca sorun yeniden ve sonra ekledi bir ?içeriği = 1 URL sonuna. Bu nasıl bambu web bölümü kullandıklarını öğrendim. Sayfa geri gitti ve şimdi, aniden, Bana güzel düzenli hata iletisi gösterdi:

image

Neler olup bittiğini veya ekleme dışında görüntülemek için kontrollü hata mesajı almak için ne yaptığımı bilmiyorum ?içeriği = sorgu dizesi 1 bit.

Ama eğer sen almak o haber bir çok nadir kenar durumda bu, "Beklenmeyen bir hata oluştu" devam edin ve eklemek ?içeriği = 1 sorgu dizesi ve görmek.

</sonunda>

Benim blog abone.

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

Technorati Tags: ,

Reflektör Microsoft.SharePoint.dll üzerinde kullanma

Redgate .NET Reflektörü Michael Blumenthal koymak bir Uyarılar ve sayısı hakkında makale ("Hangi sayısı uyarı oluştururken kullanılabilir ?"), kendi yararları üzerinde ilginç olduğu. Ancak, Redgate'nın .NET reflektör kullanarak işleminde yöntemli yürüyüşe görmek daha da ilgi. Adım adım, Bu araç parça aşağı nasıl SharePoint listesi görünümü "subscribable olup olmayacağını belirler nasıl gösterir" daha iyi bir kelime olmaması için (bunu benden daha iyi açıklıyor 🙂 ).

Bu noktada SharePoint dönemi, Neredeyse sağır ve duymamış veya bu aracı kullanma hakkında okumak için kör olmak lazım. Bu gelişmiş bir şeyler ve benim kendi anlamda bu birçok yönden son çare bir araç olduğunu. Ancak, Eğer sen düşünmek sen lüzum ama gerçekten bilmiyorum nasıl, Michael'ın yazmak-up bu konuda büyük bir öğretici gibi görünüyor..

</sonunda>

Benim blog abone.

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

Takvim görünümünde Takvim öğeleri sıralama

Belirli bir günde panel tartışmaları takip etmek bir takvim kullanıyorum. I-si olmak iki oturum: sabah ve öğleden sonra. Bir oturum kimliği ile alfabetik olarak sadece sabah oturumları gösteren bir görünüm oluşturmak istediğiniz. Bunu gerçekleştirmek biraz zordur (Gerçek apaçık bir şey kaçırmış sürece).

I-ebilmek kolayca yaratmak sadece o günün olayları gösteren bir filtre uygulanmış görünüm. Tüm olayları göstermek belgili tanımlık takvim ve hepsi almak aynı saatin yer, onları yan yana saat yuvaya listeler. Mükemmel. En zor tarafı, Varsayılan olarak, Kimliği biçiminde listesini istiyor. Yani, Ben eklerseniz, "oturum 02" ve sonra "oturum 01" Takvim, Bu sırada bunları gösteriyor (Yani, Oturum 02 ve sonra oturumu 01). Onları oturum kimliği sırayla listelemek için, Bu şeyleri denemek düşündüm.:

  1. Web kullanıcı arabirimini kullanarak görünümünü yapılandırmak. Hayır şans. Bu şekilde öğeleri sıralamak için hiçbir seçenek vardır.

    Bu işe yaramadı, bu yana, Şimdi orada umut CAML sorguda sıralama geçersiz kılmak izin verecek bir yere orada olduğumu. CQWP biraz değişiklik yapmama olanak sağlar, Belki de Takvim olacaktır?

  2. Web bölümü düzenleme, bir "ihracat için bak" fonksiyon ve … BZZZT! Kendi XML verme işlemi yapılamıyor. Dışa aktarma seçeneği yoktur.

    Ben bulmak ve bazı CAML sorguda değişiklik umut hala tutuyorum. Web bölümünü veremiyorum bu yana, Bu SharePoint Designer bırakıyor.

  3. Takvim web bölümü sandbox siteye ekleme ve bu siteyi SharePoint Designer kullanarak açın. Web bölümü için biçimlendirme bakıyorum ve ben arıyorum bulmak. Bu delilik kodlamıştır, Ama orada: "<ListViewXml …. >kodlanmış madness</ListViewXml>". Özellikle, Bu taş mı:

<Sorgu>
<Burada>
<DateRangesOverlap>
<FieldRef adı "EventDate" = />
<FieldRef adı "Bitiştarihi" = />
<FieldRef adı "RecurrenceID" = />
<Değer türü = "DateTime">
<Ay />
</Değer>
</DateRangesOverlap>
</Burada>
<OrderBy><FieldRef adı "Session_x0020_ID =" /></OrderBy>
</Sorgu>

(Deşifre &lt;' ın ve &gt'ın ve onları dışarı netlik aşkına çoklu satırlara Böl).

Ekle <OrderBy> biraz ve şimdi oturum Kımlığı göre sıralar, değil iç liste öğesi kimliği.

DEVASA ipucu o’ şapka Becky Isserman Isha Sagi'nın blog yazısı için onun yorum: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Ben demem <OrderBy> doğru yerde onun yorum yapmadan.

Umarım bu daha net yakında ekran görüntüleri ile yazmak için, Ama ben asla diye, En azından bu kadarını yapabildim..

</sonunda>

Technorati Tags: , , ,

SharePoint özellikleri & Çözümler yönetimi — PİSLİK içinde U unutma (ya da bu konuda D)

Biz topluca SharePoint çözümleri hakkında düşünmeye zaman büyük bir harcama — nasıl onları oluşturmak için, hangi aracı kullanmak için, ne olur onlar başaramamak-e doğru dağıtmak, zamanlayıcı işleri, kapsamlar, vb. Biz de onları geri çekmek ihtiyacımız olduğunu unutmak kolaydır ön bit hakkında düşünmeye çok zaman harcamak. Çözümleri geri çeker muhtemelen daha zordur, bir kavramsal tasarım açısından, Onları dağıtma daha. Dağıtım temelde bir yemek kitabı meseledir. Genellikle, bir özelliği yüklemek, Belki bazı veriler bir liste halinde yük bir özellik alıcısı var, Böyle bir şey. Ancak, geri çeker potansiyel olarak daha karmaşık.

Bunlar gibi eserler belirli bir çözüm oluşturabilir:

  • İçerik türü
  • Liste tanımı
  • Site tanımı
  • Bir listedeki verileri
  • Hatta uydu alıcıları
  • InfoPath formları

Liste uzayıp gidiyor.

Belli ki önemli bir çözümü tasarlamak üzere iken bu yapıların doğru başlatır, güncelleştirme göz önünde bulundurun ve durumlarda silmek önemli. Eğer çözümünüzü yeni bir liste oluşturur ve bu liste veri ile doldurur, çözümü geri çekmek ne olur? Bazı durumlarda, liste silinmiş. Diğer durumlarda, Bu sağlam tarihsel amaçlar için bırakılmalıdır. İş gereksinimleri için doğru bir karar rehberlik edecek.

Yardım etmek, çözümünüzü SharePoint'e dağıtır her yapı listeler bir matris oluşturmak. Yapı başına üç sütun listesi, bir oluşturma için, güncelleştirme ve silme. Her durum için, Bu işlem için doğru sonucu belirlemek.

Çözüm hiç bir SharePoint grubuna dağıtılmadan önce böyle analiz belli ki en iyi yaptın. Ancak, sigara içmek gibi, doğru şeyler yapmaya başlamak için asla geç değildir. Bu matris oluşturmak ve eksik güncelleştirme/silme senaryolar için bir plan geliştir. Bu çözmek için zor bir sorun olabilir, Ama en azından sen sorun çevresinde bir kutu koymak gerekir.

</sonunda>

Benim blog abone.

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

Technorati Tags:

Quick Fix: Web Hizmetleri SharePoint ile bu etkileşim, InvalidOperationException

Bir milyon yıl önce, Ben yardım geliştirilen bir SharePoint Designer iş akışı için özel bir eylem yoluyla çağrılan bir web hizmeti. Bu hafta, istemci için üretim taşınmak istedi. (son olarak!) Biz de öyle.

Özel eylem amele para cezası, Ama o çağrılan web hizmeti, bize bu hatayı veriyor:

İletisi: Bu işlem, yalnızca SQL Server'ı yapılandırma veritabanından okuma izinleri olan kullanıcılar tarafından bir sunucu grubuna katılmış bir bilgisayarda gerçekleştirilebilir. Bu sunucunun sunucu grubuna bağlanmak için, SharePoint Ürün ve Teknolojilerini Yapılandırma Sihirbazı'nı kullanın, Başlat menüsünde Yönetimsel Araçlar içinde bulunan.
Microsoft.SharePoint.Administration.SPWebApplication.Lookup(URI requestUri)

IIS'de SharePoint uygulama havuzuna hizmet eklemek unuttum çıkıyor. Bir kez yaptım, o amele para cezası.

Bu MSDN forum mesaj bana ihtiyacım olan ipucu verdi.: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</sonunda>

Benim blog abone.

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

Technorati Tags:

Hızlı ve kolay: SPItemList, SPFolder olsun

Bu sorunu yayınlanmaya devam ve Google hiçbir zaman ne istediğimi anlamak için görünüyor., Bu yüzden bu yazmak istiyorsunuz düşündüm..

Ben geçen hafta içinde iki hata ayıklama olay alıcı çok yaptığını. Acil serviste bir belge kütüphanesini kullanacak şekilde tanımlanır. Belge kitaplığı içindeki öğeleri sıkıca onların üst klasörlere ilgili. Yani, Ben her zaman için çeşitli manipülasyonlar öğeyi klasör alıyorum. Hata ayıklama sırasında, Klasör kimliği biliyorum belirli bir madde için meta veriler güncelleştirmek gerekli.

İşte küçük bir konsol uygulaması (gruptaki sunucuda çalıştırmak için tasarlanmış) Bu iki baðýmsýz deðiþken alýr: bir alana atamak için bir öğe ve bir değer kimliği, "Onay durumu". Bu zor bir sürü şey kodları ve hiçbir hata denetimi.

Sabit kodlu bir site kodu görünüyor, sabit kodlu belge kitaplığı alır ve belirtilen madde bulur. Daha sonra bu öğenin üst klasör bulur ve bu durum değeri atar.

Benim için önemli ders SPItem klasöre erişim almaz olduğunu. SPListItem.File kullanmanız gerekir.

Eğer herkes bir eleştiri teklif veya bir öğeyi klasör almak için daha iyi bir yol önermek umurunda, yorum lütfen.

<kodu>
kullanma Sistem;
kullanma System.Collections.GenericImports;
kullanma System.Text;
kullanma Microsoft.SharePoint;
kullanma System.Collections;

ad alanı Conchango
{
    /// <Özet>
 /// </Özet>
 sınıf ManualFolderUpdate
    {
        statik geçersiz Main(dize[] args)
        {
            dize MSH = "ManualFolderUpdate (v1.0): "; // MSH "ileti üstbilgisi ="

 Konsol.WriteLine(MSH + "Başlangıç.  Son 08/04/08 güncellenmiştir.");

            dize URL = http://localhost/xyzzy;

            kullanma (SPSite oSPSite = Yeni SPSite(URL))
            {

                kullanma (SPWeb oSPWeb oSPSite.OpenWeb =())
                {
                    SPList.Update() Belge kitaplığı oSPWeb.Lists =["Belgeler"];

                    Konsol.WriteLine(MSH + "Belge kitaplığı yok.");

                    Konsol.WriteLine(MSH + "Doktor lib öğe sayısı: [" + docLib.ItemCount + "].");

                    int Klasörü kimliği = 0;
                    dize NewStatus = "xyzzy";

                    FolderId sistemi =.Dönüştürme.ToInt32(args[0].ToString());
                    Konsol.WriteLine("Madde için klasör arayışı: [" + Klasörü kimliği + "].");

                    SPListItem li docLib.GetItemById =(Klasörü kimliği);

                    SPFolder thisItemFolder li =.File.ParentFolder;

                    Konsol.WriteLine(MSH + "Üst klasörü yok.");

                    NewStatus args =[1].ToString();
                    Konsol.WriteLine("Durumu ayarlama [" + NewStatus + "].");

                    Konsol.WriteLine("Güncelleştirme veya CTRL-C durdurmak için taahhüt dönüş basın.");

                    Konsol.GNU ReadLine();

                    thisItemFolder.Item["Onay durumu"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsol.WriteLine(MSH + "Klasörü güncelleştirmeyi bitirdi..  Çıkılıyor.");

                } // SPWeb kullanma

            } // SPSite kullanma

 Konsol.WriteLine(MSH + "Bitmiş.");

        } // Main

    } // sınıf foldersync
} // ad alanı
</kodu>

</sonunda>

Benim blog abone.

Technorati Tags:

Özel eylemler SharePoint gizleme

Birkaç ay önce, bir istemci için bir proje üzerinde çalışırken, Bir özelliği oluşturulan. Diğer şeyler arasında, Bu özelliği bir özel eylem tanımlı (Bunlar, site ayarları'nın altında görünür.). Tek amacı bu özel eylemi için özellik etkinleştirme beklendiği gibi çalıştığını bana göstermek için yapıldı.. Temelde, Ben hata ayıklama ham bir biçimi olarak kullanılır.

Benim utanç için çok, birinin etrafında var soran önce hata ayıklama eseri yolunda UAT ve üretim için dev üzerinden yapılan, "Bu xyzzy bağlantısı nedir?"

Şimdiye kadar, Biz üretim ve özelliğini kaldırmak istemiyorum, Elements.XML düzeltmek ve yeniden yükleyin.

Todd Bleaker Bu işlemek için kolay bir çıkış yolu gösterdi. Onun sözleriyle:

"CUSTOMACTIONS veritabanına kopyalanır, Onlar Elements.xml dosyadan okuma ve çalışma zamanında uygulama durumuna kopyalanır. Yani, devre dışı bırakmak gerek yok, kaldırma, yeniden yükleyin, ve CustomAction kaldırmak için bu özelliği yeniden etkinleştirmek. Sadece Elements.xml dosyasından kaldırmak ve uygulama havuzunu geri dönüştürün(s) etkilenen. Bir dahaki sefere kapsamda özelliğidir, CustomAction bir daha göremeyeceksin."

Ben onun talimatları takip ve, Elbette, onlar iş.

Benim durumumda, bir bölümü düzey yükleme tek bir röportaj ile bu. Gelecekte bu sorunla ve birden fazla röportaj 's ile kendinizi bulmak eğer, Her birinde değişiklik yapmak gerekir inanıyoruz..

</sonunda>

Benim blog abone.

Quick Fix: SharePoint sitesine erişim atar [HttpException (0x 80004005): İstek zaman aşımına uğradı.]

Geliştirici Meslektaşlarımdan biri bu hafta bir proje üzerinde çalışıyordu ve bazı deli web bölümü oluşturmaya çalışırken bir zaman problem koştu. Onun web bölümü iyiydi, ama "aniden" ilgisiz bir site çok yavaş ve sık sık bu hata ile doldu oldu:

[HttpException (0x 80004005): İstek zaman aşımına uğradı.]

Giriş ve bazı diğer siteler sadece iyi gördü. Sayfada bazı gizli web bölümleri edildi şüpheli ve kullanma güvenilir ?İçindekiler 1 hata ayıklama tekniği =, Aslında buldun 11 sayfadaki Web Bölümleri, Sadece ikisi görünür. Daha iyi (let's-hope-I-find-something-ugly-here-that-I-can-fix bir bakış), üç kapalı web bölümleri vardı "Hata" adını.

Bu web bölümleri sildim (kendisi doğal olarak uzun bir zaman aldı) ve bu sorunu çözüldü. Bugün için 🙂

</sonunda>

Benim blog abone.

Technorati Tags:

Çağırma SSRS Web Services WSS / MOSS FBA ortamında

Biz "CreateSubscription çağırmak için gerekli" bir FBA barındırılan bir SSRS web hizmetinde yöntemini MOSS ortamı bir özel web bölümü'nden yönetilen.. Biz kept getting varyasyonları:

  • 401: Yetkili değil
  • Nesne taşındı

"Nesne taşındı" Bunu söyledim çünkü iletinin en ilginç "nesne" (SSRS hizmetimiz) "hareket etmişti" Login.aspx için. Bu açıkça bir kimlik doğrulama sorun olduğu anlamına geliyordu.

Sonunda ben olduğunu fark etti. bir blog girişi bookmarked nasıl bir FBA ortam içinde yaşayan bir genel amaçlı WSS/MOSS web hizmetini çağırmak açıklanan Robert Garret tarafından. Yazıya doğrudan bağlayamazsınız Not (güncelliği 06/09/08) kimlik doğrulaması istediği için. Ben sağlamak belgili tanımlık bağlantı bir "bütün mesajları için getiriyor" Görünüm ve belirli bir makaleyi "form tabanlı kimlik doğrulaması kullanarak erişme MOSS Web Hizmetleri" için arama yaparak bulabilirsiniz.

İşte bizim için çalıştı kodu:

ReportingService2006 rs = NULL; 
// Kimlik doğrulaması Kimlik doğrulama kimlik doğrulaması = Yeni Kimlik doğrulama(); 
AuthURL = "http://URL/_vti_bin/Authentication.asmx";
AuthCookieContainer =
Yeni CookieContainer();
LoginResult sonuç = authOturum açma("userid", "şifre");
Eğer (sonuç.ErrorCode == LoginErrorCode.NoError) 
{
// Herhangi bir hata, Yani kurabiye alın.
CookieCollection kurabiye auth =CookieContainer.GetCookies(Yeni URI(AuthURL));
Cookie authCookie çerezleri =[sonuç.Çerezim];
RS =
Yeni ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
Yeni CookieContainer();
RS.CookieContainer.Add(Çerez);
}
deneyin
{
  RS.CreateSubscription(rapor, extSettings, / / tanım, Olay türü, matchData, parameters1);
}
yakalamak (İstisna ex)
{
  Console.WriteLine(eski.Message.ToString());
}

Bu şekilde çalışmaya şeyler yorumlamak:

  • Bizim web bölümü kimlik doğrulama hizmeti aramak ve söylemek gerekir, "Hey, Tony, benim!".
  • Kimlik doğrulama hizmeti söyleyerek yanıt, "Hey, Seni tanıyorum. Nasıl çocuklar?? İşte bir belirteç."
  • SSRS servisi arayıp demek, "Tony bana gönderdi, simge burada."

</sonunda>

Benim blog abone.

Hızlı ve basit: SharePoint nesne modeli C# içinde kullanarak Web sitesi hazırlamak

I güvenilir araştırıcı için nasıl bir site koleksiyonunda yeni bir SPWeb oluşturabilirsiniz göstermek küçük bir pasajı kod. Birlikte konuyla ilgili küçük bir giriş vuracağımı düşündüm ki beklediğim gibi hızlı bir şekilde veya kolayca olarak bulamadım.

Bu kod, yeni bir Wiki sitesi oluşturur.:

 SPSite siteCollection;

    siteCollection = Yeni SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy başlık",
        "xyzzy açıklaması", 1033, SPWebTemplate.WebTemplateWIKI, yanlış, yanlış);

I was seyir için "sharepoint nesne modelini kullanan bir web sitesi hazırlamak gibi ifadeler benim ilk arama başarısız oldu" ve benzeri.

Eğer sen Arama "Webs.Add için()", çok faydalı blog girdileri bir dizi bulabilirsiniz, MSDN makaleleri ve bir derinlik içine bu konuda gitmek SDK belgeleri. Ben kesinlikle tavsiye ederim Bu site.

</sonunda>

Benim blog abone.

Technorati Tags: