Category Archives: SharePoint-fejlesztési

Bambusz naptár egymásra a SharePoint okoz "váratlan hiba"

Ma, Már dolgozik néhány jobb együttműködés a bambusz Naptár kijelzőt használó környezetben. Ez egy szabványos közepes/kicsi tanya két terhelés kiegyensúlyozott WFEs, egy "application server" indexelés és InfoPath és egy fürtözött SQL-háttérkiszolgálón.

Az ügyfél telepített néhány katasztrófa visszaszerzés szoftver-ra az egyik a WFEs, és eredményezte, hogy egy törött előtér-Webkiszolgálóra, egy meghatározott webhely, webhelycsoport. Amikor terheléselosztás mutatott az érintett EHÉ, és hogy a webhely, felhasználók láttam egy jórészt üres, fehér képernyő, a mondat, "váratlan hiba történt". Nincs más értesít zápor, csak ez a mondat.

Megkértek, hogy Nézd meg, hogy. Könnyen reprodukálni a problémát, és aztán hozzá egy ?tartalom = 1 a vég-ból URL. Ez hogyan tanultam, voltak használva a bambusz kijelző. Mentem vissza az oldalra, és most, hirtelen, megmutatta nekem a szép rendezett hibaüzenet jelenik meg:

image

Nem tudom, mi történik vagy mit csináltam, hogy az ellenőrzött hibajelzés más, mint a toldalékok a ?tartalom = 1 bites, a lekérdezési karakterlánc.

Ez talán egy nagyon ritka edge eset, de ha Ön kap ez az üzenet, "Váratlan hiba történt" menni előre és összead ?tartalom = 1 a lekérdezési karakterláncot, és látni, hogy hová vezet.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Technorati Tags: ,

Segítségével reflektor Microsoft.SharePoint.dll

Redgate .NET Reflektor Michael Blumenthal birtokol felépít egy cikk értesítések és views ("Mely nézetek használható riasztás létrehozásakor ?"), olyan érdekes, saját érdemei alapján. Azonban, Volt, hogy még jobban érdekelt, hogy milyen módszeresen elmegy a folyamat segítségével Redgate barátait .NET reflektor. Lépésről lépésre, megmutatja, hogyan kell használni az eszköz Nyom legyőz hogyan SharePoint határozza meg, hogy a lista nézet "subscribable legyen-e" hiányzik a jobb szót (ezt sokkal jobban megmagyarázza, mint én 🙂 ).

Ezen a ponton a SharePoint-korszak, szinte volna süket és vak, hogy nem hallottam vagy olvastam, hogy az eszköz használatáról. Ez a fejlett cucc, és a saját értelme az, hogy sok szempontból a legvégső eszköz. Azonban, Ha úgy gondolja, szükség van rá, de nem igazán tudom, hogyan, Michael írás úgy tűnik, mint egy jó tutorial, ebben a témában.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Válogatás a Naptárelemeket naptár nézetben

Én használ egy naptár nyomon követheti a beszélgetéseket panel egy adott napon. Nekem van a két ülés: reggel és délután. Azt akarom, hogy hozzunk létre egy nézetet, amely megmutatja a délelőtti ülés csak ábécérendbe keresztül egy munkamenet-azonosítót. Ez egy kicsit trükkös elérni (kivéve, ha lekéstem valami igazi nyilvánvaló).

