maandelikse Argiewe: Oktober 2007

SharePoint Designer — N Custom aktiwiteit gebruiker-gedefinieerde C # funksies uit te voer

UPDATE: Dit is vrygestel na CodePlex hier: http://www.codeplex.com/spdwfextensions

UPDATE: Kyk hier vir die jongste vrystellingsaantekeninge: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Kyk hier my gedagtes oor die kommersialisering van hierdie projek: 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 (stuur) any C# function that you incorporated into the linked assembly.

Vanaf die einde van Oktober, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, insluitend substring, indeks, vervang, 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.

As jy enige kommentaar het, vrae of voorstelle, laat hulle asseblief in die kommentaar of epos my.

Vrywaring:

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

Installasie stappe (gevolg moet word vir elke WFE die plaas):

1. Aflaai die zip en onttrek.

2. Install the .dll into the GAC. I usually open c:\windows vergadering deur gebruik te maak van Windows Explorer en kopieer dit daar.

3. Verander Web.config om die vergadering by te voeg tot die veilige beheer:

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

<authorizedType Vergadering = "SpdGenericInterface, Weergawe = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Naamruimte = "Nivlag-" Type Name = "*" Gemagtigde = "Ware" />

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

Let daarop dat die plek is wat spesifiek is aan die Engelse taal installasies.

5. Sluit SharePoint Designer (as dit is reeds oop).

6. iisreset

7. Open Internet DOCUP en die skep van 'n nuwe workflow.

As alles goed gaan, jy moet beloon word met 'n nuwe kategorie van aksie:

beeld

Notas:

Sien hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) vir 'n geweldige oorsig van die proses vir die skep van, installering en instel van 'n oplossing soos hierdie.

. Zip is ontwerp om direk te onttrek aan jou c:\ drive. If you do this, jy die projek kan oopmaak en al die paaie sal in ooreenstemming wees.

Om dit te gebruik in die Visual Studio, jy waarskynlik nie nodig om te installeer "Uitbreidings vir Windows WF".

Die aanvanklike oplaai bevat net een "planner funksie", "ToLower()". To add more functionality, voeg dit by die uitvoer metode soos getoon:

 beskerm oorheers ActivityExecutionStatus
          Voer(ActivityExecutionContext executionContext)
        {

            string functionToDispatch;
            functionToDispatch = hierdie.DispatchFunction.ToLower();

            skakel (functionToDispatch)
            {
                geval "Tolower()":
                    {
                        hierdie.OutResult1 = hierdie.InParam1.ToLower();
                        breek;
                    }

                default:
                    {
                        hierdie.OutResult1 = "Onbekende funksie: [" + hierdie.DispatchFunction + "].";
                        breek;
                    }
            }

            terugkeer ActivityExecutionStatus.Gesluit;
        } // ActivityExecutionStatus

    }

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

SPD Workflow persoonlike aksie – kry die <WorkflowInfo> tag reg frustrasie te vermy

Deel van die proses vir die skep van 'n persoonlike aksie vir SharePoint Designer behels die skep van 'n ". Aksies" lêer.

Ek het gevind en probeer om 'n voorbeeld sjabloon wat begin as om te gebruik:

<?xml weergawe="1.0" encoding="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Aksies Sekwensiële="dan" Parallel="en">

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

Die oplossing is om te stroop uit die xmlns eienskap, do an iisreset and close/re-open SPD.

Vinnige en maklike: MOSS Konfigureer 'n spesifieke dokument biblioteek te soek

See UPDATE (Ek) below (11/24/07) op Hoe instel Microsoft Office SharePoint Server 2007 Indeks en Crawl netwerk dopgehou vir soek

Doelwit: I want to execute a search restricted to a specific document library. In hierdie geval, die dokument biblioteek bevat opleiding dokumente.

Stappe:

1. Teken die URL van die dokument biblioteek.

2. Skep 'n omvang:

Gaan na die Sentrale Administrasie.

Toegang tot die SSP.

Gaan na die "search instellings".

Scroll af na die omvang afdeling en kies "View Scopes".

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

3. Definieer omvang crawl reëls:

Voeg 'n reël wat bepaal die dokument biblioteek vir hierdie omvang.

Kies "Webadres" "Omvang Reël Tipe".

Gee die naam van jou gids (sien #1 bo).

Aanvaar die standaard waarde van "sluit".

Wag vir die omvang te werk (of begin dit met die hand).

4. In staat stel om die bestek van 'n webwerf versameling.

Gaan na die site versameling waar jy wil om die omvang te gebruik.

Voeg jou nuwe omvang van die toepaslike vertoning groep of groepe.

5. Soek!

Op hierdie punt, you’re done. Assuming the scope is properly defined, dit sal beskikbaar wees in die bestekke drop downs vir die eenvoudige en gevorderde soektogte en wanneer jy soek met behulp van daardie omvang, jy sal net kry resultate wat jy verwag.

Notas:

Ek het hierdie blog inskrywing omdat my soek vir 'n eenvoudige omvang setup draai droë die gebruik van frases soos:

  • instel bestekke in MOSS
  • instel soek omvang mos
  • bestekke in Sharepoint 2007
  • bestekke in Sharepoint
  • soek 'n dokument biblioteek mos
  • Scopes 1 mos

Jy kan 'n soektog ruimte skep op 'n gids, not just the entire document library.

'N omvang kan gedeel word oor verskeie site versamelings (dus, 'n "gedeelde diens").

You can create the scope at the site collection level itself. Egter, 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 (Ek) soos van 11/24/07:

Kai Shang put together a great post entitled Hoe instel Microsoft Office SharePoint Server 2007 Indeks en Crawl netwerk dopgehou vir soek @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Tags: , ,

Geen sop vir jou! Is Cisco die Sop Nazi van NLB produkte?

Vandag, 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. (As / wanneer die netwerk waarsêers vir my sê wat dit is, Ek sal hierdie pos werk).

Windows explorer couldn’t connect. I did some research and eventually, die netwerk waarsêers het gesê dat WebDAV afgeskakel deur / nie ondersteun deur / beneath the dignity of the NLB.

So, die aanvaarding van die netwerk towenaars net nie vir my sê die netwerk towenaar ekwivalent van "'n lang loop van 'n brug af", Ek wonder — doen NLB, deur die natuur, skakel WebDAV? Do we lose our windows file explorer interface to SharePoint? Is Cisco the Soup Nazi?

Die bestuur van MOSS / WSS omgewings — hoogte te bly met Microsoft se kennisbasis

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.

Ek hou met hulle te versnel deur middel van 'n diens lewer deur die goeie mense by 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 Aansoek beleid, Sekuriteit Sites en Sekuriteit Afwerking — Ken u konfigurasie

(UPDATED 11/29 om te verduidelik hoe om toegang te verkry tot die web aansoek beleid instellings deur middel van die gebruikerskoppelvlak)

Ek het een van daardie "waarom mos doen dit vir my????" moments today. Op die ou end, dit is alles my skuld.

Ons het 'n onderneming MOSS projek aan die gang en ons wil "plek houer te verseker" sites so that no user may access it or see it. That’s easy:

  1. Gaan na die plek.
  2. Breek die sekuriteit erfenis.
  3. Verwyder elke gebruiker / groep van die werf regte.

Die bogenoemde moet net die werf versameling administrateur verlaat met die toestemming om die webwerf te sien.

As iemand anders in log, moet hulle nie meer sien die site en dit behoort te wees Security-geknip uit al die gewone plekke.

Maar … dit was nie. Op dieselfde tyd, Ek het skielik besef dat my "Joe User" standaard gebruikers toets rekening met geen PRIV se ander as 'n beperkte gelees toegang het 'n "Site aksies" 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, uiteindelik, Ek vind dat op Ethan se blog, his opening graph makes it quite simple:

MOSS 2007 het 'n nuwe funksie Web Aansoek beleid. Dit is sekuriteit regte wat gekoppel is aan 'n web-program. Hierdie sekuriteit instellings oorheers enige sekuriteit instelling wat op die site collection of Site (Web) vlak vir die gebruiker.

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, maar, 'n kwotasie te rek, "Dit beteken nie wat jy dink dit beteken."

Access web application policies this way:

  1. Gaan na die Sentrale Administrasie
  2. Kies Aansoek Bestuur
  3. Kies "Beleid vir die Web Aansoek"
  4. Op daardie skerm, make sure you pick the correct web application. Vir my, dit standaard op die web toepassing van die sentrale admin wat dalk nie die een wat jy wil.

Toe ek het hierdie probleem, Ek het gesoek vir die volgende frases en het verbasend min oor hierdie kwessie in terme van direkte hulp:

Site aksies sigbaar vir alle gebruikers

Die Site optrede sigbaar vir alle gebruikers

site aksies sekuriteit word nie gesnoei

Bevestig 'n mos webwerf

inleiding tot mos sekuriteit

Technorati Tags:

Vinnige en maklike: Gebruik Vaste sleutelwoord in Resultate Soek Core

Vinnige en eenvoudige instruksies:

Verander 'n bladsy en voeg 'n soektog Core resultate deel.

Verander dat die web deel en uit te brei "Vaste sleutelwoord".

Voeg die vaste sleutelwoord (bijv. ContentType:"Opleiding faktuur" TrainingInvoiceNumber:1111)

Brei resultate Query Options en verander "Cross-Web Deel navraag ID" 'n ander waarde as "gebruiker soek" (bijv. "Query 2").

Notas:

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: Departemente en Produkte.

Die produk site versameling bevat, natuurlik genoeg, product information. Each product in the site collection aggregates data from multiple sources.

Een van die departemente, kodes en toetsing, 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" en waar die rekening nommer is gelyk aan "1111".

'N lekker voordeel van hierdie benadering: We can edit the XSL from the core search results web part and generate any format that we want.

Kyk hier (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) vir 'n ander blogger se gesprek oor hierdie onderwerp.

</einde>Skryf in op my blog.

Vertel my oor jou blog!

As jy 'n blog in stand te hou wat ten minste minimaal gekoppel aan SharePoint, please let me know in comments. I would love to add you to my blog lys.

As jy handhaaf 'n blog wat nie gekoppel is aan SharePoint, maar wil hê ek moet dit in elk geval te voeg, laat my weet. I’ll may create a separate blog list.

Gee asseblief:

  • URL van jou blog (natuurlik)
  • 'N kort beskrywing van jou blog.

Ek wil die skakel na "aktief te hou" blogs, 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.

Dankie!

Werknemer opleiding Bylae en Materials Sjabloon — Decrement fout in die sjabloon

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

Course managers create courses. When creating a course, die bestuurder gee die maksimum aantal beskikbare sitplekke.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" wat verband hou met daardie kursus.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. As 'n gevolg, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, nie meer self-service registrasie toegelaat.

Gelukkig, Microsoft provides the workflow for this process. Even better, dit is 'n reguit-vorentoe workflow wat via SharePoint Designer.

Volg hierdie hoë vlak stappe doen om dit op te los:

  1. Fire up SDP.
  2. Toegang tot die terrein op grond van die opleiding af sjabloon.
  3. Toegang "deelnemer Herroep van registrasie" workflow.
  4. Voeg hierdie stappe (Ek het hulle die eerste twee stappe):
    1. Bereken Kursusse:Gevul Sitplekke minus 1 (Uitset te Veranderlike:ber)
    2. (dan) Werk item in Kursusse

Kliek voltooi en wat jy gedoen het.

Skermafdrukke:


SharePoint Designer:

beeld

Klaar workflow:

beeld

Bereken boor-down:

beeld

Werk item in Kursusse:

beeld

Gee dikwels goeie nuus; gee slegte nuus vroeg

Ek is 'n konsultant vir baie jare nou, en as 'n ervare konsultant weet, good communication is one of the key pillars to the successful delivery of a project. Dit is so duidelik, it’s really almost boring to talk about. This isn’t a post about generic communication. In plaas daarvan, Ek skryf oor die donkerder kant van kommunikasie — kommunikasie slegte nuus.

Dit gaan sonder om te sê dat die goeie nuus aan die kliënt al die tyd gedoen word, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

Aan die ander kant, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, Ek wil weet iets verkeerd was met 'n projek en in plaas van die vertel van die kliënt, 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 aan 80 uur weke?

Wat is die beste manier om slegte nuus te hanteer? 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 (sal waarskynlik), there may be incriminations and accusations and hurt feelings. Maar, wanneer emosies af te koel, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, verander skedules, Kry die bal aan die rol van begroting uitbreidings (baie geluk!) en net in die algemeen te vang met die "feite op die grond" and devise a new plan that still results in a successful project.

Geval in punt: Ek werk op 'n projek wat gekenmerk word deur:

  • T&E begroting met 'n mus "Nie te oorskry" dollar bedrag.
  • 'N "beste pogings gemaak sal word" belofte X te lewer, Y en Z met die einde van die projek.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, of vir 'n "slegte" rede, Maar hulle is teruggehou.
  • 'N dagbreek besef as die projek wat die half-pad te wys dat ons nie in staat wees om te red "Z" (hoofsaaklik omdat die beloofde hulpbronne was nie eintlik beskikbaar nie).
  • Gereelde status verslae en "CYA" dokumentasie wat ondersteun ons (die raadgewende span) up.
  • Hechte implementering span met lede van die raadgewende organisasie getrek (my maatskappy) en die kliënt.
  • Distant bestuur span, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, die implementering span is gehuisves in 'n afsonderlike gebou op die kampus, 'n heuwel af en redelik ver weg van "beskawing".

Met ongeveer ses weke op die projek se begroting, ons (die implementering span) knew that we were trouble. The contract said that we needed to deliver "Z". Even though the project is time & materiale en selfs al het ons net beloof "beste pogings" Z te lewer en selfs al het ons 'n groot motivering vir die vermiste die lewering … die bottom line is dat dit nie is op soek na goeie — ons is nie van plan om Z te lewer in 'n vorm van 'n kwaliteit wat enigiemand trots sou maak.

Die erkenning van hierdie, ons het om te bestuur en het vir hulle gesê dat die begroting van die projek sal verteer word deur 'n sekere datum en dat ons in die moeilikheid met Z.

'N mini-Fire Storm uitgebars oor die volgende paar dae.

Dag 1: Bestuur span doen 'n beroep in sy personeel vir 'n spesiale vergadering (ons, die konsultante is nie genooi nie). 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-sindroom" * eintlik * gebruik, maar jy kry die prentjie. We’re a tight-knit group, na al, en die personeel is besig met ons die konsultante dag in en uit vir 'n paar maande nou.

Dag 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: 'n afspraak met 'n volle implementering span (insluitend konsultante).

Dag 5: Volledige span vergader, 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.

As ons het gewag tot net drie weke gebly, of nog erger, een of twee weke, it would have been much different. Instead of a constructive meeting to re-align the project, ons sou gewees het trek status verslae, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" maar dit is regtig "wen" in hierdie geval?

So, as jy slegte nuus te gee, give it early. Bad news given late isn’t just bad, dis verskriklik.