Monthly Archives: Augusts 2007

Papildu meklēšanas pielāgojumus MOSS — Gadījumā jautājums Izvērstā meklēšana XSLT

Es ļoti bieži Nemodificējiet Izvērstā meklēšana XSLT, Tāpēc šķiet, ka esmu kāpšanas nelielu pakalnu ikreiz, kad.

Tas ir mans jaunākais mācība: Lietu jautājumos, norādot atsauci uz kolonnas. Papildu meklēšanas, Tajā ir definēta kā šo kolonnu:

<saknes xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance">
<
Kolonnas>
<
Kolonnu vārds="GafTrainingInvoiceNumber" />
<
Kolonnu vārds="GafTrainingInvoiceLocation" />
<
Kolonnu vārds="Darba ID"/>
<
Kolonnu vārds="Rangs"/>
<
Kolonnu vārds="Nosaukums"/>
<
Kolonnu vārds="Autors"/>
<
Kolonnu vārds="Lielums"/>
<
Kolonnu vārds="Ceļš"/>
<
Kolonnu vārds="Apraksts"/>
<
Kolonnu vārds="Rakstīt"/>
<
Kolonnu vārds="SiteName"/>
<
Kolonnu vārds="CollapsingStatus"/>
<
Kolonnu vārds="HitHighlightedSummary"/>
<
Kolonnu vārds="HitHighlightedProperties"/>
<
Kolonnu vārds="ContentClass"/>
<
Kolonnu vārds="IsDocument"/>
<
Kolonnu vārds="PictureThumbnailURL"/>
</
Kolonnas>
</
saknes>

XLST, kas parāda rēķina numurs un rēķina vietā bija:

<p>
Izglītības rēķina numurs: <XSL:vērtību no atlasiet="GafTrainingInvoiceNumber"/>
<
br></br>
Izglītības rēķina atrašanās vieta: <XSL:vērtību no atlasiet="GafTrainingInvoiceLocation"/>
</
p>

Tomēr, atlase ir atsauce īpašums ir visi mazie burti, kā:

<p>
Izglītības rēķina numurs: <XSL:vērtību no atlasiet="gaftraininginvoicenumber"/>
<
br></br>
Izglītības rēķina atrašanās vieta: <XSL:vērtību no atlasiet="gaftraininginvoicelocation"/>
</
p>


Kamēr es izlaboju, kas, meklēšanas rezultāti parādīja uzlīmes (ti. "Apmācības rēķina numurs") bet nav datu.

SŪNA: Funkcionālās piemēram-pielāgotu datu tipu

Biznesa scenāriju:

Uzņēmuma mēroga ieviešanu ražošanas uzņēmums ar MOSS 30+ vietnes un pāris desmiti uzņēmumu struktūrvienību.

Biznesa mērķi:

Neskatoties uz virkni biznesa grupas (departamenti, atrašanās vietas, uc), daži dati ir jāsaglabā globālā līmenī. Piemēram, autoritatīvs pamatsarakstā visas fiziskās atrašanās vietas uzņēmuma (piem.. ražošanas iekārtas, noliktavu atrašanās vietas, pārdošanas biroji) jāsaglabā vienā centrālā atrašanās vietā.

Tehniska problēma:

Uzņēmuma taksonomijas tika īstenota, izmantojot vairākas vietņu kolekcijas. Mēs vēlētos, lai pielāgotu WSS sarakstu izveidot autoritatīvu fizisko atrašanās vietu sarakstu. Pēc tam, kad mums vajadzēja būt kolonnu satura tipu (vai kolonnas pievienot sarakstam vai doc bibliotēka) kas ietverts uzņēmuma atrašanās vietas, mēs radītu izmantojot "uzmeklēšanas kolonnu" datu tipu un norādiet uz šo šablonu saraksts.

Diemžēl, uzmeklēšanas datatypes drīkst piekļūt avota saraksta "lokāli" nozīmē, ka mūsu autoritatīvo sarakstu nevar aptvert vietņu kolekcijas.

Tehniskais risinājums:

Ieviest jaunu pielāgotu datu tipu īsteno, pamatojoties uz SPField un attēlots kā DropDownList UI, kura ListItems aizpildīt no WSS pamatsarakstā.

Mēs esam izveidojuši jaunu vietņu kolekciju sauc par "http://localhost/EnterpriseData". Tur, mēs esam izveidojuši tādu pielāgotu sarakstu ar nosaukumu "Uzņēmuma atrašanās vietas". Šo sarakstu izmanto tikai standarta "Title" lauks satur faktisko uzņēmuma atrašanās vietu sarakstu.

Viena šāda vairāku diskrētu soļus, lai izveidotu pielāgotu datu tipu komponentā Windows SharePoint Palkalpojumi. Tie ir:

  1. Definētu klases, kas manto no SPField (viens var mantot no citiem laukiem vajadzības).

Šeit ir kods, kas:

valsts klase XYZZYCorporateLocationField : SPFieldText
{
valsts XYZZYCorporateLocationField
(SPFieldCollection lauki, virkne typeName, virkne displayName)
: Base(lauki, typeName, displayName) { }

valsts XYZZYCorporateLocationField
(SPFieldCollection lauki, virkne displayName)
: Base(lauki, displayName) { }

valsts ignorēt BaseFieldControl FieldRenderingControl
{
iegūt
{
BaseFieldControl kontrole = jaunā XYZZYCorporateLocationFieldControl();
kontroli. FieldName = tas.InternalName;
atgriešanās kontrole;
} //iegūt
} // fieldrenderingcontrol

valsts ignorēt virkne GetValidatedString(objekta vērtība)
{
Ja (tas.Nepieciešama || vērtību. ToString().Ir vienāds ar(Virkne.Tukšs))
{
mest jaunā SPFieldValidationException ("Departaments nav piešķirts.");
}
atgriešanās Base.GetValidatedString(vērtība);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Noteikt citas klases, kas manto no bāzes lauka vadīklu, kā:

valsts klase XYZZYCorporateLocationFieldControl : BaseFieldControl
{
aizsargāti DropDownList XYZZYCorporateLocationSelector;

aizsargāti ignorēt virkne DefaultTemplateName
{
iegūt
{
atgriešanās "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

valsts ignorēt objekta Vērtība
{
iegūt
{
EnsureChildControls();
atgriešanās tas.XYZZYCorporateLocationSelector.SelectedValue;
} // iegūt
kopā
{
EnsureChildControls();
tas.XYZZYCorporateLocationSelector.SelectedValue = (virkne)tas.ItemFieldValue;
} // kopā
} // objekta vērtība ignorē

aizsargāti ignorēt anulēts CreateChildControls()
{

Ja (tas.Laukā = = nulle || tas.ControlMode = = SPControlMode.Displeja)
atgriešanās;

Base.CreateChildControls();

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

Ja (tas.XYZZYCorporateLocationSelector = = nulle)
mest jaunā Izņēmums("KĻŪDA: Nevar ielādēt. ASCX failā!");

Ja (!tas.IsPostBack lapu.)
{

izmantojot (SPSite vieta = jaunā SPSite("http://localhost/enterprisedata"))
{
izmantojot (SPWeb Web vietas =. OpenWeb())
{

SPList currentList = interneta. Saraksti["Uzņēmuma atrašanās vietas"];

foreach (SPItem XYZZYCorporateLocation programmā currentList.Items)
{
Ja (XYZZYCorporateLocation["Title"] == nulle) «««;

virkne parādīts Title;
parādīts Title = XYZZYCorporateLocation["Title"].ToString();

tas.XYZZYCorporateLocationSelector.Items.Add
(jaunā ListItem(parādīts Title, parādīts Title));

} // foreach

} // izmantojot spweb web = site.openweb()
} // izmantojot spsite site = jaunu spsite("http://localhost/enterprisedata")

} // Ja ne atpakaļizlikšanas

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

Iepriekš kods būtībā ievieš loģika populating DropDownList ar vērtībām no WSS pielāgotu sarakstu, kas atrodas http://localhost/enterprisedata un nosaukta "uzņēmuma struktūrvienības".

Es noteikti abās klasēs vienu. CS failā, apkopo to un ielieciet to GAC (vajadzīgs spēcīgs, protams).

  1. Ieviest vadības veidni (.ascx) kā parādīts:

<%@ Kontrole Valodas= "C#" Pārmanto="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Versija = 12.0.0.0 kultūras = neitrāla,PublicKeyToken = 71e9bce111e9429c" compilationMode= "Vienmēr" %>
<%
@ Reģistrēties Tagprefix= "wssawc" Namespace="Microsoft.SharePoint.WebControls" Asambleja="Microsoft.SharePoint, Versija = 12.0.0.0, Kultūras = neitrāla, PublicKeyToken = 71e9bce111e9429c" %> <%@ Reģistrēties Tagprefix= "SharePoint" Namespace="Microsoft.SharePoint.WebControls" Asambleja="Microsoft.SharePoint, Versija = 12.0.0.0, Kultūras = neitrāla, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID= "XYZZYCorporateLocationFieldControl" runat= "serveris">
<Veidne:>
<ASP:DropDownList ID= "XYZZYCorporateLocationSelector" runat= "servera" />
</Veidne:>
</
SharePoint:RenderingTemplate>

Iepriekš tiek saglabāts c:\Program filescommon filesmicrosoft sharedweb server extensions12controltemplates.

  1. Beidzot, mums jāizveido XML fails ietaupīt vērā... 12XML katalogs. Tas ir CAML, kas nosaka mūsu pielāgotu datu tipu un mans piemērs, izskatās šādi:

<?XML versija="1.0" kodējums="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Lauks vārds="TypeName">CorporateLocations</Lauks>
<
Lauks vārds="ParentType">Teksts</Lauks>
<
Lauks vārds="TypeDisplayName">Uzņēmuma atrašanās vietas</Lauks>
<
Lauks vārds="TypeShortDescription">Visas XYZZY uzņēmumu atrašanās vietas, tai skaitā ražošanas vai citām iekārtām.</Lauks>
<
Lauks vārds="UserCreatable">PATIESS</Lauks>
<
Lauks vārds="ShowInListCreate">PATIESS</Lauks>
<
Lauks vārds="ShowInDocumentLibraryCreate">PATIESS</Lauks>
<
Lauks vārds="ShowInSurveyCreate">PATIESS</Lauks>
<
Lauks vārds="ShowInColumnTemplateCreate">PATIESS</Lauks>
<
Lauks vārds="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Versija = diapazonā no 1.0.0.0, Kultūras = neitrāla, PublicKeyToken = b0b19e85410990c4</Lauks>
<
RenderPattern vārds="DisplayPattern">
<
Slēdzis>
<
Izteiksme>
<
Kolonnu />
</
Izteiksme>

<Gadījumā Vērtība=""/>

<Noklusējuma>
<
HTML>
<![CDATA[
<span style = "krāsa:Red"><b>]]>
</
HTML>

<
Kolonnu SubColumnNumber="0" HTMLEncode="PATIESS"/>

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

</
Noklusējuma>
</
Slēdzis>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
Šajā XML failā pievieno pielāgotu datu tipu WSS "bibliotēka" un vai tas atbilst pret GAC bija montāža.

Pēc šiem biti nonākšanu vieta, iisreset no servera, un tas būtu visas sākuma strādā labi.

WSS: Paņēmiens, kā radīt CAML lauka definīcijas.

Papildu kategorijas: CAML

šeit ir lielisks puisis ar nosaukumu "craig norīkojumu" metodi atrašanai CAML definīcijas lauku satura tipos, pamatojoties off reālo dzīvi no vietnes definīcijas.

Viņa norīkošanu saka, tas viss. Īsumā:

  1. Izveidot satura tipu.
  2. Saistīt to ar sarakstu.
  3. Atvērt sarakstu ar SharePoint Designer.
  4. Eksportēt uz "personal web pakotnes".
  5. Pārdēvēt. cab.
  6. Ekstrakts manifests.
  7. Atrast satura tipu un saistītās CAML.

WSS: Kopsavilkuma darbības, kā iespējot noderīgas funkcijas/elementi/etc. IntelliSense VS 2005

Papildu kategorijas: Visual Studio 2005

Lai iespējotu noderīgu intellisense funkcijām, elementi, visual Studio u.c. 2005:

  1. Piekļūt serverim, WSS.
  2. Naviģējiet uz "c:\Program filescommon filesmicrosoft sharedweb server extensions12TEMPLATEXML"
  3. Atveriet citu windows explorer, norādīdams uz: "C:\Program FilesMicrosoft Visual Studio 8XmlSchemas"
  4. Kopēt šādus failus no WSS servera uz jūsu VS 2005 shēmas direktoriju:
    1. WSS.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Restartējiet VS 2005
  6. Jaunais XML failu pievienošana projektam.
  7. Noklikšķiniet uz XML faila struktūra.
  8. Rūtī rekvizīti, noklikšķiniet uz "shēmas" un izvēlieties "wss.xsd" no piedāvātajām iespējām. (Tas nav nepieciešams, lai atlasītu citu xsd, jo tie ir atsauces no wss.xsd).

IntelliSense ir iespējota tagad šo XML dokumentu.

Sk. šeit Plašāku informāciju par šo tēmu un instrukcijas par to, kā automātiski saistīt ar jebkuru XML failu WSS intellisense.

WSS eksāmens 70-541, Microsoft Windows SharePoint Services 3.0 – Lietojumprogrammu izstrāde

Es paņēmu un pieņēma iepriekš minēto testu šorīt. Es atklāju, ka eksāmens ir sarežģīta un fair.

Tur ir informācija par šo eksāmenu tīmeklī relatīvā trūkuma. Es neesmu pārliecināts, kāpēc.

Es acīmredzot nav iekļuvuši katru sīkumu par eksāmenu, es paņēmu, bet es domāju, ka es varu droši teikt, šādu:

  1. Uzticēties šai saitei: http://www.microsoft.com/learning/exams/70-541.mspx.

    Tas parāda, kas jums ir jāzina, lai nokārtot eksāmenu un tā, SJO, ļoti precīzi.

  2. Saites arī iesaka Iekšpusē Microsoft Windows SharePoint Services 3.0 ar Ted Pattison & Daniel Larson. Šī grāmata aptver gandrīz visos mācību priekšmetos, kas vērsta uz testa. Es atklāju, ka ir liels, un, pats par sevi ārpus vienkāršas eksāmenu sagatavošanas. Tas nodrošina lielisku piemēru un tiešām dabūja mani domāt par dažus jaunus un interesantus risinājumus, ko izmēģināt. Ja vēlaties izlaist dažas bitus grāmatā, tikai iekšējās atsauces grāmatu TOC ar elementiem, kas saiti no augšas.
  3. Nekas beats faktiskās pieredzes gūšanai. Ja jums ir laiks un interese, izsekot piemēri grāmatā un tad eksperimentēt ar tiem. Jūs varēsiet ir vieglāk laika par eksāmenu, kā arī patiešām mācīties WSS lietojumprogrammu programmēšanas.

</beigās>Abonēt manu blogu!

SŪNA / InfoPath Forms Server (InfoPath 2007) nolaižamajā sarakstā darbība

Papildu kategorijas: InfoPath

Kopsavilkums: InfoPath 2007 MOSS servera izvietot veidlapas nodrošina nolaižamo sarakstu kreditoru, kas saistīts ar pielāgotu sarakstu MOSS. Pēc kreditora atlases, noteikumiem piešķirt sauju teksta laukus, piemēram, pārdošanas rep vārdu lauka vērtības, adrese, pilsēta, valsts, ZIP un tālruņa. Veiktspēja ir briesmīgs. Mēs pamanām, ka darbība pasliktinās (nelineāru modē) katram papildu laukam šādā veidā mēs update. T.i., Ja mēs vienkārši atjaunināt pārdošanas rep nosaukumu, Tas aizņem [x] laiks. Ja mēs atjaunina pārdošanas rep, Address1, Address2, pilsēta, valsts, zip, Tas aizņem 10 reizes ilgāk.

Šķīdums: Rakstīt web pakalpojumu (parauga kods ir atrodams šeit) kas tiek nodota kreditora nosaukumu un tā atgriežas atpakaļ piegādātājam detaļas. Pēc tam, piešķirt laukus šādā veidā. Lai gan tas šķiet pārāk lēns, nebija jūtamas atšķirības sniegumu, kad mēs piešķirts 1 salīdzinot lauku 8 lauki. Kā pievienota prēmija, lietotājiem saņemt foršs "sazināšanās ar serveri" Cylon efektu, kamēr viņi gaida formu izsaukt un patērē pakalpojumu rezultātus.

SŪNA: Radās izņēmums. (Izņēmums no HRESULT: 0x 80020009 (DISP_E_EXCEPTION))

ATJAUNINĀJUMS: Mēs nekad noteikt cēloni šo problēmu, un tā nekad virsmas atkal.

Mēs pamanām, īstenojot attīstības vietā tas pēkšņi, divi lietotāji nevar piekļūt vietņu kolekcijas. Šos kontus var autentificēt uz galveno vietu, bet, mēģinot piekļūt vietņu kolekcijai, viņi saņem tikai tukšs ekrāns. Parādīt kļūdas, tikai balto tukšu lappusi.

Mēs pieteikties kā vietņu kolekcijas administrators un mēģiniet pievienot vienu no šiem lietotājiem site admin un šoreiz, pēc nospiežot "OK", mēs šo ziņojumu:

Radās izņēmums. (Izņēmums no HRESULT: 0x 80020009 (DISP_E_EXCEPTION))

Mēs pavadīju kādu laiku, pētot šo un diemžēl, nav jānāk klajā ar kaut ko noderīgu. Diagnostikas žurnālā, kas bija daži ziņojumi, bet tas bija grūti tos tieši korelē ar šo jautājumu.

Beigās, vietņu kolekcijas dzēšanas un izveidota atkārtoti, un tas mums atrisināt.

Ja es izrēķināt, ko izraisīja tas nākotnē, I'll update šo amatu.