Egyszerűen hozhat létre a szűrt nézetben csak az aznapi eseményeket mutatja. A naptár jelenik meg ezeket az eseményeket, és ha minden fog hely az ugyanazon óra, felsorolja őket egymás mellett a óra-kártyaolvasó. az nagyszerű. A lényege az, hogy, Alapértelmezés, azt akarja, hogy sorolja fel a formátuma. Így, Ha hozzá "munkamenet 02" majd "munkamenet 01" a naptár, Ez azt mutatja, ebben a sorrendben (i.e, Munkamenet 02 és akkor-munkamenet 01). A munkamenet-azonosító sorrendben kell felsorolni, Azt hittem, hogy próbálja meg ezeket a dolgokat:

  1. Beállíthatja a nézetet a webes felhasználói felülettel. Nem szerencse. Nincs lehetőség, ily módon tételek rendezéséhez.

    Mivel ez nem működik, Én most abban a reményben, ott valahol is, amely lehetővé teszi, hogy felülbírálják a rendezés CAML lekérdezés. CQWP lehetővé teszi számomra, hogy milyen változás, talán a naptár lesz, valamint?

  2. A kijelző szerkesztésével, Keresse meg a "kiviteli" funkció és a … BZZZT! Nem lehet exportálni az XML. Nincs export lehetőség.

    Én még mindig remélem, hogy lehet találni, és néhány CAML-lekérdezés módosítása kinyújtotta. Mivel nem tudja exportálni a kijelző, hogy elhagyja a SharePoint Designer.

  3. A naptár kijelző hozzáadása egy homokszóró láda helyén, és nyissa meg a SharePoint Designer használatával a webhely. Nézem a jelölést, a kijelző, és találom, amit keresek. Hogy van kódolva a madness, de ez van: "<ListViewXml …. >kódolt őrület</ListViewXml>". Kifejezetten, van ez a gyöngyszem:

<Lekérdezés>
<Ahol>
<DateRangesOverlap>
<A FieldRef név = "EventDate" />
<A FieldRef név = "EndDate" />
<A FieldRef név = "RecurrenceID" />
<Érték Type = "DateTime">
<Hónap />
</Érték>
</DateRangesOverlap>
</Ahol>
<Rendezés (OrderBy)><A FieldRef név = "Session_x0020_ID" /></Rendezés (OrderBy)>
</Lekérdezés>

