Category Archives: SharePoint উন্নয়ন

একটি অথবা আরও বেশি যদি ক্ষেত্রের ধরনের "জন্য এক কারণে সঠিকভাবে ইনস্টল না করা”

আমি একটি তালিকা বিরুদ্ধে CAML ক্যোয়ারী আছে এমন একটি ওয়েব অংশ গতকাল খামচি একটি ছোট তৈরি ছিল.  আমি পরিবর্তন, এটি স্থাপন করা এবং ত্রুটি সহ আঘাত পেয়েছিলাম:

একটি অপ্রত্যাশিত ত্রুটি তিন দিনের দৃষ্টিভঙ্গী আবহাওয়ার পূর্বাভাস WebPart ঘটেছে. সিস্টেম প্রশাসকের সাথে যোগাযোগ করুন. One or more field types are not installed properly. Go to the list settings page to delete these fields.

I was facing another oddball issue earlier so I didn’t immediately connect my CAML query with the error that SharePoint was reporting to me.  I did a quick bing search and and found this helpful blog post দ্বারা Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Here is the bad query:

query.Query = "<যেখানে><এবং><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFNY</মান><FieldRef Name=’Abbr’/><Value Type=’Text’>SFIS</মান></Neq></এবং></যেখানে>";

Here it is fixed:

query.Query = "<যেখানে><এবং><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFNY</মান></Neq><Neq><FieldRef Name=’Abbr’/><Value Type=’Text’>SFIS</মান></Neq></এবং></যেখানে>";

সুতরাং, the moral of the story is: make sure your CAML is correct or you may get an oddball error.

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

</শেষ>

SharePoint 2010 সমাধান "স্থাপনার মধ্যে আটকে” অবস্থা

আমি SharePoint খামার একটি সমাধান স্থাপন PowerShell ব্যবহার (H / T:  Corey Roth এবং তার ব্লগ পোস্ট). 

আমি তখন কেন্দ্রীয় অ্যাডমিন গিয়েছিলাম, সিস্টেম সেটিংস ব্যবহার এবং তারপর খামার এবং আমার তা স্থাপন করা সম্ভব "খামার সমাধান গালাগাল প্রতিবেদন করো" (অসম্মান) দুঃখ, এটি "স্থাপন" আটকে গিয়েছে.

আমি এই বিষয় দুটিই MSDN ফোরামে অনেক বার আসা পর্যন্ত দেখা করেছি, তাই আমি এটা সম্পর্কে বেশ নার্ভাস ছিল.  আমি একটি বিট কাছাকাছি অনুসন্ধান এবং এই সহায়ক নিবন্ধ খুঁজে পাওয়া যায় নি (থেকে একটি আপাতদৃষ্টিতে unattributed ব্যক্তির দ্বারা http://www.resolutionsnet.co.uk/).  আমি সমাধান মধ্যে ক্লিক করে স্থাপনার কাজ বাতিল করা হয়েছে এবং, এটি সফলভাবে খামার চারটি সার্ভারের তিনটি সমাধান মোতায়েন ছিল আমাকে বলেছে যে.

আমি errant সার্ভার গিয়েছিলাম, টাইমার পরিষেবা বন্ধ এবং এটি পুনরায় আরম্ভ করা.  উইন্ডোজ সার্ভার আসলে পরিষেবা কমান্ডের প্রতিক্রিয়া ব্যর্থ আমাকে বলেছে যে, যাতে এটা অসুস্থ ছিল যে আমাকে বলে.

এইবার, আমি সেন্ট্রাল অ্যাডমিন ফিরে গিয়েছিলাম যখন, আমি কোন সমস্যা সঙ্গে এটি স্থাপন করতে সক্ষম হয়েছে.

আশা করছি তথ্য এই বিট দিনের একটি বাঁধাই করা এক কিছু সাহায্য করবে.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

দিন ভুল: "GAC নির্দিষ্ট বিধানসভা যোগ করতে পারবেন না”

আমি ভিসুয়াল স্টুডিও সঙ্গে একটি বিট যুদ্ধ করেছি 2010 একটি একটি sp2010 সমাধান এবং এই ত্রুটি পেয়ে ছিল:

Error occurred in deployment step ‘Add Solution’: ভুল: বৈশ্বিক সমাবেশ ক্যাশে নির্দিষ্ট সমাবেশ যুক্ত করা যাবে না: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

আমি GAC নিজেই গিয়েছিলাম (গ:\Windows সমাবেশ) চেষ্টা করুন এবং মুছে ফেলার জন্য এবং "ব্যবহার ফাইল" একটি পেয়েছিলাম ত্রুটির.

আমি একটি iisreset করেনি, আমি প্রায় ডাউনলোড sysinternals, আমি সেবা টাইমার সেবা বন্ধ ... অবশেষে, আমি বন্ধ এবং ভিসুয়াল স্টুডিও নিজেই পুনরায় খোলা এবং পরিশেষে আমি এটি বন্ধ করতে সক্ষম হয়েছে.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

দ্রুত এবং সহজ: ডিবাগ করার পদ্ধতি বনাম 2010 সমাধান ডিপ্লোয়মেন্ট

ভিসুয়াল স্টুডিও 2010 রিপোর্ট স্থাপনার কিছু সময় ত্রুটি হার্ড টু ডিবাগ.  কিছু খুব রুক্ষ ডিবাগ করতে একটি দ্রুত এবং সহজ উপায় আপনার নিজের নামে ব্যতিক্রম নিক্ষেপ করা হয়.  ভিসুয়াল স্টুডিও আউটপুট কনসোল তাদের দেখাতে হবে.

কোড এই বিট বিবেচনা:

image

এই বৈশিষ্ট্য একটি ওয়েব অ্যাপ্লিকেশন আপনি scoped যদি, সাইট নাল হতে হবে.  আপনি সাইটের একটি সম্পত্তি চেষ্টা এবং রেফারেন্স যদি, আপনি দ্ব্যর্থক ত্রুটি পাবেন:

Error occurred in deployment step ‘Add Solution’: অবজেক্ট রেফারেন্স একটি বস্তুর উদাহরণ সেট না.

কিন্তু, একটি নতুন ব্যতিক্রম নিক্ষেপ রচয়িতা আপনি একটি স্ট্রিং পাস হলে, আপনি একটি সামান্য আরো দরকারী বার্তা পেতে:

image

এটি একটি অশোধিত টেকনিক এর, কিন্তু বেশ দ্রুত এবং সহজ.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

টাইমার কাজের FeatureActivated এবং বৈশিষ্ট্য ব্যাপ্তি

আমি কাউকে একটি টাইমার কাজের জন্য আমার হস্তান্তর কিছু কোড দিয়ে কাজ করছি.  আমি এটা লিখতে ছিল তাই তিনি প্রকৃত বৈশিষ্ট্য অ্যাক্টিভেশন কোড দেওয়া ছিল না, অবশ্যই.  I took advantage of Andrew Connell’s famous blog post on the subject.

আমি ভিসুয়াল স্টুডিও ব্যবহার করছি 2010 and deployment kept failing with an error “Error occurred in deployment step ‘Add Solution’: Object reference not set to an instance of an object.”

I was taking his code too literally.  I was scoping the feature to the web application level, চিত্রের:

image

ফলে, the properties that are sent to the receiver are from the web application, not a site collection.  শেষ পর্যন্ত, the code looks like this:

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{

    // Don’t do the following with web app scoped features, it leads to despair হাসি
    // SPSite site = properties.Feature.Parent as SPSite;

    SPWebApplication wa = properties.Feature.Parent as SPWebApplication;

    যদি (wa == null) throw new Exception("webapp2 is null.");

    foreach (SPJobDefinition job in wa.JobDefinitions)
    {

        চেষ্টা
        {
            যদি (job.Name == List_JOB_NAME)

                job.Delete();
        }
        ধরা (Exception e)
        {
            throw new Exception("marker 2");
        } // catch exception e
    }

    // install the job

    WeatherForecastTimerJob weatherForecastTimerJob =
        new WeatherForecastTimerJob(List_JOB_NAME, wa);

    SPMinuteSchedule schedule = new SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 5;
    weatherForecastTimerJob.Schedule = schedule;
    weatherForecastTimerJob.Update();

}

The key take-away is that when the feature is scoped to a web app, the SPFeatureReceiverProperties that SharePoint passes to your feature receiver has web app level parameters.  Andrew’s old blog entry assumes it’s scoped to the site collection.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

কোথায় Microsoft.SharePoint.ApplicationPages.Administration.dll?

আমি একটি ভিসুয়াল স্টুডিও প্রকল্প যে রেফারেন্স Microsoft.SharePoint.ApplicationPages.Administration.dll ছিল হস্তান্তর.  এটি গ্রহণ একটু সময় আমাকে তা জানতে এবং আমি শেয়ার করতে চাই.  আমার পরিবেশ, এটি অবস্হান হচ্ছে:

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

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

CodePlex প্রকল্প – SP2010 এক্সপ্লোরার

একটি উপর চালু প্রচেষ্টা প্রযুক্তিগত কম SharePoint স্তর বিস্তারিত জানতে অংশ 2010, আমি একটি "তৈরি করাSharePoint এক্সপ্লোরারটুলের "ধরনের.  ধারণা নতুন নয়.  আমি এই প্রকল্পের ব্যবহৃত অসংকৃৎ: http://sharepointexplorer.codeplex.com/.  আমার ধারণা থেকে একটি SharePoint সংস্করণ যে সংযুক্ত ওয়েব অংশের সব নিম্ন স্তরের বিস্তারিত যে অবজেক্ট মডেল প্রদান করতে পারেন প্রদর্শন ব্যবহার করে নির্মাণ করুন. 

এই ব্লগ পোস্ট উভয় প্রকল্পের একটি ঘোষণার পাশাপাশি স্বেচ্ছাসেবকদের জন্য একটি কল স্থল.  যদি আপনি এই প্রকল্পের কাজ করতে আগ্রহী, দাড়াত্ত ইমেইলের মাধ্যমে জানা (galvin.paul @ gmail.com) এবং আমরা এটা কাজ আউট করব.

এখানে প্রকল্প: http://sp2010explorer.codeplex.com/

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

ASP.NET Treeview কন্ট্রোল TreeNodeBinding সঙ্গে কাজ করা

আমি আশা করেছি উপর কাজ হয়েছে দ্রুতই-মুক্তি হবে CodePlex প্রকল্পের যে একটা সুন্দর ওয়েব প্রদানকারী / ভোক্তা সংযোগের মাধ্যমে কথা বলা আওতায় অধীনে একটি SharePoint সাইট অনুসন্ধানও উদ্দেশ্যে একে অপরের অংশ ইন্টিগ্রেটেড বিট উপলব্ধ করা হয়.  (এই সুনিশ্চিত করেছে আগে করা হয়েছে, কিন্তু এই একটি শিক্ষা প্রকল্প যতটা অন্য কিছু).  এই জন্য উইন্ডোজ এক্সপ্লোরার ভিউ SharePoint এর জন্য একটি প্রতিস্থাপন হতে বোঝানো হয় 2010 ডকুমেন্টের লাইব্রেরি.

কোড স্বাভাবিক SPWeb এবং একটি নির্দিষ্ট বিন্দু থেকে শুরু SPLists নিচে recursive কল আছে.  বস্তুর যে সমস্ত যে ঢোঁড়ন না তৈরী করে একটি XML স্ট্রিং যে এই মত কিছু দেখায় আপ:

<sitecollection url =’HTTP://demo2010a:9090′>
 
<ওয়েব
     শিরোনাম = 'হ্যালো ওয়ার্ল্ড ও স্যান্ডবক্স' 
     টেমপ্লেট = 'একটি সাইট দ্রুত জন্য দল সংগঠিত করা থেকে, লেখক, এবং তথ্য ভাগ, Blah blah blah '>

     <তালিকা
        শিরোনাম = 'BCC_Health_Services_FAQs’
        টেমপ্লেট = 'CustomList’
       
listid =’HTTP://demo2010a:9090/helloworldsandbox[আমি শেয়ার করুন]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</তালিকা>

     <তালিকা
        শিরোনাম = 'BCC_Notifications' 
        টেমপ্লেট = 'CustomList' 
        listid =’
HTTP://demo2010a:9090/helloworldsandbox[আমি শেয়ার করুন]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </তালিকা>

  </ওয়েব>

</sitecollection>

আমি যে XML পরিষ্কার আপ করার আগে সমস্ত এবং বলেন, এটি করা সম্ভব আশা.

আমি পরিণামে যে তথ্য পেতে মধ্যে একটি Treeview নিয়ন্ত্রণ করতে চান.  Shattering জিনিস ঠিক পৃথিবীতে না.

চ্যালেঞ্জ আমি এখানে নিয়েছিলেন একটি XML তথ্য পরিবর্তে নিজে নির্মাণ আমার treenodes আপ হিসাবে আমি গাছ ঢুকা উত্স নিয়ন্ত্রণ থেকে ট্রি ভিউ সংযোগ ছিল.  আমি এটার আংশিক কারণ ইচ্ছাকৃতভাবে আমি নির্মাণ করছি নিজেকে উপর জিনিস কঠিন (এই সমস্ত পর শিক্ষা প্রকল্প) এবং এর আংশিক কারণ হল আমি এই অস্পষ্ট ধারণা যে নির্মাণের গাছ নোড আপ হিসাবে আমি গাছ isn'ta দীর্ঘমেয়াদী জন্য ভাল ঢুকা আছে.

এই পদ্ধতির সঙ্গে সমস্যা হল যে Treeview নিয়ন্ত্রণ "তালিকা" বা "ওয়েব" মত আকর্ষণীয় নোড ভালো বৈশিষ্ট্য সম্পর্কে ফলে ডিফল্টরূপে এই আউটপুট দেখায় না জানা:

 

image

যে দরকারী না.  এই যেখানে TreeNodeBinding বর্গ সাহায্য করে.  আমি Treeview নিয়ন্ত্রণ কিভাবে এটি XML ব্যাখ্যা করা উচিত বলুন এই ব্যবহার করতে পারেন.  এখানে একটি উদাহরণ:

TNB = নতুন TreeNodeBinding();
tnb.DataMember = "list"; // এটি XML একটি সাইটের জন্য লেবেল.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

এই বাধ্যবাধকতা treeview যে বলে যখন এটা খুঁজে একটি <তালিকা> XML মধ্যে নোডের, TargetField জন্য বাইন্ডিং আবেদন, ValueField এবং ToolTipField.  মে অ্যাপ্লিকেশন, এই ম্যাপ নিম্নরূপঃ:

  • TargetField: যখন একটি নোডের মান উপর কেউ ক্লিকগুলো, এটা কি আপনি SelectedNode.Value জন্য কিনবো.  এই সঙ্গে করা হবে না বিভ্রান্ত ...
  • ValueField: এটা কি আপনি Treeview ব্যবহারকারীকে প্রদর্শন করতে ইচ্ছুক.
  • ToolTipField: XML থেকে মান যে আপনি একটি Tooltip হিসাবে চাই.

যে TreeNodebinding ট্রি ভিউ এর DataBindings যোগ করা এবং আপনি এই মত আউটপুট পাবেন:

 

image

আমি সব এই আরও হিসাবে আমি প্রকল্প চলতে থাকে এবং করব শেষ পর্যন্ত এই করা Codeplex আপ.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

আপনার নিজস্ব ওয়েব অংশ টেক্সট ক্ষেত্রের ফিল্টার সংযুক্ত হচ্ছে

আমি SharePoint একটি টেক্সট ক্ষেত্রের ফিল্টার থেকে তথ্য প্রাপ্ত করতে চেয়েছিলেন 2010 আমার নিজস্ব ওয়েব অংশ মধ্যে.  আমি ব্যবহার করে চেষ্টা এই দুটিই MSDN নিবন্ধ একটি ভিত্তি কিন্তু নিবন্ধটি হয় নষ্ট হয়ে গেছে বা আমি এটি সঠিকভাবে অনুসরণ না করছি.

অনুসন্ধান করা একটু আরও পরিণত মাইক স্মিথ এর দুটিই MSDN অবদান এখানে (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

সেখানে জিনিস অনেক connectable ওয়েব অংশের উপর আউট আছে কিন্তু সেটা হিসাবে মাইক এর নিবন্ধ সহজ.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

দ্রুত এবং সহজ: জিমেইল SMTP সার্ভার ব্যবহার ইমেল পাঠান. NER সি #

এই ঠিক একটি নতুন বিষয় নয়, কিন্তু আমি এটা করতে প্রয়োজন হলে, I found a lot of “why won’t this work for me” and not too many direct answers. I hope someone finds this useful.

কোড নিম্নলিখিত বিট এটা আমার নিজের Gmail একাউন্ট ব্যবহার করে একটি ইমেল পাঠাতে হবে, সংযুক্তি সহ:

ব্যবহার System.Net.Mail;
ব্যবহার System.Net;

NetworkCredential loginInfo = নতুন NetworkCredential("[আমার জিমেইল আইডি]", "[আমার জিমেইল পাসওয়ার্ড]");
MailMessage Msg = নতুন MailMessage();
msg.From = নতুন MailAddress("[এম জিমেইল আইডি]@ Gmail.com");
msg.To.Add(নতুন MailAddress("paul.galvin@arcovis.com"));
msg.Subject = "Test infopath dev subject";
msg.Body = "<HTML><শরীর><শক্তিশালী>একটি শক্তিশালী বার্তা.</শক্তিশালী></শরীর></HTML>";
msg.IsBodyHtml = সত্য;

foreach (স্ট্রিং aFile মধ্যে NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(নতুন সংযুক্তি(aFile));
} // সংযুক্তি যোগ করার পদ্ধতি.

SmtpClient ক্লায়েন্ট = নতুন SmtpClient("smtp.gmail.com");
client.EnableSsl = সত্য;
client.UseDefaultCredentials = মিথ্যা;
client.Credentials = loginInfo;
client.Port = 587;
client.EnableSsl = সত্য;
client.Send(Msg);

একটি সম্পর্কে অপচিত যে কয়েক কী বিট এবং অন্যান্য পর্যবেক্ষণ / নোট:

  • loginInfo বস্তুর সৃষ্টি প্রথম লাইন ছিনতাই জিমেইল আইডি ব্যবহার করতে প্রয়োজন "@ Gmail.com". সুতরাং, আমার Gmail ইমেল ঠিকানা যদি "Sharepoint@gmail.comXyzzy "তারপর লাইন অনুরূপ হবে" এবং আমার পাসওয়ার্ড হল ":

NetworkCredential loginInfo = নতুন NetworkCredential("sharepoint", "xyzzy");

  • আমার Gmail একাউন্টে SSL-র ব্যবহার করার জন্য সেট আপ করতে এবং যে একটি সমস্যা ছিল না হয়.
  • There is some conflicting information out there on what port to use. I used port 587 এবং এটা আমার জন্য সূক্ষ্ম.
  • আমার কেস, I also needed to send attachments. That NIPFD object has a method that knows where my attachments are. It’s returning a fully path (e.g. "C:\tempattachment1.jpg”. In my test, আমি দুই সংযুক্তি ছিল এবং তারা উভয় সূক্ষ্ম.

আমি ভিসুয়াল স্টুডিও ব্যবহার 2008 এই কোড লিখুন.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

টুইটারে আমার অনুসরণ http://www.twitter.com/pagalvin

Technorati বিভাগ: ,,,