קאַטעגאָריע אַרטשיוועס: שאַרעפּאָינט

דעוועלאָפּערס: ווי צי איך לערן שאַרעפּאָינט?

דערהייַנטיקן: 04/25/08: איז קאַטשינג אַרויף אויף עטלעכע בלאָג הודעות און געפונען אַ לינק צו דעם אַרטיקל: 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:

  • ווסס: 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), ינפאָפּאַטה 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.

איך 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
  • גרופּעס
  • קאָדעפּלעקס
  • טוויטטער

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.

קאָדעפּלעקס

Go to 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!

</עק>

אַבאָנירן צו מיין בלאָג.

שאַרעפּאָינט טוט נישט צושטעלן קאַלענדאַר ראָלל-אַפּס; פּאָטענציעל סאַלושאַנז

דערהייַנטיקן: An anonymous person in the comments posts this link: http://www.atidan.com/atidan-collaboration-kit.php

פורום ניצערס אָפֿט פרעגן אַ קשיא ווי דעם:

"I would like to have a calendar at the site level that is populated by events from subsite calendars. Ideally, ניצערס אין סובסיטעס וועט שאַפֿן לוח געשעענישן, and will have the option of marking them as ‘public.’ Events marked as public will dynamically appear in the shared site calendar. Thus the shared site calendar is a roll-up of all public events from all subsite calendars."

איז ווסס 3.0 אָדער מאָך 2007, it is not possible to directly configure a "roll-up" calendar. Calendars exist on their own, פרייַ פון קיין אנדערע לוח.

צו שאַפֿן אַ זעמל-אַרויף לוח, נאָכגיין איינער פון די פּאַטס:

  1. Use a Content Query Web Part. This is the easiest solution for MOSS users (ווסס טוט נישט צושטעלן קקוופּ). קקוופּ, צומ באַדויערן, does not provide a calendar view of data out of the box. It does provide enormous rendering flexibility (זען דאָ פֿאַר איין בייַשפּיל) אָבער דורך פעליקייַט, shows its results in simple list format. In many cases, קקוופּ מיסטאָמע אַ גוט ברירה.
  2. A more programming-oriented solution would be to use event receivers. Implement event receivers on the subsite calendars that keep their public events in sync with the master calendar. As a given subsite calendar is modified, reach out to the master calendar and update it as needed. This option is available in both WSS 3.0 און מאָך.

There are probably other clever solutions to this problem. If you have one or know of one, ביטע לאָזן אַ באַמערקונג אָדער Email מיר און איך וועל דערהייַנטיקן דעם פּאָסטן.

</עק>

טעטשנאָראַטי טאַגס: ,

אַבאָנירן צו מיין בלאָג.

סוף באַניצער שנעל טיפּ: סאָרט קוקן אין אַ דאָקומענט ביבליאָטעק, רעשימע, אאז"ו ו.

