kategori Achiv: Développement SharePoint

Banbou kalandriye Interaction ak SharePoint lakòz "fè san yo pa te menm espere pa est"

Jodia, Mwen te gen t ap travay nan yon anviwònman ki itilize yon banbou kalandriye entènèt nan pou kèk amelyore kolaborasyon. Sa yon estanda medyòm/ti fèm ak WFEs chajman balanse de, yon "aplikasyon sèvè" pou D' ak InfoPath ak yon clustered SQL dèyè fin.

Kliyan a installé lojisyèl gerizon dezas kèk sou yonn nan WFEs yo e sa te bay an rezilta nan yon WFE kase pou yon kote espesifik nan sit koleksyon. Chak fwa chajman voye vize sou afèkte WFE a, kote ki gen sa, moun wè yon lajman blanch ekran blan ak fraz matematik la "fè san ou pa ta panse yo pa te pase". Pa gen lòt enfòmasyon sou ki te montre, sèlman sa fraz matematik.

Yo te mande m' pou gade sou li. Mwen fasil reproduit pwoblèm ki genyen lè sa a te ajoute ke yon ?sa ki nan liv = 1 fin adrès entènèt la. Se jan m lan di yo te itilize pati entènèt banbou. Mwen tounen al jwenn paj la ak koulye a, sanzatann, li te montre m' yon bèl erreur ordonné mesaj:

image

Mwen pa konnen sa ki te pase ou sa m' te fè pou kontwole erreur mesaj pou yo ekspoze lòt pase ajout a ?sa ki nan liv = 1 moso kòd requête a.

Sa se byen kapab yon ka ra anpil bord men si ou jwenn mesaj sa, "Fè san yo pa te menm espere pa est" vou plè an e ajoute ?sa ki nan liv = 1 pou la chaîne requête Et wè kote ki kondwi.

</fen>

Vous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

Technorati baj: ,

W ap itilize Catadioptre sou Microsoft.SharePoint.dll

Redgate .NET Reflector Michael Blumenthal ki te bati yon atik sou alertes Et pwen de vi ("Pwen de vi ki ka sèvi lè ap kreye yon alèt ?"), ki pi enteresan sou pwòp Fond. Sepandan, Mwen te genyen menm te entèrese plis pou wè kouman li gestion Guide nan pwosesis pou itilize Redgate an .NET Catadioptre. Ti pa ti pa, li montre ke kijan pou yo itilize sa si yon moun total desann jan SharePoint detèminen si kouche sou yon lis dwe "subscribable" for lack of yon pi bon pawòl (he explains this much better than I do 🙂 ).

Nan pwen sa a nan epòk SharePoint a, ou pwal pwèske genyen pou soud epi avèg pou fè pa tande oubyen li lekti sou itilize sa si yon moun. Li te avanse bagay ak pwòp mwen konprann se ki nan plizyè fason yon zouti dènye de detante. Sepandan, Si ou panse ou bezwen li an men pa vrèman konnen kijan, Write-up Michael a sanble tankou yon gwo didacticiel sou sijè sa a.

</fen>

Vous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

Tri kalandriye atik nan vi kalandriye a

M ap itilize yon kalandriye pou panèl diskisyon sou yon jou a, bay. Mwen gen de sesyon yo: maten, aprè midi. Mwen vle kreye yon vi ki montre sesyon denmen maten yo sèlman lis par via yon sesyon Didantite. Sa a yon ti jan ekzamp pou akonpli (Si mwen sonje yon bagay vrèman evidan).

