Monthly Archives: Հոկտեմբեր 2007

Sharepoint Designer — Custom գործունեություն իրականացնել օգտվողի սահմանված գործառույթները, C #

ԹԱՐՄԱՑՆԵԼ: Սա արդեն ազատ է արձակվել CodePlex այստեղ: http://www.codeplex.com/spdwfextensions

ԹԱՐՄԱՑՆԵԼ: Տես այստեղ վերջին բացթողնման գրառումների: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ԹԱՐՄԱՑՆԵԼ: Տես այստեղ իմ մտքերի վրա առեւտրայնացումը այս նախագիծը: 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 (ուղարկել) any C# function that you incorporated into the linked assembly.

Ինչ վերաբերում է հոկտեմբերի վերջին, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, այդ թվում ենթատող, ինդեքս, փոխարինել, 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.

Եթե ​​ունեք մեկնաբանություններ, Առաջարկությունների կամ, խնդրում ենք թողնել նրանց մեկնաբանություններում կամ email me.

Ուրացում:

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

Installation քայլերը (պետք է հետեւել յուրաքանչյուր WFE է տնտեսությունում):

1. Բեռնել: ZIP եւ հանել.

2. Install the .dll into the GAC. I usually open c:\Windows ժողովը, օգտագործելով Windows Explorer եւ պատճենը, այն կա.

3. Փոփոխել web.config որպեսզի ավելացնեք ժողովին անվտանգ ստուգումների:

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

<authorizedType Assembly="SpdGenericInterface, Տարբերակ = 1.0.0.0, Մշակույթ = չեզոք, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" to C:\Ծրագիր Ֆայլեր Common Files Microsoft Համատեղ վեբ սերվերի ընդարձակման 12 template 1033 փաստաթղթաշրջանառության

Նշենք, որ վերը նշված վայրը յուրահատուկ է Անգլերեն լեզվի շահագործում.

5. SharePoint Designer Close (եթե դա արդեն բացել).

6. iisreset

7. Բացիր SPD եւ ստեղծել նոր աշխատանքի.

Եթե ​​բոլոր լավ գնում, դուք պետք է պարգեւատրվել է նոր կարգի միջոցառումների:

պատկեր

Notes:

Տեսնել այստեղ (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) մի սարսափելի ամփոփ գործընթացի ստեղծման համար, տեղադրելու եւ Configuring լուծում նման.

The ... ZIP նախագծված է հանենք ուղղակիորեն Ձեզ գ:\ drive. If you do this, Դուք կարող եք բացել ծրագիրը, եւ բոլոր ճանապարհները կլինեն հետեւողական.

Օգտագործել այս է Visual Studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, ավելացնել այն կատարել մեթոդը, ինչպես ցույց է տրված:

 պաշտպանված ոտնատակ տալ ActivityExecutionStatus
          Կատարել(ActivityExecutionContext executionContext)
        {

            լարային functionToDispatch;
            functionToDispatch = սա.DispatchFunction.ToLower();

            անջատիչ (functionToDispatch)
            {
                գործ "tolower()":
                    {
                        սա.OutResult1 = սա.InParam1.ToLower();
                        կոտրել;
                    }

                անհոգություն:
                    {
                        սա.OutResult1 = "Unknown function: [" + սա.DispatchFunction + "].";
                        կոտրել;
                    }
            }

            վերադարձ ActivityExecutionStatus.Փակ;
        } // ActivityExecutionStatus

    }

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

SPD աշխատանքի արդյունքում մաքսային ակցիան. – ստանալ <WorkflowInfo> հատկորոշել իրավունք խուսափելու վրդովմունքն

Մասն է գործընթացի ստեղծելու գործարկողի ակցիա է Sharepoint դիզայներ ներառում է ստեղծել թ. Գործողությունները" ֆայլ.

Ես գտել եւ փորձել օգտագործել օրինակելի ձեւը, որը սկսում է որպես:

<?XML Նամակ տարբերակ="1.0" կոդավորում="UTF-8" ?>
<
WorkflowInfo xmlns="http :/://schemas.microsoft.com / SharePoint /">
<
Գործողություններ Հաջորդական="ապա" Զուգահեռական="իսկ">

Սակայն, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Որ լուծումը Strip դուրս xmlns attribute, do an iisreset and close/re-open SPD.

Արագ եւ Simple: Համաձեւել MOSS որոնել որոշակի փաստաթղթերի գրադարան

See UPDATE (Ես) below (11/24/07) մասին Ինչպես կարգավորել Microsoft Office SharePoint Server 2007 դէպի նիւթերու ցանկ եւ տարածման ցանցի Թղթապանակներ Որոնել

Նպատակ: I want to execute a search restricted to a specific document library. Այս դեպքում, Փաստաթուղթը պարունակում է գրադարանը վերապատրաստման փաստաթղթեր.

Քայլեր:

1. Արձանագրել URL փաստաթղթի գրադարանի.

2. Ստեղծել շրջանակ:

Գնալ կենտրոնական կառավարման.

Միանալ SSP.

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. Սահմանել ոլորտը վխտալ կանոնները:

Ավելացնել կանոն, որը սահմանում փաստաթուղթը գրադարանի այս շրջանակից.

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

Մուտքագրեք Ձեր անունը թղթապանակում (տեսնել #1 վեր).

Accept the default value of "Include".

Սպասել շրջանակից թարմացնել (Փնտրել, կամ սկսել այն ձեռքով).

4. Թույլատրել գործողությունը մի կայքի հավաքածուի մեջ.

Գնացեք դեպի կայքի հավաքածուի մեջ, որտեղ դուք ցանկանում եք օգտագործել այս գործողությունը.

Ավելացնել նոր հնարավորություններ են համապատասխան ցուցադրման խմբի կամ խմբերի.

5. Որոնել!

Այս պահին, you’re done. Assuming the scope is properly defined, այն հասանելի կլինի նաեւ քարոզարշավի Drop downs է պարզ եւ Խորացված եւ երբ դուք օգտագործում եք որոնել այդ շրջանակը, Դուք պարզապես պետք է արդյունք եք ակնկալում.

Notes:

Գրեցի գրառումը այս օրագրում որովհետեւ իմ փնտրում է պարզ գործողությունը setup հայտնվել չոր օգտագործելով արտահայտությունները նման:

  • կազմաձեւել քարոզարշավի մեջ MOSS
  • կազմաձեւել որոնման ոլորտը MOSS
  • քարոզարշավի շրջանակներում եւ SharePoint 2007
  • քարոզարշավի շրջանակներում եւ SharePoint
  • որոնել փաստաթուղթ գրադարանային MOSS
  • Քարոզարշավի առաջին MOSS

Դուք կարող եք ստեղծել մի թղթապանակ որոնման շրջանակ, not just the entire document library.

A շրջանակը կարող են օգտվել տարբեր կայքի հավաքածուների (ուստի, a "shared service").

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

ԹԱՐՄԱՑՆԵԼ (Ես) դրությամբ 11/24/07:

Kai Shang put together a great post entitled Ինչպես կարգավորել Microsoft Office SharePoint Server 2007 դէպի նիւթերու ցանկ եւ տարածման ցանցի Թղթապանակներ Որոնել @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Ոչ ապուր համար! Արդյոք Cisco որ ապուր Nazi է NLB արտադրանքի?

Այսօր, 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. (Եթե ​​/ երբ ցանցը Վիզարդզ ասեք ինձ, թե ինչ է այն, Ես նորացնել Այս գրառումը).

Windows explorer couldn’t connect. I did some research and eventually, ցանցի Վիզարդզ ասել է, որ WebDAV անջատված է / կողմից չի աջակցվում / beneath the dignity of the NLB.

Այնքան, assuming the network wizards aren’t just telling me the network wizard equivalent of "take a long walk off a short bridge", Ստիպված եմ մտածում — չի NLB, բնության կողմից, անջատել WebDAV? Do we lose our windows file explorer interface to SharePoint? Is Cisco the Ապուր Nazi?

Գործադիր MOSS / WSS միջավայրեր — պահում են Microsoft-ի գիտելիքների բազայի

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.

Ես պահել մինչեւ արագացնել դրանց միջոցով ծառայության մատուցում են լավ հաղորդագրությունները Folks - ին www.kbalertz.com. KBAlertz հնարավորություն է տալիս Ձեզ գրանցվել է ձեր սիրած MS տեխնոլոգիաների եւ դրանք ուղարկում եք մարսել տարբերակները Microsoft KB հոդվածների փոստով.

Web Application քաղաքականություն, Անվտանգության վայրերի եւ անվտանգություն դրվագ — Իմացեք Ձեր կարգավորումները

(Թարմացվել է 11/29 բացատրել, թե ինչպես օգտվել վեբ քաղաքականության պարամետրերը միջոցով UI)

I had one of those "why is MOSS doing this to me????" moments today. Վերջում, Դա իմ մեղքն է.

We have an enterprise MOSS project going on and we want to secure "place holder" sites so that no user may access it or see it. That’s easy:

  1. Գնալ կայքում.
  2. Կոտրել անվտանգության ժառանգություն.
  3. Հեռացնել յուրաքանչյուր օգտվողին / խումբ կայքի թույլտվությունների.

Վերը պետք է թողնել միայն կայքի ադմինիստրատորին հավաքագրման հետ, թույլտվության տեսնել կայքը.

Եթե ​​որեւէ մեկը բան է տեղեկամատյանները, նրանք այլեւս չպետք է տեսնի կայքը, եւ այն պետք է լինի անվտանգության trimmed բոլոր տեղերում սովորական.

Սակայն … դա չի եղել. Միեւնույն ժամանակ,, 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, վերջապես, Ես գտնում եմ, որ Ethan-ի բլոգը, his opening graph makes it quite simple:

MOSS 2007 ունի նոր առանձնահատկություն կոչված վեբ քաղաքականություն. Սրանք անվտանգության թույլտվությունները, որը կապված է վեբ. Այս անտեսեն անվտանգության պարամետրերը որեւէ արժեթուղթ կարգավորում սահմանված վայրում հավաքածուի կամ կայքը (Վեբ) մակարդակը: Այդ մասին.

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, սակայն, Ինչպես լարում մեջբերում, "It does not mean what you think it means."

Access web application policies this way:

  1. Գնալ դեպի Կենտրոնական Ադմինիստրացիա
  2. Ընտրել Application կառավարում
  3. Select "Policy for Web Application"
  4. Այդ էկրանից, make sure you pick the correct web application. Ինձ համար, այն Նախնականը է վեբ կենտրոնական admin որը չի կարող լինել, որ դուք ուզում եք.

Երբ ես այս խնդրին, Ես փնտրում են հետեւյալ արտահայտություններով ստացել եւ զարմանալիորեն քիչ ավելի անմիջական օգնությամբ, այս հարցի վերաբերյալ:

Կայքի գործողությունները տեսանելի են բոլոր օգտագործողների համար

Կայքի գործողությունները տեսանելի են բոլոր օգտագործողների համար

Տեղում գործողությունները չեն անվտանգության trimmed

ապահովել MOSS կայքը

Պահեստավորված մամուռ անվտանգությանը

Արորդիների Tags:

Արագ եւ Simple: Օգտագործեք Հաստատուն Հիմնաբառը հարցմանը ի հիմնական Որոնման արդյունքներ

Արագ եւ պարզ ցուցումներ:

Թեման խմբագրել էջը եւ ավելացնել Որոնման արդյունքները վեբ հիմնական մասը:.

Edit that web part and expand "Fixed Keyword Query".

Ավելացնել ֆիքսված Հիմնաբառը հարցմանը (e.g. ContentType:"Training invoice" TrainingInvoiceNumber:1111)

Expand Results Query Options and change "Cross-Web Part query ID" to a value other than "User Query" (e.g. "Query 2").

Notes:

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: Գերատեսչությունների եւ Փաթեթներ.

Արտադրանքի site հավաքածուն պարունակում, բնականաբար, բավարար չէ, product information. Each product in the site collection aggregates data from multiple sources.

Մեկը բաժինների, ծածկագիրը եւ փորձարկող, 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".

Մի գեղեցիկ շահում այս մոտեցման: We can edit the XSL from the core search results web part and generate any format that we want.

Տես այստեղ (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) մեկ այլ բլոգեր քննարկմանը այս թեմայի.

</վերջ>Անդամագրվել իմ բլոգում.

Ասա ինձ քո բլոգում!

Եթե ​​դուք պահպանում բլոգ է գոնե նվազագույն միացված Sharepoint, please let me know in comments. I would love to add you to my Օրագիր ցուցակ.

Եթե ​​դուք պահպանում բլոգ, որը չի կապված է Sharepoint, սակայն ուզում եմ ավելացնել, այն միեւնույն է, ինձ տեղյակ պահեք. I’ll may create a separate blog list.

Խնդրում եմ, տվեք:

  • URL ձեր սեփական օրագիրը (ակնհայտ)
  • Մի կարճ նկարագրությունը ձեր բլոգում.

I want to keep the link to "active" բլոգերը, 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.

Շնորհակալություն!

Employee Training ժամանակացույց եւ նյութեր Կաղապար — Պակասեցում bug են Կաղապար

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

Course managers create courses. When creating a course, կառավարիչ սահմանում է առավելագույն թվով առկա տեղերի.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" կապված այդ ընթացքում,.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. Արդյունքում, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, ոչ ավելի, Ինքնասպասարկում գրանցումը թույլատրվում է.

Բարեբախտաբար, Microsoft provides the workflow for this process. Even better, դա ուղիղ առաջ ստեղծել փաստաթղթաշրջանառության միջոցով SharePoint Designer.

Հետեւեք այս քայլերին, բարձր մակարդակի այն վերանորոգել:

  1. Fire մինչեւ ԿԶԾ.
  2. Մատչելու հիման Off վերապատրաստման Կաղապար.
  3. Access "Attendee unregistration" աշխատանքի արդյունքում.
  4. Տեղադրեք այս քայլերը (Ես նրանց առաջին երկու քայլերը):
    1. Հաշվել Դասընթացներ:Լցված Նստատեղեր մինուս 1 (Արդյունք ից Փոփոխական մեծություն:calc)
    2. (ապա) Թարմացնել կետին, Դասընթացներ

Սեղմեք Ավարտել, եւ դու արել.

Էկրանի կրակոց:


Sharepoint Designer:

պատկեր

Ավարտված փաստաթղթաշրջանառության:

պատկեր

Հաշվել շարքացան - ներքեւ:

պատկեր

Update կետին Ուսուցում:

պատկեր

Տվեք հաճախ լավ նորություններ; ինչ վատ լուրը շուտ

Ես եղել խորհրդատու շատ տարիներ շարունակ, եւ, ինչպես ցանկացած այլ փորձառու խորհրդատու գիտի, good communication is one of the key pillars to the successful delivery of a project. Դա այնքան ակնհայտ, it’s really almost boring to talk about. This isn’t a post about generic communication. Փոխարեն, Ես գրում մասին darker կողմի կապի — շփվելու վատ լուրեր.

Անշուշտ, որ լավ նորություններ տալով հաճախորդին կատարվում է բոլոր ժամանակ, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

Ին Flip կողմում, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, Ես գիտեմ մի բան էր, ծուռ մի ծրագիր եւ ոչ թե ասել `հաճախորդի, 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 դեպի 80 ժամյա շաբաթ?

Որն է ամենալավ միջոցը կարգավորել վատ նորություններ? 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 (հավանաբար), there may be incriminations and accusations and hurt feelings. Սակայն, երբ սառը Off Զգացմունքներ, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, փոխել գրաֆիկը, Ստացեք գնդակը շարժակազմերի բյուջեի ընդարձակման համար (Հաջողություն!) and just generally come to grips with the "facts on the ground" and devise a new plan that still results in a successful project.

Case կետով: Ես աշխատում ծրագրի բնութագրվող:

  • T&E budget with a capped "Not to exceed" ԱՄՆ դոլար գումարը.
  • A "best efforts will be made" խոստումը առաքել X, Y Z-ի կողմից, իսկ ծրագրի ավարտին.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, nor for any "bad" պատճառ, բայց պահում.
  • A dawning realization as the project passed the half-way point that we were not going to be able to deliver "Z" (հիմնականում այն ​​պատճառով, որ խոստացված միջոցները հասանելի չեն եղել, ըստ էության,).
  • Regular status reports and "CYA" փաստաթղթերն են, որ սատարում են մեզ (խորհրդատվական թիմ) up.
  • Սերտորեն համախմբվել իրականացման թիմի անդամների հետ վերցված խորհրդատվական կազմակերպության (իմ ընկերությունը) եւ հաճախորդի.
  • Հեռազանգ Ղեկավարություն, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, իրականացման թիմը տեղավորված առանձին շենքի դպրոցում, down a hill and relatively far way from "civilization".

With մոտ վեց շաբաթ մնացել նախագծի բյուջեի, մենք (իրականացման թիմը) 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, եւ, թեեւ մենք մեծ հիմնավորումը բացակայում առաքումը … ստորին գիծն այն է, որ այն չի փնտրում լավ — մենք չենք պատրաստվում մատուցել Z Ա ձեւավորելու մի որակ, որը որեւէ մեկին ստիպել հպարտ.

Ճանաչելով այս, գնացինք կառավարման եւ ասել նրանց, որ նախագծի բյուջեն կլինի սպառվում է կոնկրետ ամսաթիվը եւ, որ մենք in trouble կապնվել Z.

Մինի firestorm բռնկվեցին է առաջիկա մի քանի օրվա ընթացքում:.

Օր 1: Ղեկավարություն է իր աշխատակիցների համար հատուկ նիստում (մենք, որ խորհրդատուները չեն հրավիրել). 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" * is * իրականում օգտագործվում է, բայց դուք ստանում նկարը. We’re a tight-knit group, ի վերջո, , իսկ անձնակազմը աշխատում մեզ հետ խորհրդատուները օր է, եւ մի քանի ամիս է,.

Օր 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: ժամանակացույցի հանդիպում լիարժեք իրականացման թիմը (այդ թվում `Խորհրդատուներ).

Օր 5: Full թիմ է, 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.

Եթե ​​մենք էինք սպասել, մինչեւ ընդամենը երեք շաբաթ է մնացել, կամ նույնիսկ ավելի վատ, մեկ կամ երկու շաբաթ, it would have been much different. Instead of a constructive meeting to re-align the project, մենք արդեն pulling դուրս կարգավիճակի մասին, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" but is it really "winning" այդ դեպքում?

Այնքան, Եթե ​​դուք պետք է տալ վատ լուրեր, give it early. Bad news given late isn’t just bad, դա սարսափելի.