بایگانی ماهانه: آوریل 2008

سریع و ساده: ایجاد یک فرم InfoPath و دفعات بازدید: فقط (فرمهای InfoPath و خدمات در خزه)

یک سناریوی کسب و کار رایج مانند این وجود دارد:

  • کاربر پر کردن فرم InfoPath.
  • تسلیم فرم.
  • فرایند گردش کار طولانی مدت لگد کردن.
  • در حالی که گردش کار در حال اجرا است, ما نمی خواهیم هر کسی که برای تغییر محتوای فرم.

This office.microsoft.com example describes how to create a separate "view" and mark the whole view as read-only. This is a workable approach but has the drawback that you’ve effectively created two entire versions of the same form and must now keep them in sync manually. If you add a field to the editable view, you must then add it to the non-editable view as well. Over time, with different developers, there can be some divergence.

This alternative might work better in some cases:

  • Add a new field to the form called "IsEditable".
  • Set its default value to true.
  • Promote it when publishing to MOSS.
  • در گردش, set the value of IsEditble to false.
  • Go back to the form.
  • Add a rule that "upon open of the form", disable your save button when IsEditable is false.

The drawback to this approach is that all the fields will still be editable on the screen. The user can get a false impression that they can actually change content. You can mitigate that by putting in some text that the form is disabled, possibly in big red letters across the top of the page.

In one project, I created a "workflow status" دیدن. As the workflow progressed, it would update specific status fields that had been promoted from the form. When the user opened the form, the "open form" rule automatically switched to that view and the user had a nice little summary status.

</پایان>

مشترک شدن در وبلاگ من.

استفاده از سمافورها در گردش طراح شیرپوینت برای جلوگیری از حلقه بی پایان

It’s possible to cause an endless loop in a SharePoint Designer workflow. A common implementation pattern like this causes the problem:

  • ایجاد یک گردش کار و با یک لیست مرتبط.
  • نشان می دهد که آن را باید در ایجاد آیتمهای جدیدی که شروع شده و به روز رسانی از آیتم های موجود.
  • A step in the workflow updates a field in "Current Item".
  • از آنجا که قلم دوم از اقلام فعلی تغییر, گردش کار از نو شروع می شود.

برای جلوگیری از این حلقه بی پایان, پیاده سازی بوسیله پرچم مخابره کردن ساده:

  • اضافه کردن یک ستون سایت (یا ستون را به لیست / کتابخانه اگر شما نوع محتوا با استفاده از).
  • ویرایشهای آن را از صفحه ویرایش (آسان برای انجام این کار اگر یک ستون سایت از طریق خواص آن, به عنوان آسان نیست اگر یک ستون لیست).
  • در گردش, چک کنید اگر مقدار ستون مخابره بوسیله پرچم خالی است.
  • اگر خالی است, تنظیم آن را به ارزش های غیر خالی و ادامه.
  • اگر خالی است, خروج بلافاصله.

این می تواند تبدیل به یک راه حل نسبتا ظریف, با توجه به الزامات کسب و کار و غیره, اما یک الگوی عملی شده است زمانی که من آن را مورد نیاز.

</پایان>

مشترک شدن در وبلاگ من.

توسعه دهندگان: چگونه من آموزش شیرپوینت?

تکمیلی: 04/25/08: Was catching up on some blog posts and found a link to this article: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. I make note of it because in addition to asking, "how do I learn sharepoint?", some people ask "why should I learn sharepoint?". That article partly answers the later.

In the last several months, a dozen or more folks from across the planet have been emailing me and asking the general question, "How do I learn SharePoint?"

I’m hardly authoritative, but I’ve had some success (and trying to get better all the time) so I thought I’d document my personal road map. Others may find it valuable.

Before I do that, I just want to observe that it’s obvious to me, based on these personal emails and the even greater number of MSDN / SharePoint University posts of the same nature, that there is huge developer interest in getting up to speed with WSS/MOSS. I wonder what it’s going to be like a year from now … easier to find good SharePoint talent? The same? Are folks committing themselves to the platform at a rate sufficient to keep up with demand for good resources? How could you even figure something like that out short of a WAG?

Paul’s Roadmap

I was full time employed by the good folk at Conchango while I followed this road map. This means that from a learning perspective, I was actively engaged in projects as I followed the steps I outline below.

Some Basic Terms

For people entering this world, there are two key acronyms:

  • WSS: Windows SharePoint Services
  • خزه: مایکروسافت آفیس شیرپوینت سرور

WSS is "free" in that it’s bundled with windows server 2003 (or at least can be downloaded from MS). I put quotes around free because you need a box, a valid O/S license and probably SQL (though there’s a "free" kind of SQL as well).

MOSS is built on top of WSS and extends it. There is no MOSS without WSS. MOSS is not free.

Perhaps not day one, but soon after you’ve got some basic familiarity with the platform, it’s important to learn the differences. مثلا, a powerful web part, the Content Query Web Part, is a MOSS feature and not available WSS. People often make the incorrect assumption that CQWP is available in WSS and then end up scrambling for a stop-gap measure when they realize their error.

Hit the Books

I started working with WSS/MOSS on about 01/02/2007. I had a little prior experience with SPS 2003 but very little. To get myself started, I purchased the two books listed here (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

I started with the big blue administration book. Naturally, it covers administration. در همان زمان, it provides a survey of all MOSS features (and WSS features as well).

برای من, it’s not so important to remember all the various details (until it’s time to get certified) but it’s good to know the boundaries. (I follow this same approach in 1st person shooters I play on the xbox or PC — I enter a room and tend to make a counter-clockwise loop until I get back where I started. I just feel better knowing the shape of the box I’m in.)

After reading the big blue book, I would read the entire Inside WSS book. It dives deeply into issues that developers care most about.

Create a Virtual Environment

In order to do any development or properly use the environment, you need a full blown windows server operating system with SharePoint Designer, ویژوال استودیو 2005 (2008 works, but some useful tools have yet to be ported as of the writing of this article), InfoPath و 2007 and some other stuff. There are many good blog entries describing this process. I’d have a look at these two:

In addition, Andrew Connell shared his experiences with VMWare here:

Use your favorite search engine to see what other people do. It’s a useful learning exercise in and of itself.

Spend a few minutes angrily denouncing the fact that you need a server environment on which to do development. اما … don’t bother blogging about it or posting it to MSDN forums. قبلاً انجام شده است .... در عوض, embrace it and move on. You’ll be better off for it.

Get Certified

I believe that the MS SharePoint certification path, which consists four exams, is exhaustive. I suggest that you follow their online preparation guide and do your best to understand each of the areas of the test.

من do not suggest that you take the exam just to pass it. من do not suggest that you use one of the "brain dump" style 3rd party "tools" for passing MS tests. If you can take the test, pass it based on a combination of your own directed study and hands-on experience, you’ll be a stronger developer and job candidate for it.

There are four tests in two "tracks":

Developer:

Admin:

I recommend that developers study for all of these exams. You’ll be strong for them, though I suppose if you skipped the admin exams, you would get by.

I found the WSS version to be considerably more challenging than the corresponding MOSS versions, much to my surprise. I was in a class recently and several others made the same point.

While I was studying for the 70-542 امتحان (MOSS development) I tracked my study resources. These may be helpful to you as well: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

Plug Yourself Into the Community

The SharePoint community is vibrant, strong and growing larger all the time.

You want to look at the following to start:

  • Blogs
  • انجمن
  • Codeplex
  • توییتر

Blogs

If you don’t understand RSS, stop everything and learn it. It will take 10 minutes to learn it, maybe another 10 minutes to find a web based RSS reader (I like google’s reader, www.google.com/reader).

با افزودن این وبلاگ به RSS خوان خود شروع کنید

بعد, add www.sharepointblogs.com to your reader. They aggregate many blogs into a single feed.

Over time, you’ll find blogs that are not aggregated that way. Just add them individually.

I subscribe to a few dozen blogs which I’ve accumulate over the last year. If you want, I can export my list and email it.

Eventually, you may want to start your own blog. I personally think that a series of blog entries describing a "newbie’s" progress learning WSS/MOSS would be an interesting series. I wish I had done that myself.

انجمن

I actively participate in two forum groups: MSDN and SharePoint University.

Forums are excellent places to learn. People ask questions ranging from the very simple ("How do I create a site column") to the panicked ("My server is down!") to more hypothetical design questions.

Once you get a flavor of the environment, venture out and start replying. Short of directly interacting with a customer, nothing is better than this for hands on experience.

Codeplex

رفتن به www.codeplex.com.

Check it out and search for SharePoint projects.

Subscribe to the daily summary Codeplex feed in your feed reader.

Add any new SharePoint projects to your feed reader.

Eventually, after reading the forums and facing down your own WSS/MOSS demons, consider putting together your own codeplex project.

توییتر

As I write this blog entry, a lot of SharePoint folk have started using توییتر.

It’s hard to characterize Twitter. You’ll just have to check it out yourself.

نتیجه

That wraps up my roadmap and makes me current. I just started using Twitter two weeks ago.

WSS/MOSS is a very cool platform and the community is growing all the time. Use community resources to improve your skills and enjoy the journey!

</پایان>

مشترک شدن در وبلاگ من.

مدیر حفاظت از داده ها: به نظر می رسد مانند پشتیبان گیری شیرپوینت بزرگ / بازگرداندن راه حل

در نیوجرسی شیرپوینت کاربران گروه جلسه شب گذشته, مایکروسافت SR. محصول متخصص DuWayne هریسون ارائه مایکروسافت مدیریت حفاظت از داده ها 2007. DuWayne was great (و او توسط یک یا دو همکار از مخاطبان که نام من را به یاد ندارد مورد حمایت قرار گرفت). شما می توانید مواد ارائه از اینجا دریافت کنید.

تا شب گذشته, من هرگز از DPM شنیده شده است.

من یک سیستم مدیریت نوع شخص, so I’m writing this from SharePoint consultant’s perspective and may get some of the words wrong. به نظر من, DPM is a backup/restore solution for Microsoft "stuff":

  • فایل
  • SQL
  • O / S
  • ماشین های مجازی (زندگی پشتیبان از ماشین مجازی, حتی اگر خود VM در حال اجرا یونیکس).
  • بازیابی فلز لخت (i.e. شکست فاجعه آمیز سخت افزار).

فراتر از آن مسائل, which I would consider to be minimal requirements for any kind of "real" تهیه پشتیبان / بازیابی محصول, DPM also has built-in intelligence for SharePoint. It understands about server farms and lets you restore:

  • تمام پایگاه های داده (e.g. مقدار, پیکربندی, غیره).
  • مجموعه های سایت
  • سایت های شخصی
  • آیتم های منحصر به فرد (e.g. اسناد).

The actual restore process involves extracting the target data from the backup and save it into a "restore farm" و سپس از آنجا, حرکت آن را به محیط تولید (یا هر کجا که شما می خواهید برای بازگرداندن). I think this is seamless, but there was a lot of emphasis on the need for a "restore farm". The restore farm does not need to match the production environment in every particular (عمدتا در توپولوژی فیزیکی) اما باید برای مطابقت با در نظر از قالب ها, نسخه, غیره.

من یک پایان برای پایان دادن به دمو نمی بینم, but DuWayne did show screen shots and some live demos. It seems to be as good as it needs to be, حداقل برای یک محیط با اندازه متوسط.

I was particularly struck by the pricing. Obviously, من به این نگه ندارد, اما من معتقدم که قیمت گذاری گران قیمت ترین است تقریبا به شرح زیر است (در USD):

  • $600 برای خود DPM.
  • سخت افزار سرور DPM (و چیزهای مرتبط برای رسانه ها و آنچه را که).
  • $450 برای هر سرور شما می خواهید به عقب ("enterprise" پروانه).

مزرعه پنج سرور را در اکثر هزینه:

  • $600 برای DPM
  • $450 X 5 سرورهای = $2,250

کل هزینه مجوز: $2,850

در عمل, it would be less. You wouldn’t necessarily need to have DPM installed on each web front end, مثلا. You don’t necessarily need enterprise licenses either.

The user interface is seems very simple probably would not require any special training to get up to speed. I did ask about that specifically and there is apparently a 1.5 کلاس روز در دسترس, اگر آن را به من آشکار نیست که هر کسی که واقعا باید آن را.

همه در همه, من فکر می کنم آن را قطعا ارزش بررسی را اگر شما وجود دارد به دنبال یک راه حل حفاظت از داده ها برای شیرپوینت.

</پایان>

مشترک شدن در وبلاگ من.

برچسب ها:

توییتر: http://twitter.com/pagalvin

راه رفتن، از طریق: رفع کارمند آموزش الگو صندلی های موجود اشکالات UNREGISTER

همانطور که بسیاری از مردم می دانند, از کارمند قالب آموزش ارائه شده توسط مایکروسافت در اینجا دارای یک اشکال است که ما می توانیم تولید مثل پس از این مراحل:

  • ایجاد یک کلاس با حداکثر اندازه 10 دانش آموزان.
  • ثبات –> Total available seats properly decrements by one. نتیجه: 9 صندلی های موجود.
  • UNREGISTER: –> Bug. Total available seats should increment by one. It does not. نتیجه: 9 صندلی های موجود در شیرپوینت, اما در واقع, وجود دارد 10 صندلی های موجود.

راه حل: استفاده از شیرپوینت طراح گردش کار برای اصلاح.

اولین, open up the site. The folder list for me looks like this:

تصویر

If we have a look at the "Attendee registration" گردش کار, we see that there is a step labeled "Enforce seating policy". It looks like this:

تصویر

This step in the workflow updates the item by incrementing the "Filled Seats" metadata column on the course. If we pull that up in more detail, ما این را:

تصویر

این تمام اطلاعاتی که ما نیاز به تعمیر گردش کار لغو ثبت.

اگر ما بیش از تلنگر به گردش کار لغو ثبت, there is no similar workflow step. Add it as follows:

1: Expand "Attendee unregistration" و باز کردن XOML (اولین ضربه روی صفحه نمایش را ببینید اگر شما از دست داده در حال).

2: افزودن یک متغیر گردش کار جدید, "New Filled Seats" of type "Number".

3: Assign a value to "New Filled Seats" به عنوان نشان داده شده است:

تصویر

4: کاهش پر از صندلی های 1:

تصویر

5: بروز آیتم مربوط به درس:

تصویر

6: Make sure all the steps are in the right sequence. برای من, مثل این به نظر می رسد:

تصویر

7: پایان گردش کار به دوباره ساختن آن.

8: تست.

</پایان>

مشترک شدن در وبلاگ من.

شنبه صبح رصد تصادفی

I’ve been in classes these past two weeks and one thing that strikes me is that there are a lot of thoughtful, smart people working on SharePoint (as consultants or IT staff) who don’t blog, توییتر, seem aware of public message boards like MSDN forum or SharePoint University, maintain Facebook or LinkedIn profiles, غیره. They are pure information consumers. Not bad, just interesting.

</پایان>

برچسب ها:

مشترک شدن در وبلاگ من.

محتوا قسمت وب سایت پرس و جو: طی سخنانی در نیویورک شیرپوینت کاربران گروه

من خواهد بود با همکارم صحبت کردن, ناتالیا Voskresenskaya, در نیویورک شیرپوینت کاربران گروه ملاقات چهارشنبه مه 7.

با تشکر از باب فاکس برای پرتاب کردن نام خود را به کلاه و کمک به ما این فرصت را دریافت کنید!

موضوع کلی ما این است که محتوای وب سایت پرس و جو قسمت است و ما امیدواریم که به ارائه برخی از اطلاعات مفید به دو مخاطبان مجزا:

  • کاربران کسب و کار (غیر از توسعه دهندگان): نمایش چگونه CQWP می تواند پیکربندی شده برای حل برخی از مشکلات کسب و کار مشترک بدون هیچ گونه برنامه نویسی.
  • توسعه دهندگان: Show how CQWP can be extended to do some pretty interesting things that a business user wouldn’t normally feel comfortable doing themselves. This part of the presentation will help business users understand what’s possible using this web part so that they can provide better and more realistic requirements to their developer partners.

در اینجا NYSPUG اطلاع قبلی در این هفته از طریق پست:

"Using Content Query Web Part to Solve Business Problems".

MOSS 2007’s Content Query Web Part (CQWP) کاربران را قادر می سازد برای ایجاد نمایش های سفارشی از داده ها از منابع مختلف کوئری می, و در حال حاضر که داده ها در یک مکان. با وجود پرس و جو قدرتمند خود & گزینه های پالایش محتوا, CQWP است که اغلب ویژگی دستکمگرفتهشده و نادیده گرفته. CQWP is both a "data extraction engine" (پیدا کردن اسناد یا اقلام لیست در هر نقطه در مجموعه سایت) و همچنین یک ابزار ارائه کلاس اول است که کاربران را قادر می سازد تا به کنترل و چگونگی محتوا با بسته بندی و سبک های HTML به فرمت صفحه نمایش تقریبا هر راه می خواهید ارائه.

در این جلسه دمو سنگین, آنها نشان خواهد داد که چگونه به استفاده از CQWP برای حل مشکلات کسب و کار با نشان دادن ویژگی های اصلی.

  • استفاده از ویژگی های CWQP پیش فرض, از جمله مخاطبان هدف قرار دادن

  • use CWQP as a reporting tool anywhere in a site collection via filter criteria such as "all documents created today".

  • تغییر نگاه & احساس از نتایج پرس و جو برای برجسته کردن داده های کسب و کار, نمایش ستون های اضافی از اطلاعات, نمایش اطلاعات در قالب شبکه, و دیگران.

  • نشان می دهد که چگونه CQWP می تواند در دولت نوع محتوا کمک (i.e. پیدا کردن تمام اسناد یک نوع محتوای خاص، تا که به درک اثرات بالقوه تغییر تعریف CT).

  • توصیف برخی از محدودیت های CQWP

  • ارائه فهرستی از منابع برای تکنیک های CQWP پیشرفته, از جمله وبلاگ ها, ECQWP پروژه Codeplex & مستندات MSDN.

</پایان>

مشترک شدن در وبلاگ من.

یکپارچهسازی با شیرپوینت FAST: اجرای یک پرس و جوی ساده

This is a continuation in my FAST coding mini-series for SharePoint folk. The bit of code below executes a search for the term "test" in FAST via a Console application. Obviously, هاپ, به بسته بندی کردن این منطق در داخل یک بخش صفحه وب و یا نرم افزار جست و خیز و پرش دور:

با استفاده از سیستم;
با استفاده از System.Collections.Generic;
با استفاده از System.Linq;
با استفاده از System.Text;
با استفاده از System.Collections.Specialized;
با استفاده از Com.FastSearch.Esp.Search;
با استفاده از Com.FastSearch.Esp.Search.Http;
با استفاده از Com.FastSearch.Esp.Search.Navigation;
با استفاده از Com.FastSearch.Esp.Search.Query;
با استفاده از Com.FastSearch.Esp.Search.Result;
با استفاده از Com.FastSearch.Esp.Search.View;
با استفاده از System.Collections;

فضای نام Conchango
{
    کلاس InvokeSimpleFASTQuery
    {
        ایستا از درجه اعتبار ساقط اصلی(رشته[] استدلال)
        {

            #منطقه مقداردهی اولیه ارتباط ما با FAST
            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = جدید NameValueCollection();

            nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            #endregion قسمت

             راه اندازی یک پرس و جو

            رشته آدرس و Query string = "test";

            پرس و جو پرس و جو = جدید پرس و جو(آدرس و Query string);

            query.SetParameter(BaseParameter.خوشه, غلط);
            query.SetParameter(BaseParameter.NAVIGATION, درست);
            query.SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

            ISearchView searchView;
            searchView = searchFactory.GetSearchView("sharepointconn");

            IQueryResult نتیجه = searchView.Search(پرس و جو);

            کنسول.WriteLine("Total results from search: [" + result.DocCount + "].");

            اعضای هیات docCounter = 0;

            در حین (docCounter < result.DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = result.GetDocument شده(docCounter);

                کنسول.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").StringValue);

            } // در حین

            کنسول.ReadLine();
            #endregion قسمت

        }
    }
}

این نتیجه زیر را تولید:

تصویر

</پایان>

مشترک شدن در وبلاگ من.

برچسب ها: ,