СПД прилагођени ток посла акције — стринг манипулација проширења

Пре око недељу дана, 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):

Функција Опис (ако не и исто као Нето функција.)
Број ставки-() Returns the number "entries" in a string as per a specified delimiter.

На пример: Num-entries in a string "a,Б,Ц" with delimiter "," = 3.

Улазак() Returns the nth token in a string as per a specified delimiter.
Дужина Стринг.Ленгтх
Заменити() Стринг.Реплаце()
Садржи() Стринг.Цонтаинс()
Returns the word "true" or the word "false".
Субстринг(почетак) Стринг.Субстринг(почетак)
Субстринг(почетак,крај) Стринг.Субстринг(почетак,крај)
ТоУппер() Стринг.ТоУппер()
ТоЛовер() Стринг.ТоЛовер()
СтартсВитх() Стринг.СтартсВитх()
Returns the word "true" or the word "false".
ЕндсВитх() Стринг.ЕндсВитх()
Returns the word "true" or the word "false".

Брз & лако урл кодирања десктоп услужни

Ја сам потребе да урл-кодирање неке везе ове недеље и ошамарио заједно аа мали услужни програм који сам мислио да се стави на СкиДриве за заједницу.

Набавите овде бинарни: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Овде можете визуелно решење студио: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Ево снимак екрана:

слика

Брзо и лако: Додајте хипервезу у приказу података вебпарта КССЛТ

УПДАТЕ (01/17/08): Овај блог ентри говори о више хипервезе КССЛ доброте: 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. Користите Висуал Студио за СхареПоинт-свестан ИНТЕЛЛИСЕНСЕ.
  2. Копирајте ДВВП је КССЛТ у Висуал Студио (креирате празну пројекат, додај КССЛ фајл на пројекту).
  3. Копирајте линк који желите да користите у оставу.
  4. Пребаците га у правој локацији у КССЛ.
  5. Convert URL argument separators on the query string from "&" to "&ампер;"
  6. УРЛ-кодирање појединачне аргументе.
  7. Умотајте да унутар <хреф…> </a>

Пример:

Имам УРЛ:

хттп://[сервер]/[сајт]/Листе / Опен% 20Поситионс/АллИтемс.аспк?Погледај ={84ЕЕА2Ф5-121Б-946Ф-40Б7-0FA704A1DAA1}&ФилтерФиелд1 = Регрутер&ФилтерВалуе1 = Холд

Ја га претворити:

     <a хреф="Листе / Опен% 20Поситионс/АллИтемс.аспк?Виев =% 7б84ЕЕА2Ф5-121Б-946Ф-40Б7-
0FA704A1DAA1}&ампер;ФилтерФиелд1 = Регрутер&ампер;ФилтерВалуе1 = Холд"> Држати: </a>

Ручно сам трансформисао први аргумент из:

{84ЕЕА2Ф5-121Б-946Ф-40Б7-0FA704A1DAA1}

на:

%7б84ЕЕА2Ф5-121Б-946Ф-40Б7-0FA704A1DAA1}

(На овај, отворена заграда претвара у% 7б и затварање заграда претвара у% 7Д)

Други и трећи аргументи’ параметри ("FilterField1=Регрутер" and "FilterValue1=Држати" односно) не морају да буду урл-кодирана, јер они не садрже никакве небезбедне знакове.

Белешке:

Ова техника би требало да генерално раде било где желите да уградите хипервезе у КССЛТ где хипервеза укључује параметре на УРЛ, као што су:

хттп://[сервер]/[сајт]/Листе / Опен% 20Поситионс/АллИтемс.аспк?Погледај ={84ЕЕА2Ф5-121Б-946Ф-40Б7-0FA704A1DAA1}&ФилтерФиелд1 = Регрутер&ФилтерВалуе1 = Холд

Имам саму УРЛ приступајући прилагођену листу и ручно филтрирање на статусној колони (labeled "Recruiter" изнад).

Брза и једноставна: Омогући СхареПоинт Десигнер ток посла да бисте ажурирали ИнфоПатх образац

Сценарио: 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) Сачувајте ксн. Датотеку у библиотеци докумената (корак #1).
    Б) Publish the "Audit Message" поље и ознака истина: "Allow users to edit data in this field by using a datasheet or properties page".
    Ц) Креирајте нови тип садржаја и дати му одговарајуће име.
  6. Приступите обрасцима библиотеку.
    a) Иди на својим напредним подешавањима и омогући обрасцима библиотеку за управљање типова садржаја.
    Б) Изаберите новонасталог садржаја (5ц изнад). It will be grouped under "Microsoft InfoPath" (или слично).
    Ц) Remove the default "Form" Тип садржаја из библиотеке.
    Д) Mark the library to "show as web page" тако да форма ће покренути из СхареПоинт, а не клијент ИнфоПатх радна станица.
  7. Go back to the forms library proper and click "New" једноставно да проверите да ли је образац правилно постављен и делује као да желите.
  8. Покрените СхареПоинт Десигнер и идите на сајт који хостује ваше библиотеке образаца (од корака 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 окружење и вероватно чак захтева СхареПоинт Ентерприсе окружење.

Бигл је слетео (Октобар 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.

Има сувише много других добрих ствари.

Како да уклоните “Приказ целог садржаја локације” веза

I’m asked this question nearly every week, normally in the context of a security discussion. An administrator/site creator has provisioned a site, configured security, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Али, out of the box, you can’t remove the "view all site content" веза.

Mark Wagner provides the answer овде (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). His write-up is terrific on two levels. It provides an answer to the question, "How do I remove the View All Site Content" веза? Онда, it answers the immediate follow-on question: How do I easily enable the view all site content link on a site-by-site basis?

As a bonus: His approach works for WSS, not just MOSS.

</крај>

Претплатите се на мој блог!

Мој сопствени пројекат ЦодеПлек: Воркфлов наставци за СхареПоинт Десигнер

УПДАТЕ: Погледајте овде (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) за најновије на овом пројекту.

I created a CodePlex project today to house the Generic SPD interface code that I blogged about овде (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Have a look at овде (http://www.codeplex.com/spdwfextensions) да видим ЦодеПлек пројекат и шутирају гуме.

Ако сте заинтересовани да радите на томе са мном, fire off an email at mailto:galvin.paul@gmail.com

СхареПоинт Десигнер — Прилагођено активност извршава кориснички дефинисане функције Ц #

УПДАТЕ: Ово је пуштен на ЦодеПлек овде: 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.

Кораци инсталације (да се следи за сваку ВФЕ на фарми):

1. Преузмите и екстракт ЗИП..

2. Install the .dll into the GAC. I usually open c:\виндовс монтажа помоћу програма Виндовс Екплорер и копирајте га тамо.

3. Измена веб.цонфиг да додате скупштину о сигурним контроле:

<Систем.Воркфлов.ЦомпонентМодел.ВоркфловЦомпилер>
<аутхоризедТипес>

<authorizedType Assembly="SpdGenericInterface, Версион = 1.0.0.0, Култура = неутрална, ПублицКеиТокен = абе076фд8125ф3ц4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" у Ц:\Програм Филес Цоммон Филес Мицрософт Схаред веб сервер екстензије 12 темплате 1033 Воркфлов

Имајте на уму да горе локација је специфичан на енглески језик инсталације.

5. Затвори СхареПоинт Десигнер (ако је већ отворен).

6. иисресет

7. Отворите СПД и направите нови ток посла.

Ако све иде добро, Треба ли награђени са новом категоријом акције:

слика

Белешке:

Видети овде (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) за сјајан преглед процеса за креирање, Инсталација и конфигурисање решења као што је овај.

Зип. Директно је дизајниран да извуче вама ц:\ drive. If you do this, можете да отворите пројекат и сви путеви ће бити у складу.

Да бисте користили овај у Висуал Студио, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, додајте је Екецуте метода као што је приказано:

 заштићен заменити АцтивитиЕкецутионСтатус
          Извршити(АцтивитиЕкецутионЦонтект екецутионЦонтект)
        {

            ниска фунцтионТоДиспатцх;
            фунцтионТоДиспатцх = ово.ДиспатцхФунцтион.ТоЛовер();

            прекидач (фунцтионТоДиспатцх)
            {
                случај "tolower()":
                    {
                        ово.ОутРесулт1 = ово.InParam1.ToLower();
                        разбити;
                    }

                дефаулт:
                    {
                        ово.ОутРесулт1 = "Unknown function: [" + ово.ДиспатцхФунцтион + "].";
                        разбити;
                    }
            }

            повратак АцтивитиЕкецутионСтатус.Затворено;
        } // АцтивитиЕкецутионСтатус

    }

Онда, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

СПД прилагођени ток посла акција – добити <ВоркфловИнфо> означите право да се избегне фрустрацију

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

Нашао сам и покушао да користите шаблон узорак који почиње као:

<?КСМЛ верзија="1.0" кодирање="УТФ-8" ?>
<
ВоркфловИнфо КСМЛнс="хттп://сцхемас.мицрософт.цом / СхареПоинт /">
<
Акције Секвенцијални="онда" Паралелно="и">

Међутим, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Решење је да се скине са КСМЛнс атрибут, do an iisreset and close/re-open SPD.

Брза и једноставна: Конфигурација Мосс да тражи одређену библиотеку докумената

See UPDATE (Ја) below (11/24/07) на Како конфигурисати Мицрософт Оффице СхареПоинт Сервер 2007 да индекс и пописивања мрежне фасцикле за претрагу

Објективан: I want to execute a search restricted to a specific document library. У овом случају, библиотека докумената садржи документе за обуку.

Кораци:

1. Снимите УРЛ адресу библиотеке докумената.

2. Креирање обим:

Иди на централну администрацију.

Приступите ССП.

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, то ће бити доступан у опсезима пад падова за једноставне и напредне претраге и када тражите користи тај простор, само ћете добити резултате које очекујете.

Белешке:

Написао сам овај блог унос јер су ми у потрази за једноставним подешавање обима појавио суве користећи фразе попут:

  • конфигурисати домети у МОСС
  • конфигуришете маховину опсег претраге
  • СЦОПЕС у СхареПоинт 2007
  • СЦОПЕС у СхареПоинт
  • тражи библиотеку докумената маховину
  • СЦОПЕС прајмер маховина

Можете да направите опсег претраге на именик, 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 Како конфигурисати Мицрософт Оффице СхареПоинт Сервер 2007 да индекс и пописивања мрежне фасцикле за претрагу @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry