Kuu arhiivid: August 2007

MOSS Täpsem otsing kohandamine — Nii asi Täpsem otsing XSLT

Ärge muutke täpsema otsingu XSLT väga sageli, nii tundub, et olen ronida väikseid künkaid iga kord.

Minu uusim õppetund on see: Juhul on tähtis, kui viitate veerg. Minu Täpsem otsing, Mul on see määratletud veergude:

<juur xmlns:Xsi="http://www.w3.org/2001/XMLSchema-instance">
<
Veerud>
<
Veerg Nimi="GafTrainingInvoiceNumber" />
<
Veerg Nimi="GafTrainingInvoiceLocation" />
<
Veerg Nimi="Töö ID"/>
<
Veerg Nimi="Rank"/>
<
Veerg Nimi="Pealkiri"/>
<
Veerg Nimi="Autor"/>
<
Veerg Nimi="Suurus"/>
<
Veerg Nimi="Tee"/>
<
Veerg Nimi="Kirjeldus"/>
<
Veerg Nimi="Kirjutage"/>
<
Veerg Nimi="SiteName"/>
<
Veerg Nimi="CollapsingStatus"/>
<
Veerg Nimi="HitHighlightedSummary"/>
<
Veerg Nimi="HitHighlightedProperties"/>
<
Veerg Nimi="ContentClass"/>
<
Veerg Nimi="IsDocument"/>
<
Veerg Nimi="PictureThumbnailURL"/>
</
Veerud>
</
juur>

Kuvatakse arve number ja arve asukoht XLST olnud:

<p>
Koolituse arve Number: <XSL-i:väärtuse kohta Valige="GafTrainingInvoiceNumber"/>
<
br></br>
Koolituse arve asukoht: <XSL-i:väärtuse kohta Valige="GafTrainingInvoiceLocation"/>
</
p>

Aga, valimine on viitamiseks vara kõiki väiketähti, nagu ka:

<p>
Koolituse arve Number: <XSL-i:väärtuse kohta Valige="gaftraininginvoicenumber"/>
<
br></br>
Koolituse arve asukoht: <XSL-i:väärtuse kohta Valige="gaftraininginvoicelocation"/>
</
p>


Kuni ma korrigeeritud mis, Otsingu tulemused näitasid Sildid (St. "Koolituse arve Number") aga pole andmeid.

MOSS: Funktsionaalne näide – kohandatud andmetüübi

Äri stsenaariumi:

Ettevõtte-tasandil rakendamise MOSS tootev ettevõte koos 30+ saidid ja paar tosinat ettevõtte osakonnad.

Äri eesmärgi:

Kuigi ärirühmad hulgaliselt (osakonnad, asukohad, jne), teatavate andmete säilitamise ülemaailmsel tasandil. Näiteks, kõik füüsilised asukohad ettevõtte autoriteetne juhtloendi (näiteks. tootmisüksused, lao asukohad, harukontorid) säilitamise keskses asukohas.

Tehnilise probleemi:

Ettevõtte taksonoomia rakendati, kasutades mitut saidikogumit. Me oleksime soovinud füüsilist asukohta autoriteetne loendit luua kohandatud WSS loend. Seejärel, Kuna meil oli vaja on veeru sisu tüüp (või veeru lisada nimekirja või doc Raamatukogu) mis sisaldas ettevõtte asukohtades, Loome veeru abil otsing"" andmetüübi ja sellega punkti.

Kahjuks, otsing andmetüübid peavad pääseda "kohaliku allikas loendi" Meie autoriteetse nimekirja ei saa jaotada saidikogumite tähendus.

Tehniline lahendus:

Rakendada uue kohandatud andmetüübi rakendamine põhineb SPField ja DropDownList, kelle ListItems asustamiseks alates WSS juhtloendi UI esindatud.

Oleme loonud uue saidikogumi nimega "http://localhost/EnterpriseData". Seal, oleme loonud kohandatud loend nimega "Ettevõtte asukohta". See loend kasutab lihtsalt standard "tiitel" väli sisaldab tegeliku ettevõtte asukohtade nimekiri.

Üks tuleneb mitme diskreetse samme, et luua kohandatud andmetüübi WSS. Nad on:

  1. Määrata klassi, mis pärib SPField (üks võib pärivad muid välju kui vaja).

Siin on kood, et:

avalik klass XYZZYCorporateLocationField : SPFieldText
{
avalik XYZZYCorporateLocationField
(Atribuuti SPFieldCollection väljad, stringi typeName, stringi displayName)
: baasi(väljad, typeName, displayName) { }

avalik XYZZYCorporateLocationField
(Atribuuti SPFieldCollection väljad, stringi displayName)
: baasi(väljad, displayName) { }

avalik alistada BaseFieldControl FieldRenderingControl
{
Saada
{
BaseFieldControl kontrolli = Uus XYZZYCorporateLocationFieldControl();
kontrolli. Väljanimi = See.InternalName;
edasi-tagasi kontrolli;
} //Saada
} // fieldrenderingcontrol

avalik alistada stringi GetValidatedString(objekti väärtus)
{
Kui (See.Nõutav || väärtus. ToString().Võrdub(String.Tühi))
{
viska Uus SPFieldValidationException ("Osakond on määratud.");
}
edasi-tagasi baasi.GetValidatedString(väärtus);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Määratleda baasvälja juhtelement pärib teise klassi, nagu ka:

avalik klass XYZZYCorporateLocationFieldControl : BaseFieldControl
{
kaitstud DropDownList XYZZYCorporateLocationSelector;

kaitstud alistada stringi DefaultTemplateName
{
Saada
{
edasi-tagasi "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

avalik alistada objekti Väärtus
{
Saada
{
EnsureChildControls();
edasi-tagasi See.XYZZYCorporateLocationSelector. SelectedValue;
} // Saada
komplekt
{
EnsureChildControls();
See.XYZZYCorporateLocationSelector.SelectedValue = (stringi)See.ItemFieldValue;
} // komplekt
} // alistada objekti väärtus

kaitstud alistada tühine CreateChildControls()
{

Kui (See.Väli == null || See.Atribuuti ControlMode == SPControlMode.Kuva)
edasi-tagasi;

baasi.CreateChildControls();

See.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer. FindControl("XYZZYCorporateLocationSelector");

Kui (See.XYZZYCorporateLocationSelector == null)
viska Uus Erand("VIGA: Ei saa laadida. ASCX-faili!");

Kui (!See.IsPostBack leht.)
{

kasutades (SPSite'i Site = Uus SPSite'i("http://localhost/enterprisedata"))
{
kasutades (SPWebi Web = site. OpenWeb())
{

SPList currentList = web. Nimekirjad["Ettevõtte asukohad"];

foreach (SPItem XYZZYCorporateLocation aastal currentList.Items)
{
Kui (XYZZYCorporateLocation["Tiitel"] == null) jätkata;

stringi theTitle;
theTitle = XYZZYCorporateLocation["Tiitel"].ToString();

See.XYZZYCorporateLocationSelector.Items.Add
(Uus Sisendparameeter(theTitle, theTitle));

} // foreach

} // kasutades spweb web = site.openweb()
} // kasutate SPSite'i koduleheküljel = uue SPSite'i("http://localhost/enterprisedata")

} // kui mitte tagasipostitamine

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Eespool kood põhiliselt rakendab logic populating väärtustega WSS kohandatud loend asub aadressil DropDownList http://localhost/enterprisedata ja nimega "ettevõtte osakonnad".

Mõlema klassi määratletud ühtse .cs faili, See koostatakse ja seda ellu GAC-s (tugev nõutav, Muidugi).

  1. Elluviimiseks juhtelement Mall (.ascx) nagu on näidatud:

<%@ Kontrolli Keel= "C#" Pärib="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Versioon = 12.0.0.0, kultuuri = Arvamus puudub,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Alati" %>
<%
@ Registreeru TagPrefix= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Assamblee="Microsoft.SharePoint, Versioon = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Registreeru TagPrefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assamblee="Microsoft.SharePoint, Versioon = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePointi:RenderingTemplate ID= "XYZZYCorporateLocationFieldControl" runat= "server">
<Mall>
<ASP:DropDownList ID= "XYZZYCorporateLocationSelector" runat= "server" />
</Mall>
</
SharePointi:RenderingTemplate>

Eespool on säästetud c:\programm filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Lõpuks, me luua XML-faili, et salvestada selle... 12XML kataloog. See on meie kohandatud andmetüüpi määratleva CAML ja minu näide, näeb välja selline:

<?XML-i versioon="1.0" kodeering="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Väli Nimi="TypeName">CorporateLocations</Väli>
<
Väli Nimi="ParentType">Teksti</Väli>
<
Väli Nimi="TypeDisplayName">Ettevõtte asukohtades</Väli>
<
Väli Nimi="TypeShortDescription">Kõik XYZZY ettevõtte kohtades, sealhulgas tootmis- või muud vahendid.</Väli>
<
Väli Nimi="UserCreatable">TÕSI</Väli>
<
Väli Nimi="ShowInListCreate">TÕSI</Väli>
<
Väli Nimi="ShowInDocumentLibraryCreate">TÕSI</Väli>
<
Väli Nimi="ShowInSurveyCreate">TÕSI</Väli>
<
Väli Nimi="ShowInColumnTemplateCreate">TÕSI</Väli>
<
Väli Nimi="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versiooni = 1.0.0.0, Culture = neutral, PublicKeyToken = b0b19e85410990c4</Väli>
<
RenderPattern Nimi="DisplayPattern">
<
Lüliti>
<
Avaldis>
<
Veerg />
</
Avaldis>

<Juhtum Väärtus=""/>

<Vaikimisi>
<
HTML>
<![CDATA[
<span style = "värv:Punane"><b>]]>
</
HTML>

<
Veerg SubColumnNumber="0" HTMLEncode="TÕSI"/>

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

</
Vaikimisi>
</
Lüliti>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
See XML-fail lisatakse kohandatud andmetüübi WSS "Raamatukogu" ja sobitab vastu GAC-s oli assamblee.

Pärast nende bittide siirdunud koht, iisreset server ja see peaks kõik Alustame kenasti.

WSS-I: Tehnika loomiseks CAML väljade määratlused.

Täiendav kategooria: CAML

Siin on suur lähetamist poolt mehe nimega "craig" tehnika leidmiseks CAML määratlusi välja põhineb off päris elus mõisted Saidi sisutüübid.

Tema ütleb kõik. Lühidalt:

  1. Luua sisutüübi.
  2. Seosta seda nimekirja.
  3. Ava loend on SharePoint Designer.
  4. Eksportimine "isikliku veebi pakett".
  5. Nimeta üks CAB.
  6. Väljavõte manifest.
  7. Sisutüübi ja nendega seotud CAML leidmine.

WSS-I: Kokkuvõte meetmeid, et võimaldada kasulikud funktsioonid/elemendid/etc. IntelliSense vs 2005

Veel kategooriaid: Visual Studio 2005

Et võimaldada kasulik intellisense funktsioonid, elemendid, visual studio jne 2005:

  1. Juurdepääs WSS server.
  2. Liikuge "c:\programm filescommon filesmicrosoft sharedweb server extensions12TEMPLATEXML"
  3. Teise windows Exploreri osutades avamine: "C:\Program FilesMicrosoft Visual Studio 8XmlSchemas"
  4. Kopeeri järgmised failid WSS server teie VS 2005 skeemide kataloogi:
    1. WSS.XSD
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Taaskäivitage VS 2005
  6. Uus XML-faili lisamiseks projekti.
  7. Klõpsake XML faili kehas.
  8. Paanil atribuudid, kliki "skeemid" ja vali "wss.xsd" alates Valikud. (Ei ole vaja valida muu xsd, kuna nad on tsiteeritud wss.xsd).

IntelliSense on nüüd sisse XML dokumendi.

Vt Siin Lisateavet sellel teemal ja juhiseid kuidas WSS intellisense automaatselt seostada suvalise XML faili.

WSS eksam 70-541, Microsoft Windows SharePoint Services 3.0 – Tarkvaraarendus

Võtsin ja läbinud eespool nimetatud testi täna hommikul. Leidsin olevat raske ja ausa eksam.

On suhteline ebapiisava teavitamise selle eksami veebis. Ma ei tea miks.

Ma ilmselt ei saada iga detail umbes võtsin eksam, Aga ma arvan, et võin julgelt väita järgmist:

  1. Usalda seda linki: http://www.microsoft.com/learning/exams/70-541.mspx.

    Selles loetletakse, mida pead teadma läbida eksam ja, IMO, väga täpne.

  2. Link ka soovitab Inside Microsoft Windows SharePoint Services 3.0 poolt Ted Pattison & Daniel Larson. See raamat hõlmab peaaegu kõiki aineid, mida katse aadressid. Ma leidsin ta olevat suur ja ise kaugemale lihtne eksam prep. See pakub suurepäraseid näiteid ja tõesti sai mulle mõelda uusi ja huvitavaid asju proovida. Kui soovite jätte vahele mõned bitti raamatu, lihtsalt ristviite raamatu Sisukorra kirjeid lingi ülevalt.
  3. Midagi võidab tegelike praktiliste kogemuste. Kui teil on aega ja huvi, Järgige koos näited raamatu ja siis proovida neid. Sul on lihtsam aega eksami samuti tõesti õppida WSS programmeerimine.

</lõpp>Telli minu blogi!

MOSS / InfoPath Forms Server (InfoPath 2007) ripploendi tulemuslikkuse

Täiendav kategooria: InfoPath

Kokkuvõte: InfoPathi 2007 MOSS serveri kasutusele võtta vorm pakub seotud kohandatud MOSS loend hankijate loendist. Pärast hankijat, Reeglid määrata väljaväärtused käputäis tekstiväljad nagu müügiesindaja nimi, aadress, City, riik, ZIP ja telefoni. Jõudlus on jube. Märkame tulemuslikkuse süveneb (mittelineaarsete viisil) iga täiendav välja uuendame sel viisil. St, Kui me lihtsalt uuendatud müügiesindaja nimi, See võtab [x] aeg. Kui me update müügiesindaja, address1, aadress 2, City, riik, ZIP, See võtab 10 korda pikem.

Lahus: Kirjutage veebiteenusele (proovi kood võib leida Siin) hankija nime vastu ning tagastab tagasi müüja andmed. Seejärel, määrata väljad nii. Kuigi see tundub liiga aeglane, puudus tajutavatest erinevus tulemuslikkuse kui oleme määratud 1 väli versus 8 väljad. Lisaboonusena, Kasutajad saavad "ühendust server lahe" Cylon mõju kui nad oodata vormi kasutada ja tarbida teenuse tulemusi.

MOSS: Ilmnes erand. (HRESULT Erandina: 0x 80020009 (DISP_E_EXCEPTION))

VÄRSKENDUS: Me kunagi kindlaks algpõhjus see probleem ja see kunagi pind uuesti.

Märkame, et äkki rakendamisel arengu veebilehte, kaks kasutajat ei saa saidikogumi juurdepääsu. Need kontod saab autentimiseks, main Site, Aga kui proovin avada mõne kindla saidikogumi, nad lihtsalt saada tühi ekraan. Tõrkeid ei kuvata, vaid tühi valge leht.

Me saidikogumi administraator sisse logida ja proovida lisada üks neist kasutajatest saidi admin ja seekord, pärast pressimist "OK", Me saame seda teadet:

Ilmnes erand. (HRESULT Erandina: 0x 80020009 (DISP_E_EXCEPTION))

Veetsime aega uurides seda ja kahjuks, ei tulla midagi kasulikku. Seal olid mõned sõnumid diagnostikalogi, Aga see oli raske täpselt neid korrelatsioonis probleemi.

Aasta lõpus, Me saidikogumi kustutada ja uuesti luua ning et lahendada see.

Kui ma aru saada, mis põhjustas selle tulevikus, Ma ajakohastavad seda postitust.