Mwen kapab fasil kreye yon vi filtrage ki montre jis evènman yo jou sa. Lan kalandrye an pwal montre tout evènman sa yo ak si yo tout pran plas sou menm lè, li montre yon lis yo bò kote pa bò nan emplacement nan apremidi a. Sa bon anpil. Pati ekzamp a se sa, pa defo, li vle pou lis yo nan fòma Didantite. Se konsa, Si mwen ajoute "sesyon 02" Et puis "sesyon 01" lan kalandrye an pou, li montre ke yo nan lòd sa (c'est-à-dire, Sesyon 02 Et puis, sesyon 01). Pou lis yo nan lòd sesyon Didantite, Mwen te panse pou eseye fè bagay sa yo:

  1. Configure itilize entènèt entèfas kap itilize li an vi a. Pa gen chans. Ki pa gen posiblite pou kalite atik wout sa a.

    Depi ki pa travay, Mwen menm ki koulye a ap tann la requête CAML yon lòt kote nan kote ke sa pwal pèmèt mwen pou remplacer ki jan se. Kite m' fè ki kalite chanje CQWP, petèt kalandriye Sera osi byen?

  2. Edite pati entènèt la, chèche pou yon "ekspòtasyon" fonksyon Et … BZZZT! Mwen pa kapab transpòte li XML. Se pa yon ekspòtasyon opsyon.

    M' ap toujou kenbe deyò mete tout espwa pou mwen ka jwenn e motifye gen kèk requête CAML. Depi lè mwen pa kapab lwa nan pati entènèt la, ki kite SharePoint fè desen.

  3. Mwen ajoute pati entènèt kalandriye pou yon kote ki gen sandbox ak louvri sit sa w ap itilize SharePoint fè desen. Mwen gade balisage pou pati entènèt la ak mwen jwenn sa m' ap chache. Li te codées bagay moun fou, Men, se la: "<ListViewXml …. >codées bagay moun fou</ListViewXml>". Espesyalman, se gem sa a:

<Requête>
<Kote>
<DateRangesOverlap>
<Non FieldRef = "EventDate" />
<Non FieldRef = "EndDate" />
<Non FieldRef = "RecurrenceID" />
<Valeur tip = "DateTime">
<Mwa />
</Valè>
</DateRangesOverlap>
</Kote>
<OrderBy><Non FieldRef = "Session_x0020_ID" /></OrderBy>
</Requête>

(Mwen te gen décodée a &lt;a Et &gt an ak separe yo deyò pou plizyè lin sa yo bien clarté a).

Ajoute a <OrderBy> kras Et koulye a li sortes pa sesyon Didantite, pa a entèn lis atik Didantite.

Nou menm ti konsèy GIGANTESQUE’ chapo a pou Lekòl Becky Isserman pou l' fè okenn kòmantè pou pòs blog Isha Sagi: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Mwen pa te mete la <OrderBy> nan kote san yo pat l.

Mwen espere ke pou yo ekri sa a pi klè ak kout fe écran dès, Men, nan ka a, mwen pa janm fè, pou pi piti m' te fè anpil sa a.

</fen>

Fonctionnalités SharePoint & Gestion solisyon yo — Pa bliye, grip la nan KOUCH (ou D a pou pwoblèm sa)

Nou pase tout ansanm yon gwo akò de temps panse ak swen sou SharePoint solisyon yo — kijan pou kreye yo, ki konnen si yon moun sèvi ak, Kisa ki rive lè yo pa prezante deplwaye, li tap konometre travay, zones, ets. Nou pase anpil tan panse ak swen sou initial pyès ki fasil pou bliye sa nou bezwen pou se yo osi byen. Se solisyon yo pwobableman pi difisil, nan yon Jaspè nan plan pèspektiv., pase ap deplwaye yo. Deplwayman se bazikman yon zafè vejetaryen. Bagay, mete yon mak, gen dwa gen yon mak destinataire charge done kèk nan yon lis, sa kalite bagay. Sepandan, retrait potentiellement plis konplèks.

Bay solisyon yon ka kreye objets tankou sa:

  • Jan de contenu
  • Lis definisyon
  • Kote ki gen definisyon
  • Done nan yon lis
  • Menm récepteurs
  • Fòm InfoPath

Lis la va.

Pandan tout tan li enpòtan evidamman pou conception kapab jwenn yon solisyon pou instancie objets sa kòrèkteman, li enpòtan jis kòm pou konsidere ajou a e retire ka. Si ou solisyon kreye yon nouvo lis remplit lis sa ak done, Kisa ki rive lè a solisyon a? Nan kèk ka, lis la ta dwe supprimé. Nan lòt ka, li ta dwe gen te kite an donmaj pou istorik. Kondisyon biznis ou pral gide ou tire osò pou dwat.

Pou ede avèk sa, kreye yon matrice ki bay lis artifact chak solisyon ou déploie pou SharePoint. Lis twa kolòn pa artifact, yonn pou créer, ajou Et supprimer. Pou chak ka, rezilta a kòrèk pou operasyon sa fè konnen.

Kalite sa a analiz evidamman meyè fè anvan solisyon a tout tan tout tan deplwaye pou yon fèm SharePoint. Sepandan, tankou lafimen, sa se pa janm twò ta pou yo kòmanse fè bagay kòrèkteman. Kreye matrice sa epi devlope yon plan pou adrès pa wè ajou/supprimer scénarios. Li ka yon pwoblèm ki difisil pou rezoud, Men, pou pi piti ou ap mete yon bwat nan pwoblèm.

</fen>

Vous pou m' blog.

Swiv mwen sou Twitter nan http://www.twitter.com/pagalvin

Pran rapide: Wèb sèvis sa Interagir ak SharePoint, InvalidOperationException

Yon milyon dola ane de sa, Mwen te ede devlope yon sèvis entènèt ki te envoke yon repòtaj aksyon pou yon workflow SharePoint Concepteur via. Semèn sa a, kliyan an ki te vle pou fè l' pou pwodiksyon (a la fen!) Se poutèt sa, nou te fè.

Personnalisés aksyon an te travay byen, Men sèvis entènèt li an vigè a pa, ban nou manti sa a:

System.InvalidOperationException: Operasyon sa a ka jwe sèlman sou yon òdinatè ki a pou yon fèm sèvè ak moun ki gen autorisations nan sèvè SQL pou li de la configuration de. Pou li konekte li sèvè sa a pou sèvè fèm travay tè, sèvi ak SharePoint pwodwi yo ak teknoloji Configuration sòsye, se sou a kòmanse kat nan zouti administratif.
nan Microsoft.SharePoint.Administration.SPWebApplication.Lookup(Ouri requestUri)

Gen ke mwen te bliye ajoute sèvis la pou SharePoint aplikasyon rezèvwa dlo nan IIS. Yon fwa ke mwen te fè sa, li te travay byen.

Sa a MSDN foròm sou kesyon ekspoze a ban m' a pout m te bezwen: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</fen>

Vous pou m' blog.

Swiv mwen sou twitter: http://twitter.com/pagalvin

Technorati baj:

Rapide Et fasil: Pran SPFolder de SPItemList

Mwen fè kouri ale nan pwoblèm sa a Et Google a pa janm vle pou w konprann kisa mwen vle fè, Se konsa, mwen sipoze mwen ta ekri sa.

Mwen te gen te fè yon bann destinataire evènman débogage nan semèn pase a ou de. ER a defini kont yon dokiman bibliyotèk. Grenn pa grenn atik nan bibliyotèk dokiman la avèk ki gen rapò ak pou dossiers paran yo. Se konsa, M toujou ap Katab aparèy pou plizyè manipulations. Pandan débogage, M te bezwen pou à métadonnées de yon Katab pou yon espesifik atik ki Didantite mwen konnen.

Isit la se yon ti konsole aplikasyon (fèt pou kouri sou sèvè nan fèm travay tè a) sa ap pran diskite de: Didantite de yon atik ak yon valè pou bay pou yon jaden, "Dakò ak estati". Li di codes anpil bagay e li gen okenn erè tcheke.

Kòd la recherche kanpe yon kote ki gen di code, genyen yon dokiman di code bibliyotèk, lè sa a, se trouve endike aparèy. L' lè sa a twouve Katab paran nan atik sa, affecte valè estati a.

A kle leson isit la pou m' se sa SPItem pa gen anyen ki ou aksè pou Katab a. Ou bezwen sèvi ak SPListItem.File.

Si yon moun traka pou yo ofri yon critique ou yon pi bon fason pou jwenn Katab de yon atik yo sijere, Tanpri, kite yon kòmantè de.

<kòd>
itilize Sistèm;
itilize System.Collections.Generic;
itilize System.Text;
itilize Microsoft.SharePoint;
itilize System.Collections;

espace Conchango
{
    /// <rezime>
 /// </rezime>
 klas ManualFolderUpdate
    {
        menm jan vid Pwensipal(filè[] args)
        {
            filè msh = "ManualFolderUpdate (v1.0): "; // msh = "a mesaj lento"

 Konsole.WriteLine(msh + "Kòmanse.  Mwen te modifye dènye sou 08/04/08.");

            filè adrès entènèt = http://localhost/xyzzy;

            itilize (SPSite oSPSite = nouvo SPSite(adrès entènèt))
            {

                itilize (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    Splist.update() docLib = oSPWeb.Lists["Dokiman"];

                    Konsole.WriteLine(msh + "A dokiman bibliyotèk la.");

                    Konsole.WriteLine(msh + "Doktè lib atik konte: [" + docLib.ItemCount + "].");

                    int FolderID = 0;
                    filè NewStatus = "xyzzy";

                    FolderID = sistèm.Kouvri.ToInt32(args[0].ToString());
                    Konsole.WriteLine("Ap chèche Katab pou atik: [" + FolderID + "].");

                    SPListItem li = docLib.GetItemById(FolderID);

                    SPFolder thisItemFolder = li.File.ParentFolder;

                    Konsole.WriteLine(msh + "A Katab paran an.");

                    NewStatus = args[1].ToString();
                    Konsole.WriteLine("Tabli sou kondisyon [" + NewStatus + "].");

                    Konsole.WriteLine("Sur retour konfye a ajou ou CTRL-C pou bwè dlo.");

                    Konsole.ReadLine();

                    thisItemFolder.Item["Approbation estati"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Konsole.WriteLine(msh + "Te fini à la Katab.  Fermeture.");

                } // w ap itilize SPWeb

            } // w ap itilize SPSite

 Konsole.WriteLine(msh + "Fini.");

        } // Pwensipal

    } // klas foldersync
} // espace
</kòd>

</fen>

Vous pou m' blog.

Technorati baj:

Masquer Personnalisé aksyon nan SharePoint

Plizyè mwa de sa, pandan ke yo ap travay sou yon pwojè pou yon kliyan an, Mwen te kreye yon mak. Pami lòt bagay, jan l defini mak sa yon aksyon personnalisé (sa parèt sou kote ki gen dantèl). Sèl lide pou aksyon repòtaj sa a se te pou montre m ' vin activation mak a te travay kòm espere. Fondamantalman, Mwen te itilize li kòm yon fòm brut de débogage.

Anpil bagay pou wont mwen, artifact débogage sa a te fè li fason de dev UAT ansanm ak pwodiksyon anvan sa, yon moun vin pou mande, "sa se sa a ki lye xyzzy?"

Pou kounye a, nan pwodiksyon Et mwen reyèlman pa vle désinstaller mak a, ranje elements.xml, lè sa a réinstaller.

Todd Bleaker te atire atansyon yon fason ki fasil pou yo fè lè l. L' te di:

"CustomActions ki pa copié nan de la, yo sont li ki soti dirèkteman nan Elements.xml dokiman an e copié nan eta aplikasyon nan D'. Se konsa, ou pa bezwen désactiver, désinstaller, réinstaller, Et réactivation mak pou retire CustomAction a. Jis retire li nan dokiman an Elements.xml Et recyclage aplikasyon rezèvwa dlo(s) vre. Pwochèn fwa mak a se dan etandi, ou p ap wè CustomAction a ankò."

Mwen l jan l Et, Men wi, yo travay.

Nan ka mwen, sa se yon Depatman enstalasyon kiyè ak sèlman yon moun ki pa marye WFE. Si ou jwenn ou menm ak pwoblèm sa a nan tan kap vini, ak plizyè WFE, Mwen kwè se pou fè chanjman nan chak ou vle.

</fen>

Vous pou m' blog.

Pran rapide: Accès kote ki gen SharePoint Lève [HttpException (0x 80004005): Mande pwograme.]

Yonn nan m' devlope kòlèg li yo te travay sou yon pwojè nan semèn sa a ak la te nan yon pwoblèm lasou yon pwent pandan ke yo ap travay sou konstriksyon kèk pati entènèt fou. Pati entènèt li te bon, Men "sanzatann" yon kote ki gen enfòme est trè lente Et souvent pwograme ak erè sa:

[HttpException (0x 80004005): Mande pwograme.]

Mwen connecté ak wè plizyè lòt bò yo te sèlman anfòm. Mwen ke yo sispèk ke te gen kèk pati entènèt hidden nan paj la e ap itilize Fidèle a ?sa ki nan liv = 1 déboguer teknik, Mwen te jwenn nan 11 pati entènèt nan paj la, sèlman de nan ki te vizib. Ata pi bon (nan yon let's-hope-I-find-something-ugly-here-that-I-can-fix pèspektiv.), twa nan manm web fèmen pòt a yon non "Erreur".

Mwen supprimé manm web (ki li menm te pran que yè (swa)) ak ki rezoud pwoblèm. For today 🙂

</fen>

Vous pou m' blog.

Technorati baj:

Appel SSRS Web sèvis de WSS / Bab PANYÒL nan FBA anviwònman

Nou gen bezwen pou envoke a "CreateSubscription" metòd sou yon sèvis entènèt nan SSRS ki hébergé nan yon FBA gérés bab PANYÒL anviwònman nan yon pati nan koutim web. Nou kenbe pou varyasyon de:

  • 401: Pat otorize
  • Objet deplase

La "objet deplase" mesaj te ki pi enteresan paske li t' ap di sa a "objet" (sèvis SSRS nou) te "deplase" pou login.aspx. Sa te siyifi klèman nou te gen yon jan de pwoblèm D'.

Mwen pou reyalize ke mwen te UN blog yon, antre pa Robert galata ke te dekri kijan pou envoke yon lide jeneral WSS bab PANYÒL wèb sèvis rete anndan yon anviwonman FBA. N ap fè konnen mwen pa kapab mete dirèkteman pou atik la (patid 06/09/08) paske li vle pou s'. Lyen mwen bay pote ou pou yon "tout pòs" View Et ou ka jwenn atik espesifik a pa chache "Au Web bab PANYÒL sèvis itilize fòmilè Fonction D'".

Isit la se kòd ki te travay pou nou:

ReportingService2006 rs = null; 
// S' D' auth = nouvo L'(); 
auth.Adrès entènèt = "http://URL/_vti_bin/Authentication.asmx";
auth.CookieContainer =
nouvo CookieContainer();
Rezilta LoginResult = auth.Connexion("userid", "modpas");
Si (rezilta.ErrorCode == LoginErrorCode.NoError) 
{
// Pa manti, pour obtenir lekòl.
Lekòl CookieCollection = auth.CookieContainer.GetCookies(nouvo Ouri(auth.Adrès entènèt));
Bonbon authCookie = lekòl[rezilta.CookieName];
rs =
nouvo ReportingService2006();
rs.Adrès entènèt =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
nouvo CookieContainer();
rs.CookieContainer.Add(authCookie);
}
eseye
{
  rs.CreateSubscription(rapò, extSettings, desc, eventType, matchData, parameters1);
}
ran fredi/lè (Eksepsyon ansyen)
{
  Console.WriteLine(ansyen.Message.ToString());
}

Mwen tradwi sa ki gen pou travay tankou sa:

  • Pati Entènèt nou bezwen à moute sèvis D' la Et di, "Alo, Tony, se m!".
  • L' sèvis réponses li di:, "Alo, Mwen konnen ou. Jan timoun yo ye? Isit la se yon jeton."
  • Nou rele sèvis SSRS la leve epi di, 'Tony voye m, isit la se jeton a."

</fen>

Vous pou m' blog.

Rapide Et senp: Disposition yon sit entènèt ki itilize SharePoint Objet modèl nan C#

Mwen te eseye chache yon ti extrait kòd ki ta montre kouman mwen kapab kreye yon nouvo SPWeb nan yon kote ki gen koleksyon. Mwen pa jwenn li kòm byen vit, ni fasil menm jan mwen te espere se poutèt sa mwen te panse mwen ta souflete ansanm yon ti antre sou sijè a.

Kòd sa kreye yon nouvo sit Wiki:

 SPSite siteCollection;

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

    SPWeb fòm w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy Tit",
        dekri "xyzzy teren", 1033, SPWebTemplate.WebTemplateWIKI, pa vre, pa vre);

Recherche inisyal m' te tonbe paske mwen t' ap tann fraz yo tankou "disposition yon sit entènèt ki itilize sharepoint objet modèl" ak tankou a.

Si ou recherche pou "Webs.Add()", ou ap jwenn yon kantite trè itil blog entrées, Atik MSDN ak SDK dokiman sa antre nan pwofondè sou sijè sa a. Mwen san mank konseye kote ki gen sa a.

</fen>

Vous pou m' blog.

Technorati baj: