maandelikse Argiewe: September 2007

MRO Workflow gevallestudie gebruik van MOSS, SPD, Path & Web Services.

Oorsig

Hierdie inskrywing beskryf 'n gevallestudie van 'n werklike MRO (Onderhoud, Herstel en Bedryf) die workflow goedkeuring proses geïmplementeer in Moss.

Dit is nie 'n openlik tegniese bespreking, maar dien in plaas daarvan om 'n werklike wêreld voorbeeld wat toon hoe die Moss-platform met 'n werklike wêreld behoefte om voorsiening te maak.

(Hierdie inskrywing gepos is 'n kruising tussen http://paulgalvin.spaces.live.com en http://blogs.conchango.com)

Agtergrond

Die kliënt se MRO-proses is gekenmerk deur die volgende

  • Handleiding goedkeuring proses.
  • Sommige ondersteuning met behulp van Excel-sigblaaie.
  • Irregular approval process. The same MRO purchase approval process would vary day to day, persoon aan 'n persoon.
  • Baie van die papier en handgeskrewe handtekeninge — inkoop tot op 3 geskrewe handtekeninge voordat finale goedkeuring.

Die doelwitte van hierdie projek:

  • Outomatiseer die proses volledig.
  • Dwing onderneming standaarde vir goedkeuring.
  • Verskaf gekonsolideerde siening van MRO die aankoop van verskeie bestuurders.
  • Detailed audit trail.

As a side effect of the solution, geskryf handtekeninge is nie meer nodig.

Goedkeuring-proses

Die goedkeuring-proses bestaan ​​uit vier "swem lane": Originator, Direkte bestuurder, Funksionele bestuurder en afdeling bestuurder.

Originator:

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. Sommige tye, the originator does not have the technical expertise to fill out the PO requisition. Byvoorbeeld, kan 'n gebruiker wil rekwisisie 'n nuwe skootrekenaar, maar nie weet wat die beste verkoper, IT standaarde, ens.. In hierdie geval, the originator works with IT and IT actually fills out the requisition.

Direkte bestuurder:

Dit is die direkte bestuurder van die skepper (wat anders kan wees van die persoon wat eintlik die PO rekwisisie het in MOSS). Direct managers must approve the PO requisition before the system seeks approval further down the line.

Funksionele bestuurder:

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. Byvoorbeeld, IT purchases are approved by an IT functional manager.

Divisie Bestuurder:

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

Die Oplossing

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, meester data, oudit paaie en ander funksies.

Path vorm dienste: 'N mos-komponent, Dit stel gebruikers in te vul inkoop via 'n webblaaier.

SharePoint Designer (SPD): Ons gebruik SPD die workflow proses te implementeer.

Web Service: 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. Sien hier vir 'n tegniese diep duik oor hierdie onderwerp en ons redes vir die gebruik van.

Custom Lyste: MOSS user profiles provided a given user’s direct manager, but did not provide most of the data that controlled workflow decisions (bijv. of die Divisie Bestuurder wat nodig is om die PO rekwisisie goed te keur). We used custom lists in an "Enterprise Data" tuiste van data soos "Divisie Bestuurder goedkeuring Dollar Bedrag" in stand te hou., "Funksionele gebied Bestuurder" and so forth. Lists integrated very nicely with InfoPath and also provide create/update/delete (CRUD) funksionaliteit met ouditering en sekuriteit uit die boks.

Gebruik Saak

Hierdie gebruik geval illustreer hoe die oplossing saam pas:

  1. Paul wants a new laptop. He describes his needs to Vivek, 'n IT-persoon wat vertroud is met korporatiewe laptop standaarde, voorkeur-verskaffers, ens..
  2. Vivek log in 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 (bijv. "IT" or "Finance").
  3. SPD gebaseerde workflow begin, bepaal Paul se direkte bestuurder en roetes die rekwisisie aan sy bestuurder, Stacy.
  4. Stacy keur die aankoop rekwisisie.
  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 keur die rekwisisie.
  7. SPD workflow inspekteer weer die rekwisisie en bepaal dat die aankoop bedrag 'n maksimum weer dollar bedrag en roetes dit vir goedkeuring aan die Divisie Bestuurder.
  8. Die Divisie Bestuurder keur die aankoop rekwisisie.

Notas

  • Die gebruik geval toon 'n "skoon" 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.
  • As 'n verantwoordelike bestuurder verwerp die aankoop rekwisisie by enige punt, die PO rekwisisie is "dood" and the process must be started from the beginning.
  • Die Workflow kennis van die skepper by elke stap van die proses.
  • Geen geskrewe handtekeninge — die kliënt bepaal (Na 'n paar kragtige aanbevelings) dat die ouditspoor via workflow geskiedenis verskaf, hul ouditering gedien moet.
  • Poging — it took approximately three man weeks to implement this solution.

Slot

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 (wat self maak gebruik van MOSS), bykans geen werklike "programmering" nodig was om.

Die oplossing dien ook as 'n "showcase" vir die kliënt, demonstrating how different MOSS features can be combined to create a fully featured business application and generate new consulting opportunities in the future.

Woordelys

MRO: Onderhoud, repair and operations. These purchases typically include items such as notepads, stoele, persoonlike rekenaars, drukkers, selfone en dies meer.

Eksamen 70-542: Studie aanbevelings (Microsoft Office SharePoint Server 2007 – Application Development)

UPDATE: In kommentaar, iemand gepos hierdie skakel: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. It looks good to me too.

Ek het vandag die MOSS tegniese eksamen, 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 voorbereiding gids.

Ek is besig met mos op 'n daaglikse basis en niks is beter as werklike praktiese ervaring vir almal van hierdie eksamen.

Wat gesê het:, I took note of what I was studying as I studied. I believe that all of these resources are helpful, veral as 'n middel van die bevordering van dat praktiese ervaring.

Onderhewig Link
Excel Dienste http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Soek 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" komponent van MOSS.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Gehore http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Profiele http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Inhoud 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 Hands-on met KPI's in Moss.
Workflow http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Inligting Mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variasies http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Rekords Mgmt http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
Path http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Baie van die skakels gelei het tot meer links en ek geneig om hulle te volg tot ongeveer 3 vlakke diep.

Ek sou nie sê dat alles wat ek lees en direk by die eksamen, maar ek betreur nie lees nie en selfs as 'n paar stukkies was nie direk betrokke. Dit is al die goeie dinge te weet en ek beveel sterk aan die materiaal vir alle aspirant-afgeronde MOSS ontwikkelaars.

Die MOSS / WSS Soek resultate (en dataviews): sien die rou XML-data

Dit kan duidelik baie, maar terwyl jy studeer vir my MOSS ontwikkeling eksamen, Ek het geleer dat dit is redelik maklik om die werklike XML te kry van 'n soektog via die gebruikerskoppelvlak.

Een vinnige metode is as volg:

  • Toegang gevorderde soek.
  • 'N soektog wat gee 'n paar data.
  • Wysig die bladsy (via werf-instellings).
  • Verander die XSL na die volgende:

<?xml weergawe="1.0" encoding="UTF-8"?>
<
xsl:style weergawe="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<
xsl:uitset metode="xml" weergawe="1.0" encoding="UTF-8" streepje="ja"/>
<
xsl:sjabloon ooreenstem met="/">
<
pre>
<
xsl:kopie-of kies="*"/>
</
pre>
</
xsl:sjabloon>
</
xsl:style>

  • Getref toe te pas.
  • Sien Bron in die leser.

Let daarop dat die <pre> 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 kere wat ek geskep is om persoonlike resultate.

Dit behoort te werk vir dataviews sowel, maar ek het nie getoets is wat uit nog.

Geen CQWP vir WSS? Probeer om hierdie…

Ek sien dat Eric Kraus was faced with a requirement normally met with a content query web part. Die probleem? He was in a pure WSS environment with no access to the CQWP. Rather than curling up in the fetal position ('n drang Ek moet elke dag te veg, dit lyk), he came up with solution that at least gives WSS shops a fighting chance to succeed. It’s described hier.

Briljante en gedetailleerde siening van content management API

Stefan Goßner has put together a terrific 4-part series on the SharePoint Content and Deployment API hier. 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/.

Selfs as jy soos ek, 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, doc libs & lyste, Berekende kolomme met betrekking tot [Me]

Someone on the Internets was asking about how to create a calculated column on a list that would show a value formatted as "[Gebruiker] – [Status] – [Plek]" soos in "Paul Galvin – Drink [vry] Beer – Die strand ".

Paul would go in and update his entry in the list and the calculated column would update appropriately. Die [Gebruiker] moet standaard aan die gebruiker aangaan / opdatering van die lys.

'N berekende kolom kan gebruik nie "vlugtige" funksies soos [Me] of [Vandag]. I solved it in a test environment with these steps:

  1. Skep 'n teks kolom genaamd "Huidige Gebruiker".
  2. Stel die verstek waarde na [Me]
  3. Skep 'n berekende kolom genaamd "Calc Test".
  4. Stel die waarde = [Huidige Gebruiker]

Ek het in, 'n item op die lys en dit het gewerk.

My verby 70-315 eksamen vandag!

I passed the "Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET" eksamen vandag in die groot stand van NJ aan die agbare kantore van Solar Tech in Hasbrouck Heights.

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

Om te studeer, I used the the MCAD/MCSD Self Paced Training kit book entitled Developing Web Applications with Microsoft Visual Basic .NET and Visual C# .NET.

Microsoft guidelines (hier) 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.

Ek het selfs so ver as om die boek aan te beveel pro gaan, 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, “Versamel data uit die verbruiker” en die gebruik van hierdie resultate.

Gebruik die data in te samel uit die verbruiker" action to create and assign a task to a user that prompts them for data. Among other things, Ek het dit gebruik om 'n gebruiker te vra of goed te keur of 'n versoek verwerp en 'n paar opmerkings gaan.

Hierdie aksie neem die vorm van:

Versamel data uit hierdie gebruiker (Uitset te Veranderlike: collect1)

Kliek op data trek 'n reeks van dialoogvensters waar jy spesifiseer watter data wat die gebruiker moet by die voltooiing van die taak en hierdie gebruiker is voor die hand liggend.

Die uitset deel (Veranderlike: 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.

Daardie toestand toon as

As veld gelyk aan waarde

Klik op veld en dan is die f(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. Hoe moet die workflow enjin spoor om die spesifieke ry in die lys?

Om dit te doen:

  1. Verander die "Bron" dropdown to point at the correct task list. Note that the dialog box expands to show a "Find the List Item" afdeling.
  2. In die soek Details veld dropdown, kies die naam van die veld waarvan die waarde wat jy wil (hierdie kaarte wat jy in die Versamel data dialoog van bo genoem).
  3. In the "Find the List Item" afdeling, kies "Take:ID" in die veld dropdown.
  4. In die waarde veld, Klik op die f(x). This opens yet another dialog box.
  5. Verander die bron "Workflow Data"
  6. Kies die workflow veranderlike wat ooreenstem met die "Uitset aan veranderlike" van die aksie data versamel.
  7. Klik op OK / OK en wat jy gedoen het.

Dit lyk soos dit vir my:

beeld

Op hierdie punt, jy kan nou gebruik dat die waarde in jou workflow soos vereis.

Addisionele notas:

As 'n kort opsy, I always create an appropriately named workflow variable of type "List Item ID" and use that instead of the auto-generated "collect1".

Hierdie "vergelyk met 'n databron" dialoog stel word gebruik in verskillende plekke in die SPD en is die moeite werd bemeestering.

== Einde

Technorati Tags:

Intermitterende IE ongelukke wanneer toegang tot dokumente in 'n WSS / MOSS dokument biblioteek

Ek het al geteister deur dit vir 9 maande en ek sien dat mense op die MSDN en Usenet forums het dit too.l

Soms, wanneer hulle toegang tot 'n woord dokument (of ander doc tipes) uit 'n dokument biblioteek veroorsaak Internet Explorer om net te crash en gaan weg (neem al die oortjies met dit as 'n oop).

Dit MS hotfix kan dit op te los: http://support.microsoft.com/kb/938888

Ook, daar is 'n paar beskrywing van die probleem hier:

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

Sal die ware XPath stap vorentoe?

Oorsig:

Maak 'n persoonlike lys wat die bestuur van 'n inhoud soort met 'n paar dosyn kolomme.

Het bygevoeg dat dit na 'n bladsy en dan via SPD, omskep in 'n data view.

Probleem:

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>
            Huidige Status:
            <xsl:value-of select="@Current_x0020_Status"></xsl:waarde van>
          </td>
        </tr>
      </xsl>
    </tafel>

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

Terwyl dors soos 'n besetene oor, op soek na 'n oplossing, I instead referred to "@Recruiter" en kyk! — that actually returned back the current status. I expected it to return back the recruiter when I did that.

Oplossing:

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

Wegneem:

SPD bied gesaghebbende Xpath uitdrukkings vir rye & kolomme in 'n data-oog.

Tweede, it shows the actual data. So for example, 'n kolom van die tipe toon hierdie:

<nobr><span><A HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID=17">Galvin, Paul</'N><img border ="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href = "javascript:’ onclick = 'IMNImageOnClick();terugkeer valse;’ class = "MS-imnlink '><img name=’imnmark’ title =” border =’0′ hoogte = '12’ breedte = '12’ src = "/ _layouts / images / blank.gif’ alt = "Nee teenwoordigheid inligting’ sluk = 'PGalvin@xxx.com’ id = 'imn_77, type = smtp' /></1></span></nobr>