মাসিক আর্কাইভ: অগাস্ট 2007

ক্রেগ তালিকা আমার জন্য ভাল কাজ

আমি Bergen কাউন্টি আমার গাড়ী বিক্রয় জন্য একটি শ্রেণীবদ্ধ বিজ্ঞাপন পোস্ট, NJ on Sunday night. I received several inquiries via email shortly thereafter and closed the deal with someone on Tuesday night.

প্রায় খুব ভাল সত্য …

শৈবাল উন্নত অনুসন্ধান স্বনির্ধারণ — কেস না উন্নত অনুসন্ধান XSLT মধ্যে বিষয়

আমি খুব ঘন ঘন পরিবর্তন না উন্নত অনুসন্ধান XSLT না, তাই মনে হয় মত আমি প্রত্যেক সময় অধিরোহী ছোট অতি করছি.

আমার নতুন পাঠ হল এই: কেস গুরুত্বপূর্ণ যখন একটি কলাম এর মধ্যে. আমার উন্নত অনুসন্ধান, আমি এই হিসাবে কলাম সংজ্ঞায়িত:

<মূল xmlns:xsi="HTTP://www.w3.org/2001/XMLSchema-instance">
<
কলাম>
<
স্তম্ভ নাম="GafTrainingInvoiceNumber" />
<
স্তম্ভ নাম="GafTrainingInvoiceLocation" />
<
স্তম্ভ নাম="WorkId"/>
<
স্তম্ভ নাম="স্থান পাত্তয়া"/>
<
স্তম্ভ নাম="শিরোনাম"/>
<
স্তম্ভ নাম="লেখক"/>
<
স্তম্ভ নাম="আকার"/>
<
স্তম্ভ নাম="পথ"/>
<
স্তম্ভ নাম="বর্ণনা"/>
<
স্তম্ভ নাম="লেখা"/>
<
স্তম্ভ নাম="SITENAME"/>
<
স্তম্ভ নাম="CollapsingStatus"/>
<
স্তম্ভ নাম="HitHighlightedSummary"/>
<
স্তম্ভ নাম="HitHighlightedProperties"/>
<
স্তম্ভ নাম="Contentclass"/>
<
স্তম্ভ নাম="IsDocument"/>
<
স্তম্ভ নাম="PictureThumbnailURL"/>
</
কলাম>
</
মূল>

XLST যে চালান সংখ্যা এবং চালান অবস্থান প্রদর্শন করা হয়েছে:

<পি>
Training Invoice Number: <xsl:মান-এর নির্বাচন করা="GafTrainingInvoiceNumber"/>
<
বিআর></বিআর>
Training Invoice Location: <xsl:মান-এর নির্বাচন করা="GafTrainingInvoiceLocation"/>
</
পি>

কিন্তু, নির্বাচন থেকে সব ছোট হাতের অক্ষর সম্পত্তি রেফারেন্স আছে, যেমন:

<পি>
Training Invoice Number: <xsl:মান-এর নির্বাচন করা="gaftraininginvoicenumber"/>
<
বিআর></বিআর>
Training Invoice Location: <xsl:মান-এর নির্বাচন করা="gaftraininginvoicelocation"/>
</
পি>


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

শৈবাল: প্রায়োগিক উদাহরণ - কাস্টম ডেটা প্রকার

ব্যবসা দৃশ্যকল্প:

শৈবাল এন্টারপ্রাইজ ব্যাপী উত্পাদন কোম্পানির জন্য বাস্তবায়ন সঙ্গে 30+ সাইট এবং কয়েক ডজন কর্পোরেট বিভাগ.

ব্যবসা লক্ষ্য:

সত্বেও ব্যবসা দলের নিকর (বিভাগ, অবস্থানগুলি, প্রভৃতি), নির্দিষ্ট তথ্য একটি আন্তর্জাতিক পর্যায়ে উচিত রক্ষণাবেক্ষণ. উদাহরণস্বরূপ, একটি প্রামাণিক সব কোম্পানির প্রকৃত অবস্থানকে মাস্টার তালিকা (e.g. উত্পাদন সুবিধা, পণ্যাগার অবস্থানগুলি, বিক্রয় অফিসে) একটি কেন্দ্রিয় অবস্থানে বজায় রাখা উচিত.

প্রযুক্তি সংক্রান্ত সমস্যা:

