چگونه عیب یابی خطاهای شیرپوینت مرموز.

بررسی اجمالی:

اشکال زدائی مشکل است هنگامی که در حال توسعه قابلیت های سفارشی برای ویندوز خدمات شیرپوینت 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.
  • کپی و چسباندن به سادگی به اکسل.

روش مورد علاقه من:

  1. باز کردن ویندوز اکسپلورر با اشاره به 12 کندو سیاهههای مربوط.
  2. مرتب کردن بر اساس این دیدگاه نشان می دهد بر اساس تاریخ اصلاح (ترین اولین های اخیر).
  3. برجسته کردن فایل ورود به سیستم.
  4. در یک پنجره مرورگر وب, زور خطا به رخ می دهند.
  5. به سرعت فایل ورود به سیستم در حال حاضر باز شده را کپی کنید و محتویات آن را به اکسل.
  6. پرش به انتها و تجزیه و تحلیل نوشته های مرتبط.

یادداشت های دیگر:

به طور پیش فرض, ورود به سیستم تشخیصی است که در واقع 12 کندو دایرکتوری ورود به سیستم.

کارشناسی ارشد بهترین شیوه (در هر مایک T. مایکروسافت) 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").

خزه: موثر برای معرفی سازمان

(this entry cross posted between http://paulgalvin.spaces.live.com/blog/ و http://blogs.conchango.com)

The postings on this site are my own and don’t necessarily represent Conchango’s positions, strategies or opinions.

بررسی اجمالی:

This entry describes some background information on a large (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, we are approximately 50% complete with the first phase of the project. As things progress, I’ll update this entry and/or write new entries.

In this specific case, 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, این بود که بهترین استراتژی rollout برروی (که مشتری به راحتی می پذیرد) و هنگامی که MOSS وارد در صحنه, the client resolved to "do it right" تماس با ما استخدام و به آنها کمک کند.

یکی از پرسش های اصلی پیش روی ما هنگامی که ما شروع به اجرای این پروژه بود: چگونه می توانم به MOSS معرفی ما به این مشتری? 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 قوطی واقعا استفاده از تقریبا هر ویژگی عمده خزه و شما را گیری از یک پروژه بزرگ با رسیدن به سازمانی است و بسیاری از چیزهای خوب اتفاق می افتد.

ما با شماره این زمان و زمان رو به رو دوباره … MOSS رسیدن به سازمانی با سرمایه گذاری مجموعه ای از ویژگی های آن, هنوز حتی تا حدودی پیچیده مشتریان سخت ذهنی با جذب به ویژگی های آن, چه رسد به ترکیب بخش قابل ملاحظه ای از آنها را در زندگی روزمره خود را.

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. In our case, the "less" turned into:

  • Simple document management using document libraries, version control and content types.
  • Effective search based on content types and customized advance search (via managed properties, XSLT to produce pretty results, غیره).

In addition to the above enterprise-wide features (meaning that they were to be rolled out to all departments and users), we added the following singleton in-scope mini-projects:

  • Proof of concept BDC integration.
  • Multi-step and multi-branch workflow process created via SPD.
  • Complex InfoPath form.
  • Surfacing KPI’s for some business process (probably HR talent acquisition in our case, though that may change).

The scope here is not 100% accurate but representative of our approach and sufficient for my purpose here, which is to explain what I consider to be an "effective" introduction of MOSS that will set the client firmly down the golden path to full MOSS adoption.

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" برای موفقیت برنده 2, 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. I.e., تقریبا همه مهم که در rollout برروی MOSS.

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.

این ما را به ما و تا کنون موثر ترین محل فرود: سایت MOSS گودال ماسهبازی برای نشان دادن این ویژگی های پیکربندی.

با استفاده از گودال ماسهبازی سایت, ما نشان:

  • نوع مطلب:
    • ایجاد یک CT با انواع داده های متعدد (متن, تاریخ, انتخاب, بولی, مراجعه, غیره).
    • گسترش CT با ایجاد یک CT جدید بر اساس یک پدر و مادر.
    • جستجو برای اسناد با استفاده از ابرداده CT.
  • کتابخانه های سند:
    • ارتباط CT تنها با یک کتابخانه.
    • چه اتفاقی می افتد وقتی که یک سند که به کتابخانه ما آپلود?
    • Associating multiple CT’s with a doc library.
    • چه اتفاقی می افتد وقتی که یک سند که به کتابخانه ما آپلود?
    • Filtering and sorting via column headings in a doc lib.
    • Document library views:
      • Sorting
      • Grouping
      • "Quick entry" (data sheet view)
      • "Untagged data" (to assist with migration to MOSS from other content sources; more on this below).

The Sandbox Site:

We designed our sandbox site to be a permanent feature in the development environment to be used for training purposes long after we finish the project and included several artifacts as described:

نوع محتوا:

We defined the following content types: Invoice, Purchase Order, Services Invoice.

We selected Invoice and Purchase order because they are more or less universally under
stood entities. Everyone in business understands that an invoice is a demand for payment to a customer for an amount issued on a certain تاریخ to be paid as per some payment terms. This leads to a natural definition of a CT which we called "Training Invoice" (to distinguish it from any other kind of 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 and added just one column, "services rendered".

With the above, we can now demonstrate some key features of CT’s without getting bogged down trying to explain an abstract concept first; everyone already understands what we mean by "invoice" and "purchase order" and are instead able to focus on mechanics of the CT itself.

لیست سفارشی:

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.

کتابخانه های سند:

We created two document libraries: "Invoices" and "Mixed Documents".

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

We configured the "Mixed Documents" library to manage all three CT’s.

Create several views that show sorting, filtering, data sheet and grouping.

جستجو:

We defined two new managed properties and mapped them to Invoice Number and Customer.

We created a new customized advance search site and modified it to enable users to search for "invoices" using those two mapped properties.

Modify the XSLT so that the invoice and customer number, when present, appear in an HTML table in a bright color. The objective here is to demonstrate that such formatting is possible.

Putting it all together:

We arrange for key users to participate in a demo.

We follow this simple script:

  1. Describe the meaning and purpose of a CT, using invoices and purchase orders as examples.
  2. Show the invoice CT definition while simultaneously assuring them that they don’t need to use those screens themselves, just pick up the concepts.
  3. Go to the invoices document library.
  4. Upload a document.
  5. Demonstrate that the customer drop-down is really sourced from a custom list.
  6. Add a new customer to the customer list and then update the recently uploaded invoice’s meta data with the newly created customer.
  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. Demonstrate column-level filtering.
  10. Show different views that demonstrate multi-level sorting, filtering and grouping.
  11. Show the data sheet view.
  12. Explain the purpose of a "untagged documents" دیدن.
  13. Switch to the customized advanced search.
  14. By now, the recently uploaded document should have been crawled and indexed, so perform a search that demonstrates ability to locate that invoice via the mapped property.
  15. We demonstrate the difference between searching via mapped properties vs. just a text search.

در این مرحله, we are more or less done with the demo. It seems to take about 30 به 45 دقیقه, depending on how many questions people ask.

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, both at a high level (just name and business purpose) 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.

In Summary:

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 / examples themselves.

Business users walk away from theses sessions with "homework" in the form of excel documents which they are now competent to fill out and use for designing their own first-cut content types.

سرانجام, as we perform demos over time, the client’s team members themselves become more able to carry forward, do the demo’s themselves and generally free up the rest of us up to work on more complex issues, such as global taxonomy, complex workflows, BDC and the like.

آموزش باشگاه // نوعی بازی فوتبال راگبی

I asked for some advice today on good resources for getting started with learning Agile and Scrum. Here is a summary of the response. I trust the sources but I don’t know that this is comprehensive (من مطمئن هستم که از آن نمی باشد).

من ممکن است برخی از این اشتباه رونویسی.

Multiple people provided responses and Agile Project Management by Ken Scwaber is the consistent "first dive" توصیه.

شخصیت ها:

  • Schwaber کن
  • مایک کوهن

کتاب ها:

  • مدیریت پروژه چابک با نوعی بازی فوتبال راگبی توسط Schwaber کن.
  • لین توسعه نرم افزار: جعبه ابزار رایانه برای مدیران توسعه نرم افزار توسط مریم و تام Poppendieck.
  • "anything by Mike Cohn"
  • مروری باشگاه توسط Schwaber کن, دیانا لارسن, استر دربی.

ها:

MOSS پیشرفته سفارشی سازی جستجو — مورد مهم در XSLT جست و جوی پیشرفته

I don’t modify advanced search XSLT very often, so it seems like I’m climbing small hills every time.

My newest lesson is this: Case matters when referencing a column. In my advanced search, I have columns defined as this:

<root xmlns:XSI="HTTP://www.w3.org/2001/XMLSchema-instance">
<
Columns>
<
ستون نام="GafTrainingInvoiceNumber" />
<
ستون نام="GafTrainingInvoiceLocation" />
<
ستون نام="WorkId"/>
<
ستون نام="رتبه"/>
<
ستون نام="عنوان"/>
<
ستون نام="نویسنده"/>
<
ستون نام="اندازه"/>
<
ستون نام="مسیر"/>
<
ستون نام="شرح"/>
<
ستون نام="نوشتن"/>
<
ستون نام="جامعه دانشجویان"/>
<
ستون نام="CollapsingStatus"/>
<
ستون نام="HitHighlightedSummary"/>
<
ستون نام="HitHighlightedProperties"/>
<
ستون نام="ContentClass"/>
<
ستون نام="IsDocument"/>
<
ستون نام="PictureThumbnailURL"/>
</
Columns>
</
root>

The XLST that displays the invoice number and invoice location had been:

<p>
Training Invoice Number: <XSL:ارزش را انتخاب کنید="GafTrainingInvoiceNumber"/>
<
برزیلی></برزیلی>
Training Invoice Location: <XSL:ارزش را انتخاب کنید="GafTrainingInvoiceLocation"/>
</
p>

اما, the select has to reference the property in all lower case, همانطور که در:

<p>
Training Invoice Number: <XSL:ارزش را انتخاب کنید="gaftraininginvoicenumber"/>
<
برزیلی></برزیلی>
Training Invoice Location: <XSL:ارزش را انتخاب کنید="gaftraininginvoicelocation"/>
</
p>


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

خزه: به عنوان مثال تابعی - نوع داده های سفارشی

سناریوی کسب و کار:

اجرای سرمایه گذاری گسترده ای از خزه برای تولید شرکت با 30+ سایت و چند ده بخش های شرکت.

هدف کسب و کار:

با وجود بسیاری از گروه های کسب و کار (گروه ها, مکان, غیره), داده های خاص باید در سطح جهانی حفظ. مثلا, لیست کارشناسی ارشد معتبر از تمام مکان های فیزیکی شرکت (e.g. امکانات تولید, مکان های انبار, دفاتر فروش) باید در یک محل مرکزی نگهداری.

مشکل فنی:

طبقه بندی سازمانی با استفاده از مجموعه سایت های مختلف اجرا شد. ما می خواهیم دوست دارم برای ایجاد لیست معتبر از مکان های فیزیکی در یک لیست WSS سفارشی. سپس, زمانی که ما نیاز به یک ستون در یک نوع محتوا (و یا یک ستون به یک لیست یا کتابخانه توضیحات اضافه:) که محل شرکت موجود, we would create a column using the "lookup" نوع داده و نقطه به این لیست کارشناسی ارشد.

متاسفانه, lookup datatypes must access a source list "locally" این معنی که لیست معتبر ما می توانید مجموعه های سایت را بگستراند.

راه حل های فنی:

پیاده سازی یک نوع جدید داده های سفارشی اجرا بر اساس SPField و به عنوان نماینده یک DropDownList را در رابط کاربر که ListItems پر از کارشناسی ارشد لیست WSS.

ایجاد جمع آوری سایت جدید به نام "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://localhost را / 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

کد بالا در واقع پیاده سازی منطق برای پر DropDownList را با ارزش از لیست های سفارشی WSS واقع در http://localhost/enterprisedata and named "Corporate Departments".

من هر دو کلاس در یک فایل cs یا vb تک تعریف, وارد و آن را در GAC قرار داده است (قوی لازم, البته).

  1. پیاده سازی یک قالب کنترل (.ASCX) به عنوان نشان داده شده است:

<%@ کنترل زبان="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>

بالا به ج نجات داد:\فایل برنامه فایل های مشترک MICROSOFT مشترک الحاقات وب سرور 12 controltemplates.

  1. سرانجام, ما یک فایل XML برای صرفه جویی به ..... 12 دایرکتوری XML ایجاد. این CAML است که نوع داده های سفارشی ما را تعریف می کند و برای مثال من, به نظر می رسد مثل این:

<?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">
<
تعویض>
<
اصطلاح>
<
ستون />
</
اصطلاح>

<مورد ارزش=""/>

<قصور>
<
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 بر روی سرور و همه آن را باید شروع به کار به سادگی.

WSS: تکنیک برای ایجاد تعاریف میدان CAML.

طبقه اضافی: CAML

Here is a great posting by a fellow named "craig" در یک روش برای پیدا کردن تعاریف CAML برای انواع محتوا میدان بر مبنای تعاریف های واقعی زندگی می کنند از یک سایت.

ارسال او می گوید که تمام. به طور خلاصه:

  1. ایجاد یک نوع محتوا.
  2. آن را مرتبط با لیست.
  3. باز کردن لیست با شیرپوینت طراح.
  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: خلاصه مراحل را قادر می سازد از ویژگی های مفید / المان ها / و غیره. IntelliSense در VS 2005

دسته های اضافی: ویژوال استودیو 2005

برای فعال کردن INTELLISENSE مفید برای امکانات, عناصر, و غیره در ویژوال استودیو 2005:

  1. دسترسی به یک سرور WSS.
  2. Navigate to "c:\فایل برنامه فایل های مشترک MICROSOFT مشترک الحاقات وب سرور 12 TEMPLATE XML"
  3. باز یکی دیگر از ویندوز اکسپلورر با اشاره به: "C:\برنامه فایلها مایکروسافت ویژوال استودیو 8 XML طرحواره"
  4. کپی کردن فایل های زیر را از سرور WSS به VS شما 2005 دایرکتوری طرحواره:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. راه اندازی مجدد VS 2005
  6. Add a new XML file to a project.
  7. Click in the body of the XML file.
  8. In the properties pane, click on "Schemas" and pick "wss.xsd" from the choices. (It’s not necessary to select other xsd’s since they are referenced from wss.xsd).

Intellisense is now enabled for that XML document.

دیدن اینجا for more information on this subject and for instructions on how to automatically associate WSS intellisense with any XML file.

امتحان WSS 70-541, مایکروسافت ویندوز خدمات شیرپوینت 3.0 – برنامه توسعه

من در زمان و سرانجام آزمون ذکر شده در بالا این روز صبح. که من پیدا کردم امتحان دشوار و عادلانه.

کمبود نسبی از اطلاعات در این آزمون بر روی وب وجود دارد. من مطمئن هستم که چرا نیستم.

من به وضوح نمی خواهد به هر جزئیات در مورد امتحان من در زمان دریافت کنید, اما من فکر می کنم من با خیال راحت می توانید موارد زیر می گویند:

  1. اعتماد این لینک: http://www.microsoft.com/learning/exams/70-541.mspx.

    این لیست آنچه شما باید بدانید که به تصویب امتحان و آن را, IMO, بسیار دقیق.

  2. لینک همچنین توصیه در داخل مایکروسافت ویندوز خدمات شیرپوینت 3.0 توسط تد Pattison & دانیل لارسون. این کتاب را پوشش می دهد تقریبا تمام مطالب که در آزمون. که من پیدا کردم آن را به صورت بزرگ به خودی خود فراتر از آمادگی برای آزمون ساده. نمونه های بزرگ را فراهم می کند و واقعا من رو به فکر کردن در مورد برخی چیزهای جدید و جالب را امتحان کنید. اگر می خواهید به جست و خیز چند بیت در کتاب, فقط ارجاع متقابل TOC کتاب با اقلام در لینک از بالا.
  3. هیچ چیز ضربان واقعی تجربه عملی. اگر شما وقت و علاقه, همراه با مثال های کتاب و سپس آزمایش با آنها. شما یک زمان ساده تر در آزمون و همچنین واقعا یادگیری برنامه نویسی نرم افزار WSS.

</پایان>مشترک شدن در وبلاگ من!