MRO Работното студија на случај користејќи Мос, СПД, InfoPath & веб сервиси.

Преглед

Оваа страница ја опишува една студија на случај опишува вистински MRO (Одржување, Поправка и операции) работното процес на одобрување спроведува во Мос.

Ова не е претеран и техничка дискусија, но наместо тоа служи за да обезбеди реалниот свет пример кој покажува како платформа Мос се сретна со еден реалниот свет потреба.

(Забелешка: Оваа страница е лута испратени меѓу 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 реквизиција во Мос). 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:

Мос: Serves as the platform off which everything else "hangs". MOSS provides bedrock services for security, господар на податоци, ревизија патеки и други карактеристики.

InfoPath формуларите услуги: А компонента Мос, ова им овозможува на корисниците да ги пополните купување требувањата преку веб пребарувач.

SharePoint Designer (СПД): Ние се користи СПД за спроведување на автоматски работното процес.

Web сервис: 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) функционалност со ревизија и безбедноста надвор од кутијата.

Користете дело

Оваа употреба случај покажува како решение се вклопува заедно:

  1. Paul wants a new laptop. He describes his needs to Vivek, ИТ лице запознаени со корпоративни лаптоп стандарди, склопот на продавачите, итн.
  2. Vivek најавува во Мос, 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. СПД работното повторно проверува реквизиција и утврди дека купување износ надминува maxium долар износ и правци до поделба менаџер за одобрување.
  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.
  • Работното известува подносителот на секој чекор од процесот.
  • Нема напишани потписи — на клиентот утврдени (по некое присилно препораки) дека ревизорска трага како што е предвидено преку работното историја, служеа на нивните ревизија треба.
  • Напор — 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 (кој сам по себе Нотингем Мос), 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.

Врвев Мос технички испит денес, 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 подготовка водич.

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

Тоа, рече, I took note of what I was studying as I studied. I believe that all of these resources are helpful, особено како средство за зајакнување дека практично искуство.

Предмет Линк
Ексел Услуги 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" компонента на Мос.
ЦРБ 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
Содржина Американски Држави 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

БИ Рацете на работа со KPI е во Мос.
Работното http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Информации mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Варијации http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Евиденција mgmt http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Многу од тие врски доведе до повеќе линкови и јас со тенденција да ги следат до околу 3 нивоа длабоко.

Јас не би рекол дека сè читам директно да се применат на испит, но јас не жалам читање од него и дури и ако некои делови не се директно релевантни. Тоа е на сите добри нешта да знам и јас силно препорачуваме материјал за сите аспиранти добро заоблени Мос програмери.

Мос / WSS Резултати од пребарувањето (и dataviews): видите суровини XML податоци

Ова може да биде очигледно за многу, но додека учат за мојата Мос програмирање испит, Научив дека тоа е прилично лесно да се добие вистински 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:интерфејс>

  • Хит применуваат.
  • Видете го кодот во прелистувачот.

Имајте на ум дека <пред> 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? Обиди се со оваа…

Гледам дека Ерик Краус 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 #).

Јас прв пат зедов овој линк од Joris poelmans блог на http://jopx.blogspot.com/.

Дури и ако сте како мене, Тоа и не сте имале да се направи многу практична работа за управување со содржини, ова е добро вреди 20 minutes of your time to read.

Користење на API, некој може да:

  • Извоз и увоз на содржината многу лесно.
  • Re-parent content. If you want to export some content from a site "A" and send it to site "B" но во една сосема ново место и хиерархијата, Ова е можно.
  • Извоз содржини од некој сајт А и увоз избрани битови во место А.
  • Ре-линк содржина (Што значи се занимаваат со сите хиперлинкови).

WSS, doc libs & листи, Пресметува колони кои вклучуваат [Мене]

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. На [Корисникот] треба да се стандардно на корисникот влез / ажурирање на листа.

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 висови.

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 #. НЕТ.

Мајкрософт упатства (тука) 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:Проект" во областа паѓачкото.
  4. Во вредност поле, кликнете на ѓ(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" од Соберете податоци акција.
  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" дијалог се користи на неколку различни места во СПД и е добро вреди мастеринг.

== Крајот

Technorati Тагови:

Наизменичното IE се урна кога пристапуваат документи во WSS / Мос документ библиотека

Сум се соочува со овој за 9 месеци и гледам дека луѓето на MSDN и Usenet форуми имаат тоа too.l

Понекогаш, кога пристапуваат ворд документ (или други doc типови) од документ библиотека предизвикува на 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" >
        <tr>
          <td>
            Моментален статус:
            <XSL:value-of select="@Current_x0020_Status"></XSL:вредност на>
          </td>
        </tr>
      </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".

Додека пердах нестрпливо во врска со, во потрага по решение, I instead referred to "@Recruiter" и овде! — 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".

Одземете:

СПД предвидува авторитетен Xpath изрази за редови & колумни во податоците поглед.

Вториот, it shows the actual data. So for example, колона од типот покажува овој:

<nobr><век><A HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID=17">Галвин, Paul</А><img border ="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href = "javascript:’ OnClick = "IMNImageOnClick();враќање false;’ класа = "MS-imnlink"><img име = 'imnmark’ title =” border =’0′ height = '12’ width = '12’ src = "/ _layouts / слики / blank.gif’ alt = "Не информациите за присуство’ голтка = 'PGalvin@xxx.com’ id = "imn_77, тип = SMTP '/></на></век></nobr>