Nyaraka za kila mwezi: Agosti 2007

MOSS utafutaji customization — Kesi gani jambo katika utafutaji XSLT

Mimi si kurekebisha utafutaji XSLT mara nyingi sana, hivyo inaonekana kama mimi nina kupanda ndogo milima kila wakati.

Somo wangu newest ni hii: Uchunguzi mambo wakati referencing safu. Katika tafuta yangu juu, Mimi nguzo hufafanuliwa kama hii:

<mizizi xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<
Nguzo>
<
Safu Jina="GafTrainingInvoiceNumber" />
<
Safu Jina="GafTrainingInvoiceLocation" />
<
Safu Jina="WorkId"/>
<
Safu Jina="Cheo"/>
<
Safu Jina="Title"/>
<
Safu Jina="Mwandishi"/>
<
Safu Jina="Ukubwa"/>
<
Safu Jina="Njia"/>
<
Safu Jina="Description"/>
<
Safu Jina="Kuandika"/>
<
Safu Jina="SiteName"/>
<
Safu Jina="CollapsingStatus"/>
<
Safu Jina="HitHighlightedSummary"/>
<
Safu Jina="HitHighlightedProperties"/>
<
Safu Jina="Contentclass"/>
<
Safu Jina="IsDocument"/>
<
Safu Jina="PictureThumbnailURL"/>
</
Nguzo>
</
mizizi>

XLST kwamba maonyesho ya simu ankara na mahali ankara alikuwa:

<p>
Training Invoice Number: <xsl:thamani ya kuchagua="GafTrainingInvoiceNumber"/>
<
br></br>
Training Invoice Location: <xsl:thamani ya kuchagua="GafTrainingInvoiceLocation"/>
</
p>

Hata hivyo, kuchagua ina rejea mali katika kesi zote za chini, kama katika:

<p>
Training Invoice Number: <xsl:thamani ya kuchagua="gaftraininginvoicenumber"/>
<
br></br>
Training Invoice Location: <xsl:thamani ya kuchagua="gaftraininginvoicelocation"/>
</
p>


Until I corrected that, search results showed the labels (i.e. "Training Invoice Number") but no data.

Moss: Kazi Mfano - Desturi Takwimu Aina ya

Biashara Igizo:

Biashara kote utekelezaji wa MOSS kwa kampuni ya viwanda na 30+ maeneo na dazeni chache idara ya ushirika.

Biashara Lengo:

Licha ya wingi wa vikundi vya biashara (idara, maeneo, nk), data fulani lazima iimarishwe katika ngazi ya kimataifa. Kwa mfano, mamlaka bwana orodha ya maeneo yote ya kimwili ya kampuni (e.g. viwanda vya, ghala maeneo, mauzo ya ofisi) lazima iimarishwe katika eneo la kati.

Tatizo kiufundi:

Jamii biashara ilikuwa kutekelezwa kwa kutumia makusanyo tovuti mbalimbali. Sisi ingekuwa walipenda kuunda orodha ya mamlaka ya maeneo ya kimwili katika orodha desturi WSS. Kisha, wakati sisi alihitaji kuwa na safu katika aina maudhui (au safu aliongeza kwa orodha au doc ​​maktaba) kwamba zilizomo ushirika maeneo, we would create a column using the "lookup" datatype na uhakika na orodha hii bwana.

Kwa bahati mbaya, lookup datatypes must access a source list "locally" maana ya kwamba orodha yetu mamlaka haiwezi span makusanyo ya tovuti.

Kiufundi Solution:

Kutekeleza mpya data desturi ya aina kutekelezwa kwa kuzingatia SPField na kuwakilishwa kama DropDownList katika UI ambaye ListItems populate kutoka orodha WSS bwana.

Sisi aliumba mpya tovuti ukusanyaji kuitwa "http://localhost/EnterpriseData". Kuna, we created a custom list named "Corporate Locations". This list just uses the standard "Title" shamba na vyenye orodha ya maeneo halisi ya ushirika.

Moja ifuatavyo hatua kadhaa za kipekee ya kujenga data desturi aina katika WSS. Wao ni:

  1. Kufafanua darasa ambayo hurithi kutoka SPField (mtu anaweza kurithi kutoka maeneo mengine kama inavyotakiwa).

Hapa ni kwamba kanuni kwa ajili ya:

umma darasani XYZZYCorporateLocationField : SPFieldText
{
umma XYZZYCorporateLocationField
(SPFieldCollection mashamba ya, string typeName, string displayName)
: msingi(mashamba ya, typeName, displayName) { }

umma XYZZYCorporateLocationField
(SPFieldCollection mashamba ya, string displayName)
: msingi(mashamba ya, displayName) { }

umma override BaseFieldControl FieldRenderingControl
{
kupata
{
BaseFieldControl control = mpya XYZZYCorporateLocationFieldControl();
control.FieldName = hii.InternalName;
kurudi control;
} //kupata
} // fieldrenderingcontrol

umma override string GetValidatedString(kitu thamani)
{
kama (hii.Required || value.ToString().Sawa na(Kamba.Tupu))
{
kutupa mpya SPFieldValidationException ("Department is not assigned.");
}
kurudi msingi.GetValidatedString(thamani);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Kufafanua darasa lingine kwamba kurithi kutoka kudhibiti shamba msingi, kama katika:

umma darasani XYZZYCorporateLocationFieldControl : BaseFieldControl
{
kulindwa DropDownList XYZZYCorporateLocationSelector;

kulindwa override string DefaultTemplateName
{
kupata
{
kurudi "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

umma override kitu Thamani
{
kupata
{
EnsureChildControls();
kurudi hii.XYZZYCorporateLocationSelector.SelectedValue;
} // kupata
kuweka
{
EnsureChildControls();
hii.XYZZYCorporateLocationSelector.SelectedValue = (string)hii.ItemFieldValue;
} // kuweka
} // override object Value

kulindwa override utupu CreateChildControls()
{

kama (hii.Field == null || hii.ControlMode == SPControlMode.Kuonyesha)
kurudi;

msingi.CreateChildControls();

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

kama (hii.XYZZYCorporateLocationSelector == null)
kutupa mpya Ubaguzi("ERROR: Cannot load .ASCX file!");

kama (!hii.Page.IsPostBack)
{

kutumia (SPSite site = mpya SPSite("http://localhost / enterprisedata"))
{
kutumia (SPWeb web = site.OpenWeb())
{

SPList currentList = web.Lists["Corporate Locations"];

foreach (SPItem XYZZYCorporateLocation katika currentList.Items)
{
kama (XYZZYCorporateLocation["Title"] == null) kuendelea;

string theTitle;
theTitle = XYZZYCorporateLocation["Title"].ToString();

hii.XYZZYCorporateLocationSelector.Items.Add
(mpya ListItem(theTitle, theTitle));

} // foreach

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

} // if not a postback

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

kanuni juu ya kimsingi kutekeleza mantiki kwa populating DropDownList na maadili kutoka orodha WSS desturi iko katika http://localhost/enterprisedata and named "Corporate Departments".

Mimi inavyoelezwa madarasa wote katika faili moja. Cs, ulioandaliwa yake na kuiweka katika GAC (nguvu required, bila shaka).

  1. Kutekeleza template kudhibiti (.ascx) kama inavyoonekana:

<%@ Kudhibiti Lugha="C#" Kurithi="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Toleo = 12.0.0.0, Utamaduni = upande wowote,PublicKeyToken = 71e9bce111e9429c" compilationMode="Always" %>
<%
@ Kujiandikisha Tagprefix="wssawc" Eneo la majina="Microsoft.SharePoint.WebControls" Bunge="Microsoft.SharePoint, Toleo = 12.0.0.0, Utamaduni = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Kujiandikisha Tagprefix="SharePoint" Eneo la majina="Microsoft.SharePoint.WebControls" Bunge="Microsoft.SharePoint, Toleo = 12.0.0.0, Utamaduni = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:RenderingTemplate ID="XYZZYCorporateLocationFieldControl" runat="server">
<Kigezo>
<ASP:DropDownList ID="XYZZYCorporateLocationSelector" runat="server" />
</Kigezo>
</
SharePoint:RenderingTemplate>

hapo juu ni kuokolewa katika c:\mpango files kawaida files Microsoft pamoja mtandao kompyuta upanuzi 12 controltemplates.

  1. Hatimaye, sisi kujenga faili XML kuokoa katika saraka ..... 12 XML. Hii ni CAML kwamba amefafanua yetu data desturi aina na kwa mfano wangu, inaonekana kama hii:

<?xml toleo="1.0" encoding="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
Shamba Jina="TypeName">CorporateLocations</Shamba>
<
Shamba Jina="ParentType">Nakala</Shamba>
<
Shamba Jina="TypeDisplayName">Corporate Locations</Shamba>
<
Shamba Jina="TypeShortDescription">All XYZZY Corporate locations including manufacturing or other facilities.</Shamba>
<
Shamba Jina="UserCreatable">KWELI</Shamba>
<
Shamba Jina="ShowInListCreate">KWELI</Shamba>
<
Shamba Jina="ShowInDocumentLibraryCreate">KWELI</Shamba>
<
Shamba Jina="ShowInSurveyCreate">KWELI</Shamba>
<
Shamba Jina="ShowInColumnTemplateCreate">KWELI</Shamba>
<
Shamba Jina="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Version = 1.0.0.0, Utamaduni = neutral, PublicKeyToken=b0b19e85410990c4</Shamba>
<
RenderPattern Jina="DisplayPattern">
<
Kubadili>
<
Expr>
<
Safu />
</
Expr>

<Uchunguzi Thamani=""/>

<Default>
<
HTML>
<![CDATA[
<span style="color:Red"><b>]]>
</
HTML>

<
Safu SubColumnNumber="0" HTMLEncode="KWELI"/>

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

</
Default>
</
Kubadili>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
This XML file adds the custom data type to the WSS "library" na mechi yake juu ya mkutano GAC'd.

Baada ya kuhamia hizi bits wote katika mahali, iisreset kwenye server na ni lazima kila kuanza kufanya kazi vizuri.

WSS: Mbinu kwa ajili ya kujenga ufafanuzi shamba CAML.

Ziada jamii: CAML

Here is a great posting by a fellow named "craig" juu ya mbinu kwa ajili ya kutafuta ufafanuzi CAML kwa aina maudhui uwanja msingi mbali halisi ya ufafanuzi kuishi kutoka tovuti.

Posting yake inasema yote. Kwa kifupi:

  1. Kujenga aina ya maudhui.
  2. Kujiunga kwa orodha.
  3. Kufungua orodha na SharePoint Designer.
  4. Export to a "personal web package".
  5. Rename to a .cab.
  6. Extract the manifest.
  7. Find your content type and associated CAML.

WSS: Muhtasari hatua ili kuwawezesha Sifa muhimu / Elements / nk. Intellisense katika VS 2005

Ziada makundi: Studio ya Visual 2005

Kuwawezesha Intellisense muhimu kwa ajili ya Sifa, vipengele, nk katika studio ya Visual 2005:

  1. Kupata server WSS.
  2. Navigate to "c:\mpango files kawaida files Microsoft pamoja mtandao kompyuta upanuzi 12 KIOLEZO XML"
  3. Kufungua mwingine Explorer madirisha akizungumzia: "C:\Mpango Files Microsoft Visual Studio 8 xml schemas"
  4. Nakala files zifuatazo kutoka server WSS kwa VS yako 2005 schemas saraka:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. Kuanzisha upya VS 2005
  6. Kuongeza mpya XML faili kwa mradi.
  7. Click katika mwili wa faili XML.
  8. Katika kidirisha mali, click on "Schemas" and pick "wss.xsd" kutoka uchaguzi. (Siyo muhimu kuchagua mengine XSD tangu wao ni inatazamwa kutoka wss.xsd).

Intellisense sasa ni kuwezeshwa kwa kuwa hati XML.

Kuona hapa kwa habari zaidi juu ya somo hili na kwa ajili ya maelekezo ya jinsi ya moja kwa moja kujiunga Intellisense WSS na faili yoyote XML.

WSS mtihani 70-541, Microsoft Windows SharePoint Huduma 3.0 – Matumizi ya Maendeleo

Mimi alichukua na kupita juu zilizotajwa mtihani huu asubuhi. Nimeona mtihani kwa kuwa vigumu na wa haki.

Kuna upungufu wa jamaa ya habari juu ya mtihani huu kwenye mtandao. Mimi nina uhakika kwa nini.

Mimi ni wazi si kupata ndani ya maelezo yoyote kuhusu mtihani mimi alichukua, lakini nadhani naweza kusema kwa usalama zifuatazo:

  1. Imani hii ya kiungo: http://www.microsoft.com/learning/exams/70-541.mspx.

    Ni orodha ya nini unahitaji kujua kupita mtihani na ni, IMO, sahihi sana.

  2. kiungo pia inapendekeza Ndani ya Microsoft Windows SharePoint Huduma 3.0 na Ted Pattison & Daniel Larson. Kitabu hiki inashughulikia karibu masomo yote kwamba mtihani unashughulikia. Nimeona ni kuwa kubwa katika yenyewe ya zaidi ya prep mtihani rahisi. Inatoa mifano kubwa na kwa kweli got me kufikiri kuhusu baadhi ya mambo mapya na ya kuvutia ya kujaribu. Kama unataka skip bits chache katika kitabu, tu msalaba-rejea kitabu cha TOC na vitu katika kiungo kutoka juu.
  3. Hakuna beats halisi mikono juu ya uzoefu. Kama una muda na maslahi ya, kufuata pamoja na mifano katika kitabu na kisha majaribio na wao. Itabidi muda rahisi zaidi juu ya mtihani kama vile kweli kujifunza WSS maombi ya programu.

</mwisho>Kujiunga na blog yangu!

Moss / InfoPath Fomu Server (InfoPath 2007) kushuka chini orodha ya utendaji

Ziada jamii: InfoPath

Muhtasari: InfoPath 2007 kuunda uliotumika kwa server MOSS hutoa orodha kushuka chini ya wachuuzi amefungwa kwa orodha desturi MOSS. Baada ya kuchagua muuzaji, sheria hawawajui maadili ya shamba na wachache wa mashamba ya maandishi kama vile mauzo jina rep, anuani, mji, hali, zip na simu. Utendaji ni ya kutisha. Tunaona kwamba utendaji inakuwa mbaya zaidi (in a non-linear fashion) kwa kila shamba ya ziada sisi update kwa njia hii. Yaani, kama sisi tu update mauzo jina rep, inachukua [x] kiasi cha muda. Kama sisi update mauzo rep, address1, address2, mji, hali, zip, inachukua 10 mara tena.

Ufumbuzi: Kuandika huduma ya mtandao (kanuni sampuli yanaweza kupatikana hapa) kwamba ni kupita katika jina la muuzaji na kuirudisha nyuma maelezo muuzaji. Kisha, hawawajui mashamba kwa njia hii. Ingawa hii pia inaonekana polepole, kulikuwa hakuna tofauti discernable katika utendaji wakati sisi kupewa 1 shamba dhidi ya 8 mashamba ya. Kama ziada ya aliongeza, users get a cool "contacting the server" Cylon athari wakati wao kusubiri kwa ajili ya waomba na hutumia matokeo ya huduma.

Moss: Ubaguzi ilitokea. (Isipokuwa kutoka HRESULT: 0x80020009 (DISP_E_EXCEPTION))

UPDATE: Sisi kamwe kuamua sababu mizizi ya tatizo hili na kamwe uso tena.

Tunaona wakati wa utekelezaji wa tovuti ya maendeleo kwamba ghafla, mbili watumiaji hawawezi kupata ukusanyaji tovuti. Wale akaunti anaweza kuthibitisha kwa tovuti kuu, lakini wakati akijaribu kupata fulani tovuti ukusanyaji, kupata tu screen tupu. Hakuna makosa kuonyeshwa, tu nyeupe tupu ukurasa.

Sisi kuingia kwenye tovuti kama admin ukusanyaji na na kujaribu kuongeza moja ya watumiaji hao kama admin tovuti hii wakati, upon pressing "OK", sisi kupata ujumbe huu:

Ubaguzi ilitokea. (Isipokuwa kutoka HRESULT: 0x80020009 (DISP_E_EXCEPTION))

Sisi alitumia muda kutafiti hili na kwa bahati mbaya, hakuwa na kuja na kitu chochote muhimu. Kulikuwa na baadhi ya ujumbe katika logi uchunguzi, lakini ilikuwa vigumu hasa correlate yao na suala hili.

Katika mwisho, sisi kufuta ukusanyaji tovuti na re-umba yake na kwamba ni kutatuliwa.

Kama mimi kufikiri nini hii unasababishwa katika siku zijazo, Mimi itabidi update hii post.