এন্টারপ্রাইজ শ্রেণীবিন্যাস একাধিক সাইট ব্যবহার করে স w বাস্তবায়িত হয়েছিল. আমরা পছন্দ একটি কাস্টম WSS তালিকায় শারীরিক অবস্থান প্রামাণিক তালিকা নির্মাণ করা হবে. তারপর, যখন আমরা একটি কনটেন্ট টাইপ একটি কলাম থাকা প্রয়োজন (অথবা একটি কলামের একটি তালিকা বা doc গ্রন্থাগারের যোগ) যে অন্তর্ভুক্ত কর্পোরেট অবস্থানগুলি, we would create a column using the "lookup" এই মাস্টার তালিকা থেকে ডাটাটাইপ এবং বিন্দু.

দুর্ভাগ্যবশত, lookup datatypes must access a source list "locally" অর্থাত আমাদের প্রামাণিক তালিকা সাইট স w না লাগে পারেন.

প্রযুক্তি সমাধান:

একটি নতুন কাস্টম ডাটা টাইপ বাস্তবায়ন ভিত্তি SPField উপর এবং UI যার ListItems মাস্টার WSS তালিকা থেকে পূর্ণ একটি DropDownList হিসাবে প্রতিনিধিত্ব বাস্তবায়ন.

আমরা একটা নতুন সাইট সংগ্রহ নামক নির্মিত "http://localhost/EnterpriseData". সেখানে, we created a custom list named "Corporate Locations". This list just uses the standard "Title" ক্ষেত্র থেকে যথার্থ কর্পোরেট অবস্থান তালিকা ধারণ করে.

এক কয়েকটি থেকে WSS মধ্যে একটি নিজস্ব ডাটা টাইপ তৈরি বিযুক্ত ধাপগুলি অনুসরণ. তারা:

  1. একটি বর্গ SPField থেকে যা inherits নির্ধারণ (অন্য একটি ক্ষেত্র থেকে যদি প্রয়োজন উত্তরাধিকারী হতে পারে).

এখানে যে জন্য কোড:

জনসাধারণের বর্গ 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. অন্য বর্গ তলের ক্ষেত্র নিয়ন্ত্রণ থেকে যে inherits নির্ধারণ, যেমন:

জনসাধারণের বর্গ 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 পূর্ণ জন্য যুক্তিবিজ্ঞান সরঁজাম http://localhost/enterprisedata and named "Corporate Departments".

আমি একটি একক. Cs ফাইল উভয় শ্রেণীর সংজ্ঞায়িত, এটা কম্পাইল এবং GAC সেটিকে করা (দৃঢ় আবশ্যক, স্বভাবত).

  1. একটি নিয়ন্ত্রণ ফর্মা বাস্তবায়ন (.ascx) চিত্রের:

<%@ নিয়ন্ত্রণ ভাষা="C#" Inherits="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:রেন্ডারিং টেমপ্লেট আইডি="XYZZYCorporateLocationFieldControl" runat="server">
<টেমপ্লেট>
<কস্পমান:DropDownList আইডি="XYZZYCorporateLocationSelector" runat="server" />
</টেমপ্লেট>
</
SharePoint:রেন্ডারিং টেমপ্লেট>

উপরোক্ত গ মধ্যে সংরক্ষিত হয়:\প্রোগ্রাম ফাইল সাধারণ ফাইল Microsoft দ্বারা যৌথরূপে ব্যবহৃত ওয়েব সার্ভার এক্সটেনশন 12 controltemplates.

  1. পরিশেষে, আমরা ..... 12 XML ডিরেক্টরির মধ্যে সংরক্ষণ করার জন্য একটি 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">সত্য</ক্ষেত্র>
<
ক্ষেত্র নাম="ShowInListCreate">সত্য</ক্ষেত্র>
<
ক্ষেত্র নাম="ShowInDocumentLibraryCreate">সত্য</ক্ষেত্র>
<
ক্ষেত্র নাম="ShowInSurveyCreate">সত্য</ক্ষেত্র>
<
ক্ষেত্র নাম="ShowInColumnTemplateCreate">সত্য</ক্ষেত্র>
<
ক্ষেত্র নাম="FieldTypeClass">Conchango.XYZZYCorporateLocationField, XYZZYCorporateLocationField, সংস্করণ = 1.0.0.0, সংস্কৃতি = নিরপেক্ষ, PublicKeyToken=b0b19e85410990c4</ক্ষেত্র>
<
RenderPattern নাম="DisplayPattern">
<
সুইচ>
<
Expr>
<
স্তম্ভ />
</
Expr>

<কেস মান=""/>

<ডিফল্ট>
<
এইচটিএমএল>
<![CDATA[
<span style="color:Red"><বো>]]>
</
এইচটিএমএল>

<
স্তম্ভ SubColumnNumber="0" HTMLEncode="সত্য"/>

<এইচটিএমএল><![CDATA[</বো></বিঘত>]]></এইচটিএমএল>

</
ডিফল্ট>
</
সুইচ>

</
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. SharePoint ডিজাইনার সঙ্গে তালিকা খুলুন.
  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: নিবন্ধন করুন সংক্ষিপ্ত দরকারী বৈশিষ্ট্য / উপাদানসমূহ জন্য / etc সক্রিয় করার পদক্ষেপ. বনাম মধ্যে Intellisense 2005

অতিরিক্ত বিভাগ: ভিসুয়াল স্টুডিও 2005

বৈশিষ্ট্য জন্য দরকারী intellisense সক্রিয় করার জন্য, উপাদান, চাক্ষুষ স্টুডিওতে ইত্যাদি 2005:

  1. একটি WSS সার্ভার অ্যাক্সেস করুন.
  2. Navigate to "c:\প্রোগ্রাম ফাইল সাধারণ ফাইল Microsoft শেয়ার্ড ওয়েব সার্ভার এক্সটেনশন 12 টেমপ্লেট এক্সএমএল"
  3. ইশারা অন্য উইন্ডোজ এক্সপ্লোরার খুলুন: "C:\প্রোগ্রাম ফাইল Microsoft ভিসুয়াল স্টুডিও 8 XML স্কীমাস"
  4. আপনার বনাম আপনি WSS সার্ভার থেকে নিম্নোক্ত ফাইলগুলি কপি করুন 2005 স্কীমাস ডিরেক্টরি:
    1. Wss.xsd
    2. CamlQuery.xsd
    3. CamlView.xsd
    4. CoreDefintions.xsd
  5. বনাম পুনরায় শুরু করুন 2005
  6. একটি প্রকল্প একটি নতুন XML ফাইলে যোগ করুন.
  7. XML ফাইলের শরীরের জন্য ক্লিক করুন.
  8. বৈশিষ্ট্য ফলকটিতে ইন, click on "Schemas" and pick "wss.xsd" পছন্দ থেকে. (তারা wss.xsd থেকে রেফারেন্সড হয় যেহেতু এটি অন্যান্য xsd এর নির্বাচন করার প্রয়োজন না).

Intellisense এখন যে XML দলিল জন্য সক্ষম.

দেখুন এখানে এই বিষয়ের উপর আরও তথ্যের জন্য এবং স্বয়ংক্রিয়ভাবে কোনো XML ফাইল সঙ্গে WSS intellisense সংযুক্ত সম্বন্ধে নির্দেশের জন্য.

WSS পরীক্ষা 70-541, মাইক্রোসফট উইন্ডোজ SharePoint সেবা 3.0 – এপ্লিকেশন ডেভেলপমেন্ট

আমি এই সকালে উপরে উল্লিখিত পরীক্ষা গ্রহণ এবং গৃহীত. আমি পরীক্ষা কঠিন এবং ন্যায্য হতে পাওয়া.

ওয়েবে এই পরীক্ষার তথ্য একটি আপেক্ষিক অভাব নেই. আমি কেন নিশ্চিত নই.

আমি সম্ভবত আমি গ্রহণ পরীক্ষা সম্পর্কে কোন বিস্তারিত মধ্যে পাবেন না, কিন্তু আমি নিরাপদে নিম্নলিখিত বলতে পারেন মনে হয়:

  1. এই লিঙ্কটি বিশ্বাস: http://www.microsoft.com/learning/exams/70-541.mspx.

    এটি আপনি পরীক্ষায় পাস করতে জানতে হবে তা তালিকাভুক্ত করা হয়েছে এবং এটা, IMO, খুব সঠিক.

  2. লিঙ্ক ও বিশেষ পরামর্শ দেওয়া হচ্ছে মাইক্রোসফট উইন্ডোজ SharePoint সেবা ভিতরে 3.0 টেড Pattison দ্বারা & ড্যানিয়েল লার্সন. এই বইয়ের প্রায় পরীক্ষা ঠিকানাগুলি যে সব বিষয় জুড়ে. আমি এটা সহজ পরীক্ষা PReP অতিক্রম নিজেই এবং মহান হতে পাওয়া. It provides great examples and really got me thinking about some new and interesting things to try. If you want to skip a few bits in the book, just cross-reference the book’s TOC with the items in the link from above.
  3. Nothing beats actual hands-on experience. If you have time and interest, follow along with the examples in the book and then experiment with them. You’ll have an easier time on the exam as well as really learn WSS application programming.

</শেষ>আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন!

