Yr wyf yn postio hysbyseb dosbarthu ar gyfer gwerthu fy car yn Bergen sir, NJ nos Sul. Derbyn sawl ymholiad drwy e-bost yn fuan wedi hynny ac yn cau y fargen gyda rhywun ar nos Fawrth.
Mae bron yn rhy dda i fod yn wir …
Yr wyf yn postio hysbyseb dosbarthu ar gyfer gwerthu fy car yn Bergen sir, NJ nos Sul. Derbyn sawl ymholiad drwy e-bost yn fuan wedi hynny ac yn cau y fargen gyda rhywun ar nos Fawrth.
Mae bron yn rhy dda i fod yn wir …
Nid wyf yn addasu chwilio manwl XSLT yn aml iawn, felly mae'n ymddangos fel mod i'n dringo bryniau bach bob tro.
Fy ngwers diweddaraf yw hyn: Achos materion wrth gyfeirio colofn. Yn fy chwiliad uwch, Rwyf wedi colofnau diffinio fel hyn:
<gwraidd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Colofnau>
<Colofn Enw="GafTrainingInvoiceNumber" />
<Colofn Enw="GafTrainingInvoiceLocation" />
<Colofn Enw="WorkId"/>
<Colofn Enw="Rank"/>
<Colofn Enw="Teitl"/>
<Colofn Enw="Awdur"/>
<Colofn Enw="Maint"/>
<Colofn Enw="Llwybr"/>
<Colofn Enw="Disgrifiad"/>
<Colofn Enw="Ysgrifennu"/>
<Colofn Enw="Sitename"/>
<Colofn Enw="CollapsingStatus"/>
<Colofn Enw="HitHighlightedSummary"/>
<Colofn Enw="HitHighlightedProperties"/>
<Colofn Enw="Contentclass"/>
<Colofn Enw="IsDocument"/>
<Colofn Enw="PictureThumbnailURL"/>
</Colofnau>
</gwraidd>
Mae'r XLST sy'n dangos y rhif anfoneb a lleoliad anfoneb wedi bod yn:
<p>
Rhif anfoneb hyfforddi: <XSL:gwerth o dewis="GafTrainingInvoiceNumber"/>
<br></br>
Lleoliad anfoneb hyfforddiant: <XSL:gwerth o dewis="GafTrainingInvoiceLocation"/>
</p>
Fodd bynnag,, y dewis wedi cyfeirio at yr eiddo ym mhob achos is, fel yn:
<p>
Rhif anfoneb hyfforddi: <XSL:gwerth o dewis="gaftraininginvoicenumber"/>
<br></br>
Lleoliad anfoneb hyfforddiant: <XSL:gwerth o dewis="gaftraininginvoicelocation"/>
</p>
Hyd nes y cywirais y, canlyniadau chwilio yn dangos y labeli (h.y. "Hyfforddiant anfoneb rhif") ond nid oes 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:
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
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).
<%@ 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.
<?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.
Categori ychwanegol: CAML
Yma Mae postio mawr gan ddyn o'r enw "craig" ar techneg ar gyfer dod o hyd i ddiffiniadau CAML ar gyfer mathau cynnwys maes yn seiliedig oddi ar y diffiniadau go iawn o safle.
Mae ei bostio yn dweud y cyfan. Yn gryno:
Categorïau ychwanegol: Visual Studio 2005
Er mwyn galluogi Intellisense defnyddiol ar gyfer Nodweddion, elfennau, ac yn y blaen yn y stiwdio gweledol 2005:
Intellisense bellach yn ei alluogi ar gyfer y ddogfen honno XML.
Gweler yma am fwy o wybodaeth ar y pwnc hwn ac am gyfarwyddiadau ar sut i gysylltu Intellisense WSS yn awtomatig gydag unrhyw ffeil XML.
Cymerais a llwyddo yn y prawf a grybwyllwyd uchod, y bore yma. Rwy'n dod o hyd yr arholiad i fod yn anodd ac yn deg.
Mae prinder cymharol o wybodaeth am yr arholiad hwn ar y we. Dydw i ddim yn siŵr pam.
Yn amlwg, ni fydd yn mynd i mewn i unrhyw fanylion am yr arholiad yr wyf yn cymryd, ond yr wyf yn meddwl y gallaf ddiogel yn dweud y canlynol:
Mae'n rhestru'r hyn sydd angen i chi wybod i basio yr arholiad a, IMO, cywir iawn.
</diwedd>Tanysgrifio i fy mlog!
Categori ychwanegol: InfoPath
Crynodeb: Mae InfoPath 2007 ffurfio defnyddio i weinydd MOSS darparu rhestr a ollyngir i lawr o werthwyr glymu i restr MOSS arfer. Ar ôl dewis gwerthwr, rheolau aseinio gwerthoedd cae i lond llaw o feysydd testun fel gwerthiant enw cynrychiolydd, cyfeiriad, dinas, cyflwr, zip a ffôn. Mae perfformiad yn ofnadwy. Rydym yn sylwi bod perfformiad yn gwaethygu (mewn modd nad yw'n llinol) ar gyfer pob cae ychwanegol rydym yn diweddaru'r ffordd hon. H.y., Os yn unig yn diweddaru enw cynrychiolydd gwerthu, Mae'n cymryd [x] faint o amser. Os ydym yn diweddaru'r cynrychiolydd gwerthu, address1, address2, dinas, cyflwr, Zip, Mae'n cymryd 10 gwaith yn hwy.
Ateb: Ysgrifennu gwasanaeth gwe (Gellir dod o hyd i cod sampl yma) y caiff ei basio enw gwerthwr a bydd yn dychwelyd yn ôl manylion y gwerthwr. Yna, neilltuo caeau y ffordd hon. Er bod hyn yn ymddangos yn rhy araf, Nid oedd unrhyw wahaniaeth amlwg mewn perfformiad pan ydym yn neilltuo 1 maes erbyn 8 meysydd. Yn fonws ychwanegol, Mae defnyddwyr yn cael oer "cysylltu â gweinydd" Cylon canlyniadau effaith tra maent yn aros am y ffurflen i alw a ddefnyddiwn y gwasanaeth.
Y NEWYDDION DIWEDDARAF: Rydym byth yn benderfynol wrth wraidd y broblem hon ac nid yw byth yn wyneb eto.
Rydym yn sylwi wrth weithredu'r safle datblygu yn sydyn, dau ddefnyddiwr yn gallu cael mynediad i gasgliad safle. Gall y rhai cyfrifon dilysu â'r prif safle, ond wrth geisio cael mynediad i gasgliad safle penodol, maent ond yn cael sgrin wag. Dim arddangos gwallau, dim ond dudalen wag gwyn.
Rydym yn logio i mewn fel casgliad safle gweinyddol ac yn ceisio ychwanegu un o'r rhai defnyddwyr fel gweinyddol safle a'r tro hwn, ar bwyso "OK", rydym yn cael y neges hon:
Eithriad digwydd. (Eithriad rhag HRESULT: 0x80020009 (DISP_E_EXCEPTION))
Rydym yn treulio peth amser yn ymchwilio ac yn anffodus hwn, nid oedd yn dod o hyd i unrhyw beth defnyddiol. Roedd rhai negeseuon yn y log diagnostig, ond yr oedd yn anodd eu cyfateb yn union â'r mater hwn.
Yn y diwedd, rydym yn dileu'r casgliad safle ac ail-greu a'i bod ei datrys.
Os byddaf yn chyfrif i maes beth achosodd hyn yn y dyfodol, 'N annhymerus' diweddaru y swydd hon.