מיר קענען, זאָל און טאָן מאַכן פילע קוקן אין שאַרעפּאָינט רשימות (דאָקומענט לייברעריז, מנהג רשימות, אאז"ו ו). SharePoint always lists available views in alphabetical order. We cannot change this using out of the box functionality. If it can be done via customization (און איך בין נישט זיכער עס קענען), עס ס 'ווייַט צו טעכניש פֿאַר דיין טיפּיש סוף באַניצער.

אויב איר ווילן צו קאָנטראָלירן דעם סדר אין וואָס שאַרעפּאָינט רשימות פאַראַנען קוקן, פשוט פּרעפּענד אַ נומער אָדער בריוו צו דער מיינונג נאָמען, ווי אין:

1 – דורך מאַטעריאַל טיפּ
2 – כל דאָקומענץ
3 – רעכט טאָג

-אָדער-

א – דורך מאַטעריאַל טיפּ
ב – כל דאָקומענץ
C – רעכט טאָג

I have also created views whose purpose is strictly to feed a KPI. I have been following this naming convention:

ז_קפּי_[באַשרייַבונג]

That causes my "KPI" קוקן צו דערשייַנען אין די דנאָ פון דער רשימה.

</עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס: ,

באַר איז נאָך שיין הויך צו פאַרברייטערן מאָך

הייַנט, I was working with a client and describing how to modify the content query web part and display additional bits of information from a content type.

"First, איר קאַנפיגיער די קקוופּ צו פאַרבינדן צו זייַן דאַטן קוואלן, דעמאָלט איר אַרויספירן אים צו דיין ווערקסטיישאַן, מאָדיפיצירן <קאָממאָנוויעוופיעלדס>, צופֿעליקער, remove the original and now it’s ‘primed’ to display those other columns. ווייַטער, open up SharePoint designer, navigate to the site collection root and locate ItemStyle.xsl. Copy one of the templates as a useful starting point. Go back and modify the CQWP to make use of this new template. לעסאָף, modify the template to render your new fields! (Don’t forget to check it back in so that other users can see the results)."

It’s all quite clear to me (and most of us SharePoint developer types) what’s going on and how it’s quite nice, טאַקע, that the data retrieval aspects of the CQWP are so well-separate from the data presentation aspects. אָבער, it’s not so easy to explain, is it?

<סוף />

טעטשנאָראַטי טאַגס: ,

Yes/No (טשעק קאַסטן) פֿילטרירונג אין אינהאַלט קווערי וועב חלק

To filter for a query for the Yes/No check box entitled "PG Milestone", קאַנפיגיער קקוופּ ווי דעם:

בילד

דאס איז אן אנדער איינער פון יענע קלאָר ווי דער טאָג-אַמאָל-איר-וויסן-עס אָבער שווער-צו-געפינען-אַן-ענטפֿערן-צו שאלות: ווי צו פילטער אויף אַ יא / ניין טשעק קעסטל ניצן די צופרידן אָנפֿרעג וועב טייל.

דער ערשטער זוכן רעזולטאַט I find using the search term "filter yes/no content query web part" איז פלאַך אויס פאַלש, אַזוי איך געדאַנק איך 'ד שטעלן דעם זיך דאָרט און זען אויב עס קענען פאַרבייַטן די פאַלש רעזולטאַט אין טיפּיש זוכן רעזולטאַטן.

עס ס גאַנץ גרינג: True values = "1" and false values do not equal "1" (שיין רעטראָ, פאקטיש).

אין די אויבן בייַשפּיל, I created site column of type "Yes/No (טשעקקבאָקס)" named "PG Milestone". I added it to a doc library, ופּלאָאַדעד אַ ביסל דאָקומענטן, שטעלן די ווערט פֿאַר אַ פּאָר און טעסטעד עס.

<סוף />

מאָך דערציילט מיר מייַן קאַלאַם נאָמען איז שמורות אָדער אין ניצן … אבער עס ס ניט

דערהייַנטיקן 12/04/07: זען דעם מייקראָסאָפֿט קב (http://support.microsoft.com/kb/923589) פֿאַר פֿאַרבונדענע אינפֿאָרמאַציע.

פאקטיש, עס טורנס אויס עס איז, אָבער טריקקסי מאָך האט צו מאַכן עס שווער.

My customer does some development work on his MOSS site over the weekend. It’s a bit of a jumble as to what he actually did, אָבער די סוף רעזולטאַט איז דאָס:

  • He tries to add a site column called "Quantity" און מאָך ריפּלייז: "The column name that you entered is already in use or reserved. Choose another name."
  • He attempts to add it to another environment and that works. דעריבער, "Quantity" איז ניט אַ רעזערווירט נאָמען.
  • He tries to find an existing site column named "Quantity" in that site collection. He cannot find it.

איך האט עטלעכע פאָרשונג, and even some coding, וואַקסט פילאַסאַפיקאַל און ענדלעך געפונען אַז אַ זייַל געהייסן קוואַנטיטי האט, אין פאַקט, exist. It was in the "_Hidden" group. Hence, מיר קען ניט געפינען עס דורך די שאַרעפּאָינט באַניצער צובינד.

ווי האט עס באַקומען דאָרט? I do not know, אָבער איך האב אַ טעאָריע (אָדער ווי מיין פרוי וואָלט רופן עס, "blah blah blah"). ערגעץ צוזאמען די שורה, אַ פאַביאַלאַס פערציק מוסטער was added and probably activated at a site in the site collection. It was then deactivated (אָדער די פּלאַץ אַוועקגענומען). The site column, אָבער, remained but in the "_Hidden" group. If someone knows better, ביטע לאָזן מיר וויסן דורך Email אָדער פּאָסטן אין די באַמערקונגען.

SharePoint was telling the truth. It’s hardly worth pointing out that that message is not as helpful as it could be. It would be nice to see that message fork into two different messages in the future: 1) זאָגן אַז דער זייַל נאָמען איז רעזערווירט אָדער עס איז נישט. 2) אויב עס ס 'נישט רעזערווירט, ווייַזן די פּלאַץ, אָדער לפּחות די גרופּע, ווו דער זייַל נאָמען איז שוין געניצט.

</עק>

“קענען נישט באַקומען די רשימה סטשעמאַ זייַל פאַרמאָג פון די שאַרעפּאָינט רשימה” — באַשרייַבונג / ווערק-אַראָונדס

דעם וואָך, מיר לעסאָף ריפּראַדוסט אַ פּראָבלעם אַז האט שוין געמאלדן דורך אַ ווייַט באַניצער: ווען זי געפרוווט צו אַרויספירן די אינהאַלט פון אַ רשימה צו עקססעל, דאס וואָלט ויסקומען צו אָנהייבן ארבעטן, אָבער דעמאָלט עקססעל וואָלט קנאַל אַרויף אַ טעות: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

איך געזוכט דעם ינטערנעץ און געזען עטלעכע ספּעקולאַציע אָבער גאָרנישט 100% definitive. Hence, דעם פּאָסטן.

די פּראָבלעם: עקספּאָרטינג אַ מיינונג צו עקססעל אַז כּולל אַ דאַטע (דאַטע = די דאַטן טיפּ פון דעם זייַל).

What worked for us: Convert the date to a "single line of text". דעמאָלט, convert it back to a date.

That solved it. It was nice to see that the conversion worked, פאקטיש. It was quite nervous that converting things this way would fail, but it did not.

This bug has thrown a huge shadow over the date data type in the client’s mind, so we’re going to be seeking out a definitive answer from Microsoft and hopefully I’ll post and update here in the next short period of time with their official answer and hotfix information.

Other references:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<עק>

אַבאָנירן צו מיין בלאָג.

טעטשנאָראַטי טאַגס: ,

איר קענען נישט ביט שאַרעפּאָינט ס דערגרייכן

בעת די לעצטע צוויי טעג, I have participated in two meetings during which we presented the results of a SharePoint project. The CIO and his team joined the first meeting. That’s standard and not especially notable. The IT department is obviously involved in an enterprise rollout of any technology project. The second meeting expanded to include a V.P. פון פֿאַרקויף, עטלעכע דירעקטאָרס רעפּריזענטינג הר, לאָגיסטיקס, מאַנופאַקטורינג, הויפּט - שטאָט פּראַדזשעקס, קוואַליטעט, פּערטשאַסינג, פֿירמע אַנטוויקלונג און אנדערע דיפּאַרטמאַנץ (עטלעכע פון ​​וועמען האבן נישט אַפֿילו גלייַך ינוואַלווד אין די קראַנט פאַסע). That’s a mighty wide audience.

אין מיין פריערדיק לעבן, I primarily worked on ERP and CRM projects. They both have a fairly wide solution domain but not as wide as SharePoint. To be fully realized, SharePoint projects legitimately and necessarily reach into every nook and cranny of an organization. How many other enterprise solutions have that kind of reach? Not many.

SharePoint clearly represents an enormous opportunity for those of us fortunate enough to be in this space. It provides a great technical opportunity (וואָס איז עפעס פארקערט אויף זייַן קאָפּ דאָ under "Technologies You Must Master"). But even better, SharePoint exposes us to an extensive and wide range of business processes through these engagements. How many CRM specialists work with the manufacturing side of the company? How many ERP consultants work with human resources on talent acquisition? SharePoint exceeds them both.

ווי עפּעס, עס ס 'נישט גאנץ, אָבער עס ס אַ דאַמד גוט פּלאַץ צו זייַן.

פֿאַר די ליבע פון [פּלאָמבירן אין דיין רובֿ ליב געהאט מענטש / העכער זייַענדיק], don’t change the ‘Title’ פּלאַץ זייַל.

אויף די שאַרעפּאָינט גרופּעס, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

דנאָ שורה: צי ניט טאָן עס!

סאַדלי, דער באַניצער צובינד אַלאַוז אַ איין-וועג טוישן פון וואָס זייַל פירמע ווי געוויזן:

בילד

