Archifau Categori: SharePoint

Sut i ddatrys gwallau SharePoint dirgel.

Trosolwg:

Debugging yn anodd wrth ddatblygu functionality arfer ar gyfer Windows Gwasanaethau SharePoint 3.0 (WSS) neu Microsoft Office SharePoint Server (MOSS). Bennaf cyfrifol am hynny yw bod yn SharePoint fel arfer arwynebau ychydig iawn o wybodaeth ddiagnostig ar y porwr gwe pan fo gwall yn digwydd. Mae'r cofnod blog hwn yn disgrifio sut i ganfod a gynhyrchir gan y system diagnostig wybodaeth ychwanegol y gall yn aml yn darparu ychwanegol hwnnw mae ychydig o fanylion fod un anghenion er mwyn nodi achosion sylfaenol. Gall hyn arwain wedyn at ddatrys y broblem.

Yr wyf wedi defnyddio'r dechneg hon gyda llwyddiant mawr i ddatrys camgymeriadau rhyfedd fel arall.

Dull:

Mae SharePoint yn arbed llawer iawn o wybodaeth i log diagnostig mewn ffeil log yn y 12 cwch.

"12 cwch" wedi ei lleoli fel arfer yn 'C:\Rhaglen FilesCommon FilesMicrosoft SharedWeb gweinydd Extensions12 ". (Nid wyf yn siŵr os yn bosibl ar gyfer y 12 cwch gwenyn i byw yn unman arall, mewn gwirionedd).

Y syniad yw dod o hyd i'r ffeil log ar hyn o bryd, rym y gwall ac yna yn gyflym yn agor y ffeil log. Nodweddir hyn ffeiliau log gan:

  • Symiau helaeth o wybodaeth. Mae SharePoint yn cynhyrchu swm mawr iawn o gwybodaeth ddiagnostig ac yn ysgrifennu at y ffeil log yn gyflym iawn. Rhaid ichi fod yn gyflym gyda'r bysedd i ddal.
  • Llu. Mae SharePoint nid ysgrifennu at un ffeil log, ond yn hytrach creu ffeiliau log lluosog mewn trefn.
  • Adysgrifia a bastio 'n glws i mewn i MS Excel.

Fy hoff ddull:

  1. Agor i fyny a ffenestri fforiwr bwyntio at y 12 cwch logiau.
  2. Ddatrys y bwriad o ddangos yn ôl dyddiad addasu (mwyaf diweddar yn gyntaf).
  3. Amlygwch y ffeil log mwyaf ar hyn o bryd.
  4. Mewn ffenestr porwr gwe, grym y gwall yn digwydd.
  5. Chwim agor y ffeil log ar hyn o bryd ac yn copïo ei gynnwys i MS Excel.
  6. Neidio at y diwedd a dadansoddi cofnodion perthnasol.

Nodiadau eraill:

Yn ddiofyn, y log diagnostig wedi ei leoli yn y 12 cwch cyfeiriadur CYFFION.

MS arferion gorau (ace gan Mike T. o Microsoft) datgan y dylid cadw ffeiliau log i yriant caled ar wahân. Mae un yn gwneud hyn drwy gweinyddol canolog. Gall gweinyddwr eich system wedi gwneud hyn, ac os felly, byddech yn amlwg bydd angen i chi ddod o hyd i'r ffeil log yno yn lle 'r ball 12 lleoliad cwch).

Mae'r cofnod yn mynd i'r afael â materion megis:

  • SharePoint llif gwaith wedi methu i ddechrau oherwydd gwall mewnol.
  • (mwy i'w hychwanegu dros amser)
  • Mae'r cofnod wedi bod yn gwneud diagnosis o gymorth wallau llif gwaith (e.e.. "Methodd y llif gwaith i gychwyn oherwydd gwall mewnol").

MOSS: Cyflwyniad effeithiol i Sefydliad

(cofnod hwn groes bostio rhwng http://paulgalvin.spaces.live.com/blog/ a http://blogs.conchango.com)

Mae'r negeseuon ar y wefan hon fy mhen fy hun ac nid ydynt o reidrwydd yn cynrychioli safbwyntiau Conchango yn, strategaethau neu farn.

Trosolwg:

Y cofnod hwn yn disgrifio rhywfaint o wybodaeth gefndir am mawr (3,000 defnyddwyr) Microsoft Office SharePoint Server (MOSS) cyflwyno'r rhaglen a beth a wnaethom i roi'r prosiect ar waith yn y fath fodd fel bod y cleient yn hapus ac yn gadarn i lawr y llwybr hwnnw i ben gyda mabwysiadu llawn y set nodwedd MOSS. Fel y gwaith ysgrifennu y cofnod, rydym yn oddeutu 50% gwblhau cam cyntaf y prosiect. Fel pethau cynnydd, 'N annhymerus' diweddaru'r cofnod hwn a / neu ysgrifennu cofnodion newydd.

Yn yr achos penodol, eisoes roedd y cwmni yn gosod SharePoint Porth gweinydd 2003. Roedd y grŵp TG yn gosod y cynnyrch mewn rhyw fath o "Gadewch i ni weld os oes unrhyw un yn poeni" ffasiwn. Fe'i mabwysiadu'n gyflym gan lawer o ddefnyddwyr busnes a daeth yn eithaf poblogaidd yn y fenter yn fawr. Fel y gallwch ddychmygu, nid oedd hyn yn y strategaeth gyflwyno gorau (y mae'r cleient yn rhwydd yn cyfaddef) a phan gyrhaeddodd MOSS ar y sîn, Penderfynodd y cleient i "wneud yn iawn" a llogi ni eu helpu i.

Un o'r cwestiynau canolog sy'n ein hwynebu wrth i ni ddechrau gweithredu'r prosiect hwn oedd: Sut rydym yn cyflwyno MOSS at y cleient hwn? O gofio bod Roedd y cleient eisoes wedi cael profiad gyda SharePoint, rydym yn meddwl — arnom i wneud "wahaniaethol" hyfforddiant neu ydym yn dechrau o'r gwaelod i fyny? Ar ôl gweithio â defnyddwyr allweddol, Rydym wedi penderfynu bod yn trin hyn fel prosiect maes gwyrdd yn gwneud mwy o synnwyr.

Mae'r penderfyniad hwnnw yn rhoi man cychwyn ond yn dal wedi ein gadael gyda gofyniad mawr yn cael ei ddadlau'n allan strategaeth dda ar gyfer cyflwyno'r MOSS i'r fenter. MOSS yn anifail o'r fath mawr … Mae'n cynnwys rheoli cynnwys, rheoli dogfennau, chwilio, diogelwch, targedu cynulleidfa, rheoli prosiect, "gwych deugain" templedi, llif gwaith, data fusnes cysylltydd, ac ati. Cysylltu hyn â y ffaith ei fod yn sefydliad mawr sy'n Gall wir yn gwneud defnydd o bron pob prif nodwedd MOSS ac mae gennych y Creu'r o brosiect mawr gyda chyrhaeddiad menter a llawer o bethau da yn digwydd.

Rydym yn wynebu cyfnod hwn mater ar ôl tro … MOSS Mae cyrraedd fenter gyda ei menter nodwedd-set, ond hyd yn oed cleientiaid braidd yn soffistigedig yn cael amser caled amsugno feddyliol nodweddion hynny, heb sôn ymgorffori ffracsiwn sylweddol ohonynt yn eu trefn ddyddiol.

Nid oes yn rhaid ateb hud y broblem. Ymdriniaf yn lle hynny, dim ond y camau cyntaf y Rydym wedi gyda'r cleient i'w harwain i lawr y llwybr i fabwysiadu tymor hir llwyddiannus.

Cwmpas:

Fel yr oeddwn y tîm i crefft cynllun prosiect a oedd yn cynnwys cerrig milltir o'r fath fel "PoepleSoft integreiddio drwy BDC wedi'i gwblhau", "Newydd cynnyrch traws-adrannol lansio llif gwaith cyflawn" a "Derbyniodd y rheolwyr gweithredol DPA", Cefais i setlo am rywbeth llai. Nid yw hyn yn dweud bod "llai" yn ddrwg. Yn wir,, "llai" bod yn penderfynu ar gyfer cyflwyno'r cychwynnol oedd ymhell ar y blaen pan oeddent cyn inni ddechrau. Yn ein hachos ni, "llai" troi i mewn i:

  • Rheoli dogfennau syml gan ddefnyddio llyfrgelloedd dogfen, mathau o reolaeth a chynnwys fersiwn.
  • Chwilio effeithiol yn seiliedig ar fathau o gynnwys a chwilio customized ymlaen llaw (drwy eiddo a reolir, XSLT i gynhyrchu canlyniadau 'n bert, ac ati).

Yn ogystal â'r nodweddion uchod yn fenter ar draws y (sy'n golygu eu bod yn cael ei gyflwyno i bob adran a defnyddwyr), rydym yn ychwanegu y singleton canlynol o fewn y cwmpas mini-brosiectau:

  • Prawf o integreiddio BDC cysyniad.
  • Broses llif gwaith aml-gam ac aml-gangen a grëwyd drwy SPD.
  • Ffurflen InfoPath Cymhleth.
  • Wyneb DPA ar gyfer rhai broses fusnes (caffael talent AD yn ôl pob tebyg yn ein hachos ni, er y gall hynny newid).

Nid yw'r cwmpas yma yw 100% gywir ond cynrychioli ein dull gweithredu a digonol ar gyfer fy diben yma, sydd yn egluro yr hyn a ystyriaf yn "effeithiol" cyflwyno MOSS fydd yn gosod y cleient yn gadarn i lawr y llwybr aur i fabwysiadu MOSS llawn.

Ni fydd yn ysgrifennu llawer mwy am y singleton yn y cofnod hwn. Yr wyf am nodi bod hyn yn rhan o'n strategaeth trosfwaol. Y syniad yw gweithredu nodweddion rheoli a chwilio ddogfen graidd i'r holl ddefnyddwyr eto ddarparu ymarferol iawn, uchel gweladwy ac yn gynrychioliadol iawn enghreifftiau o nodweddion eraill MOSS craidd sy'n syml y tu hwnt i'r rhan fwyaf o ddefnyddwyr yn gallu amsugno ar y cam cynnar hwn. Fodd bynnag,, byddant yn "allan yno" ac un yn gobeithio y bydd yr unedau busnes eraill yn gwybod, neu ddysgu amdanyn nhw ac am nodweddion hynny drostynt eu hunain, sy'n arwain at fabwysiadu mwy o. Mae straeon llwyddiant hyn singleton hefyd yn gwasanaethu i ddarparu ein tîm gwerthu "fwledi" am ennill yr ail yn llwyddiannus, prosiectau trydydd a n-gam.

Beth wnaethoch Rydym yn Cyflwyno a Pham?

Ar ôl setlo ar rheoli dogfennau a chwilio fel gofyniad sylfaenol menter-eang, angen i ni ddechrau casglu manylion. Fel mater ymarferol, mae hyn yn troi o amgylch deall eu dogfennau a bod mapio yn y pen draw i ddeall mathau cynnwys.

Rwyf wedi canfod mae'n anodd egluro mathau o gynnwys heb cymhorthion gweledol. Gall gwerin mwy technegol gerdded oddi wrth drafodaeth ynghylch mathau o gynnwys pan Disgrifir y CT mewn cronfa ddata termau. "A CT yn debyg i'r tabl cronfa ddata, mae wedi colofnau a cholofnau yn cael eu diffinio o ran y mathau data, ond mae mathau data CT cynnwys mwy na cyfanrif / dyddiad syml, ond hefyd "dewis" a "chwilio am" ac yn y blaen." Gallwn siarad am "Estyn" mathau cynnwys, Gall llawer fel un wedi etifeddu swyddogaethau o'r dosbarth sylfaen mewn gwrthrych sy'n canolbwyntio ar ieithoedd. Ond nid yw hyn yn amlwg ddefnyddiol ar gyfer cludo adran gweinyddol person y mae unrhyw gefndir technegol. H.y., bron pawb sy'n bwysig mewn cyflwyno MOSS.

Defnyddio'r bwrdd gwyn yn iffy. Dwi wedi cyflwynais y syniad o'r math o gynnwys a dynnwyd wych (neu fel eu bod yn ymddangos) lluniau o mathau o gynnwys a'r hyn y maent yn ei wneud i chi o ran chwilio a sut y gellir eu hehangu, ac ati. Yn y diwedd, yw'n teimlo fel rhai bylbiau golau wedi troi ar, ond mae'r darlun Bwrdd Gwyn sy'n deillio o hynny yn llanastr.

Arweiniodd hyn i ni ein presennol a hyd yn hyn fwyaf effeithiol man glanio: safle sandbox MOSS ffurfweddu i ddangos nodweddion hyn.

Ddefnyddio'r safle pwll tywod, rydym yn dangos:

  • Mathau cynnwys:
    • Creu CT gyda mathau data lluosog (testun, Dyddiad, dewis, boolean, am-edrych, ac ati).
    • Ymestyn CT trwy greu CT newydd yn seiliedig ar riant.
    • Chwilio am dogfennau gan ddefnyddio metadata CT.
  • Llyfrgelloedd Document:
    • Cysylltu CT sengl gyda llyfrgell.
    • Beth sy'n digwydd pan fyddwn lwytho dogfen i'r llyfrgell?
    • Cysylltu lluosog CT gyda llyfrgell doc.
    • Beth sy'n digwydd pan fyddwn lwytho dogfen i'r llyfrgell?
    • Hidlo a didoli trwy penawdau colofn mewn lib doc.
    • Barn llyfrgell Document:
      • Didoli
      • Grwpio
      • "Gyflym mynediad" (barn daflen ddata)
      • "Gael data" (i gynorthwyo gyda mudo i MOSS o ffynonellau cynnwys eraill; mwy am hyn isod).

Safle'r Pwll tywod:

Rydym yn cynllunio ein safle pwll tywod yn nodwedd barhaol yn yr amgylchedd datblygiad gael ei ddefnyddio at ddibenion hyfforddi hir ar ôl i ni orffen y prosiect ac roedd yn cynnwys nifer o arteffactau fel y disgrifir:

Mathau Cynnwys:

Rydym yn diffinio y mathau cynnwys canlynol: Anfoneb, Gorchymyn Prynu, Gwasanaethau Anfoneb.

Rydym yn dewis trefn Anfoneb a Phrynu am eu bod yn fwy neu lai yn gyffredinol o dan
endidau oedd. Mae pawb mewn busnes yn deall bod anfoneb yn galw am taliad i cwsmeriaid ar gyfer swm a gyhoeddwyd ar rai Dyddiad i gael eu talu yn unol rhai telerau talu. Mae hyn yn arwain at ddiffiniad naturiol o CT y teitl "hyfforddiant anfoneb" (er mwyn gwahaniaethu rhwng unrhyw fath arall o anfoneb). Diffinnir yr archeb brynu yn yr un modd hawdd. Rydym hefyd wedi creu "hyfforddiant gwasanaethau anfoneb" drwy greu CT newydd yn seiliedig ar y "hyfforddiant anfoneb" CT ac ychwanegodd un golofn yn unig, "gwasanaethau a ddarparwyd yn".

Â'r uchod, gallwn yn awr yn dangos rhai nodweddion allweddol CT heb gael ein llethu gan geisio esbonio cysyniad haniaethol gyntaf; eisoes, mae pawb yn deall beth a olygwn wrth sôn am "anfoneb" a "Gorchymyn Prynu" ac yn lle hynny yn gallu canolbwyntio ar fecaneg y CT ei hun.

Rhestrau Custom:

CT â cholofnau o'r math "chwilio am" pwynt i Llyfrgell bersonol rhestr neu ddogfen. Rydym yn defnyddio'r helaeth a ar gyfer y blwch tywod, Rydym wedi creu un cefnogi rhestr bersonol sy'n cynnwys cwsmeriaid. Pigo ein cwsmeriaid oherwydd mae'n yn gysyniad hawdd ei ddeall ac yn hawdd i'w ddangos. Mae CT anfoneb Colofn, "cwsmer" diffinnir hynny o'r math "chwilio am" Mae hynny'n dangos yn y rhestr hon.

Rydym wedi creu rhestr bersonol tebyg i reoli "gwerthwyr" ar gyfer yr archeb brynu"" CT.

Llyfrgelloedd Document:

Rydym yn creu dwy lyfrgell dogfen: "Anfonebau" a "Cymysg dogfennau".

Ffurfweddu ein Llyfrgell ddogfen anfonebau i reoli dogfennau unig CT math "Anfoneb".

Rydym yn trefnu "cymysg dogfennau" llyfrgell i reoli pob un o'r tri CT yn.

Creu nifer o olygfeydd sy'n dangos didoli, hidlo, daflen ddata a grwpio.

Chwilio:

Rydym yn diffinio dau eiddo a reolir newydd a'u mapio i'r Rhif Anfoneb a Gwasanaethau Cwsmeriaid.

Rydym yn creu safle newydd ar gyfer chwiliad personol ymlaen llaw ac yn addasu i alluogi defnyddwyr i chwilio am "anfonebau" defnyddio y ddau eiddo mapio.

Addasu'r XSLT fel bod yr anfoneb a rhif cwsmer, pan fydd yn bresennol, ymddangos mewn tabl HTML mewn lliw llachar. Y nod yma yw dangos bod fformatio o'r fath yn bosibl.

Ei roi i gyd at ei gilydd:

Rydym yn trefnu ar gyfer defnyddwyr allweddol i gymryd rhan mewn demo.

Rydym yn dilyn y sgript syml:

  1. Disgrifiwch ystyr a phwrpas CT, defnyddio anfonebau ac archebion prynu fel enghreifftiau.
  2. Dangoswch y diffiniad CT anfoneb wrth eu sicrhau ar yr un pryd nad oes angen iddynt ddefnyddio sgriniau hynny eu hunain, dim ond codwch y cysyniadau.
  3. Ewch i'r llyfrgell ddogfen anfonebau.
  4. Lwytho dogfen.
  5. Dangos bod y cwsmer yn galw heibio i lawr yn dod mewn gwirionedd o restr arfer.
  6. Ychwanegu cwsmer newydd i'r rhestr cwsmeriaid ac yna diweddaru'r data meta yr anfoneb wedi'u llwytho yn ddiweddar gyda'r cwsmer sydd newydd ei chreu.
  7. Newid i "cymysg dogfennau" Llyfrgell a lanlwytho dogfen. Esbonio sut y mae'r system yn awgrymiadau ar gyfer math y ddogfen.
  8. Ewch yn ôl at Llyfrgell ddogfen anfonebau a dangos sut y mae clicio ar enw colofn newid trefn.
  9. Dangos hidlo ar lefel colofn.
  10. Dangos gwahanol olygfeydd sy'n dangos didoli aml-lefel, hidlo a grwpio.
  11. Dangos y farn daflen ddata.
  12. Egluro pwrpas y "gael dogfennau" gweld.
  13. Newid i chwilio uwch customized.
  14. Erbyn hyn, dylai'r ddogfen uploaded yn ddiweddar wedi cael eu cropian a mynegeio, felly perfformio chwilio sy'n dangos gallu i ddod o hyd bod anfoneb trwy'r eiddo mapio.
  15. Rydym yn dangos y gwahaniaeth rhwng chwilio drwy eiddo mapio vs. dim ond chwilio testun.

Ar y pwynt hwn, yr ydym fwy neu lai wedi'i wneud gyda y demo. Ymddengys ei bod yn cymryd tua 30 i 45 cofnodion, yn dibynnu ar faint o bobl yn gofyn cwestiynau.

Rydym wedyn yn hanfon yn ôl at eu desgiau "gwaith cartref". Mae hyn yn cynnwys syml taenlen excel lle gofynnwn iddynt i ddiffinio inni beth y credant y mae ei angen arnynt o ran y CT, ar lefel uchel (dim ond enw a phwrpas busnes) yn ogystal â colofnau a math o ddata y byddai eu storio yn y golofn. Peidiwch â gofyn iddynt ddiffinio mathau o ddata colofn mewn termau MOSS, ond termau busnes.

Yn Crynodeb:

Rydym wedi ein creu amgylchedd sandbox y gallwn eu defnyddio i ddangos rhai o nodweddion MOSS craidd Menter gyfan yn apêl.

Wedi inni enghreifftiol endidau busnes hawdd eu deall ac cyffredin fel y gall defnyddwyr yn canolbwyntio ar MOSS a mynd i gors ar yr endidau / enghreifftiau eu hunain.

Mae defnyddwyr busnes yn cerdded i ffwrdd oddi wrth sesiynau hyn gyda "gwaith cartref" ar ffurf dogfennau excel y maent yn awr yn gymwys i'w llenwi a defnyddio ar gyfer dylunio eu mathau cynnwys gyntaf-dorri eu hunain.

Yn olaf, wrth i ni berfformio demos dros gyfnod o amser, aelodau'r tîm y cleient eu hunain yn dod yn fwy galluog i gario ymlaen, gwneud y demo yn eu hunain ac yn gyffredinol yn rhad ac am ddim i fyny y gweddill ohonom i weithio ar faterion mwy cymhleth, fel tacsonomeg byd-eang, llif gwaith cymhleth, BDC ac yn y blaen.

MOSS: Enghraifft swyddogaethol - Custom Math Data

Senario Busnes:

Gweithredu menter-eang o MOSS i gwmni gweithgynhyrchu gyda 30+ safleoedd ac ychydig o adrannau corfforaethol dwsin.

Amcan Busnes:

Er gwaethaf nifer fawr o grwpiau busnes (adrannau, lleoliadau, ac ati), Dylai data penodol yn cael ei gynnal ar lefel fyd-eang. Er enghraifft,, rhestr meistr awdurdodol o'r holl leoliadau ffisegol y cwmni (e.e.. gyfleusterau gweithgynhyrchu, lleoliadau warws, swyddfeydd gwerthu) Dylid cadw mewn lleoliad canolog.

Broblem dechnegol:

Gweithredwyd tacsonomeg menter defnyddio casgliadau lluosog y safle. Byddem wedi hoffi i greu rhestr awdurdodol o leoliadau ffisegol yn rhestr WSS bersonol. Yna, pan y mae angen inni gael colofn mewn math o gynnwys (neu ychwanegu colofn i Lyfrgell rhestr neu doc) yr oedd hwnnw'n cynnwys lleoliadau corfforaethol, Byddem yn creu Colofn gan ddefnyddio y "chwilio am" ffurf data a pwynt at y rhestr Meistr.

Yn anffodus, Rhaid chwilio am datatypes weld rhestr ffynhonnell "lleol" ystyr bod ni all ein rhestr awdurdodol yn rhychwantu casgliadau safle.

Ateb technegol:

Gweithredu Mae math newydd o ddata personol yn ei weithredu yn seiliedig ar SPField ac yn cynrychioli fel cwymprestr yn UI y mae eu ListItems yn poblogi o'r rhestr WSS Meistr.

Rydym wedi creu casgliad safle newydd o'r enw "http://localhost/EnterpriseData". Mae, Rydym wedi creu rhestr bersonol a enwir "Lleoliadau corfforaethol". Mae'r rhestr hon yn unig yn defnyddio "teitl safon" maes cynnwys y rhestr o leoliadau corfforaethol gwirioneddol.

Mae un yn dilyn sawl cam ar wahân i greu'r math o ddata personol yn WSS. Maent yn:

  1. Ddiffinio dosbarth sy'n etifeddu oddi wrth SPField (Efallai y bydd un yn etifeddu o feysydd eraill os oes angen).

Yma yn y Cod ar gyfer hynny:

cyhoeddus dosbarth XYZZYCorporateLocationField : SPFieldText
{
cyhoeddus XYZZYCorporateLocationField
(SPFieldCollection meysydd, llinyn typeName, llinyn displayName)
: sylfaen(meysydd, typeName, displayName) { }

cyhoeddus XYZZYCorporateLocationField
(SPFieldCollection meysydd, llinyn displayName)
: sylfaen(meysydd, displayName) { }

cyhoeddus gor-redeg BaseFieldControl FieldRenderingControl
{
gael
{
BaseFieldControl rheoli = newydd XYZZYCorporateLocationFieldControl();
rheoli. FieldName = hwn.InternalName;
dychwelyd rheoli;
} //gael
} // fieldrenderingcontrol

cyhoeddus gor-redeg llinyn GetValidatedString(gwrthrych gwerth)
{
os (hwn.Ofynnol || gwerth. ToString().Equals(Llinyn.Gwag))
{
taflu newydd SPFieldValidationException ("Mae'r adran nid wedi'i neilltuo.");
}
dychwelyd sylfaen.GetValidatedString(gwerth);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Ddiffinio dosbarth arall sy'n etifeddu'r oddi wrth reolaeth maes sylfaen, fel yn:

cyhoeddus dosbarth XYZZYCorporateLocationFieldControl : BaseFieldControl
{
diogelu Cwymprestr XYZZYCorporateLocationSelector;

diogelu gor-redeg llinyn DefaultTemplateName
{
gael
{
dychwelyd "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

cyhoeddus gor-redeg gwrthrych Gwerth
{
gael
{
EnsureChildControls();
dychwelyd hwn.XYZZYCorporateLocationSelector.SelectedValue;
} // gael
gosod
{
EnsureChildControls();
hwn.XYZZYCorporateLocationSelector.SelectedValue = (llinyn)hwn.ItemFieldValue;
} // gosod
} // diystyru gwrthrych gwerth

diogelu gor-redeg gwag CreateChildControls()
{

os (hwn.Maes == sero || hwn.ControlMode == SPControlMode.Arddangos)
dychwelyd;

sylfaen.CreateChildControls();

hwn.XYZZYCorporateLocationSelector =
(Cwymprestr)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");

os (hwn.XYZZYCorporateLocationSelector == sero)
taflu newydd Eithriad("GWALL: Ni ellir llwytho. Ffeil ASCX!");

os (!hwn.Page.IsPostBack)
{

gan ddefnyddio (SPSite safle = newydd SPSite("http://localhost/enterprisedata"))
{
gan ddefnyddio (SPWeb we = safle. OpenWeb())
{

SPList currentList = we. Rhestrau["Corfforaethol lleoliadau"];

foreach (Poeri XYZZYCorporateLocation yn currentList.Items)
{
os (XYZZYCorporateLocation["Teitl"] == sero) parhau;

llinyn theTitle;
theTitle = XYZZYCorporateLocation["Teitl"].ToString();

hwn.XYZZYCorporateLocationSelector.Items.Add
(newydd ListItem(theTitle, theTitle));

} // foreach

} // ddefnyddio'r we spweb = site.openweb()
} // defnyddio'r safle spsite = spsite newydd("http://localhost/enterprisedata")

} // Os nad postback

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Yn y bôn, mae'r cod uchod yn gweithredu y rhesymeg ar gyfer poblogi'r cwymprestr â gwerthoedd o'r rhestr personol WSS wedi'u lleoli ar http://localhost/enterprisedata ac a enwir "adrannau corfforaethol".

Diffinnir yr ddau dosbarthiadau mewn ffeil.cs sengl, ei llunio a'i roi ar y GAC (angen cryf, wrth gwrs).

  1. Gweithredu templed rheoli (.ascx) fel y dangosir:

<%@ Rheoli Iaith= "C#" Etifeddu="Microsoft.SharePoint.portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.portal,Fersiwn = 12.0.0.0, diwylliant = niwtral,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Bob amser" %>
<%
@ Cofrestru Tagprefix"wssawc =" Bwlch enw="Microsoft.SharePoint.WebControls" Cynulliad="Microsoft.SharePoint, Fersiwn = 12.0.0.0, Diwylliant = niwtral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Cofrestru Tagprefix= "SharePoint" Bwlch enw="Microsoft.SharePoint.WebControls" Cynulliad="Microsoft.SharePoint, Fersiwn = 12.0.0.0, Diwylliant = niwtral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID"XYZZYCorporateLocationFieldControl =" runat= "gweinydd">
<Templed>
<asp:Cwymprestr ID"XYZZYCorporateLocationSelector =" runat= "gweinydd" />
</Templed>
</
SharePoint:RenderingTemplate>

Mae yr uchod yn cadw ym c:\rhaglen filescommon filesmicrosoft sharedweb gweinydd extensions12controltemplates.

  1. Yn olaf, Rydym yn creu ffeil XML i arbed yn y... Cyfeiriadur 12XML. Mae hyn yn CAML sy'n diffinio ein math o ddata personol ac ar gyfer fy enghraifft, yn edrych fel hyn:

<?xml fersiwn="1.0" amgodio="utf-8" ?>
<
FieldTypes>
<
FieldType>
<
Maes Enw="TypeName">CorporateLocations</Maes>
<
Maes Enw="ParentType">Testun</Maes>
<
Maes Enw="TypeDisplayName">Lleoliadau corfforaethol</Maes>
<
Maes Enw="TypeShortDescription">Holl leoliadau XYZZY corfforaethol, gan gynnwys cyfleusterau gweithgynhyrchu neu eraill.</Maes>
<
Maes Enw="UserCreatable">WIR</Maes>
<
Maes Enw="ShowInListCreate">WIR</Maes>
<
Maes Enw="ShowInDocumentLibraryCreate">WIR</Maes>
<
Maes Enw="ShowInSurveyCreate">WIR</Maes>
<
Maes Enw="ShowInColumnTemplateCreate">WIR</Maes>
<
Maes Enw="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Fersiwn = 1.0.0.0, Diwylliant = niwtral, PublicKeyToken = b0b19e85410990c4</Maes>
<
RenderPattern Enw="DisplayPattern">
<
Switsh>
<
Mynegiannol>
<
Colofn />
</
Mynegiannol>

<Achos Gwerth=""/>

<Default>
<
HTML>
<![CDATA[
<rhychwantu arddull = "lliw:Coch"><b>]]>
</
HTML>

<
Colofn SubColumnNumber="0" HTMLEncode="WIR"/>

<HTML><![CDATA[</b></span>]]></HTML>

</
Default>
</
Switsh>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
Mae'r ffeil XML hon yn ychwanegu y math o ddata personol i'r WSS "Llyfrgell" ac yn cyfateb iddo erbyn y GAC oedd Cynulliad.

Ar ôl symud holl ddarnau hyn ar waith, iisreset ar y gweinydd, a dylai ddechrau gweithio yn ddel.

MOSS: Diweddaru rhestr arfer

Mae llawer o enghreifftiau da o ddiweddaru rhestrau arfer drwy'r SDK. Dyma arall eto.

Problem Busnes: Ffurflen InfoPath wedi'i gynllunio sy'n galluogi defnyddwyr i fynd i mewn archebion prynu ar-lein. Dylai'r rhifau Ymholiad PO fod yn werthoedd cyfanrif yn seiliedig ar ddilyniant traddodiadol a chyfrifo yn awtomatig.

Ateb Busnes: Creu rhestr MOSS arfer yn cynnwys dwy golofn: "ControlField" a "ControlValue". Mae y golofn gwerth cynnwys Rhif yr archeb brynu nesaf. Yn nodi bod y generig "rheoli" Mae'r confensiwn enwi yn darparu ar gyfer rheoli dyfodol meysydd y gellir eu defnyddio yn ôl yr angen.

Ateb technegol: Creu gwasanaeth gwe ar gael gan y cleient InfoPath. Mae gwasanaeth y we yn dychwelyd yn ôl Rhif yr archeb brynu nesaf ac yn diweddaru'r gwerth y rhestr.

Gwersi a Ddysgwyd:

  • Wrth ychwanegu gwasanaeth gwe hwn fel ffynhonnell data ffurflen InfoPath, Chael hi'n angenrheidiol i droi yn cyfeiriant a'i storio yn Llyfrgell cysylltiad data.
  • Hefyd cefais ei bod yn angenrheidiol er mwyn galluogi sgriptio parth traws drwy weinyddu gwasanaethau canolog // Rheoli cais // ffurfweddu gweinydd ffurflen.
  • Y tro cyntaf ar ffurf yn ceisio cael gafael ar y gwasanaeth gwe, Mae'n cymryd amser ac ar adegau, Byddai amser allan. Yr wyf ffidlan gyda lleoliadau ar ffurf ffurfweddiad gweinydd i ehangu'r gosodiadau goramser a oedd yn ymddangos i helpu.

Mae'r cod:

gan ddefnyddio System;
gan ddefnyddio System.Web;
gan ddefnyddio System.Web.Services;
gan ddefnyddio System.Web.Services.Protocols;
gan ddefnyddio Microsoft.SharePoint;
gan ddefnyddio System.Configuration;

[Webservice(Bwlchenw = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
cyhoeddus dosbarth PoService : System.Web.Services.Webservice
{
cyhoeddus PoService () {

//Uncomment Cynlluniodd y llinell ganlynol os ydych yn defnyddio cydrannau
//InitializeComponent();
}

/// <crynodeb>
/// Gael y Rhif y Llywydd nesaf o'r rhestr rheoli Rhif sharepoint y Llywydd.
/// Cynyddran y Llywydd nifer yn y rhestr honno.
/// </crynodeb>
/// <ffurflenni></ffurflenni>
[WebMethod]
cyhoeddus llinyn GetNextPoNumber()
{
llinyn SpPoControlSiteName; // Enw'r safle MOSS gwirioneddol sy'n lletya'r y rhestr rheoli y Llywydd.
llinyn SpPoControlListName; // Enw o'r rhestr MOSS gwirioneddol sy'n cynnwys y rheolydd y Llywydd.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

llinyn nextPoReqNumber = "xyzzy";

gan ddefnyddio (SPSite safle = newydd SPSite(SpPoControlSiteName))
{
gan ddefnyddio (SPWeb we = safle. OpenWeb())
{

SPList currentList = we. Rhestrau[SpPoControlListName];

foreach (Poeri controlItem yn currentList.Items)
{

os (((llinyn)controlItem["ControlField"]).Equals("NextPoNumber"))
{
nextPoReqNumber = (llinyn)controlItem["ControlValue"];

int int_nextPoReqNumber;
int_nextPoReqNumber = Trosi.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}

} // Lleoli, darllen a diweddaru nifer y Llywydd yn y rhestr.


} // ddefnyddio'r we spweb = site.openweb()
} // defnyddio'r safle spsite = spsite newydd("http://localhost/mizuho")

dychwelyd nextPoReqNumber;

}
}