Archifau Categori: SharePoint Datblygu

Calendr bambŵ Rhyngweithio gyda SharePoint Achosion "gwall annisgwyl digwydd"

Heddiw, Dwi wedi bod yn gweithio mewn amgylchedd sy'n defnyddio rhan o'r we calendr bambŵ ar gyfer rhai gwell cydweithio. Hyn a fferm bach/canolig safonol gyda dau WFEs llwythi cytbwys, yn "gweinydd cais" ar gyfer mynegeio a InfoPath a clystyru yn ôl diwedd SQL.

Roedd y cleient yn gosod rhai meddalwedd adfer trychineb i un o'r WFEs y ac arweiniodd hynny at PCW wedi torri ar gyfer safle penodol yn y casgliad safle. Pryd bynnag y cydbwyso llwyth Tynnodd sylw ar yr effeithir arnynt PCW a safle hwnnw, Gwelodd defnyddwyr sgrin Gwyn wag i raddau helaeth ag y frawddeg "Mae gwall annisgwyl wedi digwydd". Info nid oes eraill yn dangos, dim ond bod dedfryd.

Roedd gofyn i mi edrych arno. Atgynhyrchwyd y broblem yn hawdd ac yn ychwanegu wedyn ?cynnwys = 1 i ddiwedd yr URL. Dyma sut y dysgais eu bod yn defnyddio rhan we bambŵ. Es yn ôl i'r dudalen ac yn awr, yn sydyn, mae'n dangos i mi neges gwall drefnus 'n glws:

image

Nid wyf yn gwybod beth oedd yn digwydd neu beth wnaeth i mi gael y neges gwall a reolir i arddangos ar wahân i atodi y ?cynnwys = 1 ychydig o llinyn ymholiad.

Mae hyn yn achos ymyl prin iawn yn ôl pob tebyg, ond os ydych yn derbyn y neges, Msgstr "Digwyddodd gwall annisgwyl" mynd yn ei flaen ac yn ychwanegu ?cynnwys = 1 i'r llinyn ymholiad a gweld lle mae hynny'n arwain.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Tagiau Technorati: ,

Defnyddio Myfyriwr ar Microsoft.SharePoint.dll

Redgate .NET Reflector Michael Blumenthal wedi codi yn erthygl am rhybuddion a safbwyntiau ("Barn y gellir ei ddefnyddio wrth greu rhybudd ?"), sydd yn ddiddorol ar ei rinweddau ei hun. Fodd bynnag,, Hyd yn oed yn fwy diddorol i weld sut drefnus fod yn cerdded drwy'r broses o ddefnyddio cilfachog.NET y Redgate oedd. Cam wrth gam, Mae'n dangos sut i ddefnyddio llwybr hwnnw offeryn i lawr sut mae'r SharePoint yn penderfynu a ddylid barn ar restr "subscribable" am ddiffyg gair gwell (he explains this much better than I do 🙂 ).

Ar y pwynt hwn yn y cyfnod SharePoint, byddai gennych bron yn fyddar a dall i ni wedi clywed neu ddarllen am ddefnyddio'r arf hwnnw. Wedi ei uwch stwff a synnwyr fy hun yw ei fod mewn llawer o ffyrdd arf dewis olaf. Fodd bynnag,, os ydych yn credu ei angen arnoch, ond nid ydynt yn gwybod sut, Michael yn ysgrifennu-up yn ymddangos fel tiwtorial mawr ar y pwnc hwn.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Trefnu eitemau yn y Calendr Gweld Calendr

Yr wyf yn defnyddio calendr i olrhain trafodaethau panel ar ddiwrnod penodol. Mae gennyf ddwy sesiwn: bore a'r prynhawn. Yr wyf am greu darlun sy'n dangos sesiynau bore yn unig sydd wedi'u rhestru yn nhrefn yr wyddor drwy ID yn sesiwn. Mae hyn ychydig yn anodd ei gyflawni (oni bai imi golli rhywbeth gwirioneddol amlwg).

Gall hawdd creu darlun wedi'u hidlo sy'n dangos digwyddiadau diwrnod hwnnw yn unig. Mae bydd y calendr yn dangos y digwyddiadau hynny ac os maent oll yn cymryd lle ar yr un awr, Mae'n rhestru nhw ochr yn ochr yn y slot awr. mae hynna'n grêt. Y rhan anodd yw hynny, ddiofyn, Mae am eu rhestru mewn fformat ID. Felly, os ychwanegaf "sesiwn 02" ac yna "sesiwn 01" i'r calendr, mae'n dangos iddynt yn y drefn honno (h.y, Sesiwn 02 ac yna Sesiwn 01). Eu rhestru mewn trefn sesiwn ID, Roeddwn i'n meddwl i roi cynnig ar y pethau hyn:

  1. Ffurfweddu y farn gan ddefnyddio rhyngwyneb defnyddiwr y we. Dim lwc. Nid oes unrhyw ddewisiadau i didoli eitemau yn y modd hwn.

    Gan nad oedd yn gweithio, Yr wyf yn awr yn gobeithio nad yw ymholiad CAML yno a fydd yn caniatáu imi i ddiystyru math yn rhywle. Mae CQWP yn gadael i mi wneud y math o newid, efallai y bydd calendr yn ogystal?

  2. Golygu y we rhan, edrych ar gyfer allforio"" swyddogaeth a … Bzzz! Ni allaf yn allforio ei XML. Nid oes unrhyw ddewis allforio.

    Yr wyf yn dal yn cynnal obaith y gallaf ddod o hyd i a addasu rhai ymholiad CAML. Ers i ni all yn allforio y rhan o'r we, sy'n gadael SharePoint Designer.

  3. Ychwanegu rhan we calendr i safle blwch tywod ac yn agor y safle gan ddefnyddio SharePoint dylunydd. Byddaf yn edrych ar y markup ar gyfer y rhan o'r we ac i mi beth yr wyf yn edrych ar gyfer. Mae'n wedi hamgodio gwallgofrwydd, ond ei fod yno: "<ListViewXml …. >gwallgofrwydd amgodio</ListViewXml>". Yn benodol, mae trysor hwn:

<Ymholiad>
<Lle>
<DateRangesOverlap>
<Enw FieldRef = "EventDate" />
<Enw FieldRef = "EndDate" />
<Enw FieldRef = "RecurrenceID" />
<Gwerth math = "DateTime">
<Mis />
</Gwerth>
</DateRangesOverlap>
</Lle>
<Orderby><Enw FieldRef = "Session_x0020_ID" /></Orderby>
</Ymholiad>

