СПД обичај работното акции — низа манипулација подобрувања

Пред околу една недела, 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,б,в" 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-то кодирање десктоп алатка

Сум бил потреба да рачно се кодираат некои стрингови оваа недела и удира заедно аа малку алатка која мислев дека сум се постави на SkyDrive за заедницата.

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

Се добие Visual Studio решение овде: 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-свесни IntelliSense.
  2. Копирате DVWP на XSLT во Visual Studio (креира празна проект, додадете датотека XSL да на проектот).
  3. Копирај го линкот сакате да го користите во таблата со исечоци.
  4. Ставете го во вистинската локација, во XSL.
  5. Convert URL argument separators on the query string from "&" to "&засилувач;"
  6. Url-кодираат поединечните аргументи.
  7. Завиткајте дека внатре во <a href…> </на>

Пример:

Имам рачно:

HTTP://[сервер]/[сајт]/Листа / Отворено% 20Positions/AllItems.aspx?Прикажи ги ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = агентот&FilterValue1 = Држете

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

     <на href="Листа / Отворено% 20Positions/AllItems.aspx?Прикажи ги =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7г&засилувач;FilterField1 = агентот&засилувач;FilterValue1 = Држете"> Се одржи: </на>

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

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

да:

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

(Во овој, отворена заграда преобразува во% 7б и завршната голема заграда се преобразува во% 7г)

Во вториот и третиот аргументи’ параметри ("FilterField1=Агентот" and "FilterValue1=Се одржи" соодветно) не треба да биде URL-кодирани, бидејќи тие не содржат никаква небезбедни карактери.

Белешки:

Оваа техника генерално треба да работат каде што сакате да го вградите на хиперврска во XSLT каде хиперврска вклучува параметри на URL-то, како што се:

HTTP://[сервер]/[сајт]/Листа / Отворено% 20Positions/AllItems.aspx?Прикажи ги ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = агентот&FilterValue1 = Држете

Добив рачно себе, со пристапување на сопствени листа и рачно филтрирање за статусот колона (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. Додека пополнување на издавачката дијалози:
    на) Спаси. Xsn датотека за документот библиотека (чекор #1).
    б) Publish the "Audit Message" поле и марка вистина: "Allow users to edit data in this field by using a datasheet or properties page".
    в) Се создаде нов типот на содржина и го даде соодветно име.
  6. Пристапите на форми библиотека.
    на) Оди до своите напредни поставувања и да им овозможи на формите библиотека за управување со содржина видови.
    б) Изберете ново формираната типот на содржина (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. Кликнете на Finish и се врати во форма библиотека.
  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 животната средина и веројатно дури и бара Enterprise SharePoint животната средина.

Бигл има слета (Октомври 2007 прашање)

(Ова е, всушност, малку стари вести, но како мојот омилен оган станица мото прокламира, "Better late than never").

Проверете тука: http://www.sharepointbeagle.com/

Ако веќе не сте, не заборавајте да се регистрирате.

Се разбира, не заборавајте да го прочитате мојата статија about a real-world SharePoint project (вклучувајќи ги и барањата дефиниција, KPI е, типови содржини, 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). Неговиот пишува-up е страшно на две нивоа. Тоа дава одговор на прашањето, "How do I remove the View All Site Content" линк? Потоа, таа одговори непосредна следење на прашањето: Како можам лесно им овозможи на погледот на сите содржини на линк на некој сајт-по-сајт основа?

Како бонус: Неговиот пристап работи за WSS, не само Мос.

</крајот>

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

Мојата сопствена CodePlex проект: Работното екстензии за SharePoint Designer

Ажурирање: Видите тука (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) за најновите на овој проект.

Јас создаде проект CodePlex денес во куќата на Општа СПД интерфејс код кој јас блогираа за тука (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Имаат на ум на тука (http://www.codeplex.com/spdwfextensions) за да ја видите на проектот CodePlex и да го клоцне гуми.

Ако сте заинтересирани за работа на оваа со мене, оган надвор e-mail на 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 Explorer и ископирајте ја има.

3. Менувате web.config да додадете собранието за безбедно контроли:

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

<authorizedType Assembly="SpdGenericInterface, Верзија = 1.0.0.0, Култура = неутрален, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" на C:\Program Files Common Files Мајкрософт Муабет веб сервер екстензии 12 ОБРАЗЕЦ 1033 Работното

Забележете дека погоре локација е специфична за англиски јазик инсталации.

5. Затвори SharePoint Designer (ако тоа е веќе отворен).

6. iisreset

7. Отвори СПД и да се создаде нов работното.

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

сликата

Белешки:

Види тука (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.

СПД Работното сопствена акција – добие <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.

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

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

Белешки:

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

  • конфигурирање домет во Мос
  • конфигурирате пребарување обемот мов
  • домет во 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