Mjesečni arhiv: Listopad 2007

SharePoint Designer — Custom aktivnosti za izvršenje korisnički definirane funkcije C #

UPDATE: To je objavio na CodePlex ovdje: http://www.codeplex.com/spdwfextensions

UPDATE: Vidi ovdje za najnovija novitetima: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Pogledajte ovdje za moje misli na komercijalizaciju ovog projekta: 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 (otpremiti) any C# function that you incorporated into the linked assembly.

Do kraja listopada, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, uključujući i podniz, indeks, zamijeniti, 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.

Ako imate bilo kakve komentare, pitanja ili sugestije, molimo vas da ih ostavite u komentarima ili email me.

Odricanje:

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

Instalacijskih koraka (ga treba provesti za svaki WFE u farmi):

1. Preuzmite zip i ekstrakt..

2. Install the .dll into the GAC. I usually open c:\windows montaža pomoću programa Windows Explorer i kopirajte ga ima.

3. Izmjena web.config dodati sklop za sigurne kontrole:

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

<authorizedType Assembly="SpdGenericInterface, Verzija = 1.0.0.0, Kultura = neutralni, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" na C:\Program Files Common Files Microsoft Shared web server ekstenzije 12 OBRAZAC 1033 Workflow

Imajte na umu da iznad lokacija je specifična na engleski jezik instalacije.

5. Zatvori SharePoint Designer (ako je već otvaranje).

6. iisreset

7. Otvorite SPD i stvoriti novi tijek rada.

Ako sve ide dobro, trebali biti nagrađeni s novim kategoriji akciji:

slika

Bilješke:

Vidjeti ovdje (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) za sjajan pregled procesa za stvaranje, instaliranje i konfiguriranje rješenje kao što je ovaj.

. Zip je dizajniran za ekstrakt izravno na vas c:\ drive. If you do this, možete otvoriti projekt i sve staze će biti u skladu.

Da biste koristili ovu Visual Studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, dodajte ga Execute metodu kao što je prikazano:

 zaštićen nadjačati ActivityExecutionStatus
          Izvršiti(ActivityExecutionContext executionContext)
        {

            niz functionToDispatch;
            functionToDispatch = to.DispatchFunction.ToLower();

            prebaciti (functionToDispatch)
            {
                slučaj "tolower()":
                    {
                        to.OutResult1 = to.InParam1.ToLower();
                        razbiti;
                    }

                Zadani:
                    {
                        to.OutResult1 = "Unknown function: [" + to.DispatchFunction + "].";
                        razbiti;
                    }
            }

            povratak ActivityExecutionStatus.Zatvoreno;
        } // ActivityExecutionStatus

    }

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

SPD Workflow običaj akcija – dobiti <WorkflowInfo> označiti pravo kako bi se izbjeglo nezadovoljstvo

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" file.

Našao sam i pokušao iskoristiti uzorak predložak koji započinje kao:

<?xml verzija="1.0" kodiranje="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Akcije Dosljedan="zatim" Parallel="i">

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

Rješenje je da se svuku, iz xmlns atribut, do an iisreset and close/re-open SPD.

Brzo i jednostavno: Konfiguracija Moss potražiti određenu biblioteku dokumenata

See UPDATE (Ja) below (11/24/07) na Kako konfigurirati Microsoft Office SharePoint Server 2007 do sadržaja i puzati mapa na mreži za pretraživanje

Cilj: I want to execute a search restricted to a specific document library. U tom slučaju, Dokument Knjižnica sadrži dokumente trening.

Koraci:

1. Zabilježite URL biblioteci dokumenata.

2. Stvaranje opseg:

Idi na središnjoj upravi.

Pristupite 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. Odredite pravila indeksiranja opseg:

Dodavanje pravila koja definira biblioteku dokumenata za ovaj djelokruga.

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

