SPD workflow pasadyang mga aksyon — string pagmamanipula ng mga pagpapabuti

Tungkol sa isang linggo na ang nakakalipas, 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.

Narito ang mga kasalukuyang nakaplanong tampok para sa bersyon 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Kung sinuman ay may anumang mga interes sa proyektong ito, mangyaring mag-iwan ng komento o simulan / idagdag sa isang talakayan dito: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Narito ang mga kasalukuyang hanay ng mga pag-andar na naka-code (bagaman hindi ganap na nasubukan bilang ng 11/08/07):

Tungkulin Paglalarawan (kung hindi pareho. Net function na)
Num-entry() Returns the number "entries" in a string as per a specified delimiter.

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

Pagpasok() Returns the nth token in a string as per a specified delimiter.
Haba String.Length
Palitan() String.Replace()
Naglalaman ng() String.Contains()
Returns the word "true" or the word "false".
Substring(simulan) String.Substring(simulan)
Substring(simulan,dulo) String.Substring(simulan,dulo)
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".

Mabilis & madaling url Encoding desktop utility

Ako nangangailangan na url-encode ng ilang mga string na ito linggo at slapped magkasama ee kaunti utility na naisip ko na gusto kong ilagay up sa SkyDrive para sa komunidad.

Kunin ang binary dito: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Kumuha ng visual studio solusyon dito: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Narito ang isang screen shot:

imahen

Mabilis at madali: I-embed ang isang hyperlink sa view ng data web bahagi XSLT

I-UPDATE (01/17/08): Ang blog entry uusap tungkol sa mas kabutihan hyperlink XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Pangkalahatang-ideya at Layunin: 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, ngunit hindi ko na kumatha diskarteng (o ang mga tandang pananong, para sa na mahalaga). 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. Halimbawa, 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".

Mga Hakbang:

  1. Gamitin ang visual studio para sa sharepoint-aware intellisense.
  2. Kopyahin ang DVWP ni XSLT sa visual studio (lumikha ng isang blangko proyekto, magdagdag ng isang XSL file sa proyekto).
  3. Kopyahin ang link na gusto mong gamitin sa clipboard.
  4. Ilagay ito sa tamang lokasyon sa XSL.
  5. Convert URL argument separators on the query string from "&" to "&"
  6. Url-encode ang mga indibidwal na mga argumento.
  7. Pakibalot na sa loob ng isang <a href…> </isang>

Halimbawa:

Mayroon akong isang URL:

http://[server]/[lugar]/Listahan / Buksan ang% 20Positions/AllItems.aspx?Tingnan ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

I-convert ito sa:

     <isang href="Listahan / Buksan ang% 20Positions/AllItems.aspx?Tingnan =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7a&amp;FilterField1 = Recruiter&amp;FilterValue1 = Hold"> Hawakan: </isang>

Manu-mano ko pa transformed ang unang argumento mula sa:

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

upang:

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

(Sa ganitong, Bukas ang suhay transforms sa% 7b at ang pangwakas suhay transforms sa% 7a)

Ang pangalawa at pangatlong argumento’ mga parameter ("FilterField1=Recruiter" and "FilterValue1=Hawakan" buong galang) hindi kailangang ma-url-encode nang dahil hindi sila naglalaman ng anumang hindi ligtas na mga character.

Mga Tala:

Diskarteng ito ay dapat pangkalahatan ay gumagana sa kahit saan nais mong i-embed ng isang hyperlink sa XSLT hyperlink kung saan ang may kasamang mga parameter sa URL tulad ng:

http://[server]/[lugar]/Listahan / Buksan ang% 20Positions/AllItems.aspx?Tingnan ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Nakatanggap ako ang URL mismo sa pamamagitan ng pag-access ang listahan ng custom at mano-manong pag-filter sa hanay ng katayuan (labeled "Recruiter" sa itaas).

Mabilis at simpleng: Paganahin ang SharePoint Designer workflow i-update ang isang form na ng InfoPath

Senaryo: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Dahil hindi ko maaaring bilangin sa ng workflow kasaysayan upang matugunan ang aking mga pangangailangan sa pag-awdit, Na maghusga ko upang i-imbak ang aking sariling pag-awdit ng mensahe nang direkta sa form mismo.

Pangkalahatang-ideya ng:

Idisenyo ang form at mag-publish ang mga ito bilang isang uri ng nilalaman 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" sa isang form ng library (o maraming, kung gusto mong). Write a workflow that updates the field.

Tiyak na Hakbang:

  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. I-publish ang form bilang isang uri ng nilalaman (Hindi ng isang dokumento).
  5. Habang pagpuno ng dialog publish:
    isang) I-save ang ang. Xsn na file sa library dokumento (hakbang #1).
    b) Publish the "Audit Message" patlang at mark totoo: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Lumikha ng isang bagong uri ng nilalaman at bigyan ito ng isang naaangkop na pangalan.
  6. Ma-access ang mga form ng library.
    isang) Pumunta sa mga advanced setting nito at paganahin ang mga form ng library upang pamahalaan ang mga uri ng nilalaman.
    b) Piliin ang nilikhang bagong uri ng nilalaman (5c itaas). It will be grouped under "Microsoft InfoPath" (o katulad na).
    c) Remove the default "Form" uri ng nilalaman mula sa library.
    d) Mark the library to "show as web page" kaya form na iyon ay ilunsad mula sa SharePoint at hindi ang InfoPath client workstation.
  7. Go back to the forms library proper and click "New" sa lamang na i-verify ang form na iyon ay nai-post sa tama at kumikilos hangga't gusto mo.
  8. Painitin SharePoint Designer at mag-navigate sa site na nagho-host ng iyong form library (mula sa hakbang 2).
  9. Lumikha ng isang bagong daloy ng trabaho na naka-attach sa library form.
  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. I-click ang Tapos na at bumalik sa form na ang library.
  12. Create a new form and put some test value into the "Audit Message" patlang.
  13. I-save ito at bumalik sa form na ang library.
  14. Mag-right click, select "Workflow" at simulan ang iyong workflow.
  15. It should run almost immediately. Pull up the form (mula sa hakbang 12) at kung lahat ay nawala upang magplano, "Audit Message" ay bibigyan ng anumang halaga na iyong ibinigay sa hakbang 10.

Mga Tala:

Not all controls may configured for this bi-directional communication. Halimbawa, 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 kapaligiran at marahil kahit na nangangailangan ng isang Enterprise SharePoint kapaligiran.

Ang Beagle Ang ay Lumapag (Oktubre 2007 problema)

(Ito ay talagang isang maliit na lumang balita, ngunit bilang aking mga paboritong salawikain himpilan ng bumbero proclaims, "Better late than never").

Tingnan ito dito: http://www.sharepointbeagle.com/

Kung hindi mo pa nagagawa, tiyaking mag-sign up.

Talaga, tiyakin na basahin ang aking mga artikulo about a real-world SharePoint project (kabilang ang mga kinakailangan sa kahulugan, KPI ni, uri ng nilalaman, dashboards and more) as well as aking kasamahan ni article about the content query web part.

Mayroong maraming iba pang mga magagandang bagay-bagay masyadong.

Paano mag-alis “Tingnan ang lahat ng nilalaman ng site” link

Ako nagtanong tanong na ito halos bawat linggo, normal sa konteksto ng isang talakayan seguridad. An administrator/site creator has provisioned a site, configure seguridad, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Pero, sa labas ng kahon, you can’t remove the "view all site content" link.

