Mga Archive ng kategorya: SharePoint

Developer: Paano ba ako Dagdagan SharePoint?

I-UPDATE: 04/25/08: Ay nakahahalina up sa ilang mga post sa blog at makahanap ng isang link sa artikulong ito: 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.

Sa huling ilang buwan, 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
  • Lumot: 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. Halimbawa, 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. Sa parehong oras, it provides a survey of all MOSS features (and WSS features as well).

Sa akin, 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, Visual Studio 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:

At saka, 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. Pero … don’t bother blogging about it or posting it to MSDN forums. Ito ay nai-tapos 🙂. Sa halip, 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.

Ako do not suggest that you take the exam just to pass it. Ako 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 eksamen (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
  • Mga Forum
  • Codeplex
  • Nerbiyos

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).

Magsimula sa pamamagitan ng pagdaragdag ng blog na ito sa iyong mga RSS reader 🙂

Susunod, 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. Kung nais mong, 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.

Mga Forum

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

Pumunta sa 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.

Nerbiyos

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

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

Konklusyon

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!

</dulo>

Mag-subscribe sa aking blog.

SharePoint ba Hindi Magbigay ng Calendar Roll-ups; Potensyal Solutions

I-UPDATE: An anonymous person in the comments posts this link: http://www.atidan.com/atidan-collaboration-kit.php

Forum mga gumagamit ay madalas na tinatanong ng tanong na tulad nito:

"I would like to have a calendar at the site level that is populated by events from subsite calendars. Ideally, mga gumagamit sa subsite ay gumawa ng mga kaganapan sa kalendaryo, 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."

Ay WSS 3.0 o Moss 2007, it is not possible to directly configure a "roll-up" calendar. Calendars exist on their own, independiyenteng ng anumang iba pang mga kalendaryo.

Upang lumikha ng isang roll-up ng kalendaryo, sundin ang isa sa mga path:

  1. Use a Content Query Web Part. This is the easiest solution for MOSS users (WSS ay hindi nagbibigay ng CQWP). CQWP, sa kasamaang-palad, does not provide a calendar view of data out of the box. It does provide enormous rendering flexibility (tingnan ang dito para sa isang halimbawa) ngunit sa pamamagitan ng default, shows its results in simple list format. In many cases, CQWP marahil isang magandang pagpipilian.
  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 at Moss.

There are probably other clever solutions to this problem. If you have one or know of one, mangyaring mag-iwan ng komento o email sa akin at ako ay i-update ang post na ito.

</dulo>

Technorati Tags: ,

Mag-subscribe sa aking blog.

End User Quick Tip: Pagbukud-bukurin Pananaw sa isang Library Dokumento, Listahan, at iba pa.

Makakaya namin, dapat at huwag lumikha ng maraming mga tanawin sa SharePoint listahan (dokumento aklatan, custom na mga listahan, at iba pa). 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 (at hindi ako sigurado kaya nito), ito ay malayo sa mga teknikal na para sa iyong mga tipikal na end user.

Kung nais mong kontrolin ang pagkakasunod-sunod na kung saan ay naglilista SharePoint magagamit tanawin, lamang prepend isang numero o letra ng pangalan pagtingin, tulad ng sa:

1 – Sa pamamagitan ng Material Uri
2 – Lahat ng mga Dokumento
3 – Takdang Petsa

-o-

Ang isang – Sa pamamagitan ng Material Uri
B – Lahat ng mga Dokumento
C – Takdang Petsa

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

Z_KPI_[paglalarawan]

That causes my "KPI" mga tanawin na lalabas sa ibaba ng listahan.

</dulo>

Mag-subscribe sa aking blog.

Technorati Tags: ,

Ang bar ay pa rin medyo Mataas Paabutin Moss

Ngayon, 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, i-configure mo ang CQWP upang kumonekta sa kanyang mga pinagkukunan ng data, pagkatapos mong i-export ito sa iyong workstation, baguhin <CommonViewFields>, mag-upload, remove the original and now it’s ‘primed’ to display those other columns. Susunod, buksan 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. Sa wakas, baguhin ang template na ito upang i-render ang iyong bagong mga patlang! (Huwag kalimutan upang suriin ito muli upang ang iba pang mga gumagamit ay maaaring makita ang mga resulta)."

