Archifau Misol: Awst 2007

MOSS uwch customization chwilio — Achos yn fater o flaen llaw chwilio XSLT

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.

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.

WSS: Techneg ar gyfer creu diffiniadau maes CAML.

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:

  1. Creu math o gynnwys.
  2. Ei gysylltu â rhestr.
  3. Agor i fyny y rhestr gyda SharePoint Designer.
  4. Allforio i "pecyn gwe personol".
  5. Ail-enwi i a. Cab.
  6. Dyfyniad y amlwg.
  7. Dod o hyd i'ch math o gynnwys a gysylltiedig CAML.

WSS: Crynodeb gamau i'w alluogi Nodweddion / elfennau / etc defnyddiol. Intellisense yn VS 2005

Categorïau ychwanegol: Visual Studio 2005

Er mwyn galluogi Intellisense defnyddiol ar gyfer Nodweddion, elfennau, ac yn y blaen yn y stiwdio gweledol 2005:

  1. Mynediad gweinydd WSS.
  2. Ewch i 'c:\ffeiliau rhaglen ffeiliau cyffredin microsoft rennir estyniadau weinydd y we 12 TEMPLED XML"
  3. Agorwch ffenestri fforiwr arall yn pwyntio i: 'C:\Program Files Microsoft Visual Studio 8 xml Sgemâu"
  4. Copïwch y ffeiliau canlynol o'r gweinydd WSS i'ch VS 2005 cyfeiriadur sgemâu:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Ailgychwyn VS 2005
  6. Ychwanegu ffeil XML newydd mewn prosiect.
  7. Cliciwch yn y corff yn y ffeil XML.
  8. Yn y cwarel eiddo, Cliciwch ar "Schemas" a dewiswch "wss.xsd" o'r dewisiadau. (Does dim rhaid i ddewis xsd eraill gan eu bod yn cael eu cyfeirio o wss.xsd).

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.

Arholiad WSS 70-541, Gwasanaethau SharePoint Microsoft Windows 3.0 – Datblygu Cais

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:

  1. Ymddiriedolaeth y cysylltiad hwn: http://www.microsoft.com/learning/exams/70-541.mspx.

    Mae'n rhestru'r hyn sydd angen i chi wybod i basio yr arholiad a, IMO, cywir iawn.

  2. Mae'r cyswllt hefyd yn argymell Y tu mewn i'r Microsoft Windows SharePoint Services 3.0 gan Ted Pattison & Daniel Larson. Mae'r llyfr hwn yn cwmpasu bron holl bynciau y mae'r prawf yn ymdrin â. Yr oedd yn fawr mewn a hun tu hwnt i prep arholiad syml. Mae'n darparu enghreifftiau gwych ac mewn gwirionedd, fi meddwl am rhai pethau newydd a diddorol i geisio. Os ydych am i anwybyddu'r darnau ychydig yn y llyfr, ychydig o groesgyfeirio TOC y llyfr gyda'r eitemau yn y ddolen uchod.
  3. Mae dim yn curo'r profiad ymarferol gwirioneddol. Os oes gennych amser a diddordeb, yn dilyn ynghyd ag enghreifftiau yn y llyfr ac yna arbrofi â nhw. Byddwch chi yn cael amser haws ar yr arholiad yn ogystal â dysgu rhaglennu cais WSS mewn gwirionedd.

</diwedd>Tanysgrifio i fy mlog!

MOSS / InfoPath Ffurflenni Gweinydd (InfoPath 2007) perfformiad gwymplen

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.

MOSS: Eithriad digwydd. (Eithriad rhag HRESULT: 0x80020009 (DISP_E_EXCEPTION))

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.