Title is a column associated with the "Item" צופרידן טיפּ. פילע, פילע, פילע קאָרט ס נוצן דעם זייַל און אויב איר טוישן עס דאָ, it ripples out everywhere. There’s a good chance that you didn’t intend for that to happen. You were probably thinking to yourself, "I have a custom lookup list and ‘Title’ נאָר טוט נישט מאַכן זינען ווי אַ זייַל נאָמען, so I’m going to change it to ‘Status Code’ and add a description column." But if you follow through on that thought and rename ‘Title’ to ‘Status Code’, יעדער רשימה ס טיטל (אַרייַנגערעכנט דאָקומענט לייברעריז) changes to "Status Code" און איר מיסטאָמע האט נישט אויסן פֿאַר אַז צו פּאַסירן.

דער עמעס פּראָבלעם איז אַז דאָס איז אַ איין-וועג טוישן. The UI "knows" that "title" is a reserved word. אַזוי, if you try and change "Status Code" back to "Title", עס וועט פאַרמייַדן איר און איצט איר ווע פּיינטיד זיך אין אַ ווינקל ניצן פאַרב אַז קיינמאָל דרייז 🙂

אזוי וואָס כאַפּאַנז אויב איר שוין געביטן עס? I haven’t seen the answer we all want, which is a simple and easy method to change the label back to ‘Title’. Right now, the best advice is to change it to something like "Doc/Item Title". That’s a generic enough label that may not be too jarring for your users.

איך האָבן ווייניק אנדערע געדאנקען וואָס זענען אויף מיין צו-טאָן רשימה פון זאכן צו פאָרשונג:

  • קאָנטאַקט מייקראָסאָפֿט.
  • צי עפּעס מיט די כייפעץ מאָדעל, אפֿשר אין קאַנדזשאַנגקשאַן מיט אַ שטריך.
  • פיגור אויס די דאַטאַבאַסע סטשעמאַ און מאַניואַלי דערהייַנטיקן סקל. (איר זאָל קאָנטאַקט מייקראָסאָפֿט איידער טאן דעם כאָטש; עס וועט מסתּמא פּאָסל דיין שטיצן אָפּמאַך).

אויב ווער עס יז ווייסט ווי צו סאָלווע דעם, ביטע פּאָסטן אַ באַמערקונג.

דערהייַנטיקן שפּעט נאָכמיטאָג, 11/15: איך געפונען דעם לינק וואָס באשרייבט אַ אופֿן פֿאַר שאפן אַ טיפּ פון רשימה וואָס טוט נישט האָבן אַ טיטל זייַל: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

ספּד מנהג וואָרקפלאָוו אַקשאַנז — שטריקל מאַניפּיאַליישאַן ענכאַנסמאַנץ

וועגן אַ וואָך צוריק, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

דאָ זענען די קראַנט פּלאַננעד פֿעיִקייטן פֿאַר ווערסיע 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

אויב ווער עס יז האט קיין אינטערעס אין דעם פּרויעקט, ביטע לאָזן אַ באַמערקונג אָדער אָנהייב / לייגן צו אַ דיסקוסיע דאָ: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

דאָ זענען די קראַנט שטעלן פון פאַנגקשאַנז וואָס האָבן שוין קאָדעד (כאָטש ניט גאָר טעסטעד ווי פון 11/08/07):

פונקציאָנירן באַשרייַבונג (אויב נישט זעלבע ווי. נעט פֿונקציע)
NUM-איינסן() Returns the number "entries" in a string as per a specified delimiter.

לעמאָשל: Num-entries in a string "a,ב,C" with delimiter "," = 3.

פּאָזיציע() Returns the nth token in a string as per a specified delimiter.
לענג סטרינג.לענגטה
פאַרבייַטן() סטרינג.רעפּלאַסע()
כּולל() סטרינג.קאָנטאַינס()
Returns the word "true" or the word "false".
סובסטרינג(אָנהייב) סטרינג.סובסטרינג(אָנהייב)
סובסטרינג(אָנהייב,עק) סטרינג.סובסטרינג(אָנהייב,עק)
טאָופּפּער() סטרינג.טאָופּפּער()
טאָלאָווער() סטרינג.טאָלאָווער()
סטאַרצוויטה() סטרינג.סטאַרצוויטה()
Returns the word "true" or the word "false".
ענדסוויטה() סטרינג.ענדסוויטה()
Returns the word "true" or the word "false".