SharePoint Designer — Προσαρμοσμένη δραστηριότητα να εκτελέσει συναρτήσεις οριζόμενες από το χρήστη C#

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ: Αυτό έχει been ελευθέρωσα σε CodePlex εδώ: http://www.codeplex.com/spdwfextensions

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ: Δείτε εδώ για τις τελευταίες σημειώσεις κυκλοφορίας: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ: Δείτε εδώ για τις σκέψεις μου για την εμπορευματοποίηση αυτού του έργου: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Το έργο αυτό παρέχει μια προσαρμοσμένη δραστηριότητα στο SharePoint Designer. Χρησιμοποιήστε αυτήν τη προσαρμοσμένη δραστηριότητα να επικαλεστεί (αποστολής) κάθε συνάρτηση C# που σας ενσωματωθεί το συνδεδεμένο Συνέλευση.

Όπως αργά Οκτώβριοs, 2007, Αυτό είναι ακριβώς μια αρχική έκδοση του έργου. I σχέδιο για να την αναπτύξετε με μια σειρά από πρόσθετες λειτουργίες, συμπεριλαμβανομένης της δευτερεύουσας συμβολοσειράς, Δείκτης, αντικατάσταση, η επίκληση των υπηρεσιών web και ό, τι φαίνεται χρήσιμο ή ενδιαφέρον. Θα ήθελα επίσης σχεδιάζουν να δημοσιεύσετε αυτό για codeplex μόλις έχω μου πράξη μαζί σε αυτό το μέτωπο. Αυτό θα είναι επίσης να αναπτυχθούν ως λύση σε κάποιο σημείο.

Αν έχετε οποιαδήποτε σχόλια, ερωτήσεις ή προτάσεις, Παρακαλώ τους αφήνουν στα σχόλια ή στο email μου.

Αποποίηση ευθυνών:

Κάνω απολύτως καμία ισχυρισμοί σχετικά με την καταλληλότητα για οποιοδήποτε σκοπό. Χρησιμοποιούν με δική σας ευθύνη.

Βήματα εγκατάστασης (πρέπει να ακολουθούνται για κάθε ΙΟΙ στο αγρόκτημα):

1. Κατεβάστε το .zip και εκχύλισμα.

2. Εγκαταστήσετε το .dll στο GAC. Ανοίγω συνήθως c:\windowsassembly, χρησιμοποιώντας την εξερεύνηση των windows και αντίγραφο αυτό εκεί.

3. Τροποποιήσετε το αρχείο web.config για να προσθέσετε τη Συνέλευση να την ασφαλή στοιχεία ελέγχου:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Συνέλευση = "SpdGenericInterface, Έκδοση = 1.0.0.0, Πολιτισμός = ουδέτερη, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" Όνομα τύπου = "*" Επιτρέπεται = "True" />

4. Αντίγραφο "SpdGenericInterface.actions" σε C:\Πρόγραμμα ΕφαρμογώνΚοινά FilesMicrosoft Sharedweb διακομιστή extensions12TEMPLATE1033Workflow

Σημειώστε ότι η ανωτέρω θέση είναι ειδικά για την αγγλική γλώσσα εγκαταστάσεις.

5. Κλείστε το SharePoint Designer (αν είναι ήδη ανοιχτό).

6. iisreset

7. Ανοίξτε το SPD και δημιουργία νέας ροής εργασίας.

Αν όλα πάνε καλά, σας πρέπει να ανταμειφθούν με μια νέα κατηγορία δράσης:

εικόνα

Σημειώσεις:

Δείτε Εδώ (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) για μια καταπληκτική επισκόπηση της διαδικασίας για τη δημιουργία, εγκατάσταση και ρύθμιση μια λύση όπως αυτό.

Το .zip έχει σχεδιαστεί για να εξαγάγετε απευθείας σε εσάς γ:\ το αυτοκίνητο. Αν το κάνετε αυτό, Μπορείτε να ανοίξετε το πρόγραμμα και όλες τις διαδρομές θα είναι συνεπείς.

Για να χρησιμοποιήσετε αυτό στο visual studio, ίσως πρέπει να εγκαταστήσετε το "Επεκτάσεις για Windows WF".

Η αρχική Ανεβάστε περιέχει μόνο ένα "λειτουργία αποστολέα", "ToLower()". Για να προσθέσετε περισσότερες λειτουργίες, αυξάνω τη μέθοδο Execute όπως φαίνεται:

 προστατεύονται παράκαμψη ActivityExecutionStatus
          Εκτέλεση(ActivityExecutionContext executionContext)
        {

            συμβολοσειρά functionToDispatch;
            functionToDispatch = αυτό.DispatchFunction.ToLower();

            διακόπτης (functionToDispatch)
            {
                περίπτωση "tolower()":
                    {
                        αυτό.OutResult1 = αυτό.InParam1.ToLower();
                        διάλειμμα;
                    }

                προεπιλογή:
                    {
                        αυτό.OutResult1 = "Η άγνωστη συνάρτηση: [" + αυτό.DispatchFunction + "].";
                        διάλειμμα;
                    }
            }

            επιστροφή ActivityExecutionStatus.Κλειστό;
        } // ActivityExecutionStatus

    }

Στη συνέχεια, να οικοδομήσουμε εκ νέου το έργο και να αντιγράψετε τη Συνέλευση στο GAC. Περιμένω την εφαρμογή iisreset θα απαιτούνταν.

9 thoughts on «SharePoint Designer — Προσαρμοσμένη δραστηριότητα να εκτελέσει συναρτήσεις οριζόμενες από το χρήστη C#

  1. Gerry Whitworth
    Ακολούθησα τις οδηγίες του και ό, τι φάνηκε να λειτουργεί έως ότου μπορώ να επιλέξω τη δράση στον σχεδιαστή SP. Ο σχεδιαστής δεν επικολλήστε τον κώδικα στη ροή εργασίας. Αυτός ο τύπος έστειλε ένα email, και υποθέτω ότι είναι πολύ απασχολημένος για να ανταποκριθεί.
    Έλυσα το πρόβλημα.
    Μετά από τις ενέργειες από το "SpdGenericInterface.actions" σε την WSS.actions»" αρχείο και όλα πήγαν. Ελπίζω ότι αυτό βοηθά τους άλλους.
  2. Marco mancinelli
    Γεια σε όλους,
    μπορεί να εξηγήσει από που πρέπει να τροποποιήσετε το αρχείο web.config? σας παρακαλούμε να απαντήσετε σύντομα.
  3. Marco mancinelli
    ακούγεται καλό, αλλά δεν μπορώ να εγκαταστήσετε την επέκταση =(
    Σχεδιαστής μου con δείτε αυτό αλλά όταν κάνω κλικ σε αυτό τίποτα δεν εμφανίζονται… Παρακαλώ βοηθήστε… tnx.
  4. Mike Mongeau

    Σίγουρα ακούγεται σαν μια καλή ιδέα. Θα ήθελα πολύ να εμπλακούν σε τη χρήση και τον έλεγχο των λειτουργιών. Είναι αλήθεια ότι οι συναρτήσεις συμβολοσειράς περιορίζονται στο SPD, αλλά ο οικοδόμος δυναμική συμβολοσειρά"" είναι αρκετά ισχυρό.

    <ένα href ="http://dataformwebpart.com">-Monjo </ένα>

  5. Bernard Λάμπεθ

    Είμαι με τη χρήση αυτή προσαρμοσμένης δραστηριότητας για την αντικατάσταση() συνάρτηση. Το αγρόκτημα είναι SharePoint 2007, με ισορροπημένα web προσκηνίων. Παίρνω περιοδική αποτυχία ξεκινώ σφάλματα, αλλά οι ροές εργασίας συνήθως επανεκκίνηση σε 5 – 15 min. Πιστεύω ότι οι εργασίες χρονιστή ροή εργασίας και τη ροή εργασίας ανακατεύθυνσης ξαναρχίζουν ροών εργασίας. Αναθεώρησα τα αρχεία καταγραφής του SharePoint, και επιτέλους αυτό το σφάλμα.

    RunWorkflow: Microsoft.SharePoint.SPException:
    στο Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Συμβολοσειρά assmNameIn, SPWeb web)
    στο Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow ροής εργασίας)
    στο Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService υποδοχής, SPWorkflow ροής εργασίας, Συλλογή 1» εκδηλώσεις, Χρονικό διάστημα χρονικού ορίου)
    στο Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow ροής εργασίας, Συλλογή 1» εκδηλώσεις, SPRunWorkflowOptions runOptions)

    Βρήκα μια αναφορά σε αυτό το σφάλμα σε ένα άλλο blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Ο συγγραφέας αναφέρεται χρησιμοποιούσε το έθιμο actitivity αντικατάσταση(), καθώς και. Έχετε δει αυτό το σφάλμα? Έχετε οποιεσδήποτε προτάσεις για το πώς να το λύσουμε?

    1. Paul Galvin Δημοσίευση συγγραφέα

      Συγγνώμη ποτέ ανταποκρίθηκα. Στο σημείο της thi, είναι πιθανώς αμφισβητήσιμο. Ελπίζω να είστε σε θέση να επιλύσουν.

Αφήνω μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. τα απαιτούμενα πεδία είναι επισημασμένα *