(Rwyf wedi ddatgodio y &lt;'S a &gt ac yn rhannu nhw allan i linellau lluosog er mwyn eglurder yn).

Ychwanegwch y <Orderby> bit ac yn awr ei fod yn datrys gan Sesiwn ID, nad yw'r eitem rhestr fewnol ID.

Tip enfawr neu’ het i Becky Isserman am ei sylwadau am y post blog Isha Sagi yn: http://www.sharepoint-tips.com/2008/07/caml-sorting-by-file-name.html. Fyddwn i ddim wedi roi y <Orderby> yn y lle iawn heb ei sylw.

Yr wyf yn gobeithio i ysgrifennu hyn i fyny yn fwy eglur gyda ergydion sgrin yn fuan, ond rhag ofn y byddaf byth yn gwneud, o leiaf yr wyf yn gwneud hyn yn llawer.

</diwedd>

Tagiau Technorati: , , ,

Nodweddion SharePoint & Atebion Rheoli — Peidiwch â Anghofiwch am U yn CRUD (neu D ar gyfer y mater)

Rydym ar y cyd yn treulio llawer o amser yn meddwl am atebion SharePoint — sut i greu eu, pa offeryn i'w defnyddio, beth sy'n digwydd pan na fyddant yn defnyddio, swyddi amserydd, scopes, ac ati. Yr ydym yn gwario cymaint o amser yn meddwl am y darnau ymlaen llaw y mae'n hawdd anghofio bod angen inni dynnu iddynt yn ogystal. Tynnu'n ôl atebion yn fwy na thebyg yn fwy anodd, o safbwynt dylunio cysyniadol, na defnyddio eu. Defnyddio yn y bôn yn fater llyfr coginio. Fel arfer, gosod nodwedd, efallai wedi derbynnydd nodwedd llwytho rhywfaint o ddata i mewn i restr, math hwnnw o beth. Fodd bynnag,, wrthdynnu'r yn allai fod yn fwy cymhleth.

Gall ateb a roddir yn creu arteffactau fel y rhain:

  • Type Cynnwys
  • Diffiniad Rhestr
  • Diffiniad Safle
  • Data mewn rhestr
  • Hyd yn oed derbynwyr
  • Ffurflenni InfoPath

Mae'r rhestr yn mynd ymlaen.

Er ei bod yn amlwg yn bwysig i ddylunio datrysiad sy'n instantiates arteffactau hynny yn gywir, Mae'n un mor bwysig i ystyried y wybodaeth ddiweddaraf a dileu achosion. Os Mae eich ateb yn creu rhestr newydd ac yn poblogi'r rhestr honno gyda data, beth sy'n digwydd pan fydd yr ateb yn cael ei dynnu'n ôl? Mewn rhai achosion, dylid dileu y rhestr. Mewn achosion eraill, dylid ei gadael gyflawn at ddibenion hanesyddol. Bydd eich gofynion busnes yn eich arwain at y penderfyniad cywir.

Er mwyn helpu gyda hyn, greu matrics sy'n rhestru pob arteffact Mae eich ateb yn cael ei defnyddio i SharePoint. Rhestr tair colofn fesul arteffact, un ar gyfer creu, diweddaru a dileu. Ar gyfer pob achos, penderfynu ar y canlyniad cywir ar gyfer y llawdriniaeth.

Gwneir y math hwn o ddadansoddiad yn amlwg gorau cyn y defnyddir yr ateb erioed i fferm SharePoint. Fodd bynnag,, fel ysmygu, Nid yw byth yn rhy hwyr i ddechrau gwneud pethau'n gywir. Y matrics yn creu ac yn datblygu cynllun i fynd i'r afael â sefyllfaoedd diweddariad/dileu ar goll. Gall fod yn broblem anodd ei datrys, ond o leiaf byddwch wedi rhoi bocs o gwmpas y broblem.

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Tagiau Technorati:

Ateb Cyflym: Gwasanaethau ar y we sy'n Rhyngweithio gyda SharePoint, InvalidOperationException

A miliwn o flynyddoedd yn ôl, I'n helpu I ddatblygu gwasanaeth gwe a dilynwyd drwy gyfrwng gweithredu personol ar gyfer llif gwaith SharePoint dylunydd. Yr wythnos hon, y cleient yn awyddus i symud i gynhyrchu (yn olaf!) felly gwnaethom.

Mae'r camau gweithredu arfer gweithio iawn, ond nid yw'r gwasanaeth ar y we ei galw i rym oedd, rhoi gwall hwn yn ein:

System.InvalidOperationException: Gall y llawdriniaeth yn cael ei berfformio yn unig ar gyfrifiadur sy'n cael ei ymuno i fferm weinydd gan ddefnyddwyr sydd â chaniatâd yn SQL Server i ddarllen o'r gronfa ddata cyfluniad. I gysylltu gweinydd hwn i'r fferm gweinydd, ddefnyddio'r Cynnyrch SharePoint a Thechnolegau Dewin Ffurfweddu, lleoli ar y ddewislen Start mewn Tools Gweinyddol.
ym Microsoft.SharePoint.Administration.SPWebApplication.Lookup(Uri requestUri)

Troi allan y anghofiais i ychwanegu y gwasanaeth at y pwll cais SharePoint yn IIS. Unwaith fe wnes I hynny, roedd yn gweithio iawn.

Mae'r fforwm hwn MSDN postio roddodd y cliw angenrheidiol i mi: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/2c97c004-7118-4e06-a62c-b2b0ac07ac99

</diwedd>

Tanysgrifio i fy mlog.

Dilynwch fi ar twitter: http://twitter.com/pagalvin

Tagiau Technorati:

Cyflym a hawdd: Cael SPFolder o SPItemList

Rwy'n cadw yn rhedeg i mewn i broblem hon ac y Google byth yn ymddangos i ddeall yr hyn yr wyf am ei wneud, felly yr wyf yn cyfrifedig y byddai i mi ysgrifennu hwn i lawr.

Rydw i wedi bod yn gwneud llawer o ddigwyddiad debugging derbynnydd yn ystod yr wythnos neu ddwy ddiwethaf. Diffinnir Swyddfa cofrestru etholiadol erbyn llyfrgell ddogfen. Mae eitemau unigol yn Llyfrgell y ddogfen dynn yn gysylltiedig â ffolderi eu rhiant. Felly, Yr wyf bob amser yn cael y ffolder yr eitem ar gyfer manipulations amrywiol. Tra bod difa chwilod, Yr angen i ddiweddaru y metadata ffolder ar gyfer eitem benodol eu ID yn gwybod.

Dyma ychydig o Consol cais (Cynlluniwyd i redeg ar y gweinydd yn y fferm) Mae hynny'n mynd â dau arg: ID eitem a gwerth i neilltuo i gae, "Statws cymeradwyo". Mae'n anodd codau llawer o bethau ac wedi gwirio nad oes gwall.

Mae'r Cod yn edrych fyny safle galed codio, cael Llyfrgell ddogfen galed codio ac wedyn yn canfod yr eitem nodwyd. Mae wedyn yn canfod y ffolder rhiant eitem honno ac yn neilltuo gwerth statws.

Y wers allweddol i mi yw nad yw SPItem yn cael mynediad chi i'r ffolder. Mae angen i chi ddefnyddio SPListItem.File.

Os mae rhywun yn gofalu i gynnig beirniadaeth neu awgrymu ffordd well o gael y ffolder o eitem, gadewch sylw.

<Cod>
gan ddefnyddio System;
gan ddefnyddio System.Collections.Generic;
gan ddefnyddio System.Text;
gan ddefnyddio Microsoft.SharePoint;
gan ddefnyddio System.Collections;

namespace Conchango
{
    /// <crynodeb>
 /// </crynodeb>
 dosbarth ManualFolderUpdate
    {
        sefydlog gwag Prif(llinyn[] args)
        {
            llinyn msh = "ManualFolderUpdate (V1.0): "; // msh = "pennyn neges"

 Cysuro.WriteLine(msh + "Dechrau.  Roedd diwethaf wedi'u haddasu ar 08/04/08.");

            llinyn URL = http://localhost/xyzzy;

            gan ddefnyddio (SPSite oSPSite = newydd SPSite(url))
            {

                gan ddefnyddio (SPWeb oSPWeb = oSPSite.OpenWeb())
                {
                    SPList docLib = oSPWeb.Lists["Dogfennau"];

                    Cysuro.WriteLine(msh + "Cyrraedd y Llyfrgell y ddogfen.");

                    Cysuro.WriteLine(msh + "Dogfen Democratiaid Rhyddfrydol eitem cyfrif: [" + docLib.ItemCount + "].");

                    int ID ffolder = 0;
                    llinyn NewStatus = "xyzzy";

                    ID ffolder = System.Trosi.ToInt32(args[0].ToString());
                    Cysuro.WriteLine("Chwilio am ffolder ar gyfer eitem: [" + ID ffolder + "].");

                    SPListItem li = docLib.GetItemById(ID ffolder);

                    SPFolder thisItemFolder = li. File.ParentFolder;

                    Cysuro.WriteLine(msh + "Cyrraedd y brif ffolder.");

                    NewStatus = args[1].ToString();
                    Cysuro.WriteLine("Lleoliad statws i [" + NewStatus + "].");

                    Cysuro.WriteLine("Pwyswch yn dychwelyd i ymrwymo diweddariad neu CTRL-C i erthylu.");

                    Cysuro.ReadLine();

                    thisItemFolder.Item["Statws cymeradwyo"] = NewStatus;
                    thisItemFolder.Item.Update();

                    Cysuro.WriteLine(msh + "Wedi gorffen diweddaru y ffolder.  Ac ymadael.");

                } // defnyddio SPWeb

            } // defnyddio SPSite

 Cysuro.WriteLine(msh + "Wedi gorffen.");

        } // Prif

    } // dosbarth foldersync
} // namespace
</Cod>

</diwedd>

Tanysgrifio i fy mlog.

Tagiau Technorati:

Cuddio Camau Custom yn SharePoint

Sawl mis yn ôl, tra'n gweithio ar brosiect ar gyfer cleient, Rwyf wedi creu nodwedd. Ymhlith pethau eraill, y nodwedd honno yn diffinio camau arfer (rhain yn ymddangos o dan Gosodiadau safle). Unig bwrpas ar gyfer gweithredu personol hwn oedd yn dangos i mi nad oedd ysgogi nodwedd yn gweithio yn ôl y disgwyl. Yn y bôn, Yr wyf yn ei ddefnyddio fel ffurf crai o debugging.

Mae llawer i fy embaras, y artifact debugging gwneud ei ffordd o dev i UAT ac i gynhyrchu cyn i rywun gael o gwmpas i ofyn, "beth yw'r cysylltiad hwn xyzzy?"

Erbyn hyn, rydym yn cynhyrchu ac yn wir ddim eisiau at uninstall y nodwedd, trwsio elements.xml ac yna ailosod.

Todd fwy llwm Nodwyd yn ffordd hawdd i ymdrin â hynny. Yn ei eiriau ei:

"Mae'r CustomActions nid copïo yn y gronfa ddata, maent yn cael eu darllen yn uniongyrchol o'r ffeil Elements.xml a'u copïo i mewn i gais y wladwriaeth yn Rhedeg. Felly, Nid oes angen i chi deactivate, uninstall, ailosod, ac ailddechrau'r Arwedd i gael gwared ar y CustomAction. Dim ond symud o'r ffeil Elements.xml ac ailgylchu y pwll cais(s) heffeithio. Y tro nesaf y Nodwedd yn ei gwmpas, ni fyddwch yn gweld y CustomAction anymore."

Dilynais ei gyfarwyddiadau ac, wrth gwrs, maent yn gweithio.

Yn fy achos, Mae hyn yn gosod lefel adran gyda dim ond un PCW. Os byddwch yn canfod eich hun gyda y broblem hon yn y dyfodol a PCW lluosog, Yr wyf yn credu y bydd yn rhaid i chi wneud y newid ym mhob.

</diwedd>

Tanysgrifio i fy mlog.

Tagiau Technorati: ,

Ateb Cyflym: Cael mynediad Safle SharePoint Taflu [HttpException (0x80004005): Cais wedi dod i ben.]

Un o 'm cydweithwyr datblygwr gweithio ar brosiect yr wythnos hon a rhedodd i broblem terfyn amser tra'n gweithio ar adeiladu rhai rhan we wallgof. Ei rhan o'r we yn iawn, ond "sydyn" daeth yn safle nad ydynt yn gysylltiedig yn araf iawn ac amseru yn aml allan gyda gwall hwn:

[HttpException (0x80004005): Cais wedi dod i ben.]

Wedi mewngofnodi ac yn gweld bod nifer o safleoedd eraill yn iawn. Yr oeddwn yn amau bod rhai rhannau we cudd ar y dudalen a defnyddio y trusty ?cynnwys = 1 dechneg debug, Mewn gwirionedd, i ddim yn dod o hyd i 11 rhannau ar y we ar y dudalen, Dim ond dau ohonynt yn weladwy. Hyd yn oed yn well (o let's-gobeithio-I-ddod o hyd-rhywbeth-hyll-yma-y-I-can-atgyweiria persbectif), Roedd tri o'r rhannau hynny we caeedig enw "Camgymeriad".

I ddileu rhannau ar y we y rhai (sydd ei hun yn cymryd amser rhyfeddol o hir) ac roedd hynny'n datrys y broblem. For today 🙂

</diwedd>

Tanysgrifio i fy mlog.

Tagiau Technorati:

Galw ar y We Gwasanaethau ADGG O WSS / MOSS yn FBA Amgylchedd

Angen i ni alw y "CreateSubscription" Roedd dull ar wasanaeth we SSRS dan Lywyddiaeth yn FBA yn rheoli amgylchedd MOSS o ran gwe personol. Cadw ein cael amrywiadau o:

  • 401: Ddim yn awdurdodi
  • Wedi symud gwrthrych

Y "gwrthrych sy'n symud" neges oedd fwyaf diddorol oherwydd oedd yn dweud bod y "gwrthrych" (ein gwasanaeth ADGG) Roedd "wedi symud" i login.aspx. Roedd hyn yn amlwg yn golygu oedd gennym rhyw fath o broblem dilysu.

Yn y pen draw sylweddolais fy mod wedi nodau tudalen cofnod blog gan Robert Garret disgrifio sut i ddefnyddio'r gwasanaeth gwe WSS/MOSS diben cyffredinol sy'n byw tu mewn amgylchedd FBA. Sylwer na ellir cysylltu uniongyrchol at yr erthygl (fel o 06/09/08) am ei bod am i ddilysu. Daw y cysylltiad a roddaf ichi i "holl swyddi" Gall barn a chi ddod o hyd i erthygl penodol gan chwilio am "Cael gafael ar we MOSS gwasanaethau gan ddefnyddio Dilysiad seiliedig ar ffurflenni".

Dyma'r cod sy'n gweithio i ni:

ReportingService2006 = rs sero; 
// Ddilysu Dilysu auth = newydd Dilysu(); 
auth.Url = "http://URL / _vti_bin / Authentication.asmx";
auth.CookieContainer =
newydd CookieContainer();
LoginResult ganlyniad = auth.Login("ID defnyddiwr", "cyfrinair");
os (result.ErrorCode == LoginErrorCode.NoError) 
{
// Dim gwall, felly gael y cwcis.
Cwcis CookieCollection = auth.CookieContainer.GetCookies(newydd Uri(auth.Url));
AuthCookie Cwci = cwcis[result.CookieName];
rs =
newydd ReportingService2006();
rs.Url =
"http://server/_vti_bin/ReportServer/ReportService2006.asmx";
rs.CookieContainer =
newydd CookieContainer();
rs.CookieContainer.Add(authCookie);
}
ceisio
{
  rs.CreateSubscription(adrodd, extSettings, desc, eventType, matchData, parameters1);
}
dal (Ex Eithriad)
{
  Console.WriteLine(ex.Message.ToString());
}

Rwy'n dehongli pethau i weithio fel hyn:

  • Mae ein rhan we angen deialu y gwasanaeth dilysu a dweud, "Hei, Tony, mae'n fi!".
  • Ymatebion gwasanaeth dilysu dweud, "Hei, Gwn ichi. Sut mae'r plant? Dyma arwydd."
  • Rydym yn galw ar y gwasanaeth ADGG a dweud, "Tony anfonodd ataf, dyma y tocyn."

</diwedd>

Tanysgrifio i fy mlog.

Cyflym a syml: Darpariaeth Safle We Gan ddefnyddio Model Gwrthrych SharePoint Yn C #

Ceisiais chwilio am ychydig o Cod beintiwyd fyddai'n dangos sut y gallwn greu SPWeb newydd mewn casgliad safle. Doeddwn i ddim yn ei ganfod yn gyflym nac yn hawdd fel y disgwyliais felly meddyliais y byddai fy slapio gyda'i gilydd mynediad ychydig ar y pwnc.

Mae'r cod hwn yn creu safle newydd Wiki:

 SPSite siteCollection;

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

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy teitl",
        "xyzzy disgrifiad", 1033, SPWebTemplate.WebTemplateWIKI, ffug, ffug);

Fy chwiliadau cychwynnol wedi methu oherwydd yr oeddwn yn edrych am ymadroddion fel "darpariaeth safle we gan ddefnyddio model gwrthrych sharepoint" ac yn y blaen.

Os ydych yn chwilio ar gyfer "Webs.Add()", fe welwch nifer o gofnodion blog yn ddefnyddiol iawn, MSDN erthyglau a dogfennau SDK sy'n mynd i fanylder ar y pwnc hwn. Yr wyf yn sicr yn argymell safle hwn.

</diwedd>

Tanysgrifio i fy mlog.

Tagiau Technorati: