Archívy kategórie: SharePoint rozvoja

Bambus kalendár interakciu s SharePoint spôsobuje "vyskytla neočakávaná chyba"

Dnes, Bol som pracovať v prostredí, ktoré používa bambus kalendár webová časť pre niektoré lepšiu spoluprácu. Tento štandard malí farmu s dvoma rovnomerne WFEs, "aplikačný server" pre indexovanie a InfoPath a skupinový SQL späť konca.

Klient nainštalovaný nejaký softvér obnovenie katastrofy na jeden z WFEs a to za následok nefunkčné ECR pre konkrétnu lokalitu v kolekcii lokalít. Kedykoľvek záťaže poukázal na postihnuté ECR a že stránky, užívateľské videl zväčša prázdna biela obrazovka s vetou "neočakávaná chyba". Žiadne iné informácie, ukázal, práve táto veta.

Pýtali sa ma na to pozrieť. Ľahko reprodukovať problém a potom sa pripočíta ?obsah = 1 na koniec URL. To je, ako som sa naučil, používali Bamboo webovej časti. Vrátil som sa na stranu a teraz, Zrazu, je mi ukázal pekný riadny chybové hlásenie:

image

Neviem, čo sa deje alebo čo som urobil pre kontrolované chybové hlásenie zobraziť inak ako pridaním ?obsah = 1 bit reťazec dotazu.

To je pravdepodobne prípad veľmi zriedkavý okraj ale ak dostanete správu, "Sa vyskytla neočakávaná chyba" Choďte do toho a pridať ?obsah = 1 na reťazec dotazu a zistiť, kde to vedie.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags: ,

Pomocou skla na Microsoft.SharePoint.dll

Redgate .NET Reflector Michael Blumenthal stočili článok o názory a upozornenia ("Ktoré zobrazenia môžete použiť pri vytváraní upozornenie ?"), čo je zaujímavé na svojich vlastných zásluh. Avšak, Bol som ešte viac zaujíma, ako on metodicky prevedie proces pomocou Redgate jeho rozhrania .NET reflektor. Krok za krokom, on ukazuje, ako používať tento nástroj sledovať ako SharePoint určuje, či Zobraziť v zozname by mal byť "subscribable" pre nedostatok lepšieho slová (he explains this much better than I do 🙂 ).

V tomto bode v ére SharePoint, by takmer musieť byť hluchý a slepý nie počuť alebo čítať o tom, že používate nástroj. Má pokročilé veci a môj vlastný pocit, že je v mnohých ohľadoch nástroj v krajnom. Avšak, Ak si myslíte, že potrebujete to ale naozaj neviem, ako, Michaela zápis vyzerá to skvelý tutoriál na túto tému.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Zoradenie položiek kalendára v zobrazení kalendára

Som pomocou kalendára sledovať panelové diskusie v daný deň. Mám dve zasadnutia: dopoludnia a popoludní. Chcete vytvoriť zobrazenie, zobrazujúce rannej relácie iba abecedne prostredníctvom session ID. Je to trochu zložitejšie dosiahnuť (Ak som vynechal niečo reálneho zrejmé).

Môžete ľahko vytvoriť filtrované zobrazenie zobrazuje sa len ten deň akcie. Kalendár vám ukáže všetky tieto udalosti a ak všetci berú miesto na rovnakú hodinu, obsahuje vedľa seba v slote hodinu. to je super. Najťažšia časť je, že, v predvolenom nastavení, chce zoznam vo formáte ID. Takže, Ak môžem pridať "Session 02" a potom "Session 01" do kalendára, ukazuje im v tomto poradí (tj, Relácie 02 a potom relácie 01). Zoznam v Session ID objednávky, Myslel som, že vyskúšať tieto veci:

  1. Konfigurovať zobrazenia pomocou webové užívateľské rozhranie. Nie je náhoda. Neexistujú žiadne možnosti na zoradenie položiek týmto spôsobom.

    Vzhľadom k tomu, že to nebude fungovať, Ja som teraz dúfajú, že tam je CAML dotaz niekde v tam, že vám umožní mi prepísať zoradiť. CQWP umožňuje mi že niečo zmeniť, Možno, že kalendár bude aj?

  2. Upraviť webovú časť, Pozrite export"" Funkcia a … BZZZT! Nemôžete exportovať svoje XML. Neexistuje žiadna možnosť exportu.

    Jsem pořád v nádeji, že môžete nájsť a upraviť niektoré CAML dotazu. Vzhľadom k tomu, že nie je možné exportovať webovej časti, že opustí programu SharePoint Designer.

  3. Pridať kalendár webová časť lokality pieskovisko a otvorené lokality pomocou programu SharePoint Designer. Pozrite sa na značky pre webovú časť a zistil som, čo som hľadal. To zakódoval šialenstvo, ale je to tam: "<ListViewXml …. >kódované šialenstvo</ListViewXml>". Osobitne, tam je tento klenot:

<Dotaz>
<Kde>
<DateRangesOverlap>
<FieldRef meno = "EventDate" />
<FieldRef meno = "Dátum_ukončenia" />
<FieldRef meno = "RecurrenceID" />
<Typ hodnoty = "DateTime">
<Mesiac />
</Hodnota>
</DateRangesOverlap>
</Kde>
<OrderBy><FieldRef meno = "Session_x0020_ID" /></OrderBy>
</Dotaz>

(Som dekódované &lt;spoločnosti a &gt je a rozdeliť ich do viacerých riadkov pre prehľadnosť).

Pridať <OrderBy> bit a teraz to zoradia Session ID, nie vnútorný zoznam ID položky.

GIGANTICKÝ tip o’ klobúk na Becky Isserman na jej komentár k blogu Isha Sagi: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Ja by som dal <OrderBy> na správnom mieste bez jej komentár.

Dúfam, že písať to jasnejšie s screenshoty čoskoro, ale v prípade, že som nikdy neurobil, aspoň ja som to moc.

</koniec>

SharePoint funkcie & Riešenia riadenia — Nezabudnite u v CRUDE (alebo d pre túto záležitosť)

Spoločne sme stráviť veľa času premýšľať o SharePoint riešenia — ako vytvoriť ich, ktoré nástroj používať, čo sa stane, keď nedokážu rozvinúť, Časovač jobs, rozsahy, atď. Trávime toľko času premýšľať o up-front kúsky, že je ľahké zabudnúť, že budeme musieť zatiahnuť aj. Navíjanie riešenia je zrejme ťažšie, z pohľadu koncepčný dizajn, ako ich nasadenie. Nasadenie je v podstate kuchárka záležitosť. Typicky, Nainštalujte súčasť, možno máte prijímač funkcie načítať niektoré údaje do zoznamu, Tento druh vec. Avšak, navíjanie je potenciálne zložitejšie.

Dané riešenie môže vytvoriť artefakty ako tieto:

  • Typ obsahu
  • Zoznam definícia
  • Definície lokality
  • Údajov v zozname
  • Dokonca prijímače
  • Formuláre programu InfoPath

Zoznam pokračuje.

Zatiaľ čo je zrejme dôležité navrhnúť riešenie ktoré instantiates tieto artefakty správne, je to rovnako dôležité, aby zvážila aktualizáciu a odstránenie prípadov. Ak sa vytvorí nový zoznam a naplnenie tohto zoznamu údajov riešenia, čo sa stane, keď riešenie je zasunuté? V niektorých prípadoch, Zoznam by sa mal vypustiť. V ostatných prípadoch, malo by sa ponechať nedotknuté pre historické účely. Vaše obchodné požiadavky vás správne rozhodnutie.

Na pomoc s touto, vytvoriť maticu, ktorá uvádza každý artefakt, vaše riešenie sa nasadí na lokalitu SharePoint. Zoznam troch stĺpcov na artefakt, jeden pre vytvorenie, Aktualizácia a odstránenie. Pre každý prípad, určenie správneho výsledku pre danú operáciu.

Tento druh analýzy zrejme najlepšie ešte pred riešenie je niekedy nasadené na farme SharePoint. Avšak, ako fajčenie, je to nikdy nie je neskoro začať robiť veci správne. Vytvorenie tejto matice a vypracovať plán na riešenie chýbajúce aktualizácie alebo odstraňovania scenáre. To môže byť ťažké problém vyriešiť, ale aspoň budete mať dal box okolo problému.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags:

Quick Fix: Webové služby túto interakciu s lokalitou SharePoint, InvalidOperationException

Pred miliónmi rokov, Som pomáhal rozvíjať webová služba, ktorá hodnotila cez vlastnú akciu pracovného postupu programu SharePoint Designer. Tento týždeň, klient chcel presunúť do výroby (Nakoniec!) tak sme sa.

Vlastná akcia fungovalo pokutu, ale neurobil webovú službu vyvolanie, nám dáva túto chybu:

System.InvalidOperationException: Túto operáciu možno vykonať len na počítači, ktorý je pripojený k serverovej farme užívateľov, ktorí majú povolenie na serveri SQL čítanie z databázy konfigurácie. Pripojiť tento server k serverovej farme, použitie SharePoint produkty a technológie sprievodca konfiguráciou, nachádza v ponuke Štart v administratívne nástroje.
v Microsoft.SharePoint.Administration.SPWebApplication.Lookup(URI requestUri)

Ukazuje sa, že som zabudol pridať danú službu do fondu aplikácií SharePoint v službe IIS. Raz som to urobil, fungovalo to dobre.

Toto fórum MSDN vysielanie mi dal tušenie, som potreboval: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų: http://twitter.com/pagalvin

Technorati Tags:

Rýchle a jednoduché: Získajte SPFolder SPItemList

Stále beží na tento problém a Google nikdy zdá sa, pochopiť, čo chcem robiť, tak som myslel by som napísať to.

Bol som robiť veľa udalostí prijímač ladenie v poslednom týždni alebo dvoch. ER je definovaný proti knižnice dokumentov. Jednotlivé položky v knižnici dokumentov úzko súvisia s ich nadradených priečinkov. Takže, Som stále v priečinku položky na rôzne manipulácie. V priebehu ladenia, Potreboval som k aktualizácii metaúdaje priečinok pre konkrétnu položku ktorého ID viem.

Tu je trochu console application (určené pre prevádzku na serveri vo farme) to berie dva argumenty: Identifikácia položky a hodnoty priradiť k poľu, "Stav schválenia". Je ťažké kódy veľa vecí a bez chýb.

Kód vyzerá pevne zakódované stránky, dostane tvrdý kódovaný dokladu knižnicu a potom vyhľadá označené položky. Potom zistí nadradeného priečinka tejto položky a priradí hodnotu stavu.

Kľúčové Poučenie pre mňa je, že SPItem nemá prístup do priečinka. Budete musieť použiť SPListItem.File.

Ak niekto stará ponúkať kritika alebo navrhnúť lepší spôsob, ako dostať do priečinka položky, Prosím, zanechajte komentár.

<kód>
pomocou Systém;
pomocou System.Collections.Generic;
pomocou System.Text;
pomocou Microsoft.SharePoint;
pomocou System.Collections;

priestor názvov Conchango
{
    /// <Zhrnutie>
 /// </Zhrnutie>
 trieda ManualFolderUpdate
    {
        statické neplatné Hlavné(reťazec[] argumenty)
        {
            reťazec MSH = "ManualFolderUpdate (v1.0): "; // MSH = "Hlavička správy"

 Konzoly.WriteLine(MSH + "Zakladanie.  Poslednej úpravy na 08/04/08.");

            reťazec URL = http://localhost/xyzzy;

            pomocou (SPSite oSPSite = nové SPSite(adresa URL))
            {

                pomocou (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["Dokumenty"];

                    Konzoly.WriteLine(MSH + "Máš v knižnici dokumentov.");

                    Konzoly.WriteLine(MSH + "Doc lib počet položiek: [" + docLib.ItemCount + "].");

                    int Identifikácia priečinka programu = 0;
                    reťazec NewStatus = "xyzzy minového";

                    Identifikácia priečinka programu = systém.Previesť.ToInt32(argumenty[0].ToString());
                    Konzoly.WriteLine("Hľadanie priečinka pre položky: [" + Identifikácia priečinka programu + "].");

                    SPListItem li = docLib.GetItemById(Identifikácia priečinka programu);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konzoly.WriteLine(MSH + "Dostal nadradeného priečinka.");

                    NewStatus = argumenty[1].ToString();
                    Konzoly.WriteLine("Nastavenie stavu [" + NewStatus + "].");

                    Konzoly.WriteLine("Stlačte Enter potvrdiť aktualizáciu alebo CTRL-C prerušiť.");

                    Konzoly.ReadLine();

                    thisItemFolder.Item["Stav schválenia"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konzoly.WriteLine(MSH + "Hotové aktualizácia priečinok.  Ukončenie.");

                } // pomocou SPWeb

            } // pomocou SPSite

 Konzoly.WriteLine(MSH + "Skončil.");

        } // Hlavné

    } // trieda foldersync
} // priestor názvov
</kód>

</koniec>

Vyberajte môj blog.

Technorati Tags:

Skrytie vlastných akcií v službe SharePoint

Pred niekoľkými mesiacmi, pri práci na projekte pre klienta, Vytvoril som funkcie. Okrem iného, túto vlastnosť definované vlastnú akciu (Tieto sa zobrazia podľa nastavenia lokality). Jediným cieľom tejto používateľskej akcie bolo dokázať mi, že Aktivácia funkcie pracuje podľa očakávania. V podstate, Použil som to ako surovej podobe ladenie.

Veľa mojich rozpaky, Toto ladenie artefakt robil jeho cestu z dev UAT a výroby pred niekto dostal asi pýtať, "čo je táto minového odkaz?"

Teraz, sme vo výrobe a naozaj nechcem odinštalovať funkciu, Opravte elements.xml a potom preinštalovať.

Todd pochmurnější poukázal na to jednoduchý spôsob, ako s ňou zaobchádzať. Podľa jeho slov:

"CustomActions sa neskopírujú do databázy, sú čítať priamo z Elements.xml súboru a kopírovanie do stave aplikácie za behu. Takže, Nemusíte deaktivovať, odinštalovať, preinštalovať, a aktivovať funkciu odstrániť CustomAction. Stačí odstrániť zo súboru Elements.xml a recyklácie fondu aplikácií(s) uskutočnené. Nabudúce funkcia je v rozsahu, CustomAction už neuvidíte."

Sledoval som jeho pokynov a, samozrejme, pracujú.

V mojom prípade, je to oddelenie úroveň inštalácie s len jeden ECR. Ak zistíte, že tomuto problému v budúcnosti a s viacerými ECR, Verím, že budete musieť vykonať zmeny v jednotlivých.

</koniec>

Vyberajte môj blog.

Technorati Tags: ,

Quick Fix: Prístup k lokalite SharePoint hádže [HttpException (0x 80004005): Uplynul.]

Jeden z mojich kolegov vývojár pracuje na projekte tento týždeň a bežal do timeout problém pri práci na budovanie nejaké šialené webovej časti. Jeho webová časť bola pokuta, ale "náhle" nesúvisiace stránky sa stal veľmi pomalé a často vypršal s touto chybou:

[HttpException (0x 80004005): Uplynul.]

Prihlásený, a videl, že niekoľko ďalších miestach boli fajn. Mal som podozrenie, že boli niektoré skryté webové časti na stránke a pomocou spoľahlivý ?obsah = 1 ladenia technika, V skutočnosti našli 11 webové časti na stránke, len dve z nich boli viditeľné. Ešte lepšie (z pohľadu let's-hope-I-find-something-ugly-here-that-I-can-fix), tri z týchto uzavreté webové časti mal názov "Chyba".

Vymazal som tie webových častí (ktorý sám vzal prekvapivo dlho) a že vyriešil problém. For today 🙂

</koniec>

Vyberajte môj blog.

Technorati Tags:

Ktorí použijú OSBP webovej služby WSS / MOSS FBA prostredia

Potrebovali sme vyvolať "CreateSubscription" metóda na OSBP webovej služby, ktorý je hostiteľom v FBA podarilo MOSS prostredie z vlastnej webovej časti. Sme stále variácie:

  • 401: Nie je povolené
  • Objekt bol premiestnený

"Objekt bol premiestnený" posolstvo bolo najzaujímavejšie, pretože to bol povedal, že "objektu" (naše služby OSBP) presťahoval"" na login.aspx. To jasne znamená, sme mali nejaký problém overovania.

Nakoniec si uvedomil, že som mal záložkou blogu podľa Robert Garret popísaná ako uplatniť všeobecný účel WSS/MOSS webová služba žijú vnútri FBA prostredí. Všimnite si, že nie je možné prepojiť priamo na článok (ako 06/09/08) pretože to chce overiť. Odkaz, budem poskytovať vám prináša na "všetky príspevky" pohľad a vy môžete vyhľadať konkrétny článok vyhľadaním "Prístup k MACHU Web služieb využívajúcich overovanie na základe formulárov".

Tu je kód, ktorý pracoval pre nás:

ReportingService2006 r = null; 
// Overenie Overovanie auth = nové Overovanie(); 
auth.URL = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
nové CookieContainer();
LoginResult výsledok = auth.Prihlásenie("userid", "heslo");
Ak (výsledok.ErrorCode == LoginErrorCode.NoError) 
{
// Žiadna chyba, Takže si cookies.
CookieCollection cookies = auth.CookieContainer.GetCookies(nové URI(auth.URL));
Cookie authCookie = cookies[výsledok.CookieName];
r =
nové ReportingService2006();
RS.URL =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
nové CookieContainer();
RS.CookieContainer.Add(authCookie);
}
skúste
{
  RS.CreateSubscription(Správa, extSettings, DESC, typ udalosti, matchData, parameters1);
}
chytiť (Výnimkou ex)
{
  Console.WriteLine(ex.Message.ToString());
}

I interpretovať veci na prácu, ako to:

  • Naša webová časť potrebuje telefonické overenie služby a povedať, "Hej, Tony, to ma!".
  • Overenie služby odpovede hovorí, "Hej, Viem, že ste. Ako sú deti? Tu je prejav."
  • Nazývame OSBP služieb a povedať, "Tony ma poslal, Tu je token."

</koniec>

Vyberajte môj blog.

Rýchle a jednoduché: Poskytovanie webovej lokalite pomocou SharePoint objektový Model V C#

Snažila som sa hľadať trochu úryvok kód, ktorý by ukázal, ako možno vytvoriť nový SPWeb v kolekcii lokalít. Som nenašiel to ako rýchlo a ľahko, ako som čakal, tak som myslel, že som by pohlavkovat dohromady malý vstup na túto tému.

Tento kód vytvorí novú lokalitu Wiki:

 SPSite siteCollection;

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

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy minového", "xyzzy minového titul",
        "xyzzy minového opis", 1033, SPWebTemplate.WebTemplateWIKI, FALSE, FALSE);

Moje počiatočné vyhľadávanie zlyhalo, pretože som hľadal frázy ako "poskytovanie webovej lokality pomocou objektového modelu sharepoint" a podobne.

Ak ste Hľadať pre "Webs.Add()", nájdete tu niekoľko veľmi užitočné blogu, MSDN články a SDK dokumentácii, ktoré idú do hĺbky na túto tému. Určite odporúčam Táto stránka.

</koniec>

Vyberajte môj blog.

Technorati Tags: