Месечне архиве: Април 2008

Брза и једноставна: Направите ИнфоПатх образац само за читање (ИнфоПатх Формс Сервицес маховином)

Постоји заједнички пословни сценарио овако:

  • Корисник попуњава се ИнфоПатх образац.
  • Подноси образац.
  • Дуготрајни ток процес почиње.
  • Иако је ток посла ради, ми не желимо никога да промените садржај формулара.

Овај пример оффице.мицрософт.цом 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, са различитим програмерима, there can be some divergence.

Ова алтернатива може радити боље у неким случајевима:

  • Add a new field to the form called "IsEditable".
  • Поставите њену вредност на истина подразумевану.
  • Промоција је приликом објављивања на МОСС.
  • У посла, подесите вредност на лаж ИсЕдитбле.
  • Врати се на обрасцу.
  • Add a rule that "upon open of the form", онемогући Саве дугме када ИсЕдитабле је лажна.

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, можда у великим црвеним словима на врху странице.

У једном пројекту, 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" правило се аутоматски пребацује на тај приказ и корисник имао лепу резиме статуса.

</крај>

Претплатите се на мој блог.

Коришћење семафора у СхареПоинт Десигнер тока посла за спречавање Бесконачно понављање

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: Је сустижу на неким блогу и нашао линк на овај чланак: 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/reader).

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. If you want, I can export my list and email it.

Коначно, 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.

Цодеплек

Иди на 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.

Коначно, 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.

Conclusion

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!

</крај>

Претплатите се на мој блог.

Заштита података менаџер: Изгледа као велика СхареПоинт Бацкуп / Ресторе решење

At the New Jersey SharePoint User Group meeting last night, Мицрософт Ср. product specialist DuWayne Harrison presented Microsoft Data Protection Manager 2007. DuWayne was great (и био је подржан од стране једног или двојице колега из публике чија имена не сећам). You can get the presentation materials here.

До синоћ, I have never heard of DPM.

I’m not a system admin type person, so I’m writing this from SharePoint consultant’s perspective and may get some of the words wrong. To me, DPM is a backup/restore solution for Microsoft "stuff":

  • Files
  • СКЛ
  • O/S
  • Virtual machines (live backup of the VM, even if the VM itself is running Unix).
  • Bare metal recovery (и.е. catastrophic hardware failure).

Beyond that stuff, which I would consider to be minimal requirements for any kind of "real" backup/restore product, DPM also has built-in intelligence for SharePoint. It understands about server farms and lets you restore:

  • Entire databases (e.g. content, config, итд).
  • Site collections
  • Individual sites
  • Individual items (e.g. документи).

The actual restore process involves extracting the target data from the backup and save it into a "restore farm" and then from there, moving it to the production environment (or wherever you want to restore). 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 (mainly in physical topology) but does need to match in terms of templates, versions, итд.

I didn’t see a full end to end demo, but DuWayne did show screen shots and some live demos. It seems to be as good as it needs to be, at least for a moderate sized environment.

I was particularly struck by the pricing. Obviously, don’t hold me to this, but I believe that the most expensive pricing is roughly as follows (in USD):

  • $600 for DPM itself.
  • Hardware for a DPM server (and associated stuff for media and all that).
  • $450 for each server you want to back up ("enterprise" license).

A five server farm would cost at most:

  • $600 for DPM
  • $450 к 5 servers = $2,250

Total cost in licenses: $2,850

In practice, 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 day class available, though it’s not obvious to me that anyone would really need to take it.

All in all, I think it’s certainly worth investigating if you’re out there looking for a data protection solution for SharePoint.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

Цвркут: http://twitter.com/pagalvin

Шетња кроз-: Поправите Обука запослених шаблону расположивих места Буг Унрегистер

Као и многи људи знају, Обука запослених шаблон обезбеђује Мицрософт овде има грешку која може да репродукује следеће кораке:

  • Креирање класе са максималном величином 10 студенти.
  • Регистар –> Total available seats properly decrements by one. Резултат: 9 доступна места.
  • Одјава: –> 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" и отворите КСОМЛ (погледајте први снимак екрана ако сте изгубили).

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: Тест.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс: ,

Случајна Сатурдаи Морнинг Посматрање

Био сам у класама ових протеклих две недеље, а једна ствар која ме удара је да постоји много пажљив, паметни људи који раде на СхареПоинт (као консултанти или ИТ особља) који не блог, цвркут, изгледа свесни отворене огласне табле као МСДН форума или СхареПоинт Универзитета, одржава Фацебоок или ЛинкедИн профила, итд. They are pure information consumers. Not bad, баш занимљиво.

</крај>

Тецхнорати Тагс:

Претплатите се на мој блог.

Цодеплек & РСС

Нисте сигурни да ли свако схвата, but codeplex has a nice daily updates RSS feed that I find very helpful.
Додатно, сви ЦодеПлек пројеката имају своје феедове.
Сваког дана, Ја скенира кроз њу и додајте све СхареПоинт пројеката у вези’ изводи на мој гмаил читаоцу.
</крај>

Твиттеринг гостима …

у http://twitter.com/pagalvin

Нажалост, Сам очистио мој Гмаил налог сати пре пријављивања, тако да нису пронашли никога када је тражили контакте.

Ако користите Твиттер, јавите ми и ја ћу радо повезати.

</крај>

Веб сегмент за упит садржаја: Говорећи у Њујорку СхареПоинт групе корисника

Ја ћу говорити са колегом, Наталија Воскресенскаа, у Њујорк Корисници СхареПоинт групе састанку у среду 7. маја.

Захваљујући Боб Фок за бацање наша имена у шешир и помаже нам да добије прилику!

Наш општи тема је Веб сегмент за упит садржаја и надамо се да ћемо дати неке корисне информације на две различите публике:

  • Пословни корисници (не-програмери): Показати како се може конфигурисати ЦКВП за решавање одређених заједничких пословних проблема без кодирања.
  • Програмери: 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.

Овде се шаљу поштом обавештење НИСПУГ раније ове недеље:

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

MOSS 2007’s Content Query Web Part (ЦКВП) омогућава корисницима да креирају прилагођене приказе података упита из многих извора, и представи те податке на једном месту. Упркос својим моћним упит & прецизирање садржаја опције, ЦКВП је често потцењен и занемарен функција. CQWP is both a "data extraction engine" (проналажење докумената или ставки листе било где у колекцији) и прве класе презентација алат који омогућава корисницима да контролишу како се садржај представио паковање ХТМЛ и стилове за форматирање у екран скоро било који начин желите.

У овом демо-тешког седници, они ће показати како се користи ЦКВП да реше пословне проблеме представљањем основне карактеристике.

  • користите подразумеване функције ЦВКП, укључујући циљање публике

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

  • промена изгледа & осећају резултате упита да истакне пословних података, прикажете додатне колоне информација, приказивање информација у облику мреже формату, и други.

  • показују како ЦКВП могу помоћи у администрацији типа садржаја (и.е. наћи сва документа одређеног типа садржаја, како би се разумео потенцијални утицај промена ЦТ дефиницију).

  • описују нека ограничења ЦКВП

  • доставити списак ресурса за напредне технике ЦКВП, укључујући блогове, ЕЦКВП ЦодеПлек пројекат & МСДН документацију.

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс:

ФАСТ СхареПоинт интеграције: Извршава једноставним упитом

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, то је скок, прескочите и скочите далеко да заврши ову логику унутар веб стране или пријавом:

коришћење Систем;
коришћење Систем.Цоллецтионс.Генериц;
коришћење Систем.Линк;
коришћење Систем.Тект;
коришћење Систем.Цоллецтионс.Специализед;
коришћење Цом.ФастСеарцх.Есп.Сеарцх;
коришћење Цом.ФастСеарцх.Есп.Сеарцх.Хттп;
коришћење Цом.ФастСеарцх.Есп.Сеарцх.Навигатион;
коришћење Цом.ФастСеарцх.Есп.Сеарцх.Куери;
коришћење Цом.ФастСеарцх.Есп.Сеарцх.Ресулт;
коришћење Цом.ФастСеарцх.Есп.Сеарцх.Виев;
коришћење Систем.Цоллецтионс;

намеспаце Цонцханго
{
    класа ИнвокеСимплеФАСТКуери
    {
        статички воид Главни(ниска[] аргс)
        {

            #регија Покрене нашу комуникацију са брзим
            ИСеарцхФацтори сеарцхФацтори;

            НамеВалуеЦоллецтион намеВалуеЦоллецтион = нови НамеВалуеЦоллецтион();

            намеВалуеЦоллецтион.Адд("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            намеВалуеЦоллецтион.Адд("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            намеВалуеЦоллецтион.Адд("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            сеарцхФацтори = СеарцхФацтори.НевИнстанце(намеВалуеЦоллецтион);

            #ендрегион

             Покретање упита

            ниска Куеристринг = "test";

            Питање упит = нови Питање(Куеристринг);

            куери.СетПараметер(БасеПараметер.Цлустеринг, лажан);
            куери.СетПараметер(БасеПараметер.НАВИГАЦИЈА, прави);
            куери.СетПараметер(БасеПараметер.НАВИГАТИОН_ДЕЕПХИТС, 100);

            ИСеарцхВиев сеарцхВиев;
            сеарцхВиев = сеарцхФацтори.ГетСеарцхВиев("sharepointconn");

            ИКуериРесулт резултат = сеарцхВиев.Сеарцх(питање);

            Конзола.ВритеЛине("Total results from search: [" + ресулт.ДоцЦоунт + "].");

            инт доцЦоунтер = 0;

            док (доцЦоунтер < ресулт.ДоцЦоунт)
            {

                доцЦоунтер  ;

                ИДоцументСуммари тхисДоцСуммари = ресулт.ГетДоцумент(доцЦоунтер);

                Конзола.ВритеЛине("[" + доцЦоунтер + "]: " + тхисДоцСуммари.ГетСуммариФиелд("url").СтрингВалуе);

            } // док

            Конзола.Реадлине();
            #ендрегион

        }
    }
}

Он генерише следећи резултат:

слика

</крај>

Претплатите се на мој блог.

Тецхнорати Тагс: ,