Aylıq Arxiv: Oktyabr 2007

SharePoint Designer — Istifadəçi müəyyən C # funksiyaları yerinə yetirmək üçün xüsusi fəaliyyət

UPDATE: Burada CodePlex buraxmışdır olunub: http://www.codeplex.com/spdwfextensions

UPDATE: Son qeydləri üçün buraya baxın: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Bu layihə kommersiyalaşdırlmasına haqqında mənim fikirlərimi üçün buraya baxın: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (göndərmək) any C# function that you incorporated into the linked assembly.

Mərhum oktyabrın kimi, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, substring o cümlədən, indeks, dəyişdirmək, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

Hər hansı bir şərh varsa,, sual və ya təkliflər, şərh onları tərk və ya mənə e-məktub göndərin.

Disclaimer:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Quraşdırma adımları (çiftlikte hər WFE üçün riayət ediləcək):

1. Edir. Zip Download və çıxarış.

2. Install the .dll into the GAC. I usually open c:\windows toplaşmaq Windows Explorer-istifadə edərək orada kopyalayın.

3. Təhlükəsiz kontrol akt əlavə web.config dəyişdirmək:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Assembly="SpdGenericInterface, Version = 1.0.0.0, Mədəniyyət = neytral, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" C:\Program Files Common Files Microsoft Shared Web Server Extensions 12 ŞABLONU 1033 Workflow

Yuxarıda yer İngilis dili qurğuları xüsusi Qeyd edək ki,.

5. Yaxın SharePoint Designer (artıq açmaq varsa).

6. iisreset

7. SPD açın və yeni bir iş yaratmaq.

Bütün yaxşı giderse, Əgər hərəkət bir yeni kateqoriya ilə təltif edilir:

image

Qeydlər:

Görmək burada (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) yaradılması prosesinin bir dəhşətli Baş, bu kimi bir həll quraşdırma və konfiqurasiya.

The. Zip siz c birbaşa çıxarmaq üçün nəzərdə tutulmuşdur:\ drive. If you do this, Əgər layihə aça bilər və bütün yollarını ardıcıl olacaq.

Visual Studio Bu istifadə etmək üçün, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, kimi üsulu yerinə yetirmək üçün əlavə:

 müdafiə alıqlamaq ActivityExecutionStatus
          Yerinə(ActivityExecutionContext executionContext)
        {

            sim functionToDispatch;
            = functionToDispatch bu.DispatchFunction.ToLower();

            keçid (functionToDispatch)
            {
                hal "tolower()":
                    {
                        bu.OutResult1 = bu.InParam1.ToLower();
                        sındırmaq;
                    }

                default:
                    {
                        bu.OutResult1 = "Unknown function: [" + bu.DispatchFunction + "].";
                        sındırmaq;
                    }
            }

            qayıtmaq ActivityExecutionStatus.Qapalı;
        } // ActivityExecutionStatus

    }

Sonra, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD Workflow xüsusi fəaliyyət – Al <WorkflowInfo> məyusluq qarşısını almaq üçün sağ etiketlemeniz

SharePoint Designer üçün xüsusi bir fəaliyyət yaradılması prosesinin bir hissəsi ". Tədbirlər yaratmaq daxildir" fayl.

Mən aşkar olaraq başlayacaq olan bir nümunə şablon istifadə denedim:

<?xml variant="1.0" encoding="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Actions Ardıcıl="sonra" Paralel olaraq="">

Lakin, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Həlli xmlns atributu həyata soyunmaq üçün, do an iisreset and close/re-open SPD.

Sadə və sadə: Bir xüsusi sənəd kitabxana axtarış MOSS konfiqurasiya

See UPDATE (Mən) below (11/24/07) haqqında Microsoft Office SharePoint Server konfiqurasiya 2007 Axtarış Index və Sürünmeyi Network Klasörlere

Obyektiv: I want to execute a search restricted to a specific document library. Bu halda, sənəd kitabxana təlim sənədlər var.

Addımlar:

1. Sənəd kitabxana URL yazın.

2. Bir əhatə dairəsi yaratmaq:

Mərkəzi idarəetmə get.

Bu SSP daxil olmaq.

Go to "Search Settings".

Scroll down to the scope section and select "View Scopes".

Create a new scope. Give it a name and useful description.

3. Vüsət tarama qaydalarını müəyyən:

Bu əhatə dairəsi üçün sənəd kitabxana tanımlayan bir qayda əlavə et.

Select "web address" for "Scope Rule Type".

Qovluq adını daxil edin (görmək #1 yuxarıda).

Accept the default value of "Include".

Güncellemek həcmi gözləyin (və ya özünüz başlamaq).

4. Bir site toplusunda həcmi imkan.

Bu həcmi istifadə etmək istədiyiniz site toplanması get.

Müvafiq ekran qrup və ya qruplar üçün yeni vüsət əlavə et.

5. Axtar!

Bu noktada, you’re done. Assuming the scope is properly defined, bu əhatə dairəsi axtarış zamanı sadə və qabaqcıl axtarışlar üçün scopes açılan Downs mövcud olacaq, siz sadəcə gözləmək sonuçlar çəkəcəksiniz!.

Qeydlər:

Sadə vüsət quraşdırma üçün axtarış kimi quru istifadə ifadələr qədər çevrilmişdir, çünki bu blog giriş yazıb:

  • MOSS ilə scopes konfiqurasiya
  • axtarış dairəsini mamır konfiqurasiya
  • SharePoint ilə scopes 2007
  • SharePoint ilə scopes
  • bir sənəd kitabxana mamır axtarış
  • Scopes ilk mamır

Bir qovluq üzrə axtarış dairəsini yarada, not just the entire document library.

A həcmi birdən çox site kolleksiyaları arasında paylaşılabilir (buradan, a "shared service").

You can create the scope at the site collection level itself. Lakin, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

UPDATE (Mən) kimi 11/24/07:

Kai Shang put together a great post entitled Microsoft Office SharePoint Server konfiqurasiya 2007 Axtarış Index və Sürünmeyi Network Klasörlere @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Tags: , ,

Sizə heç bir şorbası! Deyil Cisco NLB məhsullarının Çorba Nazi?

Bugün, I tried to access a document library via windows explorer. This doc lib is living inside a system that consists of two WFE’s load balanced by some kind of Cisco NLB solution. (Əgər / zaman şəbəkə Sehrbazlar olduğunu söyləyin görək,, Bu güncelleme lazımdır).

Windows explorer couldn’t connect. I did some research and eventually, şəbəkə Sehrbazlar bildirib ki, WebDAV tərəfindən aradan / ilə dəstəklənməyən / beneath the dignity of the NLB.

Belə, assuming the network wizards aren’t just telling me the network wizard equivalent of "take a long walk off a short bridge", Mən təəccüb etmək — NLB edir, təbiətcə, WebDAV aradan? Do we lose our windows file explorer interface to SharePoint? Is Cisco the Çorba Nazi?

MOSS idarə / WSS Alanlar — Microsoft İnformasiya Bankı ilə saxlanılması

Microsoft creates knowledge base articles day in and day out and some of those are darned important to know about if you live in the SharePoint world.

Mən yaxşı insanlar tərəfindən təmin xidmət vasitəsilə ilə işini davam www.kbalertz.com. KBAlertz enables you to sign up for your favorite MS technology and they send you digest versions of Microsoft KB articles via email.

Web Application Siyasəti, Təhlükəsizlik Saytlar və bəzək Təhlükəsizlik — Konfiqurasiya Know

(YENİLƏNİB 11/29 Bu UI vasitəsilə web proqram siyasətinin parametrləri daxil olmaq üçün necə izah etmək)

Mənə "niyə MOSS bunu edir o biri idi????" moments today. Sonda, ki, bütün günah var.

Biz davam müəssisə MOSS layihə var və biz "yer sahibi təmin etmək istəyirsinizsə" sites so that no user may access it or see it. That’s easy:

  1. Saytına dön.
  2. Təhlükəsizlik miras qırmaq.
  3. Site icazələrin hər user / Qrupu Sil.

Yuxarıda saytda görmək üçün icazə ilə yalnız site toplanması administrator tərk etməlidir.

Başqa heç kəs daxil açan əgər, Bütün adi yerlərdən təhlükəsizlik işlənmiş onlar site görürsünüz artıq və bu olmalıdır.

Lakin … olmayıb. Eyni zamanda, I suddenly realize that my "Joe User" standard user test account with no priv’s other than restricted read access has a "Site Actions" choice everywhere he goes. I double check one thing and double check something else. I pick up the phone to call a colleague, but put it down and check something else. I go for a walk and try everything all over again. I call a colleague and leave a message. And then, nəhayət, Mən tapmaq o Ethan blogu, his opening graph makes it quite simple:

MOSS 2007 Web Application siyasəti adlı yeni bir xüsusiyyət var. Bu Web Application bağlıdır təhlükəsizlik icazələri var. Bu təhlükəsizlik ayarları Sayt Collection və ya Site müəyyən hər hansı bir təhlükəsizlik qəbulu üçün yalnış (Web) istifadəçi üçün səviyyə.

A quick visit to web application policies shows that "NT Authority\authenticated users" had been granted Full Read. I removed them from the list and everything finally started working as expected. I believe they were added in the first place by someone with the mistaken impression that that is best method to grant read access to everyone in the enterprise. It does, lakin, Teklif gərginləşdirmək üçün, "It does not mean what you think it means."

Access web application policies this way:

  1. Mərkəzi Aparatının get
  2. Application Management seçin
  3. Select "Policy for Web Application"
  4. Ki, ekranda, make sure you pick the correct web application. Mənim üçün, istədiyiniz ola bilər mərkəzi admin internet tətbiqi bu öhdəliklərin yerinə.

Bu problem yarandıqda, Mən aşağıdakı ifadələr axtarış və bu məsələ ilə birbaşa yardım baxımından təəccüblü az əldə:

Bütün istifadəçilər üçün görünən Sayt tədbirlər

Bütün users üçün görünür Sayt tədbirlər

site tədbirlər təhlükəsizlik işlənmiş deyil

bir MOSS sayt təmin

mamır təhlükəsizlik giriş

Technorati Tags:

Sadə və sadə: Axtarış Core Nəticələr Sabit söz sorğu edin

Sadə və sadə Təlimatlar:

Bir səhifə redaktə edin və bir Axtarış Core Results web hissə əlavə.

Web hissəsi redaktə edin və "Sabit söz sorğu" genişləndirmək.

Sabit söz sorğu əlavə et (e.g. ContentType:"Təlim faktura" TrainingInvoiceNumber:1111)

Nəticələr Query Seçimlər genişləndirilməsi və "Cross-Web Part sorğu ID dəyişdirmək" "İstifadəçi Query başqa bir dəyəri" (e.g. "Query 2").

Qeydlər:

Using core search results in this manner allowed me to create a page that shows information from another site collection. The client has two major site collections: İdarələr və məhsullar.

Məhsul site kolleksiyası var, təbii kifayət qədər, product information. Each product in the site collection aggregates data from multiple sources.

Şöbə biri, kodları və sınaq, is on such source. When users access product XYZ, they should see codes and testing data directly on the XYZ main page. Since codes and testing is hosted in another site collection, it’s a little awkward. We decided to use the core search results web part since search spans site collections. Codes and Testing manages product data via a custom list that is constrained by a specific content type. Aa keyword query that uses first the content type and then the product number narrow down the search to a single row in the custom list.

The keyword query above is an AND. It returns documents of content type "Training Invoice" and where the invoice number equals "1111".

Bu yanaşma güzel bir fayda: We can edit the XSL from the core search results web part and generate any format that we want.

Burada bax (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) Bu mövzu haqqında bir Blogger müzakirəsi üçün.

</son>Blog abunə.

Blog haqqında məlumat ver!

Bir blog qorumaq ki, ən azı minimal SharePoint bağlıdır, please let me know in comments. I would love to add you to my Blog siyahısı.

SharePoint ilə bağlı bir blog saxlamaq lakin Əgər mənə hər halda əlavə etmək, Mənə bildirin. I’ll may create a separate blog list.

Xahiş edirik:

  • Blog URL (açıq-aydın)
  • Blogunuzun qısa təsviri.

I want to keep the link to "active" Bloqlar, which I’m roughly defining as one post per week and minimum three months old. If you don’t meet that "requirement" add your name to comments anyway. It’s *my* list so I can break my own rule if I want to.

Təşəkkür!

İşçilərin Təlim Cədvəli və materialları Şablon — Şablonda azalma bug

The client noticed a bug today with the above mentioned template.

Course managers create courses. When creating a course, meneceri mövcud yerlərin sayını göstərir.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" ki, kurs ilə bağlı.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. Nəticəsində, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, çox self-service qeydiyyat icazə verilir.

Xoşbəxtlikdən, Microsoft provides the workflow for this process. Even better, o SharePoint Designer vasitəsilə yaradılan birbaşa irəli iş var.

Düzeltmek üçün, bu yüksək səviyyədə adımları:

  1. SDP Ateþle.
  2. Təlim şablon off olaraq sayta daxil olmaq.
  3. Access "Attendee unregistration" iş.
  4. Adımları edin (Mən onlara ilk iki addımlar):
    1. Hesablamaq Kurslar:Doldurulmuş Oturacaqlar minus 1 (Çıxış üçün Dəyişən:calc)
    2. (sonra) Öğe Güncelle Kurslar

Son'u basın və Bitirdiğinizde.

Ekran Görüntüleri:


SharePoint Designer:

image

Biten iş:

image

Qazmaq aşağı hesablayın:

image

Kurslarında maddə Güncelle:

image

Tez-tez müjdə; erkən pis xəbər vermək

Mən il bir çox üçün məsləhətçi ola bilərsiniz və hər hansı təcrübəli məsləhətçi bilir kimi, good communication is one of the key pillars to the successful delivery of a project. Bu, açıq-aydın deyil, it’s really almost boring to talk about. This isn’t a post about generic communication. Əvəzində, Mən rabitə qaranlıq tərəfi yazılı alıram — pis xəbər ünsiyyət.

Bu müştəri üçün yaxşı xəbər verən bütün zaman edilir ki olmadan gedir, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

Qapağını tərəfində, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, Mən layihə ilə əvəzinə müştəri tesirli bir şey əyri olduğunu edəcək, I would work longer hours to try and solve the problem. I would enjoin my team to work harder. It’s a natural enough impulse to think that a super-human effort can save the day. Some times this works, some times it does not. Even when it "works" it’s often a mixed bag. Is the quality of the deliverable really up to spec when key parts have been developed over several 60 üçün 80 saat həftə?

Pis xəbərlər idarə etmək üçün ən yaxşı yolu nədir? The answer is: tell it early. Don’t wait until one week before the project budget will be consumed. If you know six weeks out that there simply isn’t enough time to deliver some bit of promised functionality, tell the client right then and there. The client may get upset (yəqin ki, olacaq), there may be incriminations and accusations and hurt feelings. Lakin, emosiyaları soyutmaq zaman, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, cədvəllər dəyişdirmək, top büdcə uzantıları haqqında yuvarlanan almaq (uğur!) and just generally come to grips with the "facts on the ground" and devise a new plan that still results in a successful project.

Baxımından Hadisə: Mən ilə xarakterizə bir layihə üzərində çalışıram:

  • T&E budget with a capped "Not to exceed" dollar həcmində.
  • A "best efforts will be made" X çatdırmağı vəd, Layihənin sonunda Y Z.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, nor for any "bad" səbəb, lakin onlar tutulan edilmişdir.
  • A dawning realization as the project passed the half-way point that we were not going to be able to deliver "Z" (vəd ehtiyatları faktiki olaraq mövcud deyil, əsasən, çünki).
  • Regular status reports and "CYA" bizə dəstək olan sənədlər (konsaltinq komanda) up.
  • Konsaltinq təşkilatının tərtib üzvləri ilə sıx qaşlarını həyata komanda (My Company) və müştəri.
  • Uzaq İdarəetmə Qrupu, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, həyata keçirilməsi komanda kampüsünde ayrıca binada yerləşir edilib, down a hill and relatively far way from "civilization".

Layihənin büdcəsinin qalan təxminən altı həftə ilə, biz (həyata keçirilməsi komanda) knew that we were trouble. The contract said that we needed to deliver "Z". Even though the project is time & materials and even though we only promised "best efforts" Z çatdırmaq və biz çatdırılması itkin üçün böyük bəraət idi, hətta üçün … alt xətt yaxşı axtarır deyil ki, — biz şəklində hər fəxr edəcək keyfiyyətli Z çatdırmaq niyyətində deyildi.

Bu tanınması, biz idarə getdi və layihənin büdcəsinə müəyyən bir tarix istehlak və biz Z ziddiyyətdə idi ki, onlara.

A mini firestorm bir neçə gün ərzində erupted.

Gün 1: Rəhbərlik xüsusi görüş üçün işçi zənglər (biz, məsləhətçilərin dəvət deyil). Contracts are printed and handed out to everyone and a line-by-line review ensues. Management puts the staff members on the defensive. I don’t think the phrase "Stockholm Syndrome" * həqiqətən * istifadə olunur, ancaq şəkil almaq. We’re a tight-knit group, hər şeydən sonra, və əməkdaşları bir neçə ay üçün və məsləhətçilər gün bizimlə işləyir.

Gün 2: Management calls another staff meeting. They feel a little better. They want options and ideas for moving forward. They realize there’s still six weeks remaining in the current project budget, which is still a decent bit of time. One of the action items: tam həyata komanda ilə görüş cədvələ (o cümlədən məsləhətçilər).

Gün 5: Tam komanda ilə görüşüb, constructive meeting ensues and a new achievable plan put into place. Even better, we’ve already begun discussing phase two and the client invites us to prepare proposals for that phase immediately.

Yalnız üç həftə qalmış qədər biz gözləyirdi Əgər, ya da pis, bir və ya iki həftə, it would have been much different. Instead of a constructive meeting to re-align the project, biz statusu hesabat çekme olmazdı, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" but is it really "winning" bu halda?

Belə, siz pis xəbər vermək varsa, give it early. Bad news given late isn’t just bad, o dəhşətli var.