SPD prilagođeni tijek akcije — string manipulacije poboljšanja

Prije tjedan dana, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

Here are the current planned features for version 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

If anyone has any interest in this project, please leave a comment or start/add to a discussion here: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Here are the current set of functions that have been coded (though not fully tested as of 11/08/07):

Funkcija Opis (ako ne i isti kao. Neto funkciju)
Broj-unosi() Returns the number "entries" in a string as per a specified delimiter.

Na primjer: Num-entries in a string "a,b,c" with delimiter "," = 3.

Ulazak() Returns the nth token in a string as per a specified delimiter.
Dužina String.Length
Zamijeniti() String.Replace()
Sadrži() String.Contains()
Returns the word "true" or the word "false".
Podniz(početi) String.Substring(početi)
Podniz(početi,kraj) String.Substring(početi,kraj)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

Brz & lako URL kodiranje desktop uslužni

Ja sam trebaju URL-kodiranje neke veze ovaj tjedan i ošamario zajedno aa mali program koji sam mislio da ću staviti na SkyDrive za zajednicu.

Uzmite binarni ovdje: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Uzmite vizualni rješenje studijski ovdje: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Ovdje je screen shot:

slika

Brzo i jednostavno: Postavi hipervezu u podatkovnom prikazu Web-dio XSLT

UPDATE (01/17/08): Ovaj blog entry govori o više hiperveze XSL dobrote: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Pregled i cilj: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, ali nisam izmislio tu tehniku (niti upitnik, u tom slučaju). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Na primjer, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".

Koraci:

  1. Use visual studio for sharepoint-aware intellisense.
  2. Copy the DVWP’s XSLT into visual studio (create a blank project, add an XSL file to the project).
  3. Copy the link you want to use into the clipboard.
  4. Paste it into the right location in the XSL.
  5. Convert URL argument separators on the query string from "&" to "&"
  6. Url-encode individual arguments.
  7. Wrap that inside an <href…> </a>

Primjer:

I have an URL:

http://[server]/[site]/Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1=Recruiter&FilterValue1=Hold

I convert it into:

     <a href="Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&amp;FilterField1=Recruiter&amp;FilterValue1=Hold"> Hold: </a>

I have manually transformed the first argument from:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

na:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

(In this, the open brace transforms to { and the closing brace transforms to })

The second and third arguments’ parameters ("FilterField1=Recruiter" and "FilterValue1=Hold" respectively) do not need to be url-encoded because they do not contain any unsafe characters.

Bilješke:

This technique should generally work anywhere you want to embed a hyperlink in XSLT where the hyperlink includes parameters on the URL such as:

http://[server]/[site]/Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1=Recruiter&FilterValue1=Hold

I got the URL itself by accessing the custom list and manually filtering on the status column (labeled "Recruiter" gore).

Brzo i jednostavno: Omogućiti SharePoint Designer tijeka rada za ažuriranje InfoPath obrazac

Scenario: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Budući da ne može računati na tijeka povijesti ispuniti moje zahtjeve revizije, Odlučio sam pohraniti svoju revizorsku poruke izravno na samom obliku.

Pregled:

Dizajn obrasca i objaviti ga kao Vrsta sadržaja and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" na forme knjižnice (ili više, ako želite). Write a workflow that updates the field.

Konkretni koraci:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. Objava obliku kao vrstu sadržaja (NE dokument).
  5. Dok ispunjavanjem izdavačkoj dijalozima:
    a) Spremite. Xsn datoteku u biblioteci dokumenata (korak #1).
    b) Publish the "Audit Message" Polje i Mark istina: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Stvorite novu vrstu sadržaja i dati mu prikladno ime.
  6. Pristupite forme knjižnice.
    a) Idi na svojim naprednim postavkama i omogućiti forme knjižnice za upravljanje vrste sadržaja.
    b) Odaberite novostvoreni tip sadržaja (5c iznad). It will be grouped under "Microsoft InfoPath" (i sl.).
    c) Remove the default "Form" Vrsta sadržaja iz knjižnice.
    d) Mark the library to "show as web page" , tako da oblik će lansirati SharePoint, a ne klijent radne stanice InfoPath.
  7. Go back to the forms library proper and click "New" jednostavno provjeriti da je obrazac objavljen ispravno i djeluje onako kako želite.
  8. Vatra se SharePoint Designer i ploviti na mjestu na kojem su smještene svoju biblioteku obrazaca (od koraka 2).
  9. Stvaranje novog tijeka rada priključen na obrascima knjižnici.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. Kliknite Završi i vratite se u biblioteku obrazaca.
  12. Create a new form and put some test value into the "Audit Message" polje.
  13. To spasiti i vratiti se u obliku knjižnici.
  14. Desnom tipkom miša, select "Workflow" i započeti svoj tijek rada.
  15. It should run almost immediately. Pull up the form (od koraka 12) a ako sve je otišao na plan, "Audit Message" je dodijeljena bez obzira na vrijednost koju ste unijeli u koraku 10.

Bilješke:

Not all controls may configured for this bi-directional communication. Na primjer, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 okoliš i vjerojatno čak i zahtijeva Enterprise SharePoint okoliš.

Beagle je sletio (Listopad 2007 izdanje)

(To je zapravo malo stara vijest, ali kako mi je najdraži Vatrogasni moto naviješta, "Better late than never").

Pogledajte ga ovdje: http://www.sharepointbeagle.com/

Ako to već niste učinili, Forumu prijaviti.

Naravno, budite sigurni da pročitate moj članak about a real-world SharePoint project (uključujući i zahtjeve definiciji, KPI, vrste sadržaja, dashboards and more) as well as moj kolega je article about the content query web part.

Ima puno drugih dobrih stvari previše.

Kako ukloniti “Pogledaj sve sadržaje stranica” link

Ja sam pitao to pitanje gotovo svaki tjedan, obično u kontekstu rasprave sigurnosti. An administrator/site creator has provisioned a site, konfigurirati sigurnosni, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Ali, iz kutije, you can’t remove the "view all site content" link.

Mark Wagner daje odgovor ovdje (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Njegov pisati-up je sjajan na dvije razine. To daje odgovor na pitanje, "How do I remove the View All Site Content" link? Tada, odgovorit će neposredno pratiti na pitanje: Kako jednostavno omogućiti prikaži sve veze web-mjesta na razini web-stranica osnovi sadržaj?

Kao bonus: Njegov pristup radi za WSS, ne samo MOSS.

</kraj>

Pretplatite se na moj blog!

Moj osobni projekt CodePlex: Tijeka nastavci za SharePoint Designer

UPDATE: Vidi ovdje (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) za najnovije na ovom projektu.

Ja stvorio CodePlex projekt danas bi udomila Generic SPD sučelje kod koje sam blogged o ovdje (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Imati pogledati ovdje (http://www.codeplex.com/spdwfextensions) vidjeti CodePlex projekt i kick gume.

Ako ste zainteresirani za rad na tome sa mnom, ivaca e-mail na mailto:galvin.paul@gmail.com

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