Mark Wagner Nagbibigay ang kasagutan dito (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Ang kanyang write-up ay kasindak-sindak sa dalawang mga antas. Ito ay nagbibigay ng isang sagot sa tanong, "How do I remove the View All Site Content" link? Pagkatapos, ito sasagutin ng agarang follow-sa tanong: Paano ko madaling paganahin ang view ng lahat ng mga link ng site ng nilalaman sa isang site-by-site na batayan?

Bilang bonus: Ang kanyang diskarte ay gumagana para sa WSS, hindi lamang Moss.

</dulo>

Mag-subscribe sa aking blog!

Aking napaka sariling CodePlex proyekto: Daloy ng trabaho ng mga extension para sa SharePoint Designer

I-UPDATE: Tingnan dito (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) para sa pinakabagong sa proyektong ito.

Lumikha ako ng CodePlex proyekto ngayon upang paglagyan ng mga Generic SPD interface code na ako blog tungkol sa dito (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Magkaroon ng isang pagtingin sa dito (http://www.codeplex.com/spdwfextensions) upang makita ang mga CodePlex proyekto at sipain ang mga gulong.

Kung ikaw ay interesado sa nagtatrabaho sa ito sa akin, sunog off ng isang email sa mailto:galvin.paul@gmail.com

SharePoint Designer — Custom na aktibidad upang isakatuparan na tinukoy ng gumagamit C # function

I-UPDATE: Ito ay inilabas sa CodePlex dito: http://www.codeplex.com/spdwfextensions

I-UPDATE: Tingnan dito para sa pinakabagong tala sa release: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

I-UPDATE: Tingnan dito para sa aking mga saloobin sa commercializing ang proyektong ito: 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 (pahatid) any C# function that you incorporated into the linked assembly.

Bilang ng late Oktubre, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, kabilang ang substring, talatuntunan, palitan, 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.

Kung mayroon kang anumang mga puna, mga katanungan o suhestyon, mangyaring mag-iwan ang mga ito sa mga komento o mag-email sa akin.

Pagtatatuwa:

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

Pag-install hakbang (na sinundan para sa bawat WFE sa bukid):

1. I-download ang. Zip at extract.

2. Install the .dll into the GAC. I usually open c:\windows assembly gamit ang explorer window at kopyahin ito doon.

3. Baguhin web.config upang idagdag ang assembly sa ligtas na mga kontrol:

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

<authorizedType Assembly="SpdGenericInterface, Bersyon = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" sa C:\Program Files Common Files Microsoft Naibahaging web server extension 12 TEMPLATE 1033 workflow

Tandaan na ang nasa itaas na lokasyon ay tinukoy sa ingles wika pag-install.

5. Isara ang SharePoint Designer (kung ito ay bukas alreadycreated).

6. iisreset

7. Buksan SPD at lumikha ng isang bagong workflow.

Kung ang lahat ng napupunta na rin, Dapat mo ay gagantimpalaan ng isang bagong kategorya ng mga aksyon:

imahen

Mga Tala:

Tingnan dito (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) para sa isang kakila-kilabot na pangkalahatang-ideya ng proseso para sa paglikha ng, pag-install at pag-configure ng solusyon ganito.

Ang. Zip ay dinisenyo upang kunin mismo sa iyo c:\ drive. If you do this, maaari mong buksan ang proyekto at ang lahat ng mga path ay maging pare-pareho.

Upang gamitin ito sa Visual Studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, idagdag ito sa Ipatupad ang mga pamamaraan tulad ng ipinapakita:

 protektado magpawalang-bisa ActivityExecutionStatus
          Isakatuparan(ActivityExecutionContext executionContext)
        {

            pisi functionToDispatch;
            functionToDispatch = ito.DispatchFunction.ToLower();

            lumipat (functionToDispatch)
            {
                kaso "tolower()":
                    {
                        ito.OutResult1 = ito.InParam1.ToLower();
                        mabasag;
                    }

                default:
                    {
                        ito.OutResult1 = "Unknown function: [" + ito.DispatchFunction + "].";
                        mabasag;
                    }
            }

            bumalik ActivityExecutionStatus.Sarado;
        } // ActivityExecutionStatus

    }

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

SPD workflow pasadyang aksyon – makuha ang <WorkflowInfo> tag ang karapatan upang maiwasan ang pagkabigo

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

Na nahanap ko at sinubukang gumamit ng isang sample template na nagsisimula off bilang:

<?xml salin="1.0" pag-encode="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / sharepoint /">
<
Pagkilos Nanggagalaing="pagkatapos" Pagpaparis="at">

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

Ang solusyon ay upang nito ang mga katangian xmlns, do an iisreset and close/re-open SPD.

Mabilis at simpleng: I-configure ang Moss upang maghanap ng partikular na dokumento library

See UPDATE (Ako) below (11/24/07) sa Paano i-configure ang Microsoft Office SharePoint Server 2007 sa Index at Crawl Folder para sa Network ng Paghahanap

Layon: I want to execute a search restricted to a specific document library. Sa kasong ito, ang dokumento library ay naglalaman ng mga dokumento pagsasanay.

Mga Hakbang:

1. I-record ang URL ng library dokumento.

2. Lumikha ng isang saklaw:

Pumunta sa gitnang pangangasiwa.

I-access ang 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. Tukuyin ang mga panuntunan sa saklaw ng pag-crawl:

Magdagdag ng isang panuntunan na tumutukoy sa dokumento aklatan para sa saklaw na ito.

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

Ipasok ang pangalan ng iyong folder (tingnan #1 sa itaas).

Accept the default value of "Include".

Maghintay para sa saklaw na i-update (o simulan ito nang manu-mano).

4. Paganahin ang saklaw sa isang koleksyon site.

Pumunta sa site na koleksyon kung saan mo nais na gamitin ang saklaw.

Idagdag ang iyong bagong saklaw ng naaangkop na display grupo o mga grupo.

5. Hanapin!

Sa puntong ito, you’re done. Assuming the scope is properly defined, ito ay magagamit sa drop down mga saklaw para sa simple at advanced na mga paghahanap at kapag ikaw ay naghanap gamit na saklaw, makikita mo lamang makakuha ng mga resulta ng iyong inaasahan.

Mga Tala:

Ako ay nagsulat sa blog na ito dahil entry ang aking mga paghahanap para sa simpleng setup saklaw naka dry up gamit ang mga parirala tulad ng:

  • i-configure ang mga saklaw sa Moss
  • i-configure ang paghahanap saklaw lumot
  • saklaw sa sharepoint 2007
  • saklaw sa sharepoint
  • maghanap ng isang dokumento library lumot
  • mga saklaw panimulang aklat sa pagbasa lumot

Maaari kang lumikha ng isang saklaw ng paghahanap sa isang folder, not just the entire document library.

Ang isang saklaw maaaring ibahagi sa maramihang mga koleksyon site (kaya, a "shared service").

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

I-UPDATE (Ako) bilang ng 11/24/07:

Kai Shang put together a great post entitled Paano i-configure ang Microsoft Office SharePoint Server 2007 sa Index at Crawl Folder para sa Network ng Paghahanap @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry