MRO Workflow прыклад выкарыстання MOSS, СПД, InfoPath & вэб-сэрвісы.

Агляд

У гэтым пункце апісваецца прыклад апісання фактычнага MRO (Абслугоўванне, Рамонт і эксплуатацыя) працоўны працэс зацвярджэння рэалізаваны ў MOSS.

Гэта не адкрыта тэхнічнае абмеркаванне, але замест гэтага служыць для забеспячэння рэальны прыклад, які дэманструе, як платформа MOSS сустрэўся рэальнай неабходнасцю.

(Гэтая запіс з'яўляецца крос размешчаны паміж http://paulgalvin.spaces.live.com і http://blogs.conchango.com)

Фон

MRO працэсу кліента быў характарызуецца наступнымі

  • Кіраўніцтва працэсам зацвярджэння.
  • Некаторую падтрымку выкарыстаннем табліц Excel.
  • Irregular approval process. The same MRO purchase approval process would vary day to day, аднаго чалавека да іншага.
  • Шмат паперы і уласнаручнымі подпісамі — заяўкі неабходна да 3 напісана подпісаў перад канчатковым сцвярджэннем.

Мэтамі дадзенага праекта ўключаны:

  • Цалкам аўтаматызаваць працэс.
  • Забяспечыць захаванне стандартаў прадпрыемства для зацвярджэння.
  • Забяспечыць кансалідаванае ўяўленне MRO куплі кіраўнікам розных.
  • Detailed audit trail.

As a side effect of the solution, напісана подпісы больш не патрабуецца.

Працэс зацвярджэння

The approval process consists of four "swim lanes": Аўтар, Непасрэднага кіраўніка, Функцыянальны менеджэр і кіраўнік аддзела.

Аўтар:

Sees the need for the purchase and starts the process. Note that the originator may or may not actually enter the purchase requisition, but instead direct another staff member to do so. Некалькі разоў, the originator does not have the technical expertise to fill out the PO requisition. Напрыклад, карыстальнік можа захацець рэквізіцыі новы кампутар, ноўтбук, але не ведае лепшага прадаўца, ІТ-стандарты, і г.д.. У гэтым выпадку, the originator works with IT and IT actually fills out the requisition.

Непасрэднага кіраўніка:

Гэта непасрэдны кіраўнік складальніка (якія могуць адрознівацца ад чалавека, які на самай справе увайшоў у PO заяўкі ў MOSS). Direct managers must approve the PO requisition before the system seeks approval further down the line.

Функцыянальны менеджэр:

The functional manager is the individual responsible for ensuring that the proposed purchase conforms to enterprise standards within the scope of a particular corporate function. Напрыклад, IT purchases are approved by an IT functional manager.

Загадчык аддзялення:

Division managers approve purchase requisitions strictly by dollar amount. Division manager approve purchase requisitions in excess of a configurable dollar amount.

Рашэнне

We used the following tools and components to implement the solution:

MOSS: Serves as the platform off which everything else "hangs". MOSS provides bedrock services for security, Асноўныя дадзеныя, аўдыту і іншыя асаблівасці.

InfoPath Forms Services: Кампанент MOSS, Гэта дае карыстальнікам магчымасць запоўніць заяўку праз вэб-браўзэр.

SharePoint Designer (СПД): Мы выкарыстоўвалі SPD для рэалізацыі аўтаматызаванага рабочага працэсу.

Вэб-служба: A c# web service enhances the user experience by enabling cascading selections lists in the InfoPath form and provides better performance with respect to filtering data. Паглядзець тут для тэхнічных глыбокае апусканне на гэтую тэму і нашы прычыны для яго выкарыстання.

Наладжвальныя спісы: MOSS user profiles provided a given user’s direct manager, but did not provide most of the data that controlled workflow decisions (e.g. Ці участковы патрабуецца менеджэр ўхваліць рэквізіцыі PO). We used custom lists in an "Enterprise Data" site to maintain data such as "Divisional Manager Approval Dollar Amount", "Functional Area Manager" and so forth. Lists integrated very nicely with InfoPath and also provide create/update/delete (CRUD) функцыянальнасць з аўдыту і бяспекі з скрынкі.

Use Case

Гэты сцэнар паказвае, як рашэнне сыходзіцца:

  1. Paul wants a new laptop. He describes his needs to Vivek, ІТ-чалавек, знаёмы з карпаратыўнымі стандартамі ноўтбука, Пераважны пастаўшчыкоў, і г.д..
  2. Вивек ўваходзіць у сістэму MOSS, accesses the PO Requisition form and enters the requisition on behalf of Paul. The form prompts Vivek for a purchase category which then uses the web services to populate a drop-down list of company-approved vendors. Vivek also specifies the corporate functional area of this purchase (e.g. "IT" or "Finance").
  3. СПД пачынаецца працоўны працэс на базе, прамых вызначае Паўла менеджэр і маршруты рэквізіцыі са сваім мэнэджарам, Стэйсі.
  4. Стэйсі сцвярджае заяўкі.
  5. SPD workflow inspects the requisition and determines it’s an IT purchase. It routes the workflow to the IT functional manager, Wonson.
  6. Wonson сцвярджае рэквізіцыі.
  7. СПД працоўны працэс зноў правярае заяўкі і вызначае, што сума пакупкі перавышае Павялічвае максімальную колькасць даляра і накіроўвае яго ў аддзел кіраўніку для зацвярджэння.
  8. Кіраўнік аддзела сцвярджае заяўкі.

Заўвагі

  • The use case demonstrates a "clean" run with no rejections or jumps.
  • Every approver has the ability to approve or reject the requisition as well as provide written comments. These are logged in the audit trail.
  • Калі адказны кіраўнік адхіляе заяўку ў любы момант, the PO requisition is "dead" and the process must be started from the beginning.
  • Workflow паведамляе адпраўніка на кожным кроку працэсу.
  • Ніякіх пісьмовых подпісаў — Кліент вызначаецца (пасля некаторых сілавых рэкамендацыі) Часопіс аўдыту, як гэта прадугледжана па гісторыі працоўнага працэсу, служылі сваёй аўдытарскай мае патрэбу.
  • Высілак — it took approximately three man weeks to implement this solution.

Заключэнне

This solution leverages MOSS as a development and run-time platform. The client was able to leverage core MOSS features to automate a routine business process that affected nearly every employee in the company. With the exception of a simple web service (які сам выкарыстоўвае MOSS), almost no actual "programming" патрабавалася.

The solution also serves as a "showcase" для кліента, demonstrating how different MOSS features can be combined to create a fully featured business application and generate new consulting opportunities in the future.

Гласарый

MRO: Абслугоўванне, repair and operations. These purchases typically include items such as notepads, крэслы, персанальных кампутараў, прынтэры, сотавыя тэлефоны і да т.п..

Экзамен 70-542: Даследаванне рэкамендацыі (Microsoft Office SharePoint Server 2007 – Распрацоўка дадатку)

АБНАЎЛЕННЕ: У каментарах, Хтосьці адправіў спасылку: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. It looks good to me too.

Я здаў экзамен MOSS тэхнічных сёння, entitled "Microsoft Office SharePoint Server 2007 – Application Development". I found the exam to be pretty rigorous and that it matched up quite well with Microsoft’s кіраўніцтва па падрыхтоўцы.

Я працую з MOSS на штодзённай аснове, і нішто не параўнаецца з фактычнымі практычны вопыт для ўсіх гэтых экзаменаў.

Тым не менш, I took note of what I was studying as I studied. I believe that all of these resources are helpful, асабліва ў якасці сродку ўмацавання, што практычны вопыт.

Тэма Спасылка
Службы Excel http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Пошук No special recommendation. I had taken a class on search earlier this year and real-world experience carried me through. Work with the "search center" кампанент MOSS.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Аўдыторыі http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Профілі http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Змесціва Mgmt http://www.sharepointblogs.com/tonstegeman/archive/2007/02/01/moss-custom-policies-part-1-creating-a-custom-information-management-policy.aspx

http://blogs.msdn.com/ecm/archive/2007/03/04/customize-the-page-editing-toolbar-in-moss-2007.aspx

http://msdn2.microsoft.com/en-us/library/aa674506.aspx

BI Практычная работа з KPI ў MOSS.
Workflow http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Інфармацыя кіраўніцтвам http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Варыяцыі http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Запісы кіраўніцтвам http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
Infopath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Многія з гэтых сувязяў прывяло да больш спасылкі, і я як правіла, ідуць за імі прыкладна да 3 узроўняў у глыбіню.

Я б не сказаў, што ўсё, што я чытаў непасрэдна ужытыя да іспыту, Але я не шкадую, чытанне любых яго і нават калі некаторыя біты не былі непасрэдна звязаны. Гэта ўсё добрыя рэчы, каб ведаць, і я настойліва рэкамендую матэрыял для ўсіх якія імкнуцца ўсебакова Распрацоўнікі MOSS.

MOSS / WSS Вынікі пошуку (і DataViews): прагледзець зыходны XML-дадзеных

Гэта можа быць відавочным для многіх, але падчас вучобы на мой іспыт праграмавання MOSS, Я даведаўся, што гэта даволі лёгка атрымаць фактычныя XML з пошукавага запыту з дапамогай карыстацкага інтэрфейсу.

Адзін хуткі метад заключаецца ў наступным:

  • Доступ пашыраны пошук.
  • Выканайце пошук, які вяртае некаторыя дадзеныя.
  • Рэдагаваць старонку (праз налады сайта).
  • Змена XSL наступным:

<?XML версія="1.0" кадаваньне="UTF-8"?>
<
XSL:стыляў версія="1.0" XMLNS:XSL="HTTP://www.w3.org/1999/XSL/Transform">
<
XSL:выхадны метад="XML" версія="1.0" кадаваньне="UTF-8" водступ="ды"/>
<
XSL:шаблон супадаць="/">
<
папярэдне>
<
XSL:капіявання з выбіраць="*"/>
</
папярэдне>
</
XSL:шаблон>
</
XSL:стыляў>

  • Націсніце прымяніць.
  • Прагляд HTML-кода ў браўзэры.

Варта адзначыць, што <папярэдне> tag doesn’t do much except serve as a convenient marker when you view the results.

This trick can be very helpful when working with managed properties and customizing search. It will provide a definitive list of the XML available for you to use in your xslt which would have been very helpful the last 25 раз я стварыў некаторыя індывідуальныя вынікі пошуку.

Гэта павінна працаваць для DataViews а, хоць я не правяраў гэта, паколькі яшчэ.

Няма CQWP для WSS? Паспрабуйце гэта…

I see that Eric Kraus was faced with a requirement normally met with a content query web part. Праблема? He was in a pure WSS environment with no access to the CQWP. Rather than curling up in the fetal position (Імкненне я павінен змагацца кожны дзень, здаецца), he came up with solution that at least gives WSS shops a fighting chance to succeed. It’s described тут.

Бліскучыя і дэталёвае ўяўленне пра змест кіравання API

Stefan Goßner has put together a terrific 4-part series on the SharePoint Content and Deployment API тут. It offers a great overview and very good examples in code (C #).

I first picked up this link from joris poelmans blog at http://jopx.blogspot.com/.

Нават калі вы падобныя на мяне, in that you have not had to do much hands-on work for content management, this is well worth 20 minutes of your time to read.

Using the API, one can:

  • Export and import content very easily.
  • Re-parent content. If you want to export some content from a site "A" and send it to site "B" but in a totally new place in the hierarchy, this is possible.
  • Export content from a site A and import selected bits into site A.
  • Re-link content (meaning deal with all the hyperlinks).

WSS, дакумент бібліятэкі & Спісы, Вылічаюцца слупкі з удзелам [Мне]

Someone on the Internets was asking about how to create a calculated column on a list that would show a value formatted as "[Карыстальнік] – [Статус] – [Размяшчэнне]" as in "Paul Galvin – Пітной [бясплатна] Піва – The Beach".

Paul would go in and update his entry in the list and the calculated column would update appropriately. The [Карыстальнік] павінны па змаўчанні карыстальнік уваходзіць / абнаўлення спісу.

A calculated column cannot use "volatile" функцый, такіх як [Мне] або [Сёння]. I solved it in a test environment with these steps:

  1. Create a text column named "Current User".
  2. Усталюйце яго значэнне па змаўчанні [Мне]
  3. Create a calculated column called "Calc Test".
  4. Усталюйце значэнне = [Бягучы карыстальнік]

Я пайшоў у, дадаць элемент у спіс, і ён працаваў.

Прайшоў мой 70-315 Экзамен сёння!

I passed the "Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET" Экзамен сёння ў вялікай дзяржаве Нью-Джэрсі ў шаноўным офісаў SOLARTECH ў Hasbrouck Heights.

I put this exam up there with BizTalk in terms of difficulty. You can’t fake your way through it.

Для вывучэння, Я выкарыстаў MCAD / MCSD для самастойнага вывучэння кнігі камплекты трэнінг на тэму Распрацоўка вэб-прыкладанняў з дапамогай Microsoft Visual Basic. NET і Visual C #. NET.

Microsoft кіруючыя прынцыпы (тут) are exactly correct IMO. The book addresses everything and if you have a modicum or real-world experience, it should be a straight-forward exam. If not, take the time get some real world experience or at least execute the labs in the book. That will probably give you what you need.

Я нават пайсці так далёка, каб рэкамендаваць кнігі для профі, especially self-taught people like myself. It covers some basic stuff which I just never had a reason to stumble upon in my travels and I’m kicking myself a little bit for never having taken the time to learn them.

SharePoint Designer, “Збор дадзеных ад карыстальнікаў” і выкарыстання гэтых вынікаў.

Use the "Collect Data from User" action to create and assign a task to a user that prompts them for data. Among other things, Я выкарыстаў яго, каб заахвоціць карыстальніка зацвердзіць або адхіліць запыт і ўвесці некаторыя каментары.

Гэта дзеянне прымае форму:

Збіраць дадзеныя ад гэтага карыстальніка (Выхад на Пераменная: collect1)

Націск на дадзеныя Пад'язджае шэраг дыялогавых вокнаў, дзе вы паказаць, якія дадзеныя карыстальнік павінен забяспечыць, калі завяршэння задачы і гэтага карыстальніка Відавочна.

Выхадныя частка (Пераменная: collect1) saves the ID of the task. You use this in your workflow to extract the user’s actual response via the "Compare any data source" condition.

Гэта ўмова, як паказвае

Калі поле роўна значэнне

Націсніце на поле і е(X) icon and it pulls up another dialog box. Use this generalized dialog box to to tell SPD two things;

1. What is the list and column whose value you want to compare.

2. Як рабочым працэсам рухавіка знайсці пэўную радок у гэтым спісе?

Для гэтага:

  1. Change the "Source" dropdown to point at the correct task list. Note that the dialog box expands to show a "Find the List Item" раздзел.
  2. У полі пошуку Падрабязнасці выпадальнага, выберыце імя поля, значэнне якога патрабуецца (Ён адлюстроўваецца на тое, што вы называлі ў дыялогавым акне Збор дадзеных зверху).
  3. In the "Find the List Item" раздзел, select "Tasks:ID" ў галіне выпадаючых.
  4. У полі Значэнне, націсніце на F(X). This opens yet another dialog box.
  5. Change the source "Workflow Data"
  6. Select the workflow variable that matches to the "Output to Variable" Збор ад Action Data.
  7. Націсніце кнопку OK / OK і ўсё гатова.

Падобна на тое, што гэта для мяне:

малюнак

У гэты момант, Цяпер вы можаце выкарыстоўваць гэта значэнне ў працоўны працэс у адпаведнасці з патрабаваннямі.

Дадатковыя заўвагі:

У якасці кароткага бок, I always create an appropriately named workflow variable of type "List Item ID" and use that instead of the auto-generated "collect1".

This "compare any data source" дыялогавае набор выкарыстоўваецца ў некалькіх розных месцах у SPD і добра варта засваенне.

== Канца

Technorati Тэгі:

Перыядычныя збоі IE пры доступе да дакументаў у WSS / MOSS бібліятэку дакументаў

Я пакутавала ад гэтага для 9 месяцаў, і я бачу, што людзі на MSDN і Usenet форумах ёсць гэта too.l

Часам, Пры звароце да слова дакумент (або іншыя віды дакумент) з бібліятэкі дакументаў выклікае Internet Explorer проста крах і сысці (прыняцце ўсіх укладак з ім, калі такія адкрыты).

Гэта выпраўленне MS можа вырашыць: http://support.microsoft.com/kb/938888

Таксама, ёсць некаторы апісанне праблемы тут:

http://jopx.blogspot.com/2007/07/solving-internet-explorer-crash-when.html

Ці будзе рэальны крок наперад XPath?

Агляд:

Створаны карыстацкі спіс, які кіруе тып змесціва з некалькіх дзесяткаў слупкоў.

Паведамленні яго старонку, а затым праз СПД, пераўтворыцца ў паданне дадзеных.

Праблема:

My Xpath expression was returning blank for a column named "Current Position". I referenced it thusly:

    <table border="1">
      <XSL:for-each select="/dsQueryResponse/Rows/Row" >
        <тр>
          <TD>
            Current Status:
            <XSL:value-of select="@Current_x0020_Status"></XSL:коштам ад>
          </TD>
        </тр>
      </XSL>
    </стол>

The column in the CT is named "Current Status". It shows up in the lookup as "Current Status". Everywhere you look, you see "Current Status".

While thrashing madly about, looking for a solution, I instead referred to "@Recruiter" and behold! — that actually returned back the current status. I expected it to return back the recruiter when I did that.

Рашэнне:

I poked about in SPD. Go to that page in SPD and it shows the data view. You can inspect the actual data provided to the view and associated Xpath. Here I found out that indeed, the Xpath pointed at "Recruiter". Strangely enough, the "actual" recruiter field pointed from "Recruiter1".

Take Away:

SPD provides authoritative Xpath expressions for rows & columns in a data view.

Другі, it shows the actual data. So for example, a column of type shows this:

<NOBR><пралёт><A HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID=17">Galvin, Пол</A><IMG = мяжу"0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href=’javascript:’ onclick=’IMNImageOnClick();return false;’ class=’ms-imnlink’><img name=’imnmark’ title=” мяжа =’0′ height=’12’ width=’12’ src=’/_layouts/images/blank.gif’ alt=’No presence information’ sip=’PGalvin@xxx.com’ id=’imn_77,type=smtp’/></a></пралёт></NOBR>