Lahat ng ito ay lubos na malinaw na sa akin (at karamihan sa amin SharePoint developer uri) kung ano ang nagaganap at kung paano ito Medyo magaling, talaga, that the data retrieval aspects of the CQWP are so well-separate from the data presentation aspects. Pero, hindi ito kaya madaling upang ipaliwanag, ay ito?

<katapusan />

Yes/No (check box) pag-filter sa Nilalaman Bahagi ng Query sa Web

To filter for a query for the Yes/No check box entitled "PG Milestone", i-configure ang CQWP ganito:

imahen

Ito ay isa pang isa sa mga halatang-sabay-ka-alam-ito ngunit mahirap-to-mahanap-isang-sagot-sa mga tanong: Paano upang i-filter sa isang Oo / Walang mga check box sa paggamit ng nilalaman ng web query bahagi.

Ang unang resulta ng paghahanap I find using the search term "filter yes/no content query web part" ay flat out mali, kaya naisip ko na gusto kong ilagay ito up doon at tingnan kung maaari itong palitan ang hindi tamang resulta sa karaniwang mga resulta ng paghahanap.

Ito ay medyo madali: True values = "1" and false values do not equal "1" (medyo retro, talaga).

Sa halimbawa sa itaas, I created site column of type "Yes/No (checkbox)" named "PG Milestone". I added it to a doc library, upload ng ilang mga dokumento, itakda ang halaga para sa isang pares at nasubok ito.

<katapusan />

Moss ay nagsasabi sa Akin Aking Mga Haligi Pangalan ay Nakalaan o Sa Paggamit … Ngunit Ito ay Hindi

I-UPDATE 12/04/07: Tingnan this Microsoft KB (http://support.microsoft.com/kb/923589) para sa mga kaugnay na impormasyon.

Talaga, ito lumiliko out ito ay, pero tricksy MOSS had to make it difficult.

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, subalit ang resulta ay ito:

  • He tries to add a site column called "Quantity" and MOSS replies: "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. Samakatwid, "Quantity" is not a reserved name.
  • He tries to find an existing site column named "Quantity" in that site collection. He cannot find it.

I did some research, and even some coding, waxed philosophical and finally found that a column named Quantity did, sa katunayan, exist. It was in the "_Hidden" group. Hence, we could not find it via the SharePoint user interface.

How did it get there? I do not know, but I have a theory (or as my wife would call it, "blah blah blah"). Sa isang lugar sa kahabaan ng linya, isang fabulous forty template was added and probably activated at a site in the site collection. It was then deactivated (or the site removed). The site column, gayunman, remained but in the "_Hidden" group. If someone knows better, please let me know via email or post in the comments.

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) Say that the column name is reserved or it is not. 2) If it’s not reserved, show the site, or at least the group, where the column name is already used.

</dulo>

“Hindi makakuha ng mga listahan ng schema haligi ari-arian mula sa listahan ng SharePoint” — paglalarawan / work-arounds

Sa linggong ito, namin sa wakas ay muling ginawa ng problema na ay iniulat sa pamamagitan ng isang remote user: Kapag siya sinubukan upang i-export ang mga nilalaman ng isang listahan sa excel, mga bagay na gusto tila upang simulan ang nagtatrabaho, ngunit pagkatapos Excel nais magpa-pop up ang isang error: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Hinanap ko ang Internets at nakita ang ilang mga haka-haka ngunit walang anuman 100% definitive. Hence, ang post na ito.

Ang problema: Ine-export ng tanawin sa excel na naglalaman ng isang petsa (= petsa ng data uri ng haligi).

Ano nagtrabaho para sa amin: Convert the date to a "single line of text". Pagkatapos, convert ito pabalik sa isang petsa.

That solved it. It was nice to see that the conversion worked, talaga. It was quite nervous that converting things this way would fail, but it did not.

Bug na ito ay itinapon isang malaking anino sa ibabaw ng data uri petsa sa isip ng client, kaya kami ay pagpunta sa ma-out naghahanap ng tiyak na sagot mula sa Microsoft at sana ay kukunin ko na mag-post at i-update dito sa susunod na maikling panahon sa kanilang mga opisyal na sagot at hotfix impormasyon.

Iba pang mga sanggunian:

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

<dulo>

Mag-subscribe sa aking blog.

Technorati Tags: ,

Hindi mo Puwede Talunin SharePoint ni Abot

During the last two days, 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. from marketing, several directors representing HR, Logistics, Manufacturing, Capital Projects, Quality, Purchasing, Corporate development and other departments (some of whom were not even directly involved in the current phase). That’s a mighty wide audience.

In my prior life, 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 (na kung saan ay sa paanuman naka-on ang kanyang ulo dito 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.

Tulad ng anumang bagay, hindi ito perpektong, subalit ito ay sinumpa magandang lugar upang maging.

Dahil sa [punan ang iyong pinaka-mahal sa tao / mas mataas na pagiging], don’t change the ‘Title’ haligi site.

Sa SharePoint mga forum, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Ika-line: Huwag gawin ito!

Sadly, ang user interface ay nagbibigay-daan sa isang one-way na pagbabago ng label na iyon haligi tulad ng ipinapakita:

imahen

Title is a column associated with the "Item" uri ng nilalaman. Marami, marami, maraming CT ni gamitin ang hanay na ito at kung baguhin mo ito dito, 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’ lamang ay hindi magkaroon ng kahulugan ng isang pangalan ng hanay, 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’, pamagat ng bawat listahan ng (kabilang ang mga dokumento aklatan) changes to "Status Code" at marahil ay ay hindi nilayon para sa na mangyari.

Ang tunay na problema ay na ito ay isang one-way na pagbabago. The UI "knows" that "title" is a reserved word. Kaya, if you try and change "Status Code" back to "Title", ito ay pumipigil sa iyo at ngayon ikaw lagyan ng kulay ang iyong sarili sa isang sulok using paint that never dries 🙂

Kaya kung ano ang mangyayari kung mayroon ka nang ito ay nagbago? 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.

Mayroon akong ilang mga iba pang mga ideya na kung saan ay sa aking to-do list ng mga bagay upang pananaliksik:

  • Makipag-ugnay sa Microsoft.
  • Gawin ang isang bagay sa modelo bagay, siguro sa pagsama ng isang tampok.
  • Figure out ang database schema at mano-manong i-update ang SQL. (Dapat kang makipag-ugnay sa Microsoft bago gawin ito bagaman; ito ay malamang na walang bisa ang iyong suporta sa kontrata).

Kung sinuman ay alam kung paano upang malutas ito, paki-post ng komento.

I-update ang late afternoon, 11/15: Nakita ko ang link na ito na naglalarawan ng pamamaraan para sa paglikha ng isang uri ng mga listahan na ito ay walang isang pamagat ng haligi: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

SPD workflow pasadyang mga aksyon — string pagmamanipula ng mga pagpapabuti

Tungkol sa isang linggo na ang nakakalipas, 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.

Narito ang mga kasalukuyang nakaplanong tampok para sa bersyon 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Kung sinuman ay may anumang mga interes sa proyektong ito, mangyaring mag-iwan ng komento o simulan / idagdag sa isang talakayan dito: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Narito ang mga kasalukuyang hanay ng mga pag-andar na naka-code (bagaman hindi ganap na nasubukan bilang ng 11/08/07):

Tungkulin Paglalarawan (kung hindi pareho. Net function na)
Num-entry() Returns the number "entries" in a string as per a specified delimiter.

Halimbawa: Num-entries in a string "a,b,c" with delimiter "," = 3.

Pagpasok() Returns the nth token in a string as per a specified delimiter.
Haba String.Length
Palitan() String.Replace()
Naglalaman ng() String.Contains()
Returns the word "true" or the word "false".
Substring(simulan) String.Substring(simulan)
Substring(simulan,dulo) String.Substring(simulan,dulo)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".