வகை பதிவுகள்: ஷேர்பாயிண்ட்

மர்மமான ஷேர்பாயிண்ட் பிழைகள் பழுதுபார்த்தல் எப்படி.

கண்ணோட்டம்:

விண்டோஸ் ஷேர்பாயிண்ட் சேவைகள் தனிபயன் செயல்பாடு வளரும் போது சரி கடினம் 3.0 (WSS) அல்லது மைக்ரோசாப்ட் ஆபீஸ் ஷேர்பாயிண்ட் சர்வர் (பாசி). 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.

நான் இல்லையென்றால் மர்மமான பிழைகளை தீர்க்க பெரிய வெற்றியை இந்த நுட்பத்தை பயன்படுத்த வேண்டும்.

அணுகுமுறை:

ஷேர்பாயிண்ட் ஒரு பதிவு கோப்பில் ஒரு பகுப்பாயும் பதிவு தகவல்களை ஒரு பெரிய ஒப்பந்தம் சேமிக்கிறது 12 செயற்கை தேன் கூடு.

The "12 hive" is usually located at "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12". (அது சாத்தியம் என்றால் நான் நிச்சயமாக இல்லை 12 வேறு எங்கும் வாழ ஹைவ், உண்மையில்).

யோசனை தற்போதைய பதிவு கோப்பு கண்டறிய வேண்டும், 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.
  • நகலெடுத்து MS Excel-இல் நன்றாக ஒட்டவும்.

எனக்கு பிடித்த முறை:

  1. சுட்டிக்காட்டும் ஒரு விண்டோஸ் எக்ஸ்ப்ளோரர் திறந்து 12 ஹைவ் பதிவுகள்.
  2. மாற்றப்பட்ட தேதி காண்பிக்க காட்சி வரிசைப்படுத்த (முதல் மிக அண்மைய).
  3. மிகவும் தற்போதைய பதிவு கோப்பு முன்னிலைப்படுத்த.
  4. ஒரு இணைய உலாவி விண்டோவில், பிழை ஏற்படும் கட்டாயப்படுத்த.
  5. விரைவில் தற்போதைய பதிவு கோப்பு திறக்க மற்றும் MS Excel-அதன் உள்ளடக்கங்களை நகலெடுக்க.
  6. இறுதியில் தாவி செல்லவும் மற்றும் தொடர்புடைய உள்ளீடுகளை ஆய்வு.

பிற குறிப்புகள்:

முன்னிருப்பாக, சோதனை பதிவு அமைந்துள்ளது 12 ஹைவ் பதிவுகள் அடைவு.

எம் சிறந்த நடைமுறைகள் (மைக் டி படி. மைக்ரோசாப்ட்) 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, இதில் நீங்கள் வெளிப்படையாக இயல்புநிலை பதிலாக அங்கு பதிவு கோப்பு கண்டுபிடிக்க வேண்டும் என்று 12 ஹைவ் இடம்).

இந்த நுழைவு போன்ற பிரச்சினைகள் முகவரிகள்:

  • ஷேர்பாயிண்ட் முறையை அக பிழை காரணமாக தொடங்குவதில் தோல்வியடைந்தது.
  • (மேலும் காலப்போக்கில் சேர்க்க வேண்டும்)
  • இந்த இடுகை முறையை பிழைகள் பயனுள்ளதாக கண்டறிவதற்கு (E.G. "The workflow failed to start due to an internal error").

பாசி: ஒரு அமைப்பின் பயனுள்ள அறிமுகம்

(இந்த நுழைவு குறுக்கு இடையே posted http://paulgalvin.spaces.live.com/blog/ மற்றும் http://blogs.conchango.com)

இந்த தளத்தில் பதிப்புக்கள் என் சொந்த மற்றும் அவசியம் Conchango நிலைகள் பிரதிநிதித்துவம் இல்லை, உத்திகள் அல்லது கருத்துக்களை.

கண்ணோட்டம்:

இந்த இடுகை ஒரு பெரிய சில பின்னணி தகவல்கள் விவரிக்கிறது (3,000 பயனர்) மைக்ரோசாப்ட் ஆபீஸ் ஷேர்பாயிண்ட் சர்வர் (பாசி) 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, நாங்கள் சுமார் இருக்கிறோம் 50% complete with the first phase of the project. As things progress, நான் இந்த இடுகை புதுப்பிக்க மற்றும் / அல்லது புதிய பதிவுகளை எழுதி தருகிறேன்.

இந்த குறிப்பிட்ட வழக்கில், 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. As you can imagine, இந்த சிறந்த மாற்றுவதற்கான வியூகத்தை இல்லை (வாடிக்கையாளர் உடனடியாக ஒப்பு கொண்ட) மற்றும் பாசி காட்சி வந்தபோது, the client resolved to "do it right" மற்றும் அவர்களுக்கு உதவி செய்ய எங்களுக்கு வாடகைக்கு.

நாங்கள் இந்த திட்டத்தை செயல்படுத்த தொடங்கிய போது நாம் எதிர்கொள்ளும் மத்திய கேள்விகள் ஒருவராவார்: எப்படி நாம் இந்த வாடிக்கையாளருக்கு பாசி அறிமுகம்? Given that the client already had experience with SharePoint, நாம் வியந்து — do we need to do "differential" பயிற்சி அல்லது நாம் தரையில் இருந்து தொடங்க வேண்டும்? 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, ஆவணம் மேலாண்மை, தேடல், பாதுகாப்பு, இலக்கு பார்வையாளர்கள், திட்ட மேலாண்மை, "fabulous forty" வார்ப்புருக்கள், பணிப்பாய்வு, வணிக தரவு இணைப்பு, முதலியன. Couple this with the fact that it’s a large organization that முடியும் உண்மையிலேயே ஒவ்வொரு முக்கிய பாசி அம்சத்தை பயன்படுத்த நீங்கள் நடந்து ஒரு நிறுவன ரீச் மற்றும் பல நல்ல விஷயங்களை கொண்ட ஒரு பெரிய திட்டம் வர.

நாங்கள் மீண்டும் இந்த பிரச்சினை நேரம் மற்றும் நேரம் எதிர்கொள்ளும் … பாசி அதன் நிறுவன அம்சம் தொகுப்புடன் ஒரு நிறுவன சென்றடையும் உள்ளது, இன்னும் கூட ஓரளவு அதிநவீன வாடிக்கையாளர்களுக்கு மன அந்த அம்சங்கள் உறிஞ்சும் ஒரு கடினமான நேரம், அவர்களது தினசரி அவற்றை ஒரு பாராட்டத்தக்க பகுதியை சேர்த்துக்கொள்வதன் ஒருபுறம்.

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.

நோக்கம்:

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" மோசமாக உள்ளது. உண்மையில், the "less" that we decided for the initial rollout was miles ahead of where they were before we started. எங்கள் வழக்கு, the "less" மாறியது:

  • ஆவணம் நூலகங்களை பயன்படுத்தி எளிய ஆவண மேலாண்மை, version control and content types.
  • உள்ளடக்கத்தை வகைகள் மற்றும் சிறப்பு முன்கூட்டியே தேடல் அடிப்படையில் பயனுள்ள தேடல் (மேலாண்மை பண்புகள் வழியாக, எக்ஸ்எஸ்எல்டி அழகான முடிவுகளை உருவாக்க, முதலியன).

மேலே நிறுவன அளவிலான அம்சங்கள் கூடுதலாக (அவர்கள் அனைத்து துறைகள் மற்றும் பயனர்கள் பரவியது வேண்டும் என்று பொருள்), நாம் பின்வரும் ஒற்றை ல் நோக்கம் சிறு திட்டங்களை சேர்க்க:

  • கருத்து BDC ஒருங்கிணைப்பு ஆதாரம்.
  • சமூக ஜனநாயக கட்சி வழியாக உருவாக்கப்பட்ட பல படி பல கிளை முறையை செயல்முறை.
  • சிக்கலான InfoPath வடிவம்.
  • சில வணிக செயல்முறை KPI இன் வெளிக்கொணர்தல் (நம் வழக்கில் ஒருவேளை அலுவலக திறமை கையகப்படுத்தல், என்று மாற்றலாம் என்று).

இங்கு நோக்கம் அல்ல 100% accurate but representative of our approach and sufficient for my purpose here, which is to explain what I consider to be an "effective" முழு பாசி தத்தெடுப்பு உறுதியாக தங்க பாதையில் வாடிக்கையாளர் அமைக்க வேண்டும் என்று பாசி அறிமுகம்.

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. எனினும், they will be "out there" மற்றும் ஒரு மற்ற வணிக அலகுகள் தங்களை அந்த அம்சங்களை தெரிந்து அல்லது அவர்களை பற்றி அறிய மற்றும் வேண்டும் என்று நம்புகிறது, leading to greater adoption. These singleton success stories also serve to provide our sales team "ammunition" வெற்றிகரமாக இரண்டாவது பெறுவதற்கான, third and n-phase projects.

நாங்கள் என்ன அறிமுகம் மற்றும் ஏன்?

ஒரு அடிப்படை நிறுவன அளவிலான தேவையாக ஆவணம் மேலாண்மை மற்றும் தேடல் தீர்வு, we needed to start gathering details. As a practical matter, இந்த தங்கள் ஆவணங்களை புரிந்து சுற்றி நடக்கும் நிகழ்வுகளை அது இறுதியில் உள்ளடக்க வகைகளை புரிந்து பொருத்தப்பட்ட.

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, இது பத்திகள் மற்றும் பத்திகள் தரவு வகையான வரையறுக்கப்படுகிறது, ஆனால் CT தரவு வகைகள் எளிய முழு / தேதி விட அடங்கும், but also "choice" and "lookup" and the like." We can talk about "extending" உள்ளடக்க வகைகளை, 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. அதாவது,, ஒரு பாசி சந்தைகளில் உள்ள முக்கியமானது என்று கிட்டத்தட்ட எல்லோரும்.

Using a white board is iffy. I’ve presented the idea of a content type and drawn brilliant (அல்லது அவர்கள் தெரிகிறது) உள்ளடக்கத்தை வகையான படங்கள் மற்றும் அவர்கள் தேடல் வகையில் நீங்கள் செய்ய எப்படி அவர்கள் விரிவாக்க முடியும், முதலியன. முடிவில், சில ஒளி விளக்குகள் மீது திரும்பியது போல் இது தோன்றுகிறது, but the resulting white board picture is a mess.

இந்த நமது தற்போதைய இதுவரை மிகவும் பயனுள்ள இறங்கும் இடத்தில் நம்மை இட்டு: ஒரு பாசி சேண்ட்பாக்ஸ்க்கு தளத்தில் இந்த அம்சங்கள் காட்ட கட்டமைக்கப்பட்ட.

சேண்ட்பாக்ஸ்க்கு தளத்தில் பயன்படுத்தி, நாங்கள் ஆர்ப்பாட்டம்:

  • உள்ளடக்க வகைகள்:
    • பல தரவு வகைகளை ஒரு CT உருவாக்குதல் (உரை, தேதி, தேர்வு, பூலியன், தேடுதல், முதலியன).
    • ஒரு பெற்றோர் அடிப்படையில் ஒரு புதிய CT உருவாக்குவதன் மூலம் ஒரு CT விரிவாக்கும்.
    • CT மெட்டா பயன்படுத்தி ஆவணங்களை தேடுகிறது.
  • ஆவண நூலகங்கள்:
    • நூலகம் ஒரு ஒற்றை CT தொடர்புபடும்.
    • நாங்கள் அந்த நூலகம் ஒரு ஆவணத்தை பதிவேற்ற போது என்ன நடக்கிறது?
    • ஒரு ஆவணத்தை நூலகம் பல மின்மாற்றியின் தொடர்புபடும்.
    • நாங்கள் அந்த நூலகம் ஒரு ஆவணத்தை பதிவேற்ற போது என்ன நடக்கிறது?
    • ஒரு ஆவணத்தை lib உள்ள நிரலை தலைப்புகள் வழியாக வடிகட்டி மற்றும் வரிசைப்படுத்த.
    • ஆவண நூலகம் காட்சிகள்:
      • வரிசையாக்க
      • குழுக்கள்
      • "Quick entry" (தரவு தாள் பார்வை)
      • "Untagged data" (மற்ற உள்ளடக்க ஆதாரங்களில் இருந்து பாசி நகர்த்தல் உதவி; மேலும் இந்த கீழே உள்ள).

சாண்ட்பாக்ஸ் தள:

நாங்கள் திட்டத்தை முடிக்க மற்றும் விவரித்தார் பல சிக்கல்களை உள்ளடக்கியது பிறகு நீண்ட பயிற்சி நோக்கங்களுக்காக பயன்படுத்தப்படும் வளர்ச்சி சூழலில் ஒரு நிரந்தர அம்சம் இருக்கும் எங்கள் சேண்ட்பாக்ஸ்க்கு தளம் வடிவமைக்கப்பட்டுள்ளது:

உள்ளடக்க வகைகள்:

நாம் பின்வரும் உள்ளடக்க வகைகளை வரையறுக்கப்பட்ட: பொருள் விவரப்பட்டியல், ஆர்டர் வாங்க, சேவைகள் விலைப்பட்டியல்.

அவர்கள் ஏறக்குறைய உலகளவில் கீழ் ஏனெனில் நாம் விலைப்பட்டியல் மற்றும் கொள்முதல் ஆணை தேர்வு
stood entities. Everyone in business understands that an invoice is a demand for payment to a வாடிக்கையாளர் ஒரு ஐந்து அளவு ஒரு குறிப்பிட்ட வழங்கப்பட்டது தேதி சில படி செலுத்த வேண்டும் கட்டணம் செலுத்துதல் விதிகள். This leads to a natural definition of a CT which we called "Training Invoice" (விலைப்பட்டியல் எந்த வகையான இருந்து வேறுபடுத்தி). 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 மற்றும் ஒரு நிரலை சேர்க்க, "services rendered".

மேற்கண்ட, நாம் இப்போது முதல் ஒரு கருத்து விளக்க முயற்சி அளித்தது ஆட்டம் மின்மாற்றியின் சில முக்கிய அம்சங்கள் நிரூபிக்க முடியும்; everyone already understands what we mean by "invoice" and "purchase order" அதற்கு பதிலாக CT தன்னை இயக்கவியல் கவனம் செலுத்த முடியும்.

விருப்ப பட்டியல்:

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.

ஆவண நூலகங்கள்:

நாங்கள் இரண்டு ஆவணம் நூலகங்கள் உருவாக்கப்பட்டது: "Invoices" and "Mixed Documents".

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

We configured the "Mixed Documents" மூன்று மின்மாற்றியின் நிர்வகிக்க நூலகம்.

வரிசையாக்க காட்ட பல காட்சிகள் உருவாக்க, வடிகட்டி, தரவு தாள் மற்றும் தொகுத்தல்.

தேடல்:

நாங்கள் இரண்டு புதிய மேலாண்மை பண்புகள் வரையறுக்கப்பட்ட மற்றும் விலைப்பட்டியல் எண் மற்றும் வாடிக்கையாளர் அவற்றை ஒப்பிடப்படுகிறது.

We created a new customized advance search site and modified it to enable users to search for "invoices" அந்த இரண்டு திடமிட்ட பண்புகளை பயன்படுத்தி.

எக்ஸ்எஸ்எல்டி மாற்றவும் என்று விலைப்பட்டியல் மற்றும் வாடிக்கையாளர் எண்ணிக்கை, போது தற்போதைய, appear in an HTML table in a bright color. The objective here is to demonstrate that such formatting is possible.

ஒன்றாக இது அனைத்து போடுவதை:

முக்கிய செய்த ஒரு டெமோ பங்கேற்க நாம் ஏற்பாடு.

நாம் இந்த எளிய ஸ்கிரிப்ட் பின்பற்ற:

  1. ஒரு CT பொருள் மற்றும் நோக்கம் விவரிக்க, உதாரணங்கள் என பொருள் மற்றும் கொள்முதல் ஆணைகளில் பயன்படுத்தி.
  2. ஒரே நேரத்தில் அவர்கள் அந்த திரைகள் தங்களை பயன்படுத்த வேண்டாம் என்று அவர்களுக்கு உத்தரவாதம் போது விலைப்பட்டியல் CT வரையறை காட்டு, வெறும் கருத்துக்கள் அழைத்து.
  3. பொருள் ஆவணம் நூலகம் சென்று.
  4. ஒரு ஆவணத்தை பதிவேற்ற.
  5. வாடிக்கையாளர் கீழ் உண்மையில் விருப்ப பட்டியலில் இருந்து தயாரிக்கப்படுகிறது என்று நிரூபணம்.
  6. வாடிக்கையாளர் பட்டியலில் ஒரு புதிய வாடிக்கையாளர் சேர்க்க பின்னர் புதிதாக உருவாக்கப்பட்ட வாடிக்கையாளருடன் சமீபத்தில் பதிவேற்றிய விலைப்பட்டியல் மெட்டா தரவு புதுப்பிக்க.
  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. நிரலை நிலை வடித்தல் ஆர்ப்பாட்டம்.
  10. பல நிலை வரிசையாக்க விளங்கப்படுத்தும் வேறுபட்ட பார்வைகள் காட்டு, வடிகட்டி மற்றும் குழுக்கள்.
  11. தரவு தாள் காட்சியை காண்பி.
  12. Explain the purpose of a "untagged documents" பார்க்க.
  13. சிறப்பு மேம்பட்ட தேடல் மாற.
  14. இப்போது, சமீபத்தில் பதிவேற்றிய ஆவணம் கடக்கும்போது மற்றும் சட்டிகளை, எனவே திடமிட்ட சொத்து வழியாக என்று விலைப்பட்டியல் கண்டறிவது திறனை நிரூபிக்கிறது என்று ஒரு தேடல் செய்ய.
  15. நாம் Vs திடமிட்ட பண்புகள் வழியாக தேடி வித்தியாசம் ஆர்ப்பாட்டம். ஒரு உரை தேடல்.

இந்த கட்டத்தில், we are more or less done with the demo. It seems to take about 30 வேண்டும் 45 நிமிடங்கள், மக்கள் கேட்க எப்படி பல கேள்விகள் பொறுத்து.

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, உயர் மட்டத்தில் இரு (வெறும் பெயர் மற்றும் வணிக நோக்கத்திற்காக) 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.

சுருக்கமாக:

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 / உதாரணங்கள் தங்களை.

Business users walk away from theses sessions with "homework" அவர்கள் இப்போது பூர்த்தி செய்து தங்கள் முதல் வெட்டு உள்ளடக்க வகைகளை வடிவமைப்பு பயன்படுத்த தகுதிவாய்ந்த இவை Excel ஆவணங்களை வடிவில்.

இறுதியாக, நாம் காலப்போக்கில் செய்முறைகள் செய்ய என, வாடிக்கையாளர் குழு உறுப்பினர்கள் தங்களை முன்னோக்கி செல்ல இன்னும் முடிவதில்லை, டெமோ தான் தங்களை மிகவும் சிக்கலான பிரச்சினைகள் வேலை வரை நம்மை மீதமுள்ள வரை பொதுவாக இலவச செய்ய, இத்தகைய உலக வகைபிரித்தல் என்று, சிக்கலான வேலைப்பகிர்வுகள், BDC போன்ற.

பாசி: செயல்பாட்டு உதாரணம் - வழக்கமான தரவு வகை

வணிக நிலைத்தன்மை:

உற்பத்தி நிறுவனத்திற்கு பாசி நிறுவன அளவிலான செயல்படுத்த கூடிய 30+ தளங்கள் மற்றும் ஒரு சில டஜன் பெருநிறுவன துறைகள்.

வணிக நோக்கம்:

வணிக குழுக்கள் ஒரு கூட்டம் போதிலும் (துறைகள், இடங்கள், முதலியன), குறிப்பிட்ட தரவு உலக அளவில் பராமரிக்கப்படுகிறது. எடுத்துக்காட்டாக, நிறுவனத்தின் அனைத்து உடல் இடங்களில் ஒரு அதிகார மாஸ்டர் பட்டியல் (E.G. உற்பத்தி வசதிகள், கிடங்கு இடங்களில், விற்பனை அலுவலகங்கள்) ஒரு மைய இடம் பராமரிக்கப்படும்.

தொழில்நுட்ப சிக்கல்:

நிறுவன வகைபிரித்தல் பல தளத்தில் தொகுப்புகளை பயன்படுத்தி செயல்படுத்தப்பட்டது. நாம் ஒரு விருப்ப WSS பட்டியலில் உடல் இடங்களில் அதிகார பட்டியலில் உருவாக்க விரும்பினார். அப்பொழுது, நாம் ஒரு உள்ளடக்க வகை ஒரு பத்தியில் வேண்டும் தேவைப்படும் போது (அல்லது ஒரு பத்தியில் ஒரு பட்டியல் அல்லது ஆவணம் நூலகம் சேர்க்கப்பட்டது) என்று அடங்கியுள்ள பெருநிறுவன இடங்களில், we would create a column using the "lookup" இந்த மாஸ்டர் பட்டியலில் டேட்டாடை மற்றும் புள்ளி.

துரதிருஷ்டவசமாக, 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 ஒரு விருப்ப தரவு வகை உருவாக்க பல தனித்த படிநிலைகளில் பின்வருமாறு. அவர்கள்:

  1. SPField இருந்து மரபுரிமையாக ஒரு வர்க்கம் வரையறுக்க (தேவைப்பட்டால் ஒரு மற்ற துறைகளில் இருந்து மரபுரிமையாக இருக்கலாம்).

இங்கே அந்த குறியீடு உள்ளது:

பொது வர்க்கம் XYZZYCorporateLocationField : SPFieldText
{
பொது XYZZYCorporateLocationField
(SPFieldCollection துறைகள், மாலை typeName, மாலை displayName)
: அடித்தளம்(துறைகள், typeName, displayName) { }

பொது XYZZYCorporateLocationField
(SPFieldCollection துறைகள், மாலை displayName)
: அடித்தளம்(துறைகள், displayName) { }

பொது புறக்கணி BaseFieldControl FieldRenderingControl
{
கிடைக்கும்
{
BaseFieldControl control = புதிய XYZZYCorporateLocationFieldControl();
control.FieldName = இந்த.InternalName;
மீண்டும் control;
} //கிடைக்கும்
} // fieldrenderingcontrol

பொது புறக்கணி மாலை GetValidatedString(இலக்கு மதிப்பு)
{
என்றால், (இந்த.Required || value.ToString().சமம்(மாலை.காலியான))
{
போடு புதிய SPFieldValidationException ("Department is not assigned.");
}
மீண்டும் அடித்தளம்.GetValidatedString(மதிப்பு);
} // getvalidatedstring

} // XYZZYCorporateLocation

  1. துறையில் கட்டுப்பாட்டை வரையறுக்கப்பட்ட அடிப்படை இருந்து பரம்பரை என்று மற்றொரு வர்க்கம், போன்ற:

பொது வர்க்கம் 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://லோக்கல் ஹோஸ்ட் / enterprisedata"))
{
பயன்படுத்தி (SPWeb web = site.OpenWeb())
{

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

foreach (SPItem 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 உருவாக்குகிறது தர்க்கத்தை செயல்படுத்துகிறது http://localhost/enterprisedata and named "Corporate Departments".

நான் ஒரு ஒற்றை. Cs கோப்பில் இரண்டு வகுப்புகள் வரையறுக்கப்பட்ட, இது தொகுக்கப்பட்ட மற்றும் காக் அதை வைத்து (தேவையான வலுவான, நிச்சயமாக).

  1. ஒரு கட்டுப்பாட்டு டெம்ப்ளேட் செயல்படுத்த (.ஏஎஸ்சிஎக்ஸ்) காட்டப்பட்டது:

<%@ கட்டுப்படுத்த மொழி="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" %>
<ஷேர்பாயிண்ட்:RenderingTemplate ஐடி="XYZZYCorporateLocationFieldControl" runat="server">
<டெம்ப்ளேட்>
<கட்டுவிரியன்:DropDownList ஐடி="XYZZYCorporateLocationSelector" runat="server" />
</டெம்ப்ளேட்>
</
ஷேர்பாயிண்ட்:RenderingTemplate>

மேலே கேட்ச் சேமிக்கப்படுகின்றன:\நிரல் கோப்புகள் பொதுவான கோப்புகள் மைக்ரோசாப்ட் பகிர்வு வலை சர்வர் நீட்சிகள் 12 controltemplates.

  1. இறுதியாக, நாம் ..... 12 பிற அடைவில் சேமிக்க ஒரு XML கோப்பு உருவாக்க. இது நம் விருப்ப தரவு வகை வரையறுக்கிறது என்று CAML மற்றும் என் எடுத்துக்காட்டாக, இந்த தெரிகிறது:

<?எக்ஸ்எம்எல் பதிப்பு="1.0" குறியாக்கம்="UTF-8" ?>
<
FieldTypes>
<
FieldType>
<
புலம் பெயர்="TypeName">CorporateLocations</புலம்>
<
புலம் பெயர்="ParentType">உரை</புலம்>
<
புலம் பெயர்="TypeDisplayName">Corporate Locations</புலம்>
<
புலம் பெயர்="TypeShortDescription">All XYZZY Corporate locations including manufacturing or other facilities.</புலம்>
<
புலம் பெயர்="UserCreatable">உண்மை</புலம்>
<
புலம் பெயர்="ShowInListCreate">உண்மை</புலம்>
<
புலம் பெயர்="ShowInDocumentLibraryCreate">உண்மை</புலம்>
<
புலம் பெயர்="ShowInSurveyCreate">உண்மை</புலம்>
<
புலம் பெயர்="ShowInColumnTemplateCreate">உண்மை</புலம்>
<
புலம் பெயர்="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, பதிப்பு = 1.0.0.0, கலாச்சாரம் = நடுநிலை, PublicKeyToken=b0b19e85410990c4</புலம்>
<
RenderPattern பெயர்="DisplayPattern">
<
மின்சார ஓட்டத்தை நிறுத்த உதவும்>
<
Expr>
<
பத்தி />
</
Expr>

<வழக்கு மதிப்பு=""/>

<தவறுதல்>
<
HTML>
<![CDATA[
<span style="color:Red"><ப>]]>
</
HTML>

<
பத்தி SubColumnNumber="0" HTMLEncode="உண்மை"/>

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

</
தவறுதல்>
</
மின்சார ஓட்டத்தை நிறுத்த உதவும்>

</
RenderPattern>
</
FieldType>
</
FieldTypes>
This XML file adds the custom data type to the WSS "library" மற்றும் GAC'd சட்டசபை எதிராக அது பொருந்தும்.

இடத்தில் இந்த பிட்டுகள் நகரும் பிறகு, சர்வரில் iisreset மற்றும் அனைத்து நன்றாக வேலை தொடங்க வேண்டும்.

பாசி: விருப்ப பட்டியல் புதுப்பித்தல்

SDK வழியாக விருப்ப பட்டியலை மேம்படுத்தும் பல நல்ல உதாரணங்கள் உள்ளன. இங்கே இன்னொரு உள்ளது.

வணிக சிக்கல்: InfoPath வடிவம் பயனர் ஆன்லைன் கொள்முதல் விவரங்கள் நுழைய உதவும் வடிவமைக்கப்பட்டுள்ளது. அஞ்சல் கோரிக்கை எண்கள் பாரம்பரிய வரிசை அடிப்படையிலான முழு எண் மதிப்புகள் இருக்க தானாக கணக்கிடப்படுகிறது வேண்டும்.

வணிக தீர்வு: இரண்டு பத்திகள் கொண்ட விருப்ப பாசி பட்டியல் உருவாக்க: "ControlField" and "ControlValue". மதிப்பு நிரலை அடுத்த கொள்முதல் கோரிக்கை எண் உள்ளது. Note that the generic "control" மாநாட்டு பெயரிடும் தேவை பயன்படுத்தப்படலாம் என்று எதிர்காலத்தில் கட்டுப்பாட்டு துறைகள் வழங்குகிறது.

தொழில்நுட்ப தீர்வு: InfoPath வாடிக்கையாளர் மூலம் இணைய சேவையை உருவாக்க. வலை சேவையை மீண்டும் அடுத்த கொள்முதல் கோரிக்கை எண் மற்றும் மேம்படுத்தல்கள் பட்டியல் மதிப்பு கொடுக்கிறது.

கற்றுகொண்ட பாடங்கள்:

  • InfoPath வடிவத்தில் ஒரு தரவு ஆதாரமாக இந்த வலை சேவையை சேர்த்து போது, நான் அதை தேவையான ஒரு UDC மாற்ற ஒரு தரவு இணைப்பு நூலகம் அதை சேமிக்க கண்டுபிடிக்கப்பட்டது.
  • நான் அதை தேவையான மத்திய சேவைகள் நிர்வாகத்தின் வழியாக குறுக்கு டொமைன் ஸ்கிரிப்ட் செயல்படுத்த கண்டுபிடிக்கப்பட்டது // விண்ணப்ப மேலாண்மை // வடிவம் சர்வர் கட்டமைப்பு.
  • முதல் முறையாக வடிவம் வலை சேவையை அணுக முயற்சி, இது ஒரு எடுத்து நேரத்தில், அது கால வேண்டும். நான் முடிதல் அமைப்புகள் விரிவாக்க வடிவம் சர்வர் கட்டமைப்பில் அமைப்புகள் பிடில் மட்டும் வாசிக்கவில்லை என்று உதவ தோன்றியது.

குறியீடு:

பயன்படுத்தி முறை;
பயன்படுத்தி System.Web;
பயன்படுத்தி System.Web.Services;
பயன்படுத்தி System.Web.Services.Protocols;
பயன்படுத்தி Microsoft.SharePoint;
பயன்படுத்தி System.Configuration;

[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
பொது வர்க்கம் PoService : System.Web.Services.WebService
{
பொது PoService () {

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

/// <சுருக்கம்>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </சுருக்கம்>
/// <வருமானத்தை></வருமானத்தை>
[WebMethod]
பொது மாலை GetNextPoNumber()
{
மாலை SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
மாலை SpPoControlListName; // Name of the actual MOSS list containing the Po control.

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

மாலை nextPoReqNumber = "xyzzy";

பயன்படுத்தி (SPSite site = புதிய SPSite(SpPoControlSiteName))
{
பயன்படுத்தி (SPWeb web = site.OpenWeb())
{

SPList currentList = web.Lists[SpPoControlListName];

foreach (SPItem controlItem இல் currentList.Items)
{

என்றால், (((மாலை)controlItem["ControlField"]).சமம்("NextPoNumber"))
{
nextPoReqNumber = (மாலை)controlItem["ControlValue"];

எண்ணாக int_nextPoReqNumber;
int_nextPoReqNumber = மாற்று.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")

மீண்டும் nextPoReqNumber;

}
}