నేను బెర్గెన్ కౌంటీ లో నా కారు అమ్మకానికి క్లాసిఫైడ్స్ యాడ్ పోస్ట్, NJ on Sunday night. I received several inquiries via email shortly thereafter and closed the deal with someone on Tuesday night.
నిజమని దాదాపు చాలా మంచి …
నేను బెర్గెన్ కౌంటీ లో నా కారు అమ్మకానికి క్లాసిఫైడ్స్ యాడ్ పోస్ట్, NJ on Sunday night. I received several inquiries via email shortly thereafter and closed the deal with someone on Tuesday night.
నిజమని దాదాపు చాలా మంచి …
నేను చాలా తరచుగా ఆధునిక శోధన XSLT సవరించడానికి లేదు, నేను చిన్న కొండలు ప్రతిసారీ పైకి ఉంటాను కాబట్టి అది ఉంది.
నా క్రొత్త పాఠం ఇది: ఒక కాలమ్ సూచించేటప్పుడు కేస్ సంబంధించిన. నా ఆధునిక శోధన లో, నేను ఈ వంటి నిలువు నిర్వచించారు:
<వేరు xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<నిలువు>
<కాలమ్ పేరు="GafTrainingInvoiceNumber" />
<కాలమ్ పేరు="GafTrainingInvoiceLocation" />
<కాలమ్ పేరు="WorkId"/>
<కాలమ్ పేరు="రాంక్"/>
<కాలమ్ పేరు="శీర్షిక"/>
<కాలమ్ పేరు="రచయిత"/>
<కాలమ్ పేరు="పరిమాణము"/>
<కాలమ్ పేరు="మార్గం"/>
<కాలమ్ పేరు="వర్ణన"/>
<కాలమ్ పేరు="వ్రాయండి"/>
<కాలమ్ పేరు="SITENAME"/>
<కాలమ్ పేరు="CollapsingStatus"/>
<కాలమ్ పేరు="HitHighlightedSummary"/>
<కాలమ్ పేరు="HitHighlightedProperties"/>
<కాలమ్ పేరు="Contentclass"/>
<కాలమ్ పేరు="IsDocument"/>
<కాలమ్ పేరు="PictureThumbnailURL"/>
</నిలువు>
</వేరు>
ఇన్వాయిస్ సంఖ్య మరియు వాయిస్ నగర ప్రదర్శించే XLST ఉండేది:
<p>
Training Invoice Number: <XSL:విలువ యొక్క ఎంచుకోండి="GafTrainingInvoiceNumber"/>
<br></br>
Training Invoice Location: <XSL:విలువ యొక్క ఎంచుకోండి="GafTrainingInvoiceLocation"/>
</p>
అయితే, ఎంపిక, అన్ని లోయర్ కేస్ లో ఆస్తి సూచన ఉంది, లో:
<p>
Training Invoice Number: <XSL:విలువ యొక్క ఎంచుకోండి="gaftraininginvoicenumber"/>
<br></br>
Training Invoice Location: <XSL:విలువ యొక్క ఎంచుకోండి="gaftraininginvoicelocation"/>
</p>
Until I corrected that, search results showed the labels (ఉదా. "Training Invoice Number") but no data.
వ్యాపారం దృశ్య:
తయారీ సంస్థ కోసం MOSS యొక్క Enterprise వ్యాప్తంగా అమలు తో 30+ సైట్లు మరియు కొన్ని డజన్ల కార్పొరేట్ విభాగాలు.
వ్యాపారం ఆబ్జెక్టివ్:
వ్యాపార వర్గాలు సమూహము ఉన్నప్పటికీ (విభాగాలు, స్థానాలు, మొదలైనవి), కొన్ని డేటా ప్రపంచ స్థాయి వద్ద నిర్వహించబడుతుంది ఉండాలి. ఉదాహరణకు, సంస్థ యొక్క అన్ని శారీరక స్థానాల అధికార మాస్టర్ జాబితా (ఉదాహరణకు. తయారీ సౌకర్యాలు, గిడ్డంగి స్థానాలు, విక్రయ కార్యాలయాలు) ఒక ప్రదేశంలో నిర్వహించబడుతుంది ఉండాలి.
సాంకేతిక సమస్య:
సంస్థ వర్గీకరణను బహుళ సైట్ సేకరణలు ఉపయోగించి అమలు. మేము కస్టమ్ WSS జాబితాలో భౌతిక స్థానాల అధికార జాబితా సృష్టించడానికి మెచ్చుకున్నారు ఉండేది. అప్పుడు, మేము ఒక కంటెంట్ రకాన్ని ఒక కాలమ్ కలిగి అవసరమైనప్పుడు (లేదా ఒక కాలమ్ జాబితా లేదా డిఓసి లైబ్రరీ జోడించబడింది) ఆ కలిగి కార్పొరేట్ స్థానాలు, we would create a column using the "lookup" ఈ మాస్టర్ జాబితాకు datatype మరియు స్థానం.
అకస్మాత్తుగా, lookup datatypes must access a source list "locally" మా అధీకృత జాబితా సైట్ సేకరణలు పరిధిలోకి కాదు అంటే.
సాంకేతిక పరిష్కారం:
SPField ఆధారంగా మరియు దీని ListItems మాస్టర్ WSS జాబితా నుండి జనసాంద్రత UI లో ఒక DropDownList వంటి ప్రాతినిధ్యం అమలు ఒక కొత్త కస్టమ్ డేటా రకం అమలు.
మేము అని ఒక కొత్త సైట్ సేకరణ రూపొందించినవారు "http://localhost/EnterpriseData". అక్కడ, we created a custom list named "Corporate Locations". This list just uses the standard "Title" అసలు కార్పొరేట్ స్థానాల జాబితా కలిగి ఫీల్డ్.
ఒక WSS లో కస్టమ్ డేటా రకం రూపొందించడానికి పలు వివిక్త అనుసరిస్తుంది. అవి:
ఇక్కడ కోసం కోడ్:
ప్రజా తరగతి XYZZYCorporateLocationField : SPFieldText
{
ప్రజా XYZZYCorporateLocationField
(SPFieldCollection ఖాళీలను, తీగ typeName, తీగ displayName)
: బేస్(ఖాళీలను, typeName, displayName) { }
ప్రజా XYZZYCorporateLocationField
(SPFieldCollection ఖాళీలను, తీగ displayName)
: బేస్(ఖాళీలను, displayName) { }
ప్రజా భర్తీ BaseFieldControl FieldRenderingControl
{
పొందండి
{
BaseFieldControl control = కొత్త XYZZYCorporateLocationFieldControl();
control.FieldName = ఈ.అంతర్గత పేరు;
తిరిగి control;
} //పొందండి
} // fieldrenderingcontrol
ప్రజా భర్తీ తీగ GetValidatedString(వస్తువు విలువ)
{
అయితే (ఈ.Required || value.ToString().సమానం(తీగ.ఖాళీ))
{
రువ్వు కొత్త SPFieldValidationException ("Department is not assigned.");
}
తిరిగి బేస్.GetValidatedString(విలువ);
} // getvalidatedstring
} // XYZZYCorporateLocation
ప్రజా తరగతి XYZZYCorporateLocationFieldControl : BaseFieldControl
{
రక్షణ DropDownList XYZZYCorporateLocationSelector;
రక్షణ భర్తీ తీగ DefaultTemplateName
{
పొందండి
{
తిరిగి "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName
ప్రజా భర్తీ వస్తువు విలువ
{
పొందండి
{
EnsureChildControls();
తిరిగి ఈ.XYZZYCorporateLocationSelector.SelectedValue;
} // పొందండి
సెట్
{
EnsureChildControls();
ఈ.XYZZYCorporateLocationSelector.SelectedValue = (తీగ)ఈ.ItemFieldValue;
} // సెట్
} // override object Value
రక్షణ భర్తీ రద్దు CreateChildControls()
{
అయితే (ఈ.Field == సున్న || ఈ.ControlMode == SPControlMode.ప్రదర్శించు)
తిరిగి;
బేస్.CreateChildControls();
ఈ.XYZZYCorporateLocationSelector =
(DropDownList)TemplateContainer.FindControl("XYZZYCorporateLocationSelector");
అయితే (ఈ.XYZZYCorporateLocationSelector == సున్న)
రువ్వు కొత్త మినహాయింపు("ERROR: Cannot load .ASCX file!");
అయితే (!ఈ.Page.IsPostBack)
{
ఉపయోగించి (SPSite site = కొత్త SPSite("http://localhost / enterprisedata"))
{
ఉపయోగించి (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists["Corporate Locations"];
foreach (ఉమ్మి XYZZYCorporateLocation లో currentList.Items)
{
అయితే (XYZZYCorporateLocation["Title"] == సున్న) కొనసాగించు;
తీగ theTitle;
theTitle = XYZZYCorporateLocation["Title"].ToString();
ఈ.XYZZYCorporateLocationSelector.Items.Add
(కొత్త ListItem(theTitle, theTitle));
} // foreach
} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/enterprisedata")
} // if not a postback
} // CreateChildControls
} // XYZZYCorporateLocationFieldControl
పైన కోడ్ ప్రధానంగా వద్ద ఉన్న WSS కస్టమ్ జాబితా నుండి విలువలతో DropDownList populating కోసం తర్కం అమలు http://localhost/enterprisedata and named "Corporate Departments".
నేను ఒక. Cs ఫైలు లో రెండు వర్గాలు నిర్వచింపబడ్డాయి, ఇది కంపైల్ మరియు GAC ఉంచారు (అవసరమైన బలమైన, కోర్సు యొక్క).
<%@ నియంత్రించండి భాష="C#" పొందినట్లయితే="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,వెర్షన్ = 12.0.0.0, సంస్కృతి = తటస్థ,PublicKeyToken = 71e9bce111e9429c" compilationMode="Always" %>
<%@ నమోదు Tagprefix="wssawc" నేంస్పేసు="Microsoft.SharePoint.WebControls" సభ="Microsoft.SharePoint, వెర్షన్ = 12.0.0.0, సంస్కృతి = తటస్థ, PublicKeyToken = 71e9bce111e9429c" %> <%@ నమోదు Tagprefix="SharePoint" నేంస్పేసు="Microsoft.SharePoint.WebControls" సభ="Microsoft.SharePoint, వెర్షన్ = 12.0.0.0, సంస్కృతి = తటస్థ, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:రెండరింగ్ మూస ID="XYZZYCorporateLocationFieldControl" runat="server">
<మూస>
<కాలసర్పం:DropDownList ID="XYZZYCorporateLocationSelector" runat="server" />
</మూస>
</SharePoint:రెండరింగ్ మూస>
పైన సి లోకి సేవ్ ఉంది:\కార్యక్రమ ఫైళ్ళు సాధారణ ఫైళ్ళు మైక్రోసాఫ్ట్ షేర్డ్ వెబ్ సర్వర్ పొడిగింపులు 12 controltemplates.
<?xml వెర్షన్="1.0" ఎన్కోడింగ్="UTF-8" ?>
<FieldTypes>
<FieldType>
<ఫీల్డ్ పేరు="TypeName">CorporateLocations</ఫీల్డ్>
<ఫీల్డ్ పేరు="ParentType">టెక్స్ట్</ఫీల్డ్>
<ఫీల్డ్ పేరు="TypeDisplayName">Corporate Locations</ఫీల్డ్>
<ఫీల్డ్ పేరు="TypeShortDescription">All XYZZY Corporate locations including manufacturing or other facilities.</ఫీల్డ్>
<ఫీల్డ్ పేరు="UserCreatable">TRUE</ఫీల్డ్>
<ఫీల్డ్ పేరు="ShowInListCreate">TRUE</ఫీల్డ్>
<ఫీల్డ్ పేరు="ShowInDocumentLibraryCreate">TRUE</ఫీల్డ్>
<ఫీల్డ్ పేరు="ShowInSurveyCreate">TRUE</ఫీల్డ్>
<ఫీల్డ్ పేరు="ShowInColumnTemplateCreate">TRUE</ఫీల్డ్>
<ఫీల్డ్ పేరు="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, సంచిక = మాత్రం దానిని 1.0.0.0, సంస్కృతి = తటస్థ, PublicKeyToken=b0b19e85410990c4</ఫీల్డ్>
<RenderPattern పేరు="DisplayPattern">
<చిన్నకమ్మి>
<Expr>
<కాలమ్ />
</Expr>
<కేస్ విలువ=""/>
<డిఫాల్ట్>
<HTML>
<![CDATA[<span style="color:Red"><బి>]]>
</HTML>
<కాలమ్ SubcolumnNumber="0" HTMLEncode="TRUE"/>
<HTML><![CDATA[</బి></వ్యవధి>]]></HTML>
</డిఫాల్ట్>
</చిన్నకమ్మి>
</RenderPattern>
</FieldType>
</FieldTypes>
This XML file adds the custom data type to the WSS "library" మరియు GAC'd అసెంబ్లీ నుంచి సరిసమానుడు.
స్థలం లోకి ఈ బిట్స్ వెళ్లిన తర్వాత, సర్వర్ పై iisreset మరియు అన్ని చక్కగా పని మొదలు ఉండాలి.
అదనపు వర్గం: Caml
ఇక్కడ is a great posting by a fellow named "craig" ఒక సైట్ నుండి నిజమైన ప్రత్యక్ష నిర్వచనాలు ఆఫ్ ఆధారంగా రంగంలో కంటెంట్ రకాల Caml నిర్వచనాలు కనుగొనడానికి ఒక పద్ధతి.
అతని పోస్టింగ్ అది అన్ని చెప్పారు. క్లుప్తంగా:
అదనపు వర్గాలు: విజువల్ స్టూడియో 2005
ఫీచర్స్ ఉపయోగకరంగా intellisense ప్రారంభించడానికి, అంశాలు, విజువల్ స్టూడియో లో etc 2005:
Intellisense ఇప్పుడు ఆ XML డాక్యుమెంట్ ఎనేబుల్.
చూడండి ఇక్కడ ఈ విషయం గురించి మరింత సమాచారం కోసం మరియు స్వయంచాలకంగా ఏ XML ఫైల్ తో WSS intellisense అనుబంధించడానికి ఎలా సూచనలను కోసం.
నేను ఈ ఉదయం పైన పేర్కొన్న పరీక్ష పట్టింది మరియు ఆమోదించింది. నేను పరీక్షలో కష్టం మరియు తెలుపు ఉన్నట్లు.
వెబ్ ఈ పరీక్షలో సమాచారం సాపేక్ష కరవు ఉంది. నేను ఎందుకు ఖచ్చితంగా తెలియదు.
నేను ఖచ్చితంగా నేను పట్టింది పరీక్ష గురించి ఏ వివరాలను అందదు, కానీ నేను సురక్షితంగా క్రింది చెప్పగలను అనుకుంటున్నాను:
ఇది మీరు పరీక్షలో పాస్ తెలుసుకోవలసినది జాబితా మరియు అది, IMO, చాలా ఖచ్చితమైన.
</చివర>నా బ్లాగ్ సబ్స్క్రయిబ్!
అదనపు వర్గం: InfoPath
సంగ్రహము: ఒక InfoPath 2007 ఒక MOSS సర్వర్ అమలు ఏర్పాటు కస్టమ్ MOSS జాబితా జతచేయబడి విక్రేతల ఒక డ్రాప్ డౌన్ జాబితా. ఒక అమ్మకందారుని ఎంచుకోవడం తరువాత, నియమాలు అలాంటి అమ్మకాల ప్రతినిధిని పేరు టెక్స్ట్ రంగాలలో చూపడంతో కు రంగంలో విలువలు కేటాయించవచ్చు, చిరునామా, నగరం, స్థితి, జిప్ మరియు ఫోన్. ప్రదర్శన భయంకరమైన ఉంది. మేము పనితీరు అధ్వాన్నంగా అందుతుంది అని గమనించవచ్చు (ఒక విరళ ఫ్యాషన్ లో) ప్రతి అదనపు రంగంలో కోసం మేము ఈ విధంగా అప్డేట్. అంటే, మేము కేవలం అమ్మకాల ప్రతినిధిని పేరు అప్డేట్ ఉంటే, అది పడుతుంది [x] సమయం మొత్తం. మేము అమ్మకాల ప్రతినిధిని అప్డేట్ ఉంటే, address1, address2, నగరం, స్థితి, మీటను జరిపినపుడు దానంతట అదే కరుచుకునే ఒక సాధనముతో బిగించు (జిప్), అది పడుతుంది 10 రెట్లు ఎక్కువ.
పరిష్కారము: ఒక వెబ్ సేవ వ్రాయండి (నమూనా కోడ్ చూడవచ్చు ఇక్కడ) ఒక అమ్మకందారుని పేరు ఆమోదించబడింది తిరిగి విక్రేత వివరాలు తిరిగి ఆ. అప్పుడు, ఖాళీలను ఈ విధంగా కేటాయించవచ్చు. ఈ చాలా నెమ్మదిగా కనిపిస్తున్నప్పటికీ, మేము కేటాయించిన ఉన్నప్పుడు ప్రదర్శన ఏ discernable వ్యత్యాసం లేదు 1 రంగంలో వర్సెస్ 8 ఖాళీలను. అదనపు బోనస్ గా, users get a cool "contacting the server" Cylon వారు సేవ ఫలితాలు ఇన్వోక్ మరియు తినే ఫారమ్ కోసం వేచి ఉన్నప్పుడు ప్రభావం.
UPDATE: మేము ఈ సమస్య యొక్క మూల కారణంగా నిర్ణయించబడుతుంది ఎప్పుడూ మరియు మరలా ఉపరితలం ఎప్పుడూ.
మేము ఒక అభివృద్ధి సైట్ హఠాత్తుగా అమలు సమయంలో గమనించవచ్చు, రెండు వినియోగదారులు ఒక సైట్ సేకరణ ఆక్సెస్ చెయ్యలేకపోతే. ఆ ఖాతాలను ప్రధాన సైట్ కు ప్రమాణీకరించడానికి, కానీ ఒక నిర్దిష్ట సైట్ సేకరణ యాక్సెస్ చేసేటప్పుడు, వారు కేవలం ఒక ఖాళీ తెర పొందుటకు. ప్రదర్శించబడుతుంది లోపాలు, ఒక తెల్లని ఖాళీ పేజీ.
మేము ఒక సైట్ సేకరణ నిర్వాహకునిగా లాగిన్ మరియు ఒక సైట్ నిర్వాహకునిగా వినియోగదారుల ఒకటి జోడించడానికి ప్రయత్నించండి మరియు ఈ సమయం, upon pressing "OK", మేము ఈ సందేశం:
మినహాయింపు సంభవించింది. (HRESULT నుండి మినహాయింపు: 0x80020009 (DISP_E_EXCEPTION))
మేము ఈ మరియు దురదృష్టవశాత్తు పరిశోధన కొంత సమయం గడిపాడు, ఉపయోగకరమైన ఏదైనా ఆలోచన లేదు. విశ్లేషణ లాగ్ కొన్ని సందేశాలు ఉన్నాయి, కానీ అది ఖచ్చితంగా ఈ సమస్య వాటిని పరస్పర సంబంధం కలిగిఉందని హార్డ్ ఉంది.
చివరికి, మేము సైట్ సేకరణ తొలగించడం మరియు అది తిరిగి రూపొందించినవారు మరియు అది పరిష్కరించబడింది.
నేను భవిష్యత్తులో ఈ కారణంగా ఏమి దొరుకుతుందని ఉంటే, నేను ఈ డేట్ చేస్తాము.