Nyaraka za kila mwezi: Aprili 2008

Haraka na rahisi: Kufanya Fomu InfoPath Kusoma tu (InfoPath Fomu Huduma katika MOSS)

Kuna kawaida ya biashara ya mazingira kama hii:

  • Mtumiaji hujaza fomu InfoPath.
  • Elekeza fomu.
  • Muda mrefu-mbio workflow mchakato linaanza.
  • Wakati workflow ni mbio, hatutaki mtu yeyote na mabadiliko ya maudhui ya fomu.

Hii office.microsoft.com mfano 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, na watengenezaji tofauti, there can be some divergence.

Mbadala hii inaweza kufanya kazi vizuri zaidi katika baadhi ya kesi:

  • Add a new field to the form called "IsEditable".
  • Kuweka default thamani yake kwa kweli.
  • Kukuza ni wakati wa kuchapisha MOSS.
  • Katika workflow, kuweka thamani ya IsEditble ya uongo.
  • Kwenda nyuma ya fomu.
  • Add a rule that "upon open of the form", afya ya kifungo yako ila wakati IsEditable ni ya uongo.

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, pengine katika barua kubwa nyekundu katika juu ya ukurasa.

Katika mradi mmoja, I created a "workflow status" mtazamo. 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" utawala wa moja kwa moja switched kwa mtazamo kwamba alikuwa na user nzuri kidogo muhtasari hali ya.

</mwisho>

Kujiunga na blog yangu.

Kutumia Semaphores katika SharePoint Workflow Designer ya Kuzuia matanzi Endless

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

  • Kujenga workflow na kujiunga na orodha.
  • Zinaonyesha kwamba ni lazima kuanza juu ya kujenga ya vitu mpya na update ya vitu zilizopo.
  • A step in the workflow updates a field in "Current Item".
  • Tangu sasa bidhaa iliyopita, workflow kuanza upya.

Ili kuzuia hili kitanzi kutokuwa na mwisho, kutekeleza semaphore rahisi:

  • Kuongeza safu ya tovuti (au safu ya orodha maktaba / kama wewe si kutumia aina maudhui).
  • Kujificha kutoka ukurasa hariri (rahisi kufanya kama safu ya tovuti kupitia tabia yake ya, kama si rahisi kama safu ya orodha).
  • Katika workflow, kuangalia kuona kama thamani ya safu semaphore ni tupu.
  • Kama ni tupu, kuweka kwa thamani si tupu na kuendelea.
  • Kama ni si tupu, exit mara moja.

Hii inaweza kuwa ufumbuzi haki pongezi, kulingana na mahitaji ya biashara na kadhalika, lakini imekuwa muundo workable wakati nimekuwa zinahitajika.

</mwisho>

Tags technorati:

Kujiunga na blog yangu.

Watengenezaji: Je, mimi Jifunze SharePoint?

UPDATE: 04/25/08: Ilikuwa kuambukizwa juu ya baadhi posts blog na kupatikana kiungo kwa makala hii: 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.

Katika miezi kadhaa iliyopita, 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. Kwa mfano, 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. Wakati huo huo, it provides a survey of all MOSS features (and WSS features as well).

Kwa ajili yangu, 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, Studio ya Visual 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:

Aidha, 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. Lakini … don’t bother blogging about it or posting it to MSDN forums. It’s already been done 🙂. Badala yake, 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.

Mimi do not suggest that you take the exam just to pass it. Mimi 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 mtihani (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
  • Vikao
  • 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 / msomaji).

Start by adding this blog to your RSS reader 🙂

Ijayo, 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. Kama unataka, I can export my list and email it.

Hatimaye, 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.

Vikao

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

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

Hatimaye, 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.

Hitimisho

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!

</mwisho>

Kujiunga na blog yangu.

Data Ulinzi Meneja: Kama inaonekana Backup Mkuu SharePoint / Rejesha Solution

Katika New Jersey SharePoint mtumiaji Group mkutano wa jana usiku, Microsoft Sr. bidhaa mtaalamu DuWayne Harrison aliwasilisha Microsoft Data Ulinzi Meneja 2007. DuWayne was great (na yeye mara kwa msaada na wenzake moja au mbili kutoka kwa watazamaji ambao majina Yamesahaulika). Unaweza kupata vifaa mada hapa.

Hadi jana usiku, Mimi sijawahi kusikia DPM.

Mimi si mfumo admin aina ya mtu, so I’m writing this from SharePoint consultant’s perspective and may get some of the words wrong. Kwangu, DPM is a backup/restore solution for Microsoft "stuff":

  • Mafaili
  • SQL
  • O / S
  • Virtual mashine (kuishi Backup ya VM, hata kama VM yenyewe ni mbio Unix).
  • Bare chuma ahueni (i.e. janga vifaa kushindwa).

Zaidi ya mambo ambayo, which I would consider to be minimal requirements for any kind of "real" Backup / kurejesha bidhaa, DPM also has built-in intelligence for SharePoint. It understands about server farms and lets you restore:

  • Nzima database (e.g. maudhui, config, nk).
  • Tovuti makusanyo
  • Mtu binafsi maeneo ya
  • Mtu binafsi vitu (e.g. nyaraka).

The actual restore process involves extracting the target data from the backup and save it into a "restore farm" na kisha kutoka huko, kusonga ni kwa mazingira ya uzalishaji (au popote unataka kurejesha). 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 (hasa katika topolojia kimwili) lakini haina haja ya mechi katika suala la templates, matoleo, nk.

Sikuona kamili ya mwisho ya kumaliza demo, but DuWayne did show screen shots and some live demos. It seems to be as good as it needs to be, angalau kwa mazingira ya wastani wa kati.

I was particularly struck by the pricing. Obviously, hawaamini mimi hii, lakini naamini kwamba bei ghali zaidi ni takribani kama ifuatavyo (katika USD):

  • $600 kwa DPM yenyewe.
  • Vifaa kwa ajili ya server DPM (na kuhusishwa mambo kwa ajili ya vyombo vya habari na wote).
  • $450 kwa kila server unataka nyuma hadi ("enterprise" leseni).

tano server kilimo ingekuwa gharama saa zaidi:

  • $600 kwa DPM
  • $450 x 5 seva = $2,250

Jumla ya gharama katika leseni: $2,850

Katika mazoezi, it would be less. You wouldn’t necessarily need to have DPM installed on each web front end, kwa mfano. 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 siku darasani inapatikana, ingawa siyo dhahiri kwangu kwamba mtu yeyote bila kweli haja ya kuchukua.

Yote katika yote, Nadhani ni hakika thamani ya uchunguzi kama wewe ni nje kuna kutafuta ufumbuzi ulinzi wa data kwa SharePoint.

</mwisho>

Kujiunga na blog yangu.

Tags technorati:

Twitter: http://twitter.com/pagalvin

Kutembea-kwa njia ya: Kurekebisha Mfanyakazi Mafunzo Kigezo Viti Available Futa mdudu

Kama watu wengi kujua, the Employee Training template provided by Microsoft here has a bug that we can reproduce following these steps:

  • Kujenga darasa na kawaida max ya 10 wanafunzi.
  • Kujiandikisha –> Total available seats properly decrements by one. Kusababisha: 9 inapatikana viti.
  • Futa: –> Bug. Total available seats should increment by one. It does not. Kusababisha: 9 available seats as per SharePoint, but in fact, there are 10 inapatikana viti.

Ufumbuzi: Use SharePoint Designer to correct the workflow.

Kwanza, open up the site. The folder list for me looks like this:

picha

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:

picha

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, we see this:

picha

That’s all the information we need to fix the unregistration workflow.

If we flip over to the unregistration workflow, there is no similar workflow step. Add it as follows:

1: Expand "Attendee unregistration" and open up the XOML (see first screen shot if you’re lost).

2: Add a new workflow variable, "New Filled Seats" of type "Number".

3: Assign a value to "New Filled Seats" kama inavyoonekana:

picha

4: Decrement the Filled Seats by 1:

picha

5: Update the related Course item:

picha

6: Make sure all the steps are in the right sequence. Kwa ajili yangu, inaonekana kama hii:

picha

7: Finish the workflow to re-build it.

8: Mtihani.

</mwisho>

Kujiunga na blog yangu.

Tags technorati: ,

Random Jumamosi asubuhi Uchunguzi

Nimekuwa katika madarasa ya wiki hizi mbili na jambo moja kwamba mgomo mimi ni kwamba kuna mengi ya wasiwasi, watu smart kazi ya SharePoint (kama washauri au IT wafanyakazi) ambao hawana blog, Twitter, wanaonekana kutambua ya bodi ya umma ujumbe kama MSDN jukwaa au SharePoint Chuo Kikuu, kudumisha maelezo Facebook au LinkedIn, nk. They are pure information consumers. Not bad, kuvutia tu.

</mwisho>

Tags technorati:

Kujiunga na blog yangu.

Content Query Mtandao Sehemu ya: Akizungumza katika New York Group SharePoint Watumiaji

Natarajia kuongea na mwenzangu, Natalya Voskresenskaya, katika New York SharePoint Watumiaji Group mkutano Jumatano Mei 7.

Shukrani kwa Bob Fox kwa kutupa majina yetu katika kofia na kutusaidia kupata fursa hii!

Mada yetu kwa ujumla ni Query Web Content Sehemu na tunatarajia kutoa baadhi ya taarifa muhimu kwa walengwa mbili tofauti:

  • Biashara watumiaji (mashirika yasiyo ya watengenezaji): Kuonyesha jinsi CQWP yanaweza kimeundwa kutatua matatizo fulani ya biashara ya kawaida bila ya coding.
  • Watengenezaji: 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.

Hapa ni NYSPUG ilani ya kutuma mapema wiki hii:

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

MOSS 2007’s Content Query Web Part (CQWP) inawezesha watumiaji kujenga maoni desturi ya data aliuliza kutoka vyanzo vingi, na kuwasilisha data kwamba katika sehemu moja. Licha ya swala yake ya nguvu & maudhui ustaarabu chaguzi, CQWP mara nyingi ni hulka underrated na kupuuzwa. CQWP is both a "data extraction engine" (kupata nyaraka au vitu orodha popote katika ukusanyaji tovuti) na pia kwanza darasa mada chombo kwamba inawezesha watumiaji kudhibiti jinsi maudhui zimetolewa na wrapping HTML na mitindo ya muundo kuonyesha karibu njia yoyote unataka.

Katika kikao hiki demo-nzito, wao kuonyesha jinsi ya kutumia CQWP ya kutatua matatizo ya biashara na kuonyesha mbali sifa msingi.

  • kutumia makala CWQP default, ikiwa ni pamoja na watazamaji kulenga

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

  • mabadiliko ya kuangalia & kuhisi matokeo ya swala kuonyesha data biashara, kuonyesha nguzo ya ziada ya habari, kuonyesha taarifa katika muundo wa gridi ya taifa, na wengine.

  • kuonyesha jinsi CQWP unaweza misaada katika maudhui ya utawala wa aina (i.e. kupata nyaraka zote za aina fulani maudhui ili kuelewa athari ya uwezo wa kubadilisha ufafanuzi CT).

  • kuelezea baadhi ya mapungufu ya CQWP

  • kutoa orodha ya rasilimali kwa ajili ya mbinu ya juu CQWP, ikiwa ni pamoja na blogs, ECQWP Codeplex mradi & MSDN nyaraka.

</mwisho>

Kujiunga na blog yangu.

Tags technorati:

FAST SharePoint Ushirikiano: Nitafanya Query Wikipedia

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, ni hop, ruka na kuruka mbali wa kufuta mantiki hii ndani ya sehemu ya mtandao au ukurasa maombi:

kutumia Mfumo;
kutumia System.Collections.Generic;
kutumia System.Linq;
kutumia System.Text;
kutumia System.Collections.Specialized;
kutumia Com.FastSearch.Esp.Search;
kutumia Com.FastSearch.Esp.Search.Http;
kutumia Com.FastSearch.Esp.Search.Navigation;
kutumia Com.FastSearch.Esp.Search.Query;
kutumia Com.FastSearch.Esp.Search.Result;
kutumia Com.FastSearch.Esp.Search.View;
kutumia System.Collections;

namespace Conchango
{
    darasani InvokeSimpleFASTQuery
    {
        tuli utupu Kuu(string[] args)
        {

            #kanda Initialize mawasiliano yetu na FAST
            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = mpya 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

             Uzinduzi swala

            string queryString = "test";

            Swala swala = mpya Swala(queryString);

            query.SetParameter(BaseParameter.Kuunganisha, uongo);
            query.SetParameter(BaseParameter.NAVIGATION, kweli);
            query.SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

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

            IQueryResult matokeo = searchView.Search(swala);

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

            int docCounter = 0;

            wakati (docCounter < result.DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = result.GetDocument(docCounter);

                Kuwafariji.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").Kamba Thamani);

            } // wakati

            Kuwafariji.ReadLine();
            #endregion

        }
    }
}

Inazalisha matokeo yafuatayo:

picha

</mwisho>

Kujiunga na blog yangu.

Tags technorati: ,