(Én már dekódolt a &lt;barátait és &gt's és hasít őket-hoz többsoros kedvéért).

Add hozzá a <Rendezés (OrderBy)> kicsit, és most már sorba rendezi a munkamenet-azonosító, nem a belső listaelem-azonosító.

O hatalmas tipp’ kalap-hoz Becky Isserman ő Isha Sági blog post comment: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Én nem tesz a <Rendezés (OrderBy)> a megfelelő helyen a megjegyzés nélkül.

Remélem, hogy írni ezt pontosabban a képernyő felvételek hamarosan, de abban az esetben, én soha nem, legalább csináltam ezt a sok.

</vége>

SharePoint-szolgáltatások & Megoldások kezelése — Ne felejtsd el a CRUD U (vagy ami azt illeti a D)

Együttesen töltünk egy nagy gondolkodik a SharePoint-megoldások — Hogyan lehet létrehozni őket, melyik eszköz használata, Mi történik, ha nem sikerül telepíteni, időzítőfeladatot, hatókörök, stb. Töltünk annyi időt gondolkodás a kezdeti bitek, hogy könnyű elfelejteni, hogy meg kell visszavonni őket, valamint. Valószínűleg sokkal nehezebb, mint visszahúzó megoldások, tervezési szempontból, mint üzembe helyezése. Telepítési tulajdonképpen egy szakácskönyv-ügy. Általában, a szolgáltatás telepítése, talán van egy vonás vevő teher néhány adat-ba egy oldalra dől, az a fajta dolog. Azonban, visszahúzó potenciálisan több összetett.

Egy adott megoldás hozhat létre, mint ezek a leletek:

  • Webhelytartalom-típus
  • Definíciós lista
  • Webhely-definíció
  • Listában lévő adatok
  • Még vevők
  • Az InfoPath-űrlapok

A lista megy.

Miközben természetesen fontos, hogy a megoldás hogy pédául e leletek helyesen, Ez is ugyanolyan fontos, hogy fontolja meg a frissítés, és törölje az esetek. Ha a megoldást egy új listát hoz létre, és feltölti adatokkal listán, Mi történik, ha a megoldás behúzott? Bizonyos esetekben, a listából törölni kell. Más esetekben, Ez kell lenni érintetlenül hagyta a történelmi célokra. Üzleti igényeit végigvezeti Önt a helyes döntés.

Ehhez segítséget nyújt, hozzon létre egy mátrix, hogy minden tárgy a megoldás központilag telepíti a SharePoint listák. Sorolj fel három oszlop / tárgy, egy-egy létrehozása, frissítés és törlés. Minden egyes esetben, határozza meg a helyes végeredményre művelet.

Ez a fajta elemzés nyilvánvalóan legjobb történik, mielőtt az oldat valaha is telepítve van a SharePoint-farm. Azonban, mint a dohányzás, ' soha nem túl késő-hoz elkezd csinálás dolgokat helyesen. Hozzon létre a mátrix, és dolgozzon ki egy tervet, hogy a hiányzó frissítés/törlés forgatókönyvekhez. Ez lehet egy nehéz probléma megoldására, de legalább lesz még tesz egy doboz körül a probléma.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Technorati Tags:

Quick Fix: A webes szolgáltatások, hogy kölcsönhatásba lépnek a SharePoint, InvalidOperationException

Egy millió évvel ezelőtt, Segítettem kifejlesztett egy webes szolgáltatás, az elindított keresztül egy egyéni művelet-SharePoint Designer-munkafolyamat. Ezen a héten, az ügyfél kívánatos-hoz mozog ez-hoz termelés (Végül!) így nem.

Az egyéni művelet működött, de a webes szolgáltatás, hogy hivatkozni nem, adja meg nekünk ez a hiba:

System.InvalidOperationException: Ez a művelet csak a felhasználók, akik rendelkeznek engedélyekkel az SQL Server rendszerben, olvassa el a konfigurációs adatbázisból a kiszolgáló kiszolgálófarmhoz csatlakozó számítógépen hajtható. Ez a szerver kapcsolódni a kiszolgálófarm, a SharePoint termékek és technológiák konfigurálása varázsló használata, található, a Start menü Felügyeleti eszközök.
a Microsoft.SharePoint.Administration.SPWebApplication.Lookup(URI-requestUri)

Kiderült, hogy elfelejtettem, hogy a szolgáltatás felvétele a SharePoint alkalmazáskészletet az IIS szolgáltatásban. Egyszer én tett amit, Ez munkás finom.

Az MSDN-fórumon adott nekem kellett nyom: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</vége>

Subscribe to my blog.

Kövess engem a twitter: http://twitter.com/pagalvin

Technorati Tags:

Gyors és egyszerű: Kap a SPItemList SPFolder

Folyamatosan fut-ba ez probléma, és a Google soha nem úgy tűnik, hogy megértsék, mit akarok csinálni, úgy gondoltam, hogy lenne írni ezt le.

Végeztem egy csomó eseményérzékelő hibakeresés a múlt héten, vagy két. Az ER definiált a dokumentumtárban. Az egyes elemeket a dokumentumtár szorosan kapcsolódnak a szülő tartók. Így, Mindig kapok a mappát az elem különböző manipulációk. Rövid idő hibakeresés, Kellett, hogy egy mappa, egy adott cikk azonosító tudom, hogy a metaadatok frissítése.

Itt van egy kis konzol alkalmazás (úgy terveztük, hogy a kiszolgáló a farmban) úgy, hogy két érv: az azonosító egy elem és egy érték hozzárendelése egy mező, "Jóváhagyás". Ez kemény-kód egy csomó dolgot, és nincs hibaellenőrzés.

A kód úgy néz ki egy fixen kódolt oldal, kap egy fixen kódolt dokumentumtárat, és ezt követően megkeresi a megjelölt elem. Ez megállapítja, hogy a szülőmappát, majd hozzárendeli az állapot értéke.

A legfontosabb tanulság számomra az, hogy a SPItem nem kap hozzáférést a mappához. Kell használni a SPListItem.File.

Ha valakit érdekel, hogy felajánl egy kritika, vagy azt sugallják, egy jobb út-hoz kap a mappa elem, Kérem, hagyjon egy megjegyzést.

<kód>
használatával Rendszer;
használatával System.Collections.Generic;
használatával System.Text;
használatával Microsoft.SharePoint;
használatával System.Collections;

névtér Conchango
{
    /// <Összefoglaló>
 /// </Összefoglaló>
 osztály ManualFolderUpdate
    {
        statikus Érvénytelen Fő(karakterlánc[] ARG)
        {
            karakterlánc MSH = "ManualFolderUpdate (v1.0): "; // MSH = "üzenet fejléc"

 Konzol.WriteLine(MSH + "Indítása.  Utolsó módosításának a 04/08/08.");

            karakterlánc URL = http://localhost/xyzzy;

            használatával (SPSite oSPSite = új SPSite(URL))
            {

                használatával (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    Meg az SPList.Update() docLib = oSPWeb.Lists["A dokumentumok"];

                    Konzol.WriteLine(MSH + "Got a dokumentumtárban.");

                    Konzol.WriteLine(MSH + "Doc lib elemszám: [" + docLib.ItemCount + "].");

                    int Mappaazonosító = 0;
                    karakterlánc NewStatus = "xyzzy";

                    Mappaazonosító = rendszer.Konvertálás.ToInt32(ARG[0].ToString());
                    Konzol.WriteLine("Keresek a mappa elem: [" + Mappaazonosító + "].");

                    SPListItem Li = docLib.GetItemById(Mappaazonosító);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konzol.WriteLine(MSH + "Got a szülő dosszié.");

                    NewStatus = ARG[1].ToString();
                    Konzol.WriteLine("A beállítás állapota [" + NewStatus + "].");

                    Konzol.WriteLine("Nyomja meg a return elkövetni a frissítés vagy CTRL-C-elvetél.");

                    Konzol.ReadLine();

                    thisItemFolder.Item["Jóváhagyási állapot"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konzol.WriteLine(MSH + "Kész a mappa frissítése.  Kilépés.");

                } // segítségével SPWeb

            } // segítségével SPSite

 Konzol.WriteLine(MSH + "Kész.");

        } // Fő

    } // foldersync osztály
} // névtér
</kód>

</vége>

Subscribe to my blog.

Technorati Tags:

Egyéni műveletek SharePoint elrejtése

Néhány hónappal ezelőtt, az ügyfél számára a projekt munka közben, Létrehoztam egy szolgáltatás. Többek között, Ez a szolgáltatás definiált egyéni művelet (Ezek jelennek meg a webhely beállításai). Ezt az egyéni műveletet az egyetlen célja az volt, hogy bizonyítani nekem, hogy a szolgáltatás aktiválása volt működő mint várt. Alapvetően, Én használt ez mint egy nyers formájában, hibakeresés.

Sok, hogy én zavartan, Ez a hibakereső varázstárgy eljutott a dev UAT és termelési mielőtt valaki kapott körül-hoz kérdezés, "mi az a xyzzy link?"

Most már, Mi a termelés, és igazán nem akarom-hoz uninstall a szolgáltatás, fix elements.xml, és aztán visszahelyez.

Todd Bleaker egy egyszerű módja annak, hogy kezelni rámutatott. Az ő szavaival élve:

"CustomActions nem kerülnek át az adatbázisba, Ezek a Elements.xml fájlból és lemásolt alkalmazásállapot futásidőben. Így, nem kell inaktiválni, uninstall, újra, aktiválja a szolgáltatás, hogy távolítsa el a CustomAction. Csak vegye ki a Elements.xml fájlt és újra az alkalmazáskészletet(s) teljesített. A következő alkalommal a vonás van a hatókör, többé nem jelenik meg a CustomAction."

Én ellenőrzött a oktatás és, természetesen, dolgoznak.

Az én esetemben, Ez az egy osztály szintű bevezetés-val csak egy egyes előtér-Webkiszolgálóra. Ha találja magát, ezzel a problémával a jövőben, és több EHÉ, Azt hiszem, akkor, hogy a változás, az egyes.

</vége>

Subscribe to my blog.

Quick Fix: SharePoint-webhelyhez való hozzáférés dob [HttpException (0x 80004005): Kérés időtúllépést.]

Egyik kollégám fejlesztő dolgozik egy projekten, ezen a héten, és spárgagombolyog-ba egy időtúllépési problémák néhány őrült kijelző építési munka közben. A kijelző volt finom, de "hirtelen" egy webhely lett nagyon lassú és gyakran időtúllépés ezzel a hibával:

[HttpException (0x 80004005): Kérés időtúllépést.]

Mocsaras-ban, és láttam, hogy több más területek csak finom. Sejtettem, hogy volt néhány rejtett kijelzők az oldal és használata a megbízható ?tartalma = 1 hibakeresési technika, Valójában talált 11 a lapon található kijelzők, melyek közül csak kettő volt látható. Még jobb (let's-hope-I-find-something-ugly-here-that-I-can-fix szemszögéből), Ezek a Bezárt kijelzők három volt a neve "Hiba".

Ezek a kijelzők törölt (amely maga volt meglepően hosszú ideig) és hogy megoldotta a problémát. For today 🙂

</vége>

Subscribe to my blog.

Technorati Tags:

Hivatkozó SSRS Web Services, WSS a / MOSS FBA környezetben

Mi szükséges ahhoz, hogy hivatkozhat a "CreateSubscription" az SSRS webes szolgáltatás, hogy egy FBA módszer kezelt MOSS környezet egyéni kijelző. Mi tartott szerzés variációk:

  • 401: Nem engedélyezett
  • Objektum áttéve

A "objektum áttéve" üzenet volt érdekes, mert azt mondta, hogy az "objektum" (SSRS-szolgáltatásaink) "költözött" hogy szerint a login.aspx. Ez egyértelműen azt jelentette, volt némely féle hitelesítési probléma.

Végül rájött, hogy volt Könyvjelző a blog bejegyzés a Robert Garret, hogyan lehet hivatkozni egy általános célú WSS/moha webszolgáltatás FBA környezetben élő. Vegye figyelembe, hogy én nem a linket közvetlenül a cikk (mint a 06/09/08) mert azt akarja, hogy hitelesítésére. A láncszem én hozza, hogy egy "hozzászólás" Nézd, és keresse meg az adott cikk keres "Elérése MOSS webszolgáltatások segítségével az űrlap alapú hitelesítés".

Itt van a kód, hogy együtt dolgozott velünk:

ReportingService2006 r = NULL értékű; 
// Hitelesítésére Hitelesítési auth = új Hitelesítés(); 
felh.URL = "http://URL/_vti_bin/Authentication.asmx";
felh.CookieContainer =
új CookieContainer();
Eredmény LoginResult = felh.Bejelentkezés("userid", "jelszó");
Ha (eredmény.ErrorCode == LoginErrorCode.NoError) 
{
// Nincs hiba, így kap a cookie-k.
CookieCollection cookie-k = felh.CookieContainer.GetCookies(új URI(felh.URL-címe));
AuthCookie cookie-k a cookie-k =[eredmény.CookieName];
RS =
új ReportingService2006();
RS.URL =
"http://Server/_vti_bin/reportserver/ReportService2006.asmx";
RS.CookieContainer =
új CookieContainer();
RS.CookieContainer.Add(authCookie);
}
próbálja meg
{
  RS.CreateSubscription(jelentés, extSettings, (csökkenő), esemény típusa, matchData, parameters1);
}
fogási (Kivétel ex)
{
  Console.WriteLine(ex.Message.ToString());
}

Tudom értelmezni a dolgokat, hogy a munka, mint ez:

  • A kijelző szükséges-hoz tárcsázz megjelöl a hitelesítési szolgáltatás, és azt mondják, "Hé, Tony, én vagyok!".
  • Hitelesítési szolgáltatás válaszol, mondván:, "Hé, Tudom, hogy. Hogyan vannak a gyerekek? Itt van egy jogkivonatot."
  • Hívja fel az SSRS-szolgáltatást, és azt mondják, "Tony küldött nekem, Itt van a token."

</vége>

Subscribe to my blog.

Gyors és egyszerű: Rendelkezés a webhely SharePoint Object Model C#

Próbáltam keres egy kis töredék kód, amely azt mutatja, hogyan lehet létrehozni egy új SPWeb egy webhelycsoportban. Én nem találom, gyorsan és könnyen mint vártam, így azt gondoltam, hogy én lenne pofon együtt egy kis tétel a témában.

Ez a kód létrehoz egy új Wiki oldalon:

 SPSite Webhelycsoport;

    Webhelycsoport = új SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy cím",
        "xyzzy Leírás", 1033, SPWebTemplate.WebTemplateWIKI, hamis, hamis);

Kezdeti keresések nem sikerült, mert kerestem a kifejezéseket, mint "rendelkezés a sharepoint objektum modell használó webhely" és hasonlók.

Ha Ön Szálláshelyek keresése a "Webs.Add()", találsz egy nagyon hasznos blog bejegyzések száma, MSDN-cikkekben és az SDK dokumentációt, hogy bemegy mélység ebben a témában. Azt ajánlom ezen az oldalon.

</vége>

Subscribe to my blog.

Technorati Tags: