Cartlanna Catagóire: SharePoint

Conas a troubleshoot earráidí SharePoint mistéireach.

Forbhreathnú:

Is debugging deacair nuair feidhmiúlacht saincheaptha do Sheirbhísí Windows SharePoint fhorbairt 3.0 (SSU) nó Microsoft Office SharePoint Server (CAONAIGH). The main culprit is that SharePoint normally surfaces very little diagnostic information on the web browser when an error occurs. This blog entry describes how to locate additional system-generated diagnostic information that can often provide that extra bit of detail that one needs in order to identify root causes. This can then lead to solving the problem.

Mé úsáid as teicníc seo leis éirigh go hiontach a réiteach earráidí a mhalairt mistéireach.

Cur Chuige:

SharePoint Sábhálann go leor eolais chun logáil diagnóiseach i gcomhad logáil isteach sa 12 hive.

The "12 hive" is usually located at "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12". (Níl mé cinnte má tá sé indéanta do na 12 hive chun cónaí in aon áit eile, i ndáiríre).

Is é an smaoineamh a aimsiú an comhad logchomhad reatha, force the error and then quickly open the log file. These log files are characterized by:

  • Copious amounts of information. SharePoint generates a very large amount of diagnostic information and writes it to that log file very quickly. You need to be quick with the fingers to capture it.
  • Multiplicity. SharePoint does not write to a single log file but rather generates multiple log files in sequence.
  • Cóipeáil agus greamaigh nicely i MS Excel.

Mo modh is fearr leat:

  1. Oscail suas taiscéalaí fuinneoga dírithe ar an 12 hive logs.
  2. Shórtáil an dearcadh a thaispeáint de réir dáta modhnú (is dtús déanaí).
  3. Aibhsigh an comhad a logáil chuid is mó atá ann faoi láthair.
  4. I bhfuinneog bhrabhsálaí gréasáin, bhfeidhm an earráid a tharlaíonn.
  5. Go tapa an comhad a logáil reatha a oscailt agus a bhfuil ann a chóipeáil go dtí MS Excel.
  6. Léim go dtí deireadh agus anailís a dhéanamh ar na hiontrálacha iomchuí.

Nótaí Eile:

De réir réamhshocraithe, Is é an logáil diagnóiseacha lonnaithe sa 12 hive Logchomhaid eolaire.

MS dea-chleachtais (Ace le Mike T. de Microsoft) state that the log files should be saved to a separate hard drive. One does this via central admin. Your system administrator may have done this, agus sa chás sin gur mhaith leat gá ar ndóigh chun teacht ar an gcomhad logáil ann in ionad an réamhshocraithe 12 suíomh hive).

Tugann an iontráil saincheisteanna cosúil le:

  • Theip ar SharePoint sreabhadh oibre chun tús a chur mar gheall ar earráid inmheánach.
  • (níos mó a leanas le himeacht ama)
  • Tá an iontráil cabhrach dhiagnóisiú earráidí sreabhadh oibre (e.g. "The workflow failed to start due to an internal error").

CAONAIGH: A thabhairt isteach go héifeachtach le Eagraíocht

(iontráil seo tras phost idir http://paulgalvin.spaces.live.com/blog/ agus http://blogs.conchango.com)

Is iad na postings ar an suíomh seo mo chuid féin agus ní gá gurb ionann seasamh Conchango ar, straitéisí nó tuairimí.

Forbhreathnú:

An iontráil seo cur síos ar roinnt eolais cúlra ar a mhór (3,000 úsáideoirí) Microsoft Office SharePoint Server (CAONAIGH) rollout and what we did to get the project rolling in such a way that the client is happy and firmly down a path that ends with full adoption of the MOSS feature set. As of the writing of the entry, táimid tuairim is 50% complete with the first phase of the project. As things progress, Feicfidh mé a thabhairt cothrom le dáta seo a iontráil agus / nó scríobh iontrálacha nua.

Sa chás áirithe, the company had already installed SharePoint Portal Server 2003. The IT group installed the product in a sort of "let’s see if anyone cares" fashion. It was quickly adopted by many business users and became quite popular in the enterprise at large. Mar is féidir leat a shamhlú, Ní raibh sé seo an straitéis maidir le rolladh fearr (a admhaíonn an gcliant go héasca) agus nuair a tháinig MOSS ar an ardán, the client resolved to "do it right" agus d'fhostaigh dúinn chun cabhrú leo.

Ceann de na ceisteanna lárnacha atá os ár gcomhair nuair a thosaigh muid ag cur leis an tionscadal seo: Conas is féidir linn MOSS a thabhairt isteach chun an cliant? Given that the client already had experience with SharePoint, Wondered againn — do we need to do "differential" oiliúint nó a dhéanann muid tús a chur as an talamh suas? After working with key users, we determined that treating this as a green field project made more sense.

That decision gave a starting point but still left us with the major requirement of figuring out a good strategy for rolling MOSS out to the enterprise. MOSS is such a big animal … it includes content management, bainistíocht doiciméad, cuardaigh, slándála, lucht féachana ag díriú ar, bainistíochta tionscadal, "fabulous forty" teimpléid, sreabhadh oibre, gnó sonraí cónascaire, etc. Couple this with the fact that it’s a large organization that Is féidir go fírinneach a dhéanamh ar úsáid a bhaint as beagnach gach gné MOSS mór agus tá tú ar an mianach de thionscadal mór le teacht fiontair agus go leor rudaí maithe ag tarlú.

Táimid ag tabhairt aghaidh ar an tsaincheist am agus am arís … MOSS Tá teacht fiontar lena fiontar gné-a leagan síos, fós fiú cliaint beagán níos sofaisticiúla am deacair meabhrach ionsú na gnéithe, gan trácht ar a ionchorpraíonn codán suntasach acu i n-ghnáthamh laethúil.

I don’t have a magic solution to the problem. I instead address just the very first steps that we’ve taken with the client to lead them down the path to successful long-term adoption.

Raon feidhme:

As much as I wanted the team to craft a project plan that included such milestones as "PoepleSoft Integration via BDC Completed", "New Cross-Departmental Product Launch Workflow Complete" and "Executive Management KPI’s Accepted", I had to settle for something less. This is not to say that "less" Tá droch-. Go deimhin, the "less" that we decided for the initial rollout was miles ahead of where they were before we started. I ár gcás, the "less" iompú isteach:

  • Bainistíocht doiciméad Simplí baint úsáide as leabharlanna doiciméad, version control and content types.
  • Cuardaigh éifeachtach bunaithe ar chineálacha ábhar agus cuardaigh saincheaptha roimh ré (trí airíonna a bhainistiú, XSLT a thabhairt ar aird torthaí go leor, etc).

Chomh maith leis na gnéithe uile-fhiontair thuas (rud a chiallaíonn go raibh siad le leathadh amach chuig gach roinn agus úsáideoirí), Chuir muid an singleton seo a leanas i-raon mion-thionscadail:

  • Cruthúnas ar chomhtháthú BDC coincheap.
  • Próiseas sreabhadh oibre il-chéim agus il-brainse cruthaíodh trí SPD.
  • Foirm InfoPath Coimpléasc.
  • Dromchla KPI do roinnt próiseas gnó (is dócha a fháil tallann AD in ár gcás, cé gur féidir a athrú).

Níl an raon anseo 100% accurate but representative of our approach and sufficient for my purpose here, which is to explain what I consider to be an "effective" thabhairt isteach MOSS a leagfaidh an cliant go daingean síos an cosán órga a CAONAIGH iomlán a ghlacadh.

I won’t write much more about the singleton in this entry. I do want to point out that these are part of our over-arching strategy. The idea is to implement the core document management and search features to all users yet provide highly functional, high visible and highly representative examples of other core MOSS features which are simply beyond the ability of most users to absorb at this early stage. Mar sin féin, they will be "out there" agus tá súil amháin go mbeidh aonad gnó eile a fhios de nó a fhoghlaim mar gheall orthu agus ba mhaith liom na gnéithe ar a son féin, leading to greater adoption. These singleton success stories also serve to provide our sales team "ammunition" do éirigh an dara bhuaigh, third and n-phase projects.

Cad a raibh muid a thabhairt isteach agus Cén fáth?

Tar éis socraithe ar bhainistíocht doiciméad agus cuardach mar bhonnlíne ceanglas leathan-fhiontar, we needed to start gathering details. As a practical matter, seo revolved thart ar a gcuid cáipéisí a thuiscint agus go bhfuil deireadh thiar mhapáil le tuiscint a fháil ar na cineálacha ábhar.

I’ve found it’s difficult to explain content types without visual aides. More technical folk can walk away from a discussion about content types when CT’s are described in database terms. "A CT is similar to a database table, Tá sé colúin agus sainítear iad colúin i dtéarmaí cineálacha sonraí, ach measc na gcineálacha sonraí CT níos mó ná slánuimhir simplí / dáta, but also "choice" and "lookup" and the like." We can talk about "extending" cineálacha ábhar, much like one can inherit functionality from a base class in object oriented languages. However this is obviously not helpful for the transportation department admin person who has no technical background. I.e., beagnach gach duine go bhfuil cúrsaí i rolladh amach CAONAIGH.

Using a white board is iffy. I’ve presented the idea of a content type and drawn brilliant (nó mar sin is cosúil leo) pictiúir de chineálacha ábhar agus cad a dhéanann siad chun tú i dtéarmaí cuardaigh agus conas is féidir iad a leathnú, etc. Sa deireadh, a dhéanann sé bhraitheann cosúil go bhfuil roinnt bolgáin solais iompaithe ar, but the resulting white board picture is a mess.

Seo thug dúinn chun ár reatha agus sa mhéid is éifeachtaí áit tuirlingthe: ar láithreán bosca gainimh CAONAIGH cumraithe a thaispeáint ar na gnéithe.

Ag baint úsáide as an suíomh bosca gainimh, léiriú againn:

  • Cineálacha Ábhar:
    • A chruthú Domhanleithead le cineálacha sonraí il (téacs, dáta, rogha, Boole, lookup, etc).
    • Leathnú ar CT a chruthú CT nua atá bunaithe ar thuismitheoir.
    • Cuardach do dhoiciméid baint úsáide CT meiteashonraí.
  • Leabharlanna Doiciméad:
    • Associating le CT amháin le leabharlann.
    • Cad a tharlaíonn nuair a uaslódáil doiciméad muid leis an leabharlann?
    • Chomhlachú il CT ar le leabharlann doc.
    • Cad a tharlaíonn nuair a uaslódáil doiciméad muid leis an leabharlann?
    • Scagtha agus sórtáil trí teidil na gcolún i lib doc.
    • Tuairimí leabharlann doiciméad:
      • Sórtáil
      • Grúpáil
      • "Quick entry" (dearcadh bileog sonraí)
      • "Untagged data" (chun cuidiú leis an imirce a MOSS ó fhoinsí ábhar eile; níos mó ar seo thíos).

An Suíomh Bosca Gainimh:

Deartha againn ár láithreán bosca gainimh a bheith ina ghné bhuan sa timpeallacht a fhorbairt a bheidh le húsáid chun críocha oiliúna i bhfad i ndiaidh chríochnú againn ar an tionscadal agus bhí roinnt artifacts mar a thuairiscítear:

Cineálacha Ábhar:

Sainmhínithe againn na cineálacha seo a leanas ábhar: Sonrasc, Ceannaigh Ordú, Sonrasc Seirbhísí.

Roghnaithe againn ord Sonraisc agus Ceannach mar go bhfuil siad níos mó nó níos lú go huilíoch faoi
stood entities. Everyone in business understands that an invoice is a demand for payment to a chustaiméirí le haghaidh méid a eisíodh ar leith dáta a bheidh le híoc de réir roinnt téarmaí íocaíochta. This leads to a natural definition of a CT which we called "Training Invoice" (chun idirdhealú a dhéanamh ó aon chineál eile de sonrasc). The purchase order is similarly easily defined. We also created a "Training Services Invoice" by creating a new CT based upon the "Training Invoice" CT agus leis díreach colún amháin, "services rendered".

Leis an méid sin thuas, is féidir linn a léiriú anois roinnt gnéithe tábhachtacha de CT gan dul bogged síos ag iarraidh míniú coincheap teibí den chéad uair; everyone already understands what we mean by "invoice" and "purchase order" agus go bhfuil siad ina ionad sin in ann díriú ar Meicnic an CT féin.

Liostaí Saincheaptha:

CT with columns of type "lookup" point to a custom list or document library. We use this extensively and for the sandbox, we created one supporting custom list that contains customers. We picked customers because it’s an easy concept to understand and easy to demonstrate. The Invoice CT has a column, "customer" that is defined of type "lookup" that points at this list.

We created a similar custom list to manage "vendors" for the "Purchase Order" CT.

Leabharlanna Doiciméad:

Cruthaithe againn dhá leabharlann doiciméad: "Invoices" and "Mixed Documents".

We configured the invoices document library to manage only documents of CT type "Invoice".

We configured the "Mixed Documents" leabharlann a bhainistiú go léir trí CT ar.

Cruthaigh roinnt tuairimí a léiríonn sórtáil, scagadh, bileog sonraí agus grúpáil.

Cuardaigh:

Sainmhínithe againn dhá mhaoin nua a bhainistiú agus a mhapáil iad a Uimhir Sonraisc agus Custaiméara.

We created a new customized advance search site and modified it to enable users to search for "invoices" baint úsáide as na dhá airí mapáilte.

Athraigh an XSLT ionas go mbeidh an sonrasc agus uimhir chustaiméara, nuair i láthair, appear in an HTML table in a bright color. The objective here is to demonstrate that such formatting is possible.

A chur go léir le chéile:

Socrú a dhéanamh againn d'úsáideoirí eochair chun páirt a ghlacadh i taispeána.

Leanann muid an script simplí:

  1. Déan cur síos ar an bhrí agus cuspóir CT, sonraisc agus orduithe ceannaigh a úsáid mar shamplaí.
  2. Taispeáin an sainmhíniú CT sonrasc agus a dhearbhú ag an am céanna dóibh nach bhfuil gá leo a úsáid na scáileáin féin, ach Pioc suas na coincheapa.
  3. Téigh go dtí an leabharlann doiciméad sonraisc.
  4. Uaslódáil doiciméad.
  5. A léiriú go bhfuil an custaiméir titim síos-foinsithe i ndáiríre ó liosta saincheaptha.
  6. Cuir le custaiméir nua leis an liosta do chustaiméirí agus ansin sonraí meta an sonrasc uaslódáil le déanaí leis an gcustaiméir nuachruthaithe thabhairt cothrom le dáta.
  7. Switch to the "mixed documents" library and upload a document. Explain how the system prompts for a document type.
  8. Go back to invoices document library and show how clicking on a column name changes sort order.
  9. Taispeáin scagadh colún-leibhéal.
  10. Taispeáin tuairimí difriúla a léiríonn sórtáil il-leibhéil, scagadh agus grúpáil.
  11. Taispeáin an dearcadh mbileog sonraí.
  12. Explain the purpose of a "untagged documents" féachaint ar.
  13. Athraigh go dtí an cuardach saincheaptha chun cinn.
  14. De réir anois, Ba chóir an doiciméad a uaslódáil le déanaí a bheith crawled agus innéacsú, mar sin a dhéanamh cuardach a léiríonn cumas a aimsiú go sonrasc tríd an maoin mapáilte.
  15. Léiriú againn ar an difríocht idir cuardach trí airíonna mapáilte vs. ach text search.

Ag an bpointe seo, we are more or less done with the demo. It seems to take about 30 go 45 nóiméad, ag brath ar cé mhéad ceisteanna a iarraidh ar dhaoine.

We then send them back to their desks with "homework". This consists of a simple excel spreadsheet where we ask them to define for us what they think they need in terms of CT’s, ag leibhéal ard (ach ainm agus cuspóir gnó) as well as columns and type of data they would store in the column. We don’t ask them to define column data types in MOSS terms, but business terms.

I Achoimre:

We’ve created a sandbox environment that we can use to demonstrate some core MOSS features whose appeal are enterprise-wide.

We have modeled easily understood and common business entities so that users can focus on MOSS and not get bogged down on the entities / samplaí iad féin.

Business users walk away from theses sessions with "homework" i bhfoirm doiciméid ar fheabhas a bhfuil siad inniúil a líonadh amach agus a úsáid le haghaidh a dhearadh a n-cineálacha ábhar den chéad gearrtha féin anois.

Mar fhocal scoir, mar a dhéanamh linn demos le himeacht ama, bheith ina gcomhaltaí foirne an chliaint iad féin níos mó in ann a chur ar aghaidh, a dhéanamh ar an taispeántas ar iad féin agus go ginearálta saor in aisce suas an chuid eile againn suas chun oibriú ar shaincheisteanna níos casta, cosúil le tacsanomaíocht domhanda, sreabhadh oibre casta, BDC agus a leithéidí.

CAONAIGH: Sampla Feidhme - Saincheaptha Cineál Sonraí

Cás Gnó:

Bhfeidhm ar fud na fiontraíochta de MOSS do comhlacht déantúsaíochta le 30+ láithreáin agus cúpla dosaen ranna corparáideach.

Gnó Cuspóir:

In ainneoin an iliomad grúpaí gnó (ranna, suímh, etc), Ba chóir sonraí áirithe a chothabháil ag an leibhéal domhanda. Mar shampla, liosta máistir údarásach de gach suíomh coirp de chuid na cuideachta (e.g. áiseanna déantúsaíochta, ionaid stóras, oifigí díolacháin) Ba chóir a choinneáil i suíomh lárnach.

Fadhb Teicniúil:

Cuireadh an tacsanomaíocht fiontraíochta i bhfeidhm ag baint úsáide as bailiúcháin suíomh il. Ba mhaith linn a thaitin a chruthú ar an liosta údarásach de láithreacha fisiciúil i liosta SSU saincheaptha. Ansin,, nuair is gá dúinn a bheith colún i ndáil le cineál ábhar (nó colún a chur le liosta nó leabharlann doc) go suímh corparáideach atá, we would create a column using the "lookup" Cineál sonraí daingean agus pointe leis an liosta máistir.

Ar an drochuair, lookup datatypes must access a source list "locally" rud a chiallaíonn nach féidir ár liosta údarásach span bailiúcháin láithreán.

Réiteach Teicniúil:

Chur i bhfeidhm i ndáil le cineál sonraí a saincheaptha nua i bhfeidhm bunaithe ar SPField agus ionadaíocht mar DropDownList sa Chomhéadain bhfuil ListItems populate ón liosta SFP máistir.

Cruthaithe againn bailiúchán láithreán nua ar a dtugtar "http://localhost/EnterpriseData". Tá, we created a custom list named "Corporate Locations". This list just uses the standard "Title" réimse go bhfuil an liosta de na suímh corparáideach iarbhír.

Seo a leanas roinnt céimeanna a hAon scoite a chruthú cineál sonraí a saincheaptha i SSU. Tá siad:

  1. Sainmhínigh rang a oidhreacht ó SPField (d'fhéadfadh ceann amháin hoidhreacht ó réimsí eile más gá).

Seo é an cód don:

poiblí ranga XYZZYCorporateLocationField : SPFieldText
{
poiblí XYZZYCorporateLocationField
(SPFieldCollection réimsí, teaghrán typeName, teaghrán displayName)
: bonn(réimsí, typeName, displayName) { }

poiblí XYZZYCorporateLocationField
(SPFieldCollection réimsí, teaghrán displayName)
: bonn(réimsí, displayName) { }

poiblí shárú BaseFieldControl FieldRenderingControl
{
fháil
{
BaseFieldControl control = nua XYZZYCorporateLocationFieldControl();
control.FieldName = seo.Ainm Inmheánach;
ar ais control;
} //fháil
} // fieldrenderingcontrol

poiblí shárú teaghrán GetValidatedString(réad luach)
{
más rud é (seo.Required || value.ToString().Cothrom(Teaghrán.Folamh))
{
caith nua SPFieldValidationException ("Department is not assigned.");
}
ar ais bonn.GetValidatedString(luach);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. Sainmhínigh rang eile a fhaigheann ó rialú réimse bonn, mar atá i:

poiblí ranga XYZZYCorporateLocationFieldControl : BaseFieldControl
{
chosaint DropDownList XYZZYCorporateLocationSelector;

chosaint shárú teaghrán DefaultTemplateName
{
fháil
{
ar ais "XYZZYCorporateLocationFieldControl";
}
} // DefaultTemplateName

poiblí shárú réad Luach
{
fháil
{
EnsureChildControls();
ar ais seo.XYZZYCorporateLocationSelector.SelectedValue;
} // fháil
leagan
{
EnsureChildControls();
seo.XYZZYCorporateLocationSelector.SelectedValue = (teaghrán)seo.ItemFieldValue;
} // leagan
} // override object Value

chosaint shárú neamhní CreateChildControls()
{

más rud é (seo.Field == náid || seo.ControlMode == SPControlMode.Taispeáin)
ar ais;

bonn.CreateChildControls();

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

más rud é (seo.XYZZYCorporateLocationSelector == náid)
caith nua Eisceacht("ERROR: Cannot load .ASCX file!");

más rud é (!seo.Page.IsPostBack)
{

ag baint úsáide as (SPSite site = nua SPSite("http://localhost / enterprisedata"))
{
ag baint úsáide as (SPWeb web = site.OpenWeb())
{

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

foreach (Spit XYZZYCorporateLocation i currentList.Items)
{
más rud é (XYZZYCorporateLocation["Title"] == náid) leanúint;

teaghrán theTitle;
theTitle = XYZZYCorporateLocation["Title"].ToString();

seo.XYZZYCorporateLocationSelector.Items.Add
(nua ListItem(theTitle, theTitle));

} // foreach

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

} // if not a postback

} // CreateChildControls

} // XYZZYCorporateLocationFieldControl

An gcód thuas i bhfeidhm go bunúsach leis an loighic phobalú an DropDownList le luachanna ón liosta saincheaptha SFP suite ag http://localhost/enterprisedata and named "Corporate Departments".

Sainmhínithe mé an dá rang i gcomhad cs amháin., chéile é agus chuir sé isteach ar an GAC (láidir ag teastáil, ar ndóigh).

  1. A chur i bhfeidhm teimpléad rialaithe (.ascx) mar a thaispeántar:

<%@ Rialú Teanga="C#" Inherits="Microsoft.SharePoint.Portal.ServerAdmin.CreateSiteCollectionPanel1,Microsoft.SharePoint.Portal,Leagan = 12.0.0.0, Cultúr = neodrach,PublicKeyToken = 71e9bce111e9429c" compilationMode="Always" %>
<%
@ Cláraigh Tagprefix="wssawc" Ainmspás="Microsoft.SharePoint.WebControls" Tionól="Microsoft.SharePoint, Leagan = 12.0.0.0, Cultúr = neodrach, PublicKeyToken = 71e9bce111e9429c" %> <%@ Cláraigh Tagprefix="SharePoint" Ainmspás="Microsoft.SharePoint.WebControls" Tionól="Microsoft.SharePoint, Leagan = 12.0.0.0, Cultúr = neodrach, PublicKeyToken = 71e9bce111e9429c" %>
<SharePoint:Teimpléad Rindreála ID="XYZZYCorporateLocationFieldControl" runat="server">
<Teimpléad>
<asp:DropDownList ID="XYZZYCorporateLocationSelector" runat="server" />
</Teimpléad>
</
SharePoint:Teimpléad Rindreála>

An thuas shábháil i c:\comhaid clár comhaid coitianta Microsoft roinnte síntí fhreastalaí gréasáin 12 controltemplates.

  1. Mar fhocal scoir, linn a chruthú comhad XML a shábháil isteach sa ..... 12 XML eolaire. Tá sé seo CAML a shainmhíníonn ár cineál sonraí saincheaptha agus do mo mar shampla, Breathnaíonn mar seo:

<?xml leagan="1.0" ionchódú="utf-8" ?>
<
FieldTypes>
<
FieldType>
<
Réimse Ainm="TypeName">CorporateLocations</Réimse>
<
Réimse Ainm="ParentType">Téacs</Réimse>
<
Réimse Ainm="TypeDisplayName">Corporate Locations</Réimse>
<
Réimse Ainm="TypeShortDescription">All XYZZY Corporate locations including manufacturing or other facilities.</Réimse>
<
Réimse Ainm="UserCreatable">TRUE</Réimse>
<
Réimse Ainm="ShowInListCreate">TRUE</Réimse>
<
Réimse Ainm="ShowInDocumentLibraryCreate">TRUE</Réimse>
<
Réimse Ainm="ShowInSurveyCreate">TRUE</Réimse>
<
Réimse Ainm="ShowInColumnTemplateCreate">TRUE</Réimse>
<
Réimse Ainm="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, Leagan 1.0.0.0 =, Cultúr = neodrach, PublicKeyToken=b0b19e85410990c4</Réimse>
<
RenderPattern Ainm="DisplayPattern">
<
Athraigh>
<
Expr>
<
Colún />
</
Expr>

<Cás Luach=""/>

<Réamhshocrú>
<
HTML>
<![CDATA[
<span style="color:Red"><b>]]>
</
HTML>

<
Colún SubcolumnNumber="0" HTMLEncode="TRUE"/>

<HTML><![CDATA[</b></réise>]]></HTML>

</
Réamhshocrú>
</
Athraigh>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
This XML file adds the custom data type to the WSS "library" agus oireann sé suas i gcoinne an tionól GAC'd.

Tar éis bogadh go léir na píosaí i bhfeidhm, iisreset ar an fhreastalaí agus ba chóir dó tús go léir ag obair nicely.

CAONAIGH: Thabhairt cothrom le dáta liosta saincheaptha

Tá samplaí maithe go leor de thabhairt cothrom le dáta liostaí saincheaptha tríd an SDK. Anseo tá eile fós.

Fadhb Gnó: Tá foirm InfoPath deartha a chuireann ar chumas úsáideoirí a chur isteach foréilimh a cheannach ar líne. Ba chóir go mbeadh líon Foréileamh PO luachanna slánuimhir atá bunaithe ar ord traidisiúnta agus ríomh go huathoibríoch.

Réiteach Gnó: Cruthaigh liosta MOSS saincheaptha ina dhá cholún: "ControlField" and "ControlValue". Tá an colún luach an uimhir foréileamh cheannach eile. Note that the generic "control" ainmniú coinbhinsiún foráil do réimsí rialaithe sa todhchaí is féidir a úsáid mar is gá.

Réiteach Teicniúil: Cruthaigh seirbhís gréasáin rochtain ag an gcliant InfoPath. Filleann an tseirbhís idirlín ar ais an uimhir foréileamh cheannach eile agus cothrom le dáta ar an luach an liosta.

Ceachtanna a Foghlaimíodh:

  • Nuair a chur leis an tseirbhís seo gréasáin mar fhoinse do na sonraí ar an bhfoirm InfoPath, Fuair ​​mé gur gá é a thiontú go le UDC agus é a stóráil i leabharlann nasc sonraí.
  • Chinn mé freisin sé riachtanach chun a chumasú tras fearainn scriptithe trí sheirbhísí lárnacha riaracháin // bainistíochta i bhfeidhm // cumraíocht freastalaí fhoirm.
  • An chéad uair a rinne an bhfoirm teacht ar an tseirbhís idirlín, a thógann sé ar feadh tamaill agus ar ócáid, Bheadh ​​sé am amach. Fiddled mé le suímh i gcumraíocht freastalaí fhoirm a leathnú na socruithe Teorainn ama agus go bhfuil an chuma chun cabhrú le.

An Cód:

ag baint úsáide as Córas;
ag baint úsáide as System.Web;
ag baint úsáide as System.Web.Services;
ag baint úsáide as System.Web.Services.Protocols;
ag baint úsáide as Microsoft.SharePoint;
ag baint úsáide as System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
poiblí ranga PoService : System.Web.Services.WebService
{
poiblí PoService () {

//Uncomment the following line if using designed components
//InitializeComponent();
}

/// <achoimre>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </achoimre>
/// <tuairisceáin></tuairisceáin>
[WebMethod]
poiblí teaghrán GetNextPoNumber()
{
teaghrán SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
teaghrán SpPoControlListName; // Name of the actual MOSS list containing the Po control.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

teaghrán nextPoReqNumber = "xyzzy";

ag baint úsáide as (SPSite site = nua SPSite(SpPoControlSiteName))
{
ag baint úsáide as (SPWeb web = site.OpenWeb())
{

SPList currentList = web.Lists[SpPoControlListName];

foreach (Spit controlItem i currentList.Items)
{

más rud é (((teaghrán)controlItem["ControlField"]).Cothrom("NextPoNumber"))
{
nextPoReqNumber = (teaghrán)controlItem["ControlValue"];

int int_nextPoReqNumber;
int_nextPoReqNumber = Tiontaigh.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}

} // Locating, reading and updating the PO number in the list.


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

ar ais nextPoReqNumber;

}
}