ყოველთვიური არქივი: აპრილი 2008

სწრაფი და მარტივი: ჩადება InfoPath ფორმა წაკითხვა მხოლოდ (InfoPath ფორმები მომსახურება Moss)

არსებობს საერთო ბიზნეს სცენარი მსგავსი:

  • მომხმარებელი ავსებს InfoPath ფორმა.
  • წარუდგენს ფორმა.
  • დიდხანს გაშვებული workflow პროცესის ჩათვლით.
  • მიუხედავად იმისა, რომ სამუშაო პროცესის მიმდინარეობს, ჩვენ არ გვინდა ვინმეს შეცვალოს შინაარსი ფორმა.

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.
  • ამ workflow, 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.

</ბოლო>

პროგრამები Tags: ,

გამოწერა ჩემი დღიური.

გამოყენება Semaphores in SharePoint Designer სიმბოლო ადამიანებით Endless Loops

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

  • შექმნა workflow და ასოცირებული სია.
  • მიუთითებს იმაზე, რომ უნდა დაწყებულიყო, შეიქმნას ახალი ნივთები და განაახლონ არსებული ნივთები.
  • ნაბიჯი workflow განახლებები სფეროში "მიმდინარე პუნქტის".
  • მიმდინარე პუნქტით შეიცვალა, workflow იწყება თავიდან.

თავიდან აეცილებინა ეს დაუსრულებელი ციკლი, განახორციელონ მარტივი semaphore:

  • დამატება საიტი სვეტი (ან სვეტის სიაში / ბიბლიოთეკა თუ თქვენ არ იყენებთ შინაარსი სახის).
  • დამალვა იგი რედაქტირება გვერდზე (გაკეთება ადვილია თუ საიტი სვეტი მეშვეობით თვისებების, არა ადვილია, თუ სიაში სვეტი).
  • ამ workflow, შეამოწმეთ თუ ღირებულება semaphore სვეტი არის ცარიელი.
  • თუ ეს ცარიელი, ვაყენებთ მას არა ცარიელი მნიშვნელობა და გაგრძელება.
  • თუ იგი არ არის ცარიელი, გასვლა დაუყოვნებლივ.

ეს შეიძლება გახდეს საკმაოდ nuanced გადაწყვეტა, დამოკიდებულია ბიზნეს მოთხოვნებს და ა.შ., მაგრამ ეს იყო workable ნიმუში, როდესაც მე საჭირო ეს.

</ბოლო>

პროგრამები Tags:

გამოწერა ჩემი დღიური.

დეველოპერები: როგორ ვისწავლოთ SharePoint?

განახლების: 04/25/08: იყო catching up ზოგიერთ დღიურში შეტყობინება და აღმოჩნდა ბმული ამ მუხლის: 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.

ამ ბოლო რამდენიმე თვის განმავლობაში, 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
  • Moss: Microsoft Office SharePoint Server

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:

გარდა ამისა, 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. It’s already been done 🙂. ამის ნაცვლად, 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.

I do not suggest that you take the exam just to pass it. I 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
  • Twitter

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 / მკითხველი).

Start by adding this blog to your RSS reader 🙂

შემდეგი, 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. თუ გსურთ, 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.

Twitter

As I write this blog entry, a lot of SharePoint folk have started using Twitter.

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!

</ბოლო>

გამოწერა ჩემი დღიური.

პროგრამები Tags: ,

მონაცემთა დაცვის მენეჯერი: როგორც ჩანს, დიდი SharePoint სარეზერვო / აღდგენის გადაჭრა

ამის New Jersey SharePoint მომხმარებელი ჯგუფი შეხვედრის ღამით, Microsoft Sr. პროდუქტის სპეციალისტი DuWayne ჰარისონ წარმოდგენილი Microsoft მონაცემთა დაცვის მენეჯერი 2007. DuWayne was great (და იგი მხარს უჭერს ერთი ან ორი კოლეგებს აუდიტორიის რომელთა სახელები მე არ მახსოვს). თქვენ შეგიძლიათ საპრეზენტაციო მასალა აქ.

მანამდე ღამით, მე არასოდეს მსმენია DPM.

მე არ ვარ სისტემა admin ტიპის პირი, 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, მაშინაც კი, თუ VM თავად მიმდინარეობს Unix).
  • შიშველი ლითონის აღდგენა (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. შინაარსი, config, და ა.შ.).
  • საიტის კოლექციებში
  • ინდივიდუალური საიტები
  • ინდივიდუალური ნივთები (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, არ გამართავს ჩემთვის ამ, მაგრამ მე მჯერა, რომ ყველაზე ძვირადღირებული ფასების დაახლოებით შემდეგი სახით (აშშ დოლარში):

  • $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 დღეს კლასში შესაძლებელი, თუმცა ეს არ არის აშკარა, რომ ვინმე რეალურად უნდა მიიღოს იგი.

ყველა ყველა, ვფიქრობ, ეს, რა თქმა უნდა ღირს იძიებს, თუ თქვენ იქ ეძებენ მონაცემთა დაცვის გადაწყვეტა SharePoint.

</ბოლო>

გამოწერა ჩემი დღიური.

პროგრამები Tags:

Twitter: http://twitter.com/pagalvin

გასეირნება გზით: დაფიქსირება თანამშრომელთა ტრენინგი თარგი ხელმისაწვდომია ადგილები Unregister Bug

რაც უფრო ბევრი ადამიანი ვიცი, თანამშრომელთა სასწავლო template გათვალისწინებული Microsoft აქ აქვს bug რომ ჩვენ შეგვიძლია აღვადგინოთ შემდეგ ეს ნაბიჯი:

  • შექმენით კლასი მაქსიმალური ზომა 10 სტუდენტები.
  • რეგისტრაცია –> Total available seats properly decrements by one. შედეგი: 9 ხელმისაწვდომი ადგილების.
  • Unregister: –> Bug. Total available seats should increment by one. It does not. შედეგი: 9 ხელმისაწვდომი ადგილების მიხედვით SharePoint, მაგრამ სინამდვილეში, არსებობს 10 ხელმისაწვდომი ადგილების.

Solution: გამოყენება SharePoint დიზაინერი გამოსწორების workflow.

პირველი, open up the site. The folder list for me looks like this:

იმიჯი

If we have a look at the "Attendee registration" workflow, 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, ჩვენ ვხედავთ ამ:

იმიჯი

სულ ეს ინფორმაცია ჩვენ უნდა დააფიქსიროს ხაზიდან workflow.

თუ ჩვენ Flip მეტი to ხაზიდან workflow, 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: Decrement შევსებული ადგილები 1:

იმიჯი

5: განახლების დაკავშირებული კურსი პუნქტის:

იმიჯი

6: Make sure all the steps are in the right sequence. ჩემთვის, როგორც ჩანს, ამ:

იმიჯი

7: დასრულების workflow ხელახლა აშენება.

8: ტესტი.

</ბოლო>

გამოწერა ჩემი დღიური.

პროგრამები Tags: ,

შემთხვევითი შაბათს დილით სადამკვირვებლო

მე უკვე კლასების ბოლო ორი კვირის განმავლობაში და ერთი რამ, რომ დარტყმები ჩემთვის, რომ არსებობს ბევრი გააზრებული, ჭკვიანი ადამიანი მუშაობს SharePoint (როგორც კონსულტანტები ან IT პერსონალი) რომლებსაც არა წაკითხვა, twitter, როგორც ჩანს, იცის საზოგადოების ფორუმის მსგავსად MSDN ფორუმი ან SharePoint უნივერსიტეტი, შენარჩუნება Facebook ან გვარი პროფილები, და ა.შ.. They are pure information consumers. Not bad, უბრალოდ საინტერესო.

</ბოლო>

პროგრამები Tags:

გამოწერა ჩემი დღიური.

Codeplex & RSS

არ ვიცი, თუ ყველა ხვდება, მაგრამ codeplex აქვს ლამაზი ყოველდღიური განახლება RSS არხი რომ მე ძალიან სასარგებლო.
გარდა ამისა, ყველა codeplex პროექტების აქვს თავისი ით.
ყოველ დღე, მე სკანირების მეშვეობით და დამატება ნებისმიერი SharePoint პროექტები’ არხებს ჩემი gmail მკითხველი.
</ბოლო>

Twittering Away …

ზე http://twitter.com/pagalvin

სამწუხაროდ, მე გაიწმინდა out ჩემი gmail ანგარიშის საათით ადრე ხელმოწერის, ასე რომ ვერ აღმოაჩინა ვინმე, როდესაც მას ეძებდნენ კონტაქტები.

თუ თქვენ იყენებთ Twitter, ნება მომეცით ვიცი და მე სიამოვნებით დაკავშირება.

</ბოლო>

ინფორმაციის შეკითხვის ვებ ნაწილი: საუბრისას New York SharePoint წევრი Group

მე ვიქნები საუბარი ჩემს კოლეგასთან, ნატალია Voskresenskaya, ზე New York SharePoint წევრი Group შეხვედრის ოთხშაბათს, 7 მაისის.

მადლობა ბობ Fox ამისთვის სროლა ჩვენი სახელები შევიდა ქუდი და დაგვეხმარება მიიღოს ეს შესაძლებლობა!

ჩვენი საერთო თემა ინფორმაციის შეკითხვის ვებ ნაწილი და იმედი გვაქვს, რათა ზოგიერთი სასარგებლო ინფორმაციას ორი განსხვავებული აუდიტორია:

  • ბიზნესის წევრებს (არასამთავრობო დეველოპერები): ჩანს, თუ როგორ 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 ფოსტით out ერთი კვირის წინ:

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

MOSS 2007’s Content Query Web Part (CQWP) მომხმარებლებს აძლევს საშუალებას შექმნას საბაჟო შეხედულებები მონაცემები queried მრავალი წყაროები, და წარმოადგინოს, რომ მონაცემები ერთ ადგილას. მიუხედავად მისი ძლიერი შეკითხვის & შინაარსი დახვეწას პარამეტრების, CQWP ხშირად underrated და შეუმჩნეველი ფუნქცია. 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 დოკუმენტაცია.

</ბოლო>

გამოწერა ჩემი დღიური.

პროგრამები Tags:

სწრაფი SharePoint ინტეგრაციის: სიკვდილი მარტივი

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, ეს hop, გაფართოებული და ნახტომი მოშორებით გადაიტანოთ ამ ლოგიკით შიგნით ვებგვერდი ნაწილი ან გამოყენების გვერდი:

გამოყენებით სისტემები;
გამოყენებით 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
    {
        სტატიკური ცნოს მთავარი(სიმებიანი[] args)
        {

            #რეგიონში ინიციალიზაცია ჩვენი ურთიერთობის 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

             იწყებს შეკითხვის

            სიმებიანი queryString = "test";

            შეკითხვის შეკითხვის = ახალი შეკითხვის(queryString);

            query.SetParameter(BaseParameter.კლასტერული, ყალბი);
            query.SetParameter(BaseParameter.ნავიგაცია, ნამდვილი);
            query.SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

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

            IQueryResult შედეგი = searchView.Search(შეკითხვის);

            Console.WriteLine("Total results from search: [" + result.DocCount + "].");

            int docCounter = 0;

            ხოლო (docCounter < result.DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = result.GetDocument(docCounter);

                Console.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").StringValue);

            } // ხოლო

            Console.ReadLine();
            #endregion

        }
    }
}

ეს წარმოშობს შემდეგ შედეგი:

იმიჯი

</ბოლო>

გამოწერა ჩემი დღიური.

პროგრამები Tags: ,