СПД дзеянні наладжвальнага рабочага працэсу — Удасканаленні радкамі

Каля тыдня назад, 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.

Вот тока Запланаваныя магчымасці для версіі 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Калі ў каго ёсць цікавасць да гэтага праекту, калі ласка, пакіньце каментар або стартавай / дадаць ў абмеркаванне тут: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Вот тока набор функцый, якія былі закадаваныя (хоць і не цалкам пратэставаная на 11/08/07):

Функцыя Апісанне (калі не такія ж, як. Чыстыя функцыі)
Num-запісы() Returns the number "entries" in a string as per a specified delimiter.

Напрыклад: Num-entries in a string "a,B,З" with delimiter "," = 3.

Ўступленне() Returns the nth token in a string as per a specified delimiter.
Даўжыня String.Length
Замяняць() String.Replace()
Змяшчае() String.Contains()
Returns the word "true" or the word "false".
Падрадок(пачатак) String.substring(пачатак)
Падрадок(пачатак,канец) String.substring(пачатак,канец)
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".

Хутка & Лёгка Кадаваньне URL ўтыліты Desktop

Я маюць патрэбу ў URL-кадзіраваць некаторыя радкі гэтым тыдні і ўдарыў разам аа невялікая ўтыліта, якая я думаў, я б паставіў на SkyDrive для супольнасці.

Атрымаць двайковы тут: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Атрымаць візуальнае рашэнне студыі тут: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Вось здымак экрана:

малюнак

Хутка і лёгка: Уставіць спасылку ў дадзеных вэб-частка XSLT

АБНАЎЛЕННЕ (01/17/08): Гэты блог запісу аб перамовах больш дабра гіперспасылкі XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Агляд і мэты: 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, але я не вынайшаў гэтую тэхніку (ні пытальніка, ў гэтых адносінах). 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. Напрыклад, 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".

Крокі:

  1. Выкарыстоўвайце для Visual Studio SharePoint-Aware IntelliSense.
  2. Скапіюйце XSLT DVWP аўтара ў Visual Studio (стварыць пусты праект, дадаць файл XSL да праекту).
  3. Скапіяваць спасылку вы хочаце выкарыстоўваць у буфер абмену.
  4. Устаўце яго ў патрэбным месцы ў XSL.
  5. Convert URL argument separators on the query string from "&" to "&ампер;"
  6. URL-адрас кадуюць асобныя аргументы.
  7. Абгарніце што ўнутры <HREF…> </a>

Прыклад:

У мяне ёсць URL:

HTTP://[сервер]/[сайт]/Спісы / Адкрытае 20Positions/AllItems.aspx%?Выгляд ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Рекрутеры&FilterValue1 = ўтрыманне

Я пераўтварыць яго ў:

     <a HREF="Спісы / Адкрытае 20Positions/AllItems.aspx%?Выгляд =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&ампер;FilterField1 = Рекрутеры&ампер;FilterValue1 = ўтрыманне"> Трымаць: </a>

Я ўручную ператварыў першы аргумент:

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

да:

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

(У гэтым, якая адкрывае фігурнай дужкі ператвараецца ў% 7b і закрывае дужкі ператвараецца ў% 7дн)

Другі і трэці аргументы’ Параметры ("FilterField1=Вярбоўнік" and "FilterValue1=Трымаць" адпаведна) не павінны быць закадзіраваны гіперспасылка, таму што яны не ўтрымліваюць небяспечныя сімвалы.

Заўвагі:

Гэты метад як правіла, павінны працаваць у любым месцы вы хочаце ўстаўляць гіперспасылкі ў XSLT, дзе ўключае ў сябе параметры гіперспасылкі на URL, такія як:

HTTP://[сервер]/[сайт]/Спісы / Адкрытае 20Positions/AllItems.aspx%?Выгляд ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Рекрутеры&FilterValue1 = ўтрыманне

Я атрымаў URL сябе доступ да карыстацкі спіс і ўручную фільтрацыі на калонцы статусу (labeled "Recruiter" вышэй).

Хутка і проста: Ўключыць SharePoint Designer працоўны працэс для абнаўлення формаў InfoPath

Сцэнар: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Паколькі я не магу разлічваць на гісторыі працоўнага працэсу для задавальнення маіх патрабаванняў да аўдыту, Я вырашаю, каб захаваць мае ўласныя паведамленні аўдыту непасрэдна на самой форме.

Агляд:

Дызайн формы і апублікаваць яго ў якасці Тып змесціва 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" у бібліятэку формаў (ці шмат, калі вы хочаце). Write a workflow that updates the field.

Канкрэтныя крокі:

  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. Публікацыя формы як тып змесціва (Не з'яўляецца дакументам,).
  5. Пры запаўненні публікацыі дыялогі:
    a) Захаваць. XSN файл у бібліятэку дакументаў (крок #1).
    B) Publish the "Audit Message" поля і Марка сапраўдным: "Allow users to edit data in this field by using a datasheet or properties page".
    З) Стварэнне новага тыпу кантэнту і даць яму адпаведнае імя.
  6. Доступ да бібліятэкі формаў.
    a) Да яго пашыраныя налады і ўключыць бібліятэкі формаў кіраваць тыпамі змесціва.
    B) Выберыце створаны тып кантэнту (5З вышэй). It will be grouped under "Microsoft InfoPath" (ці аналагічны).
    З) Remove the default "Form" Тып змесціва з бібліятэкі.
    рэ) Mark the library to "show as web page" так, каб форма будзе запускаць з SharePoint, а ня кліента InfoPath працоўных станцый.
  7. Go back to the forms library proper and click "New" проста пераканайцеся, што форма змяшчаецца правільна і дзейнічае, як вы хочаце.
  8. Запусціце SharePoint Designer і перайсці на сайт, у якім размяшчаюцца бібліятэкі формаў (з кроку 2).
  9. Стварыце новы сцэнар прымацаваны да бібліятэкі формаў.
  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. Націсніце кнопку Гатова і вярнуцца да бібліятэкі формаў.
  12. Create a new form and put some test value into the "Audit Message" поле.
  13. Захавайце яго і вярнуцца ў бібліятэку формаў.
  14. Пстрыкніце правай кнопкай мышы, select "Workflow" і пачаць працоўны працэс.
  15. It should run almost immediately. Pull up the form (з кроку 12) і калі ўсё зроблена правільна, "Audit Message" было прызначана любое іншае значэнне, атрыманых на стадыі 10.

Заўвагі:

Not all controls may configured for this bi-directional communication. Напрыклад, 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 навакольнага асяроддзя і, магчыма, нават патрабуе карпаратыўнай асяроддзі SharePoint.

Бигль прызямліўся (Кастрычнік 2007 пытанне)

(На самай справе гэта крыху старыя навіны, але, як мой любімы дэвіз пажарнай станцыі абвяшчае, "Better late than never").

Праверце гэта тут: http://www.sharepointbeagle.com/

Калі вы яшчэ не зрабілі, абавязкова зарэгістравацца.

Вядома, абавязкова прачытайце мой артыкул about a real-world SharePoint project (у тым ліку вызначэнне патрабаванняў, КПЭ, тыпаў кантэнту, dashboards and more) as well as майго калегі article about the content query web part.

Там у шмат іншых добрых рэчаў занадта.

Як выдаліць “Прагледзець усе змесціва вузла” спасылка

Я задаў гэтае пытанне амаль кожны тыдзень, Звычайна ў кантэксце бяспекі абмеркаванне. An administrator/site creator has provisioned a site, наладзіць бяспеку, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Але, з скрынкі, you can’t remove the "view all site content" спасылка.

Марка Вагнера дае адказ тут (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Яго рэцэнзіі неверагоднае на двух узроўнях. Яна дае адказ на пытанне, "How do I remove the View All Site Content" спасылка? Затым, ён адказвае на неадкладнае прадастаўленне наступнага пытанне: Як лёгка ўключыць спасылкай Прагледзець усе змесціва вузла на сайт за сайт асновай?

У якасці бонуса: Яго падыход працуе для WSS, не толькі MOSS.

</канец>

Падпісацца на мой блог!

Мой уласны праекта CodePlex: Пашырэньні працоўнага працэсу для SharePoint Designer

АБНАЎЛЕННЕ: Глядзіце тут (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) для апошняй на гэтым праекце.

Я стварыў праект CodePlex сёння для размяшчэння Агульны інтэрфейс SPD код, які я пісаў пра тут (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Паглядзець на тут (http://www.codeplex.com/spdwfextensions) ўбачыць праект CodePlex і ўдар шыны.

Калі вы зацікаўлены ў працы над гэтым са мной, стрэліць па электроннай пошце на mailto:galvin.paul@gmail.com

SharePoint Designer — Карыстальніцкія дзейнасці для выканання карыстацкіх функцый 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.

Калі ў вас ёсць заўвагі, пытанні ці прапановы, калі ласка, пакіньце іх у каментарах або напішыце мне.

Адмова:

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

Этапы ўстаноўкі (павінны быць выкананыя пры кожным WFE ў ферме):

1. Спампаваць. ZIP і атрымаць.

2. Install the .dll into the GAC. I usually open c:\Windows зборцы з дапамогай Правадыра Windows і скапіруйце яго туды.

3. Змяніць web.config дадаць зборку ў бяспечныя элементы кіравання:

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

<authorizedType Assembly="SpdGenericInterface, Version = 1.0.0.0, Культура = нейтральнай, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" З:\Program Files Common Files Microsoft Shared пашырэньні вэб-сервера 12 TEMPLATE 1033 Workflow

Заўважым, што прыведзеныя размяшчэнне характэрных для ангельскай мовы установак.

5. Зачыніць SharePoint Designer, (калі ён ужо адкрыты).

6. IISReset

7. Адкрыйце SPD і стварыць новы працоўны працэс.

Калі ўсё пойдзе добра, Вы павінны быць ўзнагароджаныя з новай катэгорыяй дзеянні:

малюнак

Заўвагі:

Паглядзець тут (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) за надзвычайны агляд працэсу стварэння, ўстаноўка і настройка рашэнні, як гэта.

. 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 Workflow карыстацкіх дзеянняў – атрымаць <WorkflowInfo> тэгі направа, каб пазбегнуць расчаравання

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" файл.

Я знайшоў і паспрабаваў выкарыстаць ўзор шаблону, які пачынаецца як:

<?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.

Рашэнне складаецца ў тым, каб выразаць XMLNS атрыбут, do an iisreset and close/re-open SPD.

Хутка і проста: Настройка 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, ён будзе даступны ў расчыняецца абласцей падзення для простага і пашыранага пошуку і пры пошуку з дапамогай гэтай сферы, вы проста атрымаеце вынікі, якія вы чакаеце.

Заўвагі:

Я напісаў гэты допіс з блогу, таму што мае пошукі простую ўстаноўку рамкі з'явіўся сухі выкарыстаннем фраз тыпу:

  • сканфігураваць вобласці ў MOSS
  • наладзіць вобласць пошуку мох
  • абласцей у SharePoint 2007
  • абласцей у SharePoint
  • пошук у бібліятэцы дакументаў мох
  • Галіне першага моху

Вы можаце стварыць вобласць пошуку на тэчцы, not just the entire document library.

Вобласць могуць сумесна выкарыстоўвацца некалькімі сямействамі сайтаў (такім чынам, 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