Kuukausiarkistot: Elokuu 2007

MOSS, Etsi lisämukauttaminen — Asia does aihe haku XSLT

Älä muuta haku XSLT usein, niin se tuntuu Olen kiipeilyä pieniä mäkiä aina.

Uusin opetus on tämä: Tapauksessa asiat sarakkeeseen viittaaminen. Tarkennettu haku, Olen otsakkeissa määritelty tämä:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<
Sarakkeet>
<
Sarake Nimi="GafTrainingInvoiceNumber" />
<
Sarake Nimi="GafTrainingInvoiceLocation" />
<
Sarake Nimi="Työtunnus"/>
<
Sarake Nimi="Sijoitus"/>
<
Sarake Nimi="Otsikko"/>
<
Sarake Nimi="Tekijä"/>
<
Sarake Nimi="Kokoa"/>
<
Sarake Nimi="Polku"/>
<
Sarake Nimi="Kuvaus"/>
<
Sarake Nimi="Kirjoitus"/>
<
Sarake Nimi="Sivuston nimi"/>
<
Sarake Nimi="CollapsingStatus"/>
<
Sarake Nimi="HitHighlightedSummary"/>
<
Sarake Nimi="HitHighlightedProperties"/>
<
Sarake Nimi="ContentClass"/>
<
Sarake Nimi="IsDocument"/>
<
Sarake Nimi="PictureThumbnailURL"/>
</
Sarakkeet>
</
root>

XSLT, joka näyttää laskun numero ja laskun paikalla ollut:

<p>
Koulutus laskunumero: <XSL:arvo Valitse="GafTrainingInvoiceNumber"/>
<
br></br>
Laskun opiskelupaikka: <XSL:arvo Valitse="GafTrainingInvoiceLocation"/>
</
p>

Kuitenkin, Valitse on viitattava kaikki pienellä, kuten:

<p>
Koulutus laskunumero: <XSL:arvo Valitse="gaftraininginvoicenumber"/>
<
br></br>
Laskun opiskelupaikka: <XSL:arvo Valitse="gaftraininginvoicelocation"/>
</
p>


Kunnes korjasin että, Hakutulokset osoitti tarrat (ts. "Koulutus laskunumero") mutta ei tietoja.

MOSS: Toimiva esimerkki-määrite

Business skenaario:

Yrityksen laajuinen toteuttamisesta MOSS valmistajayritys, jolla 30+ sivustojen ja muutamia kymmeniä yrityksen yksiköt.

Liiketoiminnan tavoite:

Huolimatta monenlaisia yritysten ryhmille (osastot, sijainnit, jne), tietyt tiedot olisi säilytettävä maailmanlaajuisella tasolla. Esimerkiksi, Kaikki fyysinen sijainti yrityksen arvovaltainen pääluettelo (virrankatkaisu. tuotantolaitokset, varastosijainteja, myyntikonttorit) olisi säilytettävä keskeisellä paikalla.

Tekninen ongelma:

Yrityksen taksonomia on toteutettu useita sivustokokoelmia. Olisimme halunneet luoda arvovaltainen luettelo sijainneissa WSS luettelon. Sitten, kun tarvitsimme sarakkeen sisällön tyyppi (tai sarake lisätään luettelon tai doc) joka sisälsi yritysten tiloissa, Haluamme luoda sarakkeen "valinta" tietotyypin ja kohta siihen.

Valitettavasti, haku tietotyypit on pääsy lähdeluettelon "paikallisesti" eli arvovaltainen listalta ei voi ulottua sivustokokoelmat.

Tekninen ratkaisu:

Toteuttaa uuden mukautetun tietotyypin täytäntöön perustuu SPField ja edustettuina DropDownList UI joiden ListItems täyttää WSS pääluettelo.

Olemme luoneet uuden sivustokokoelman kutsutaan "http://localhost/EnterpriseData". Siellä, Olemme luoneet luettelon nimeltään "Paikoissa". Tässä luettelossa käytetään vain standardi "otsikko" kenttä sisältää luettelon yritysten sijainnit.

Yksi seuraa useita erillisiä vaiheita voit luoda mukautetulle tietotyypille WSS. Ne ovat:

  1. Määritä luokka, joka perii SPField (Yksi voi periä muiden kenttien tarvittaessa).

Tässä on koodi, että:

yleiset luokan XYZZYCorporateLocationField : SPFieldText
{
yleiset XYZZYCorporateLocationField
(SPFieldCollection-asetus kentät, merkkijono typeName, merkkijono displayName)
: Base(kentät, typeName, displayName) { }

yleiset XYZZYCorporateLocationField
(SPFieldCollection-asetus kentät, merkkijono displayName)
: Base(kentät, displayName) { }

yleiset Ohita BaseFieldControl FieldRenderingControl
{
saada
{
BaseFieldControl ohjaus = Uusi XYZZYCorporateLocationFieldControl();
ohjausobjekti. Kentän nimi = Tämä.InternalName;
paluu valvonta;
} //saada
} // fieldrenderingcontrol

yleiset Ohita merkkijono GetValidatedString(objekti arvo)
{
Jos (Tämä.Tarvitaan || arvo. Ominaisuuden ToString().Vastaa(Merkkijono.Tyhjä))
{
heittää Uusi SPFieldValidationException ("Osasto ei ole määritetty.");
}
paluu Base.GetValidatedString(arvo);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Määritä toinen luokka, joka perii peruskentän valvonta, kuten:

yleiset luokan XYZZYCorporateLocationFieldControl : BaseFieldControl
{
suojattu DropDownList XYZZYCorporateLocationSelector;

suojattu Ohita merkkijono DefaultTemplateName
{
saada
{
paluu "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

yleiset Ohita objekti Arvo
{
saada
{
EnsureChildControls();
paluu Tämä.XYZZYCorporateLocationSelector.SelectedValue;
} // saada
Määritä
{
EnsureChildControls();
Tämä.XYZZYCorporateLocationSelector.SelectedValue = (merkkijono)Tämä.ItemFieldValue;
} // Määritä
} // ohittaa objektin arvo

suojattu Ohita mitättömäksi Kohdetta CreateChildControls()
{

Jos (Tämä.Kentän == Null || Tämä.ControlMode == SPControlMode.Näyttö)
paluu;

Base.Kohdetta CreateChildControls();

Tämä.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer. FindControl("XYZZYCorporateLocationSelector");

Jos (Tämä.XYZZYCorporateLocationSelector == Null)
heittää Uusi Poikkeus("VIRHE: Ei voi ladata. ASCX-tiedostossa!");

Jos (!Tämä.IsPostBack sivu.)
{

käyttäminen (SPSite sivusto = Uusi SPSite("http://localhost/enterprisedata"))
{
käyttäminen (SPWeb Web = sivusto. OpenWeb())
{

SPList currentList = web. Luettelot["Yritysten tiloissa"];

foreach (SPItem XYZZYCorporateLocation Tässä currentList.Items)
{
Jos (XYZZYCorporateLocation["Otsikko"] == Null) Jatka;

merkkijono Asiasana;
Asiasana = XYZZYCorporateLocation["Otsikko"].Ominaisuuden ToString();

Tämä.XYZZYCorporateLocationSelector.Items.Add
(Uusi Luettelokohde(Asiasana, Asiasana));

} // foreach

} // käyttämällä spweb web = site.openweb()
} // spsite-sivuston = uusi spsite("http://localhost/enterprisedata")

} // Jos ei takaisinlähetys

} // Kohdetta CreateChildControls

} // XYZZYCorporateLocationFieldControl

Edellä koodi periaatteessa toteuttaa logiikan asuttavat DropDownList arvoilla WSS mukautetun luettelon osoitteessa http://localhost/enterprisedata ja nimetty "yrityksen yksiköt".

Molempien luokkien määriteltyjen yhden .cs tiedosto, kootaan se ja laita se GAC (vahva tarvitaan, Tietysti).

  1. Toteuttaa valvonnan malli (.ascx) kuten:

<%@ Valvonta Kieli= C#" Perii="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Version = 12.0.0.0, kulttuuri = neutraali,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Aina" %>
<%
@ Rekisteröidy TagPrefix-määritettä= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Kokoonpano="Microsoft.SharePoint, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Rekisteröidy TagPrefix-määritettä= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Kokoonpano="Microsoft.SharePoint, Version = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:Ohjausobjektimallin TUNNUS= "XYZZYCorporateLocationFieldControl" RUNAT= "palvelin">
<Malli>
<ASP:DropDownList TUNNUS= "XYZZYCorporateLocationSelector" RUNAT= "palvelin" />
</Malli>
</
SharePoint:Ohjausobjektimallin>

Edellä on tallennettu c:\ohjelma filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Lopuksi, voimme luoda XML-tiedoston tallentaa... 12XML hakemisto. Tämä on CAML, joka määrittää mukautetulle tietotyypille ja esimerkiksi, näyttää tältä:

<?XML versio="1.0" koodaus="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Kenttä Nimi="TypeName">CorporateLocations</Kenttä>
<
Kenttä Nimi="ParentType">Teksti</Kenttä>
<
Kenttä Nimi="TypeDisplayName">Yritysten tiloissa</Kenttä>
<
Kenttä Nimi="TypeShortDescription">Kaikki XYZZY paikoissa kuten valmistus- tai.</Kenttä>
<
Kenttä Nimi="UserCreatable">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInListCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInDocumentLibraryCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInSurveyCreate">TOTTA</Kenttä>
<
Kenttä Nimi="ShowInColumnTemplateCreate">TOTTA</Kenttä>
<
Kenttä Nimi="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versio = tulee ilmoittaa yleisessä muodossa, Culture = neutral, PublicKeyToken = b0b19e85410990c4</Kenttä>
<
RenderPattern Nimi="DisplayPattern">
<
Kytkin>
<
Lauseke>
<
Sarake />
</
Lauseke>

<Tapauksessa Arvo=""/>

<Oletus>
<
HTML>
<![CDATA[
<span style = "color:Punainen"><b>]]>
</
HTML>

<
Sarake SubColumnNumber="0" HTMLEncode="TOTTA"/>

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

</
Oletus>
</
Kytkin>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
Tämä XML-tiedosto lisää mukautetulle tietotyypille WSS "Kirjasto" ja vastaa sen vastaan GAC oli kokoonpano.

Muutettuaan Nämä bitit paikalleen, iisreset palvelimella ja se pitäisi aluksi toimi hienosti.

WSS: Tekniikka luoda CAML kenttien määritykset.

Lisää luokka: CAML

Täällä on erinomainen asettaa mies nimeltä "craig" tekniikka löytää CAML määritelmät kentän sisältölajien perustuu pois live määritelmät sivustosta.

Hänen lähettämistä kertoo kaiken. Lyhyesti:

  1. Luo sisältötyyppi.
  2. Liitetään luettelo.
  3. Avaa luettelon SharePoint Designer.
  4. Vieminen "personal web paketti".
  5. Nimeksi .cab-tiedostoa.
  6. Pura manifesti.
  7. Sisällön tyyppi ja siihen liittyvät CAML.

WSS: Yhteenveto ohjeiden mukaan hyödyllisiä ominaisuuksia/osia/etc. IntelliSense vs 2005

Muita luokkia: Visual Studio 2005

Jotta hyödyllisiä intellisense ominaisuudet, elementit, jne visual studiossa 2005:

  1. WSS-palvelinta.
  2. Siirry "c:\ohjelma filescommon filesmicrosoft sharedweb server extensions12TEMPLATEXML"
  3. Avaa toinen Resurssienhallinta osoittaa: "C:\Program FilesMicrosoft Visual Studio 8XmlSchemas"
  4. Kopioi seuraavat tiedostot WSS server sinun VS 2005 rakenteiden hakemisto:
    1. WSS.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Käynnistä VS 2005
  6. Uuden XML-tiedoston lisääminen projektiin.
  7. Napsauta XML-tiedoston.
  8. Ominaisuudet-ruudussa, Klikkaa "skeemat" ja valita "wss.xsd" valinnoista. (Ei ole tarpeen valita muita xsd koska ne viitataan wss.xsd).

IntelliSense on nyt otettu kyseisen XML-asiakirjan.

Ks. Täällä Lisätietoja tästä aiheesta sekä ohjeita siitä, miten liittää automaattisesti WSS intellisense XML-tiedosto.

WSS tentti 70-541, Microsoft Windows SharePoint Services 3.0 – Sovellusten kehittäminen

Otin ja edellä mainittu testi tänä aamuna. Löysin vaikea ja tentti.

Suhteellisen niukasti tietoa tämän tentti Webissä. En ole varma miksi.

En ilmeisesti aio yksityiskohtiin noin otin tentti, mutta voin sanoa seuraavasti:

  1. Luottaa tämä linkki: http://www.microsoft.com/learning/exams/70-541.mspx.

    Siinä luetellaan, mitä sinun tarvitsee tietää siirtää tentti ja, IMO: N, erittäin tarkka.

  2. Linkki suositellaan myös Inside Microsoft Windows SharePoint Services 3.0 mennessä Ted Pattison & Daniel Larsson. Tämä kirja sisältää lähes kaikista aiheista, jotka testi käsitellään. Löysin sen olla erinomainen ja itse kuin yksinkertainen tentti prep. Se tarjoaa erinomaisia esimerkkejä ja todella sai minut ajattelemaan uusia ja mielenkiintoisia asioita yrittää. Jos haluat ohittaa muutaman bittiä kirja, ristiviittaus vain kirjan Sisällysluettelon kohteita ylhäältä linkki.
  3. Mikään ei voita todellinen käytännön kokemusta. Jos sinulla on aikaa ja kiinnostusta, seurata mukana esimerkkejä kirjan ja sitten kokeilla niitä. Sinun tulee olla helpompaa tentti sekä todella oppia WSS hakemuksen ohjelmointi.

</loppu>Tilaa blogiin!

MOSS / InfoPath Forms Server (InfoPath 2007) avattavasta luettelosta suorituskyky

Lisää luokka: InfoPath

Yhteenveto: InfoPath 2007 MOSS-palvelimen käyttöön lomakkeen sisältää mukautetun MOSS-luetteloon sidottua toimittajien avattavasta. Kun valitset Toimittaja, sääntöjen määrittäminen kenttien arvot kourallinen tekstikentät, kuten myyjä nimi, osoite, Kaupunki, valtio, zip- ja puhelin. Suorituskyky on hirvittävä. Me huomaamme, että suorituskyky huononee (luettavaksi jΣrjestyksessΣ) Lisää kenttien päivitämme tällä tavoin. Eli, Jos olemme juuri päivittää myyjä-nimi, se kestää [x] aika. Jos päivitämme myyjä, osoite1, Osoite2, Kaupunki, valtio, zip, se kestää 10 kertaa pidempään.

Ratkaisu: Kirjoita web-palveluun (mallikoodia löydät Täällä) jotka on välitetty nimissä toimittaja ja se palauttaa takaisin toimittajan tiedot. Sitten, Määritä kentät tällä tavalla. Vaikka tämä vaikuttaa liian hidas, ei ollut discernable eroa suorituskyvyn, kun olemme määritetty 1 kentän funktiona 8 kentät. Tallennusvälineinä, käyttäjät saavat jäähdytetään "yhteyttä palvelimeen" Cylon vaikutus odottaessaan kutsua ja kuluttaa palvelun lomakkeen tulokset.

MOSS: Poikkeus. (HRESULT poikkeus: 0x 80020009 (DISP_E_EXCEPTION))

PÄIVITYS: Emme koskaan päättänyt perussyy ongelman ja se koskaan pinta jälleen.

Huomaamme täytäntöönpanon edistyminen asema aikana että yhtäkkiä, kaksi käyttäjät eivät voi käyttää sivustokokoelman. Nämä tilit voi tarkistaa sivuston tärkeimmät, mutta kun yrität käyttää tietyn sivustokokoelman, he kohtuullinen panna ilmeetön irtoseinä. Virheitä ei näy, valkoinen tyhjä sivu.

Kirjaudu sisään sivustokokoelman järjestelmänvalvoja ja yrittää lisätä yksi niistä Siteadmin ja tällä kertaa, Kun painat "OK", Tämä sanoma:

Poikkeus. (HRESULT poikkeus: 0x 80020009 (DISP_E_EXCEPTION))

Vietimme jonkin aikaa tutkia tätä ja valitettavasti, ei keksiä mitään hyötyä. Tarkasteltava oli joitakin viestejä, mutta se oli vaikea tarkalleen korreloivan asiaa.

Lopulta, sivustokokoelman poistamista ja luodaan uudelleen ja että ratkaisimme sen.

Jos voin selvittää, mikä aiheutti tämän tulevaisuudessa, I päivittää tämän postitse.