כוידעשלעך אַרטשיוועס: סעפּטעמבער 2007

MRO וואָרקפלאָוו פאַל לערנען ניצן מאָך, ספּד, ינפאָפּאַטה & וועב באַדינונגען.

איבערבליק

דעם פּאָזיציע באשרייבט אַ פאַל לערנען דיסקרייבינג אַ פאַקטיש MRO (וישאַלט, ריפּער און אָפּעראַטיאָנס) וואָרקפלאָוו האַסקאָמע פּראָצעס ימפּלאַמענאַד אין מאָך.

דאס איז נישט אַ אָוווערטלי טעכניש דיסקוסיע, אָבער אַנשטאָט באדינט צו צושטעלן אַ פאַקטיש-וועלט בייַשפּיל אַז דעמאַנסטרייץ ווי דער מאָך פּלאַטפאָרמע באגעגנט אַ פאַקטיש-וועלט דאַרפֿן.

(דעם פּאָזיציע איז קרייַז אַרייַנגעשיקט צווישן http://paulgalvin.spaces.live.com און http://blogs.conchango.com)

הינטערגרונט

דער קליענט 'ס MRO פּראָצעס האט שוין קעראַקטערייזד דורך די פאלגענדע

  • מאַנואַל האַסקאָמע פּראָצעס.
  • עטלעכע שטיצן ניצן עקססעל ספּרעדשיץ.
  • 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.

דירעקט פאַרוואַלטער:

דאס איז די גלייַך פאַרוואַלטער פון די ערידזשאַנייטער (וואָס קען זייַן אַנדערש פון דעם מענטש וואס פאקטיש אריין די פּאָ רעקוויזיציע אין מאָך). 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, בעל דאַטן, קאָנטראָלירן טריילז און אנדערע פֿעיִקייטן.

ינפאָפּאַטה פארמען באַדינונגען: א מאָך קאָמפּאָנענט, דעם ינייבאַלז ניצערס צו פּלאָמבירן אויס קויפן רעקוויסיטיאָנס דורך אַ וועב בלעטערער.

שאַרעפּאָינט דיזיינער (ספּד): מיר געוויינט ספּד צו ינסטרומענט די אָטאַמייטיד וואָרקפלאָוו פּראָצעס.

וועב סערוויס: 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. צי די דיוויזשאַנאַל פאַרוואַלטער איז פארלאנגט צו אַפּרווו דעם פּאָ רעקוויזיציע). 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 (קרוד) פאַנגקשאַנאַליטי מיט אַדאַטינג און זיכערהייַט אויס פון די קעסטל.

ניצן קאַסע

דאס נוצן פאַל ילאַסטרייץ ווי די לייזונג פיץ צוזאַמען:

  1. Paul wants a new laptop. He describes his needs to Vivek, אַ עס מענטש באַקאַנט מיט פֿירמע לאַפּטאַפּ סטאַנדאַרדס, בילכער ווענדאָרס, אאז"ו ו.
  2. וויוועק לאָגס אין מאָך, 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. וואָנסאָן אַפּרוווז די רעקוויזיציע.
  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.
  • וואָרקפלאָוו נאָוטאַפייז די ערידזשאַנייטער בייַ יעדער שריט פון דער פּראָצעס.
  • ניט געשריבן סיגנאַטשערז — דער קליענט באשלאסן (נאָך עטלעכע פאָרספאַל רעקאַמאַנדיישאַנז) אַז די קאָנטראָלירן שטעג ווי צוגעשטעלט דורך וואָרקפלאָוו געשיכטע, געדינט זייער אַדאַטינג דאַרף.
  • מי — 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: לערנען רעקאַמאַנדיישאַנז (מיקראָסאָפט אָפפיסע שאַרעפּאָינט סערווירער 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

ביי הענט-אויף ארבעטן מיט קפּי ס אין מאָך.
וואָרקפלאָוו 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
ינפאָפּאַטה http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

פילע פון ​​די לינקס געפירט צו מער לינקס און איך טענדיד צו נאָכפאָלגן זיי אַרויף צו וועגן 3 לעוועלס טיף.

איך וואָלט נישט זאָגן אַז אַלץ איך לייענען גלייַך געווענדט צו דער עקסאַם, אָבער איך טאָן ניט באַדויערן לייענען קיין פון אים און אַפֿילו אויב עטלעכע ביטן זענען נישט גלייַך באַטייַטיק. עס ס אַלע גוט שטאָפּן צו וויסן און איך שטארק רעקאָמענדירן דעם מאַטעריאַל פֿאַר אַלע אַספּיירינג געזונט-ראַונדיד מאָך דעוועלאָפּערס.

מאָך / ווסס זוכן רעזולטאַטן (און דאַטאַוויעווס): קוק די רוי קסמל דאַטן

דאס קען זייַן קלאָר ווי דער טאָג צו פילע, אָבער בשעת געלערנט פֿאַר מיין מאָך פּראָגראַממינג עקסאַם, איך געלערנט אַז עס ס שיין גרינג צו באַקומען די פאַקטיש קסמל פון אַ זוכן אָנפֿרעג דורך די באַניצער צובינד.

איינער שנעל אופֿן איז ווי גייט:

  • אַקסעס אַוואַנסירטע זוכן.
  • דורכפירן אַ זוכן וואָס קערט עטלעכע דאַטן.
  • רעדאַגירן דעם בלאַט (דורך פּלאַץ סעטטינגס).
  • טוישן די קססל צו די פאלגענדע:

<?קסמל ווערסיע="1.0" סיסטעם="UTF-8"?>
<
קססל:סטילעשעעט ווערסיע="1.0" קסמלנס:קססל="הטטפּ://www.w3.org/1999/XSL/Transform">
<
קססל:רעזולטאַט מעטאָד="קסמל" ווערסיע="1.0" סיסטעם="UTF-8" ינדענט="יאָ"/>
<
קססל:מוסטער גלייַכן="/">
<
פאַר>
<
קססל:קאָפּיע-פון קלייַבן="*"/>
</
פאַר>
</
קססל:מוסטער>
</
קססל:סטילעשעעט>

  • שלאָגן צולייגן.
  • View מקור אין די בלעטערער.

באַמערקונג אַז די <פאַר> 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 מאל איך באשאפן עטלעכע קאַסטאַמייזד זוכן רעזולטאַטן.

דאס דארף צו אַרבעטן פֿאַר דאַטאַוויעווס ווי געזונט, כאָטש איך האב נישט טעסטעד אַז אויס ווי נאָך.

ניט קקוופּ פֿאַר ווסס? פרובירט דאָס…

איך זען אַז עריק קראַוס 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 דאָ.

בריליאַנט און דיטיילד מיינונג פון צופרידן פאַרוואַלטונג אַפּי

סטעפאַן גאָססנער 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 #).

איך ערשטער פּיקט אַרויף דעם לינק פון דזשאָריס פּאָעלמאַנס בלאָג בייַ http://jopx.blogspot.com/.

אפילו אויב איר ניטאָ ווי מיר, אין אַז איר האָט ניט געהאט צו טאָן פיל הענט-אויף אַרבעט פֿאַר צופרידן פאַרוואַלטונג, דאָס איז געזונט ווערט 20 minutes of your time to read.

ניצן די אַפּי, איינער קענען:

  • עקספּאָרט און אַרייַנפיר צופרידן זייער לייכט.
  • Re-parent content. If you want to export some content from a site "A" and send it to site "B" אָבער אין אַ טאָוטאַלי נייַ פּלאַץ אין די כייעראַרקי, דאָס איז מעגלעך.
  • עקספּאָרט צופרידן פון אַ פּלאַץ א און אַרייַנפיר אויסגעקליבן ביטן אין פּלאַץ א.
  • בעניין-לינק צופרידן (טייַטש האַנדלען מיט אַלע די כייפּערלינגקס).

ווסס, שולדבאַנק ליבס & רשימות, קאַלקולאַטעד שפאלטן ינוואַלווינג [מיר]

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" עקסאַם הייַנט אין דער גרויס שטאַט פון נדזש בייַ די געאַכט אָפאַסיז פון סאָלאַרטעטש אין האַסבראָוקק העיגהץ.

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

צו לערנען, איך געניצט די די מקאַד / מקסד אַליינ פּייסט טראַינינג קיט בוך ענטייטאַלד דעוועלאָפּינג וועב אַפּפּליקאַטיאָנס מיט מייקראָסאָפֿט וויסואַל באַסיק. נעץ און וויסואַל 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.

שאַרעפּאָינט דיזיינער, “זאַמלען דאַטאַ פון User” און ניצן די רעזולטאַטן.

Use the "Collect Data from User" action to create and assign a task to a user that prompts them for data. Among other things, איך ווע געוויינט עס צו פּינטלעך אַ באַניצער צו אַפּרווו אָדער אָפּוואַרפן אַ בקשה און אַרייַן עטלעכע באַמערקונגען.

דעם קאַמף נעמט די פאָרעם פון:

קלייַבן דאַטע פון דעם באַניצער (רעזולטאַט צו בייַטעוודיק: קאָללעקט1)

געבן אַ קליק אויף דאַטע פּולז אַרויף אַ סעריע פון ​​דיאַלאָג באָקסעס ווו איר ספּעציפיצירן וואָס דאַטן דער באַניצער זאָל צושטעלן ווען קאַמפּליטינג די אַרבעט און דעם באַניצער איז קלאָר ווי דער טאָג.

דער רעזולטאַט טייל (בייַטעוודיק: קאָללעקט1) 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.

אַז צושטאַנד ווייזט ווי

צי פעלד יקוואַלז ווערט

דריקט אויף פעלד און דעמאָלט דער 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. ווי זאָל דער וואָרקפלאָוו מאָטאָר געפינען די ספּעציפיש רודערן אין אַז רשימה?

צו טאָן דאָס:

  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. אין די ווערט פעלד, גיט אויף די 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" פון די קלייַבן דאַטן קאַמף.
  7. גיט גוט / גוט און איר ניטאָ געטאן.

עס קוקט ווי דאָס פֿאַר מיר:

בילד

אין דעם פונט, איר קענען איצט נוצן וואָס ווערט אין דיין וואָרקפלאָוו ווי פארלאנגט.

נאָך נאָטעס:

ווי אַ קורץ באַזונדער, 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" דיאַלאָג שטעלן איז געניצט אין עטלעכע פאַרשידענע ערטער אין ספּד און איז געזונט ווערט מאַסטערינג.

== סוף

טעטשנאָראַטי טאַגס:

ינטערמיטטענט הייסט קראַשיז ווען אַקסעסינג דאָקומענטן אין אַ ווסס / מאָך דאָקומענט ביבליאָטעק

איך ווע שוין פּלייגד דורך דעם פֿאַר 9 חדשים און איך זען אַז מענטשן אויף די מסדן און Usenet גרופּעס האָבן עס טאָאָ.ל

ווענ עס יז, ווען אַקסעסינג אַ וואָרט דאָקומענט (אָדער אנדערע שולדבאַנק טייפּס) פון אַ דאָקומענט ביבליאָטעק ז Internet Explorer צו פשוט קראַך און גיין אַוועק (גענומען אַלע די טאַבס מיט אים אויב קיין זענען עפענען).

דאס מיז האָטפיקס מייַ סאָלווע עס: http://support.microsoft.com/kb/938888

אויך, דאָרט ס עטלעכע באַשרייַבונג וועגן די פּראָבלעם דאָ:

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

וועט דער עמעס קספּאַטה שריט פאָרויס?

איבערבליק:

באשאפן אַ מנהג רשימה אַז מאַנידזשיז אַ צופרידן טיפּ מיט עטלעכע טוץ שפאלטן.

צוגעגעבן אים צו אַ בלאַט און דעמאָלט דורך ספּד, קאָנווערטעד אין אַ דאַטן מיינונג.

פּראָבלעם:

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

    <table border="1">
      <קססל:for-each select="/dsQueryResponse/Rows/Row" >
        <טר>
          <טד>
            קראַנט סטאַטוס:
            <קססל:value-of select="@Current_x0020_Status"></קססל:ווערט-פון>
          </טד>
        </טר>
      </קססל>
    </טיש>

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

צונעמען:

ספּד גיט אַטאָראַטייטיוו קספּאַטה אויסדרוקן פֿאַר ראָוז & שפאלטן אין אַ דאַטן מיינונג.

צווייט, it shows the actual data. So for example, אַ זייַל פון טיפּ ווייזט דעם:

<נאָבר><שפּאַן><A HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID=17">גאַלווין, פאולוס</א><ימג גרענעץ ="0" height="1" width="3" src="/_layouts/images/blank.gif"/><אַ הרעף = 'דזשאַוואַסקריפּט:’ אָנקליקק = 'ימנימאַגעאָנקליקק();צוריקקומען פאַלש;’ קלאַס = 'מיז-ימנלינק'><ימג נאָמען = 'ימנמאַרק’ טיטל =” גרענעץ =’0′ הייך = '12’ ברייט = '12’ סרק = '/ _לייַאָוץ / בילדער / בלאַנק.גיף’ אַלט = 'קיין בייַזייַן אינפֿאָרמאַציע’ זופּן = 'PGalvin@xxx.com’ שייַן = 'ימנ_77, טיפּ = סמטפּ' /></אַ></שפּאַן></נאָבר>