Ek gepos word 'n advertensie vir die verkoop van my motor in Bergen County, NJ on Sunday night. I received several inquiries via email shortly thereafter and closed the deal with someone on Tuesday night.
Amper te goed om waar te wees …
Ek gepos word 'n advertensie vir die verkoop van my motor in Bergen County, NJ on Sunday night. I received several inquiries via email shortly thereafter and closed the deal with someone on Tuesday night.
Amper te goed om waar te wees …
Ek verander nie gevorderde soektog XSLT dikwels, sodat dit lyk asof ek klim klein heuwels elke keer.
My nuutste les is dit: Saak saak by die verwysing van 'n kolom. In my gevorderde soektog, Ek het kolomme gedefinieer as:
<wortel xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance">
<Kolomme>
<Kolom Naam="GafTrainingInvoiceNumber" />
<Kolom Naam="GafTrainingInvoiceLocation" />
<Kolom Naam="WorkId"/>
<Kolom Naam="Rangskik"/>
<Kolom Naam="Titel"/>
<Kolom Naam="Skrywer"/>
<Kolom Naam="Grootte"/>
<Kolom Naam="Pad"/>
<Kolom Naam="Description"/>
<Kolom Naam="Skryf"/>
<Kolom Naam="Site Naam"/>
<Kolom Naam="CollapsingStatus"/>
<Kolom Naam="HitHighlightedSummary"/>
<Kolom Naam="HitHighlightedProperties"/>
<Kolom Naam="ContentClass"/>
<Kolom Naam="IsDocument"/>
<Kolom Naam="PictureThumbnailURL"/>
</Kolomme>
</wortel>
Die XLST dat u die faktuur en faktuur plek was:
<p>
Training Invoice Number: <xsl:waarde van kies="GafTrainingInvoiceNumber"/>
<br></br>
Training Invoice Location: <xsl:waarde van kies="GafTrainingInvoiceLocation"/>
</p>
Egter, die kies het om die eiendom te verwysing in alle kleinletters, soos in:
<p>
Training Invoice Number: <xsl:waarde van kies="gaftraininginvoicenumber"/>
<br></br>
Training Invoice Location: <xsl:waarde van kies="gaftraininginvoicelocation"/>
</p>
Until I corrected that, search results showed the labels (d.w.z. "Training Invoice Number") but no data.
Besigheid scenario:
Onderneming breë implementering van MOSS vir produksie-maatskappy met 30+ terreine en 'n paar dosyn korporatiewe departemente.
Besigheid doel:
Ten spyte van 'n menigte van die besigheid groepe (departemente, plekke, ens.), sekere data moet in stand gehou word op 'n globale vlak. Byvoorbeeld, 'n gesaghebbende meester lys van al die fisiese plekke van die maatskappy (bijv. produksie fasiliteite, pakhuis plekke, verkope kantore) behou moet word in 'n sentrale plek.
Tegniese Probleem:
Die onderneming taksonomie is geïmplementeer met behulp van verskeie webwerf versamelings. Ons wil graag die gesaghebbende lys van fisiese plekke te skep in 'n persoonlike WSS lys. Toe, wanneer ons nodig het om 'n kolom in 'n tipe inhoud te hê (of 'n kolom by 'n lys of doc biblioteek) wat vervat korporatiewe plekke, we would create a column using the "lookup" gegee tipe en punt na die meester lys.
Ongelukkig, lookup datatypes must access a source list "locally" Dit beteken dat ons gesaghebbende lys nie kan strek webwerf versamelings.
Tegniese oplossing:
Implementering van 'n nuwe persoonlike data tipe geïmplementeer wat gebaseer is op SPField en voorgestel as 'n DropDown List in die UI wie ListItems vul van die meester WSS lys.
Ons het 'n nuwe tuiste versameling genoem "http://localhost/EnterpriseData". Daar, we created a custom list named "Corporate Locations". This list just uses the standard "Title" veld van die lys van die werklike korporatiewe plekke te bevat.
Een volg 'n paar diskrete stappe om 'n persoonlike data tipe te skep in WSS. Hulle is:
Hier is die kode vir daardie:
openbare klas XYZZYCorporateLocationField : SPFieldText
{
openbare XYZZYCorporateLocationField
(SPFieldCollection velde, string typeName, string displayName)
: basis(velde, typeName, displayName) { }
openbare XYZZYCorporateLocationField
(SPFieldCollection velde, string displayName)
: basis(velde, displayName) { }
openbare oorheers BaseFieldControl FieldRenderingControl
{
kry
{
BaseFieldControl control = nuwe XYZZYCorporateLocationFieldControl();
control.FieldName = hierdie.Interne Naam;
terugkeer control;
} //kry
} // fieldrenderingcontrol
openbare oorheers string GetValidatedString(voorwerp waarde)
{
indien (hierdie.Required || value.ToString().Equals(String.Leë))
{
gooi nuwe SPFieldValidationException ("Department is not assigned.");
}
terugkeer basis.GetValidatedString(waarde);
} // getvalidatedstring
} // XYZZYCorporateLocation
openbare klas XYZZYCorporateLocationFieldControl : BaseFieldControl
{
beskerm DropDown List XYZZYCorporateLocationSelector;
beskerm oorheers string DefaultTemplateName
{
kry
{
terugkeer "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
openbare oorheers voorwerp Waarde
{
kry
{
EnsureChildControls();
terugkeer hierdie.XYZZYCorporateLocationSelector.SelectedValue;
} // kry
stel
{
EnsureChildControls();
hierdie.XYZZYCorporateLocationSelector.SelectedValue = (string)hierdie.ItemFieldValue;
} // stel
} // override object Value
beskerm oorheers nietig CreateChildControls()
{
indien (hierdie.Field == nul || hierdie.ControlMode == SPControlMode.Vertoon)
terugkeer;
basis.CreateChildControls();
hierdie.XYZZYCorporateLocationSelector =
(DropDown List)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");
indien (hierdie.XYZZYCorporateLocationSelector == nul)
gooi nuwe Uitsondering("ERROR: Cannot load .ASCX file!");
indien (!hierdie.Page.IsPostBack)
{
die gebruik van (SPSite site = nuwe SPSite("Http://localhost / enterprisedata"))
{
die gebruik van (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists["Corporate Locations"];
foreach (SPItem XYZZYCorporateLocation in currentList.Items)
{
indien (XYZZYCorporateLocation["Title"] == nul) voortgaan;
string theTitle;
theTitle = XYZZYCorporateLocation["Title"].ToString();
hierdie.XYZZYCorporateLocationSelector.Items.Add
(nuwe ListItem(theTitle, theTitle));
} // foreach
} // using spweb web = site.openweb()
} // using spsite site = new spsite("Http://localhost/enterprisedata")
} // if not a postback
} // CreateChildControls
} // XYZZYCorporateLocationFieldControl
Die bogenoemde kode implemente basies die logika vir die mense aan die DropDown List, met waardes van die WSS persoonlike lys geleë op http://localhost/enterprisedata and named "Corporate Departments".
Ek gedefinieer beide klasse in 'n enkele. Cs lêer, saamgestel is dit en sit dit in die GAC (sterk vereiste, natuurlik).
<%@ Beheer Taal="C#" Erf="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Weergawe = 12.0.0.0, Kultuur = neutraal,PublicKeyToken = 71e9bce111e9429c" compilationMode="Always" %>
<%@ Registreer Tagprefix="wssawc" Naamruimte="Microsoft.SharePoint.WebControls" Vergadering="Microsoft.SharePoint, Weergawe = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %> <%@ Registreer Tagprefix="SharePoint" Naamruimte="Microsoft.SharePoint.WebControls" Vergadering="Microsoft.SharePoint, Weergawe = 12.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:Lewering Sjabloon ID="XYZZYCorporateLocationFieldControl" runat="server">
<Sjabloon>
<ASP:DropDown List ID="XYZZYCorporateLocationSelector" runat="server" />
</Sjabloon>
</SharePoint:Lewering Sjabloon>
Die bogenoemde is gered in c:\program lêers algemene lêers Microsoft gedeelde web bediener uitbreidings 12 controltemplates.
<?xml weergawe="1.0" encoding="UTF-8" ?>
<FieldTypes>
<FieldType>
<Field Naam="Type Name">CorporateLocations</Field>
<Field Naam="ParentType">Teks</Field>
<Field Naam="TypeDisplayName">Corporate Locations</Field>
<Field Naam="TypeShortDescription">All XYZZY Corporate locations including manufacturing or other facilities.</Field>
<Field Naam="UserCreatable">WAAR</Field>
<Field Naam="ShowInListCreate">WAAR</Field>
<Field Naam="ShowInDocumentLibraryCreate">WAAR</Field>
<Field Naam="ShowInSurveyCreate">WAAR</Field>
<Field Naam="ShowInColumnTemplateCreate">WAAR</Field>
<Field Naam="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Weergawe = 1.0.0.0, Culture = neutral, PublicKeyToken=b0b19e85410990c4</Field>
<RenderPattern Naam="DisplayPattern">
<Skakel>
<Expr>
<Kolom />
</Expr>
<Geval Waarde=""/>
<Default>
<HTML>
<![CDATA[<span style="color:Red"><b>]]>
</HTML>
<Kolom SubcolumnNumber="0" HTMLEncode="WAAR"/>
<HTML><![CDATA[</b></span>]]></HTML>
</Default>
</Skakel>
</RenderPattern>
</FieldType>
</FieldTypes>
This XML file adds the custom data type to the WSS "library" en pas dit op teen die GAC'd vergadering.
Na beweeg al hierdie stukkies in plek, iisreset op die bediener en dit moet almal begin werk mooi.
Bykomende kategorie: CAML
Hier is a great posting by a fellow named "craig" op 'n tegniek vir die vind van CAML definisies vir veld inhoud tipes grond af real live definisies van 'n webwerf.
Sy plaas sê dit alles. In kort:
Bykomende kategorieë: Visual Studio 2005
Nuttige IntelliSense staat te stel om vir funksies, elemente, ens in Visual Studio 2005:
IntelliSense is nou in staat gestel om vir die XML-dokument.
Sien hier Vir meer inligting oor hierdie onderwerp en vir instruksies oor hoe om outomaties assosieer WSS IntelliSense met enige XML-lêer.
Ek het en geslaag het in die bogenoemde toets vanoggend. Ek het gevind dat die eksamen te moeilik wees en regverdig.
Daar is 'n relatiewe gebrek aan inligting oor hierdie eksamen op die web. Ek is nie seker hoekom.
Ek het natuurlik sal nie in enige detail oor die eksamen het ek, maar ek dink ek kan sê die volgende:
Dit bevat 'n lys wat jy nodig het om te weet om die eksamen te slaag, en dit is, IMO, baie akkuraat.
</einde>Skryf in op my blog!
Bykomende kategorie: Path
Opsomming: 'N Path 2007 vorm ontplooi om 'n mos-bediener bied 'n drop-down lys van verskaffers wat gekoppel is aan 'n persoonlike MOSS lys. By die keuse van 'n verskaffer, reëls toewys veld waardes aan 'n handvol van die teks velde, soos verkope rep naam, adres, stad, staat, rits en telefoonnommer. Prestasie is verskriklik. Ons sien dat prestasie erger (in 'n nie-lineêre mode) vir elke bykomende veld ons werk op hierdie manier. Dws, as ons net werk om die verkope rep naam, dit neem [x] bedrag van die tyd. As ons werk sales rep, Adres1, Adres2, stad, staat, ritssluiter, dit neem 10 keer langer.
Oplossing: Skryf 'n web-diens (voorbeeld kode kan gevind word hier) wat geslaag het in die naam van 'n ondernemer en dit gee terug die verkoper besonderhede. Toe, ken die velde op hierdie manier. Hoewel dit lyk te stadig, Daar was geen waarneembare verskil in prestasie wanneer ons opgedra 1 gebied versus 8 velde. As 'n ekstra bonus, users get a cool "contacting the server" Cylon effek, terwyl hulle wag vir die vorm te roep en verteer die diens resultate.
UPDATE: Ons het nooit die oorsaak van die probleem bepaal, en dit nooit weer opduik.
Ons sien tydens die implementering van 'n ontwikkeling wat skielik, twee gebruikers is nie in staat om toegang te verkry tot 'n webwerf versameling. Hierdie rekeninge kan kontroleer na die hoof webwerf, maar wanneer ek probeer om 'n bepaalde werf-versameling om toegang te verkry tot, hulle het net 'n leë skerm. Geen foute word vertoon, net 'n wit leë bladsy.
Ons teken as 'n tuiste versameling admin en probeer om een van die gebruikers by te voeg as 'n site admin en hierdie tyd, op druk "OK", ons kry hierdie boodskap:
Uitsondering het voorgekom. (Uitsondering van HRESULT: 0x80020009 (DISP_E_EXCEPTION))
Ons het geruime tyd ondersoek en ongelukkig, het nie kom met iets nuttigs. Daar was 'n paar boodskappe in die diagnostiese log, maar dit was moeilik om presies ooreen met hierdie kwessie.
Op die ou end, ons die verwydering van die werf versameling en weer geskep is en wat opgelos.
As ek uitvind wat dit veroorsaak in die toekoms, Ek sal hierdie pos werk.