Unesite naziv mape (vidjeti #1 gore).

Accept the default value of "Include".

Pričekajte opsega za ažuriranje (ili ga pokrenuti ručno).

4. Omogućite opseg u zbirci web-.

Idi na zbirci web-mjesta na kojem želite koristiti ovaj opseg.

Dodajte svoj novi opseg na odgovarajući prikaz skupini ili skupinama.

5. Traži!

U ovom trenutku, you’re done. Assuming the scope is properly defined, to će biti dostupan u opsezima padajuće za jednostavnih i naprednih pretraživanja, a kada se traži koristeći taj opseg, ćete samo dobiti rezultate koje očekujete.

Bilješke:

Napisao sam ovaj blog post, jer mi traži jednostavan opseg postavljanja okrenuo suhih koristeći izraze kao što su:

  • konfiguriranje opsege u MOSS
  • konfiguriranje mahovinu opseg pretragu
  • opsega u sustavu SharePoint 2007
  • opsega u sustavu SharePoint
  • pretraživanje biblioteka dokumenata mahovinu
  • Područja prva mahovine

Možete stvoriti doseg pretraživanja na mapi, not just the entire document library.

Opseg može se dijeliti na više zbirki web (stoga, a "shared service").

You can create the scope at the site collection level itself. Međutim, 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 (Ja) od 11/24/07:

Kai Shang put together a great post entitled Kako konfigurirati Microsoft Office SharePoint Server 2007 do sadržaja i puzati mapa na mreži za pretraživanje @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Ne juha za vas! Je Cisco juha nacističke NLB proizvoda?

Danas, 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. (Ako / kada je mrežu čarobnjaci mi reći što je to, Ja ću ažurirati ovaj post).

Windows explorer couldn’t connect. I did some research and eventually, Mreža čarobnjaci rekao da WebDAV je onemogućio / Ne podržava / beneath the dignity of the NLB.

Tako, assuming the network wizards aren’t just telling me the network wizard equivalent of "take a long walk off a short bridge", Moram se pitati — ne NLB, po prirodi, onemogućiti WebDAV? Do we lose our windows file explorer interface to SharePoint? Is Cisco the Juha od nacista?

Upravljanje Moss / WSS okruženja — ukorak s Microsoftove baze znanja

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.

Držim do brzine s njima putem usluge koje pružaju dobre ljudi na 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 aplikacija privatnosti, Sigurnost mjesta i sigurnosti Obrezivanje — Upoznajte svoju konfiguraciju

(NADOPUNJENO 11/29 objasniti kako pristupiti web postavke aplikaciju putem UI)

I had one of those "why is MOSS doing this to me????" moments today. Na kraju, sve je to moja krivnja.

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. Idi na licu mjesta.
  2. Razbijte nasljeđivanje sigurnosni.
  3. Uklonite svaki korisnik / grupa od mjesta dozvolama.

Gore navedeni trebali ostaviti samo administratoru zbirke web-mjesta s dozvolom da bi vidjeli site.

Ako netko drugi prijavljuje, oni više ne bi trebao vidjeti stranice i to bi trebao biti sigurnosno-obrezuje na svim uobičajenim mjestima.

Ali … nije bilo. Istovremeno, 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, konačno, Smatram da je na Ethan blog, his opening graph makes it quite simple:

MOSS 2007 ima novu značajku pod nazivom Web Application Pravila. To su sigurnosne dozvole koji je vezan za web-aplikacija. Ove sigurnosne postavke nadjačati sve sigurnosne postavke koja je postavljena na mjestu zbirci ili Stranici (Tkanje) Razina za tog korisnika.

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, ali, naprezanje citat, "It does not mean what you think it means."

Access web application policies this way:

  1. Idi na središnjoj administraciji
  2. Odaberite aplikacija za upravljanje
  3. Select "Policy for Web Application"
  4. Na tom zaslonu, make sure you pick the correct web application. Za mene je, to je defaultno web aplikacije središnje admin koji ne može biti onaj koji želite.

Kad sam imala taj problem, Tražila sam sljedećih izraza i dobio iznenađujuće malo u smislu izravne pomoći po tom pitanju:

Akcije web vidljive za sve korisnike

Akcije web vidljivi svim korisnicima

licu mjesta radnje nisu sigurnosni obrezuje

osigurati MOSS stranice

Uvod u mahovine sigurnosti

Technorati Tags:

Brzo i jednostavno: Koristite Fiksni Pitanje Riječ za Search Results Temeljnih

Quick and Simple Instructions:

Edit a page and add a Search Core Results web part.

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

Add the 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").

Bilješke:

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: Departments and Products.

The product site collection contains, naturally enough, product information. Each product in the site collection aggregates data from multiple sources.

One of the departments, codes and testing, 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".

A nice benefit from this approach: We can edit the XSL from the core search results web part and generate any format that we want.

Vidi ovdje (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) for another blogger’s discussion on this topic.

</kraj>Pretplatite se na moj blog.

Reci mi o svom blogu!

Ako održavati blog koji je barem minimalno spojen na SharePoint, please let me know in comments. I would love to add you to my popis blogova.

Ako održavati blog koji nije spojen na SharePoint, ali ja želim da ga dodate svejedno, javite mi. I’ll may create a separate blog list.

Molim Vas, dajte:

  • Vaš blog URL (očito)
  • Kratak opis bloga.

I want to keep the link to "active" blogovi, 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.

Hvala!

Zaposlenik raspored treninga i materijali predlošku — Snižavanja bug u predlošku

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

Course managers create courses. When creating a course, the manager specifies maximum number of available seats.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" associated with that course.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. Kao rezultat toga, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, no more self-service registration is allowed.

Fortunately, Microsoft provides the workflow for this process. Even better, it’s a straight-forward workflow created via SharePoint Designer.

Follow these high level steps to fix it:

  1. Fire up SDP.
  2. Access the site based off the training template.
  3. Access "Attendee unregistration" tijek rada.
  4. Insert these steps (I made them the first two steps):
    1. Calculate Courses:Filled Seats minus 1 (Izlaz na Varijabla:calc)
    2. (zatim) Update item in Courses

Click Finish and you’re done.

Screen shots:


SharePoint Designer:

slika

Finished workflow:

slika

Calculate drill-down:

slika

Update item in Courses:

slika

Daj dobre vijesti često; daju lošu vijest rano

Ja sam bio konzultant za mnogo godina i sada, kao svaki iskusni konzultant zna, good communication is one of the key pillars to the successful delivery of a project. To je tako očito, it’s really almost boring to talk about. This isn’t a post about generic communication. Umjesto toga, Pišem o tamnijoj strani komunikacije — komuniciranja loših vijesti.

To ide bez rekavši da daje dobre vijesti za klijenta obavlja se cijelo vrijeme, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

Na drugoj strani, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, Ja bih znao da nešto nije naopako s projektom, a umjesto reći klijentu, 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 na 80 sat tjedana?

Koji je najbolji način da se nositi loše vijesti? 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 (Vjerojatno hoće), there may be incriminations and accusations and hurt feelings. Ali, kad emocije ohladiti, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, promijeniti raspored, dobili loptu valjanje na proračunske nastavcima (sretno!) and just generally come to grips with the "facts on the ground" and devise a new plan that still results in a successful project.

Slučaj u točki: Radim na projektu karakterizira:

  • T&E budget with a capped "Not to exceed" dolar iznos.
  • A "best efforts will be made" Obećanje da dostavi X, Y i Z do kraja projekta.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, nor for any "bad" razlog, ali oni su zadržana.
  • A dawning realization as the project passed the half-way point that we were not going to be able to deliver "Z" (uglavnom zbog obećana sredstva zapravo nisu dostupni).
  • Regular status reports and "CYA" Dokumentacija koja nas podlogom (savjetovanje tim) up.
  • Skopčana provedba ekipa s članovima izvučeni iz konzultantske organizacije (moja tvrtka) i klijent.
  • Distant upravljanje tim, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, Provedba momčad bila smještena u zasebnoj zgradi na kampusu, down a hill and relatively far way from "civilization".

S otprilike šest tjedna ostalo na projektnom proračunu, mi (Provedba momčadi) 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" dostaviti Z, a iako smo imali veliku opravdanje za nestale dostavu … Dno crta je da on nije izgleda dobro — da nećemo isporučiti Z u obliku kvalitetu koja bi netko ponosan.

Prepoznajući to, otišli smo na upravljanje i rekao im da je proračun projekta bi se konzumira u određenom roku i da smo bili u nevolji s Z.

Mini FireStorm izbio tijekom sljedećih nekoliko dana.

Dan 1: Uprava kluba poziva u svojoj osoblja za poseban sastanak (mi, konzultanti nisu pozvani). 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 "Stockholmski sindrom" je * zapravo * koristiti, ali ćete dobiti sliku. We’re a tight-knit group, uostalom, a osoblje je radio s nama konzultanti dan in i out za nekoliko mjeseci.

Dan 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: zakazati sastanak s puna provedba tim (uključujući i konzultanti).

Dan 5: Cijeli tim sastaje, 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.

Ako smo čekali dok samo tri tjedna ostala, ili još gore, jedan ili dva tjedna, it would have been much different. Instead of a constructive meeting to re-align the project, mi bi bili čupanje izvješća o stanju, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" but is it really "winning" u ovom slučaju?

Tako, ako imate dati loše vijesti, give it early. Bad news given late isn’t just bad, to je strašno.