শৈবাল / InfoPath ফরম সার্ভার (InfoPath 2007) ড্রপ ডাউন তালিকা কর্মক্ষমতা

অতিরিক্ত বিভাগ: InfoPath

সংক্ষিপ্ত: একটি InfoPath 2007 একটি MOSS সার্ভার স্থাপন ফরম একটি কাস্টম MOSS তালিকার সাথে সংযুক্ত বিক্রেতারা একটি ড্রপ ডাউন তালিকা প্রস্তুত করা হয়. বিক্রেতা নির্বাচনের উপর, নিয়ম যেমন বিক্রয় প্রতিনিধির নামের টেক্সট ক্ষেত্রের একটি থাবা আপনি যদি ক্ষেত্রের মান ধার্য, ঠিকানা, শহর, রাষ্ট্র, জিপ ও ফোন. পারফরমেন্স ভয়ঙ্কর. আমরা পারফরম্যান্স খারাপ যে পায় বিজ্ঞপ্তি (একটি অ রৈখিক ফ্যাশন) প্রতিটি অতিরিক্ত ক্ষেত্রের জন্য আমরা এই ভাবে আপডেট. অর্থাত, আমরা শুধু বিক্রয় প্রতিনিধির নাম আপডেট যদি, এটা লাগে [X] সময় পরিমাণ. আমরা বিক্রয় প্রতিনিধির আপডেট যদি, address1, address2, শহর, রাষ্ট্র, জিপ, এটা লাগে 10 বার আর.

সমাধান: একটি ওয়েব পরিষেবা লিখুন (নমুনা কোড পাওয়া যাবে এখানে) বিক্রেতা নামে পাস এবং এটা ফেরত বিক্রেতা বিবরণ ফেরৎ পাঠানো হয় যে. তারপর, ক্ষেত্র এই ভাবে ধার্য. এই অত্যন্ত ধীর বলে মনে হয়, যদিও, আমরা নিয়োগ যখন কর্মক্ষমতা কোন discernable পার্থক্য আছে ছিল 1 যদি ক্ষেত্রের কিছু r বনাম 8 ক্ষেত্র. একটি যোগ বোনাস হিসাবে, users get a cool "contacting the server" Cylon তারা পরিষেবা ফলাফল ডাকা এবং গ্রাস ফর্ম জন্য অপেক্ষা করার সময় প্রভাব.

শৈবাল: ব্যতিক্রম ঘটেছে. (HRESULT থেকে ব্যতিক্রম: 0x80020009 (DISP_E_EXCEPTION))

আপডেট: আমরা এই সমস্যার মূল কারণ নির্ধারিত না এবং এটি আবার থাকবে না.

আমরা একটি উন্নয়ন সাইট যে হঠাৎ বাস্তবায়নের সময় বিজ্ঞপ্তি, দুই ব্যবহারকারীদের একটি সাইট সংগ্রহে অ্যাক্সেস করতে না পারেন. যারা অ্যাকাউন্ট মূল সাইট থেকে নিজেকে এ প্রমাণীকৃত করতে পারেন, কিন্তু একটি নির্দিষ্ট সাইট সংগ্রহে অ্যাক্সেস করার চেষ্টা করার সময়, তারা শুধু একটি ফাঁকা পর্দা পেতে. প্রদর্শিত কোনো ধরনের ত্রুটি, শুধু একটি সাদা খালি পাতা.

আমাদের একটি সাইট সংগ্রহে প্রশাসক হিসাবে লগ ইন করুন এবং একটি সাইট অ্যাডমিন হিসাবে যারা ব্যবহারকারীদের কেউ যোগ করার চেষ্টা করুন এবং এই সময়, upon pressing "OK", আমরা এই বার্তা পেতে:

ব্যতিক্রম ঘটেছে. (HRESULT থেকে ব্যতিক্রম: 0x80020009 (DISP_E_EXCEPTION))

আমরা এই এবং দুর্ভাগ্যবশত গবেষণা কিছু সময় অতিবাহিত, দরকারী কিছু সঙ্গে আসা পর্যন্ত করা হয়নি. ডায়গনিস্টিক লগ ইন কয়েকটি বার্তা ছিল, কিন্তু এটা ঠিক এই সমস্যার সাথে তাদের সম্পর্কিত কঠিন ছিল.

শেষ পর্যন্ত, আমরা সাইটে সংগ্রহে মোছার চেষ্টা এবং এটি পুনরায় তৈরি করা এবং যে এটি মীমাংসিত.

আমি ভবিষ্যতে এই হত কি জিনিসটা যদি, আমি এই পোস্টে আপডেট করব.