ყოველთვიური არქივი: სექტემბერი 2007

MRO სამუშაოს საქმის შესწავლის გამოყენებით MOSS, SPD, InfoPath & ვებ მომსახურება.

მიმოხილვა

ამ ჩანაწერში აღწერს საქმის შესწავლის სადაც აღწერილია რეალური MRO (სარემონტო, რემონტი და ოპერაციების) workflow დამტკიცების პროცესში განხორციელდა 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, პირი პირის მიერ.
  • უამრავი ქაღალდი და ხელით დაწერილი ხელმოწერების — შეძენა requisitions საჭირო მდე 3 წერილობითი ხელმოწერების საბოლოო დამტკიცება.

მიზნები ამ პროექტის შედის:

  • სრულად ავტომატიზაცია პროცესი.
  • Enforce საწარმოს სტანდარტების დამტკიცების.
  • უზრუნველყოფა კონსოლიდირებული ხედი 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. მაგალითად, შესახებ შეიძლება სურს ჩამორთმევის ახალი ლეპტოპი, მაგრამ არ იცის, საუკეთესო გამყიდველი,, IT სტანდარტებს, და ა.შ.. ამ შემთხვევაში, 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.

Solution

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 ქმნის მომსახურების: MOSS კომპონენტი, ამ აძლევს საშუალებას შეავსოთ შეძენა requisitions მეშვეობით ბრაუზერში.

SharePoint Designer (SPD): ჩვენ SPD განახორციელოს ავტომატური workflow პროცესის.

ვებ სერვისი: 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. აგრეთვე აქ ტექნიკური ღრმა dive ამ საკითხზე და ჩვენი მიზეზები გამოყენება.

საბაჟო სიები: 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 (ნაგვის) ფუნქციონალური ერთად აუდიტი და უსაფრთხოების იმ ყუთი.

გამოყენება საქმე

ეს გამოყენების შემთხვევაში საილუსტრაციოდ გადაწყვეტა შეესაბამება ერთად:

  1. Paul wants a new laptop. He describes his needs to Vivek, IT პირი იცნობს კორპორატიული ნოუთბუქი სტანდარტებს, სასურველი მოვაჭრეებს, და ა.შ..
  2. Vivek ჟურნალი შევიდა 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. SPD დაფუძნებული სამუშაოს იწყებს, განსაზღვრავს პავლეს პირდაპირი მენეჯერი და მარშრუტების ჩამორთმევა მისი მენეჯერი, Stacy.
  4. Stacy ამტკიცებს შეძენა ჩამორთმევა.
  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. SPD workflow ერთხელ ამოწმებს ჩამორთმევა და დაადგენს, რომ შეძენის თანხა აღემატება 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.
  • სამუშაოს აცნობებს შემქმნელი ყოველ ნაბიჯზე პროცესის.
  • არ წერია ხელმოწერების — კლიენტს განსაზღვრული (გარკვეული ძალისმიერი რეკომენდაციები) რომ აუდიტის ბილიკი, როგორც ეს გათვალისწინებულია მეშვეობით 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 – განაცხადის განვითარების)

განახლების: In კომენტარი, ვინმე განთავსებული ეს კავშირი: 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.
სამუშაოს 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 დონეზე ღრმა.

მე ვერ ვიტყოდი, რომ ყველაფერი წავიკითხე პირდაპირ მიმართა გამოცდა, მაგრამ მე არ ვნანობ კითხულობს ნებისმიერ და კიდევ თუ ვინმეს ბიტი არ იყო უშუალო. ეს ყველაფერი კარგი პერსონალი ვიცი და გირჩევთ მასალა ყველა მიისწრაფვის კარგად მომრგვალებული MOSS დეველოპერები.

MOSS / WSS ძებნის შედეგი (და dataviews): სანახავად ნედლეული XML მონაცემები

ეს შეიძლება იყოს აშკარა, რომ ბევრი, თუმცა, მართალია შესწავლის ჩემი MOSS პროგრამირების გამოცდა, გავიგე, რომ ეს საკმაოდ მარტივია მისაღებად ფაქტობრივი XML from საძიებო მოთხოვნა მეშვეობით ინტერფეისი.

ერთი სწრაფი მეთოდი ასეთია:

  • ხელმისაწვდომობა გაფართოებული ძიება.
  • შესრულება ძებნის რომ დააბრუნებს გარკვეული მონაცემების.
  • შესწორება გვერდი (მეშვეობით საიტი პარამეტრების).
  • შეცვლა 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:template ემთხვევა="/">
<
წინასწარ>
<
XSL:ასლის-of შერჩევა="*"/>
</
წინასწარ>
</
XSL:template>
</
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 for WSS? ცდილობენ ამ…

მე ვხედავ, რომ ერიკ 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

შტეფან Gossner 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 #).

მე პირველად აიღო ამ ბმულზე იორის poelmans წაკითხვა ზე http://jopx.blogspot.com/.

მაშინაც კი, თუ თქვენ როგორც მე, in, რომ თქვენ არ უნდა გაეკეთებინათ ბევრად პრაქტიკული სამუშაოს შინაარსის მართვის, ეს კარგად ღირს 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" მაგრამ სრულიად ახალ ადგილს იერარქიაში, ეს შესაძლებელია.
  • ექსპორტი შინაარსის საიტი და იმპორტი ავტორმა bits შევიდა საიტი.
  • ხელახალი რგოლი შინაარსი (რაც იმას ნიშნავს, განიხილავს ყველა ბმულებს).

WSS, doc libs & სიები, გამოთვლილი სვეტების მონაწილეობით [Me]

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" ფუნქციები, როგორიცაა [Me] ან [დღეს]. I solved it in a test environment with these steps:

  1. Create a text column named "Current User".
  2. უცნობია სტანდარტულ ღირებულების [Me]
  3. Create a calculated column called "Calc Test".
  4. უცნობია მისი ღირებულება = [მიმდინარე მომხმარებელი]

მე შევიდა, დამატებული ელემენტის სიაში და მუშაობდა.

ჩააბარა ჩემი 70-315 გამოცდა დღეს!

გავიარე "შემუშავებისა და განხორციელების ვებ პროგრამები და Microsoft Visual C # NET და Microsoft Visual Studio .NET" გამოცდა დღეს დიდი სახელმწიფოს NJ at მხცოვანი ოფისებში SolarTech in Hasbrouck Heights.

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

შესწავლა, მე MCAD / MCSD თვითმმართველობის paced სასწავლო Kit წიგნის სახელწოდებით განვითარებად ვებ განაცხადების Microsoft Visual Basic. NET და ვიზუალური 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, მე გამოიყენება იგი უბიძგონ შესახებ დაამტკიცოს ან უარყოს მოთხოვნა და შევა რამდენიმე კომენტარი.

ეს აქცია ფორმას იღებს:

კოლექციონირება მონაცემთა საწყისი ამ მომხმარებელს (გასასვლელი Variable: collect1)

დაჭერით მონაცემთა pulls up სერია დიალოგში ყუთები, სადაც თქვენ დააკონკრეტა, თუ რა მონაცემების შესახებ უნდა უზრუნველყოს, როდესაც დასრულების ამოცანა და ამ მომხმარებელს აშკარაა.

გამომავალი ნაწილი (Variable: 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. როგორ უნდა workflow ძრავის იქნებიან კონკრეტული ზედიზედ რომ სიაში?

ამისათვის:

  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. In საძიებელი დეტალები სფეროში dropdown, შერჩევა სახელით სფეროში, რომლის ღირებულება გსურთ (ამ რუკების რას უწოდებენ მონაცემთა შეგროვებას ფანჯარა ზემოდან).
  3. In the "Find the List Item" სექციაში, select "Tasks:ID" სფეროში dropdown.
  4. In მნიშვნელობის ველის, დააწკაპუნეთ ვ(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. Click OK / OK და თქვენ გაკეთდეს.

როგორც ჩანს, ამ ჩემთვის:

იმიჯი

ამ ეტაპზე, შეგიძლიათ გამოიყენოთ, რომ ღირებულება თქვენს workflow როგორც საჭიროა.

დამატებითი შენიშვნები:

როგორც მოკლე განზე, 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 და კარგად ღირს ათვისებაში.

== ბოლოს

პროგრამები Tags:

წყვეტილი ანუ ავარია როდესაც წვდომის დოკუმენტების WSS / MOSS დოკუმენტის ბიბლიოთეკა

I’ve been plagued by this for 9 months and I see that people on the MSDN and Usenet forums have it too.l

ზოგჯერ, when accessing a word document (or other doc types) from a document library causes Internet Explorer to simply crash and go away (taking all the tabs with it if any are open).

This MS hotfix may solve it: http://support.microsoft.com/kb/938888

ასევე, there’s some description about the problem here:

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

უილ რეალური XPath წინ გადადგმული ნაბიჯია?

მიმოხილვა:

Created a custom list that manages a content type with some dozen columns.

Added it to a page and then via SPD, converted into a data view.

პრობლემა:

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

მიუხედავად იმისა, რომ thrashing madly შესახებ, ეძებს გადაწყვეტა, I instead referred to "@Recruiter" და აჰა! — that actually returned back the current status. I expected it to return back the recruiter when I did that.

Solution:

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

წართმევას:

SPD უზრუნველყოფს ავტორიტეტული XPath გამონათქვამების for რიგები & სვეტის მონაცემების ხედი.

მეორე, it shows the actual data. So for example, სვეტის ტიპის გვიჩვენებს ამ:

<nobr><span><A HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID=17">Galvin, პოლ</A><img border ="0" height="1" width="3" src="/_layouts/images/blank.gif"/><href = 'javascript:’ onclick = 'IMNImageOnClick();დაბრუნების ცრუ;’ class = 'ms-imnlink "><img name=’imnmark’ title =” საზღვრის =’0′ სიმაღლე = '12’ ტელეკომპანია '12’ src = "/ _layouts / images / blank.gif’ alt = 'არ ყოფნის ინფორმაცია’ SIP = 'PGalvin@xxx.com’ id = 'imn_77, ივერიის SMTP' /></a></span></nobr>