SPD פעולות זרימת עבודה מותאמת אישית — שיפורים מניפולציה של מחרוזת

כשבוע לפני, התחלתי את פרוייקט codeplex מספק שיטה פשוטה למדי כלליים עבור הוספת פעולה מותאמת אישית פונקציות SharePoit מעצב זרימת עבודה. הוא מתואר כאן: http://www.codeplex.com/spdwfextensions. מעבר פשוט מתן מסגרת, היא גם שואפת לספק ערכה של פונקציות שימושיות שיהפכו SPD שימושי/גמיש/חזק יותר.

להלן התכונות המתוכנן הנוכחי עבור גירסה 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

אם ישנה כל עניין בפרוייקט זה, נא להשאיר תגובה או התחל/הוסף כאן לדיון: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

הנה הקבוצה הנוכחית של הפונקציות שבהן יש מקודד (למרות נבדק באופן מלא של 11/08/07):

פונקציה תיאור (אם לא זהה.הפונקציה נטו)
Num-ערכי() מחזירה את מספר "ערכים" במחרוזת לפי מפריד שיצוין.

לדוגמה: Num-ערכי במחרוזת "a,b,c" עם מפריד"," = 3.

ערך() החזרת ה-token nth במחרוזת לפי מפריד שיצוין.
אורך String.Length
החלף() String.Replace()
מכיל() String.Contains()
מחזירה את המילה "true" או את המילה "false".
מחרוזת משנה(התחלה) String.Substring(התחלה)
מחרוזת משנה(התחלה,קצה) String.Substring(התחלה,קצה)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
מחזירה את המילה "true" או את המילה "false".
EndsWith() String.EndsWith()
מחזירה את המילה "true" או את המילה "false".

מהירה & קל כתובת url קידוד כלי שולחן

אני אצטרך לכתובת url-לקודד בכמה חוטים השבוע, סטירה יחד כלי קטן חשבתי להראות ב- SkyDrive למען הקהילה.

לקבל את זה כאן בינארי: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

לקבל את הפתרון visual studio כאן: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

הנה צילום מסך:

התמונה

מהיר וקל: להטביע היפר-קישור לתוך web part תצוגת נתונים XSLT

עדכון (01/17/08): הפוסט בבלוג הזה מדבר על היפר-קישור נוסף XSL לאל: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

מבט כולל על וחשיבה אובייקטיבית: יצרתי תרשים עמודות פשוטה כדי לשמש רכיב בלוח מחוונים. אני לשמור את פרטי הבנייה תרשימים עבור עוד פוסט, . אבל אני לא המציא את הטכניקה הזאת (וגם לא את סימן השאלה, לצורך העניין). התברר היה באג בתרשים ובזמן תיקנתי את זה, ניצלתי את ההזדמנות כדי להמיר תוויות קצת היפר-קישורים מכוונים הרשימה הבסיסית מאחורי הגרף. לדוגמה, יש תווית עם ערך "החזק". רציתי להפוך את התווית היפר-קישור כך המשתמש יכול ללחוץ על זה ולא להסתעף הערכים הספציפיים ברשימה שערכו מצב זה "להחזיק".

צעדים:

  1. שימוש ויזואלי הסטודיו. intellisense sharepoint-מודעות.
  2. העתק של DVWP XSLT visual studio (יצירת פרוייקט ריק, להוסיף קובץ XSL לפרוייקט).
  3. להעתיק את הקישור שהרצוי לתוך הלוח.
  4. להדביק את המיקום הנכון, ה-XSL.
  5. המרת כתובת URL מפרידים ויכוח על מחרוזת השאילתה מ"&" "&המגבר;"
  6. Url-לקודד ארגומנטים בודדים.
  7. לעטוף את שם בפנים <href…> </של>

דוגמה:

. יש לי כתובת URL:

http://[שרת]/[האתר]/Lists/Open Positions/AllItems.aspx?תצוגה ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = המגייס&FilterValue1 = החזק

אני להמיר אותו לתוך:

     <של href="Lists/Open Positions/AllItems.aspx?תצוגה = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&המגבר;FilterField1 = המגייס&המגבר;FilterValue1 = החזק"> . תחזיק: </של>

אני באופן ידני הפכה את הארגומנט הראשון מ:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

כדי:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(במשחק הזה, השינויים המרובים הסד פתוח עד 7% ב וסוגר את הסד המרות ל %7 d)

הטיעונים השני והשלישי’ פרמטרים ("FilterField1 =מגייס" "FilterValue1 =. תחזיק" בהתאמה) לא צריך להיות url מקודד כי הם אינם מכילים תווים לא בטוחים.

הערות:

טכניקה זו בדרך כלל צריך לעבוד בכל מקום שאתה רוצה להטמיע היפר-קישור ב- XSLT בו ההיפר-קישור כוללת פרמטרים על כתובת ה-URL כגון:

http://[שרת]/[האתר]/Lists/Open Positions/AllItems.aspx?תצוגה ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = המגייס&FilterValue1 = החזק

. יש לי כתובת ה-URL עצמה על ידי הגישה את הרשימה המותאמת אישית וסינון באופן ידני לפי העמודה מצב (שכותרתו "מגייס" מעל).

מהיר ופשוט: הפעל זרימת עבודה של SharePoint Designer לעדכן טופס InfoPath

תרחיש: יש לי טופס של InfoPath זה קבלה-מסתיים תהליך זרימת עבודה מיושמת באמצעות SharePoint Designer. בשלב מסוים, מנהל חייב לאשר את הטופס. מאז אני לא יכול לסמוך על היסטוריית זרימת עבודה כדי לעמוד בדרישות הביקורת שלי, אני מחליט לאחסן הודעה הביקורת שלי ישירות על הטופס עצמו.

מבט כולל:

עיצוב הטופס, לפרסם אותו בתור סוג תוכן ועל הטופס עצמו אל ספריית מסמכים. מארק הרצוי שדות טופס כבלתי ניתנת לעדכון של מוס. הטופס קשורה לסוג התוכן ואת סוג התוכן "מצורפת" בספריית טפסים (או הרבה, אם אתה רוצה). לכתוב שזרימת עבודה מעדכן את השדה.

שלבים ספציפיים:

  1. יצירת ספריית מסמכים. . זה יחזיק את תבנית InfoPath שלך.
  2. צור ספריית טפסים.
  3. ליצור את הטופס של InfoPath. לכלול שדה טקסט, "ביקורת הודעה".
  4. פרסום הטופס כסוג תוכן (לא מסמך).
  5. בעת מילוי תיבות הדו-שיח פרסום:
    של) שמור את הקובץ. xsn לספריית המסמכים (שלב #1).
    b) פרסום ההודעה ביקורת"" שדה ולסמן אמיתי: "אפשר למשתמשים לערוך את הנתונים בשדה זה על-ידי שימוש בגליון נתונים או מאפייני דף".
    c) יצירת סוג תוכן חדש ולתת לו שם מתאים.
  6. גישה ספריית טפסים.
    של) עבור אל הגדרות מתקדמות שלה ולאפשר את ספריית טפסים לנהל סוגי תוכן.
    b) בחר את סוג התוכן החדש שנוצר (5c לעיל). זה יקובצו תחת "Microsoft InfoPath" (או דומה).
    c) הסרת המחדל "צורה" סוג תוכן מספריית.
    d) לסמן את הספריה שיש "הצג כדף אינטרנט" כך שהטופס תשיק של SharePoint והלקוח לא InfoPath תחנת עבודה.
  7. חזור לספריית טפסים נכונה ולחץ על "חדש" כדי פשוט לוודא שהטופס הוא פורסם כראוי ופועל כפי שאתה רוצה.
  8. תדליק את SharePoint Designer, נווט אל האתר המארח ספריית הטפסים שלך (משלב 2).
  9. ליצור זרימת עבודה חדשה מצורף אל ספריית טפסים.
  10. הוסף פעולה בודדת "להגדיר שדה של הפריט הנוכחי". אתה אמור לצפות SharePoint Designer הרשימה את השדה שלך, "ביקורת הודעה". להקצות לו ערך.
  11. לחץ על סיום. ולחזור אל ספריית הטפסים.
  12. ליצור טופס חדש ולשים ערך מבחן כלשהו לתוך ההודעה ביקורת"" שדה.
  13. . שמור את זה ולחזור אל ספריית הטפסים.
  14. לחץ לחיצה ימנית, בחר באפשרות זרימת עבודה"" ולהתחיל את זרימת העבודה שלך.
  15. זה צריך להפעיל באופן כמעט מיידי. . תעלה את הטופס (משלב 12) ואם הכל לפי התוכנית, "ביקורת הודעה" הוקצתה שיהיה ערך שסיפקת בשלב 10.

הערות:

לא כל פקדי ייתכן שתצורתה נקבעה עבור תקשורת דו-כיוונית זו. לדוגמה, לא נראה ליישם זרימת עבודה SPD שמשנה שדות טקסט שעטופה בתוך מקטעים חוזרים.

אחד של מפתח לקחת משם של הנה כי אנו באמת יצרת סוג תוכן עם תבנית המשויך. זה גם מאפשר לנו לאחסן מספר תבניות טופס של InfoPath בספריה באותו טופס.

זה דורש שרת הטפסים. זה בהחלט לא הולך לעבוד ב- WSS 3.0 הסביבה ואת בטח גם דורש סביבה ארגונית SharePoint.

ביגל נחת (באוקטובר 2007 בעיה)

(. זה למעשה קצת מיושן, אבל כפי מכריז המוטו תחנת כיבוי אש האהוב שלי, "מוטב מאוחר מאשר לעולם לא").

לבדוק את זה כאן: http://www.sharepointbeagle.com/

אם יש לך כבר, כדי להיות בטוח הירשם.

בטח, הקפד לקרוא המאמר שלי על פרויקט SharePoint בעולם האמיתי (כולל הגדרת דרישות, של ה-KPI, סוגי תוכן, לוחות מחוונים ועוד) כמו גם עמיתי מאמר על ה-web part שאילתת תוכן.

יש גם הרבה דברים טובים.

כיצד להסיר “הצג את כל תוכן האתר” קישור

אני שאלתי את השאלה הזו כמעט כל שבוע, בדרך כלל בהקשר של דיון אבטחה. יוצר מנהל/האתר יש אספקה של אתר, האבטחה, אינטרנט מסודרים חלקים ומותאמים אישית של הפעלה מהירה כדי לספק כך מושלם קבוצת אפשרויות משתמש הקצה. אבל, מחוץ לקופסה, לא ניתן להסיר את "הצג את כל תוכן האתר" קישור.

מארק ווגנר מספק את התשובה כאן (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). כתיבה שלו הוא מעולה בשני מישורים. הוא מספק תשובה לשאלה, "כיצד ניתן להסיר את הצג את כל תוכן האתר" קישור? לאחר מכן, הוא עונה על שאלת המשכית מיידית: כיצד ניתן בקלות להפעיל את התצוגה לקשר את כל תוכן האתר על בסיס על-ידי אתר?

בתור בונוס: הגישה שלו עובד עבור WSS, לא רק מוס.

</קצה>

מנוי על הבלוג שלי!

הפרויקט CodePlex האישי שלי: הרחבות של זרימת עבודה עבור SharePoint Designer

עדכון: ראה כאן (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) את המילה האחרונה על הפרויקט הזה.

יצרתי של CodePlex פרוייקט היום לבית הממשק SPD כלליים קוד הזה אני בבלוג על כאן (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

מבט על כאן (http://www.codeplex.com/spdwfextensions) כדי לראות את הפרויקט CodePlex, לבעוט בצמיגים.

אם אתה מעוניין לעבוד על זה איתי, תירה את הודעת דוא ל- mailto:galvin.paul@gmail.com

SharePoint Designer — פעילויות מותאמות אישית לביצוע על-ידי המשתמש C # פונקציות

עדכון: זה פורסם כדי 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 # פונקציה אתה שולבו מכלול מקושרים.

עד סוף אוקטובר, 2007, . זה רק גרסה ראשונית של הפרויקט. בכוונתי להרחיב אותה עם מספר רב של פונקציות נוספות, כולל מחרוזת משנה, אינדקס, החלף, הפעלת שירותי האינטרנט, כל דבר שנראה שימושי או מעניין. אני גם מתכנן לפרסם את זה. כדי codeplex ברגע שאקבל את המופע שלי ביחד בחזית הזאת. זה יהיה גם הניתנות לפריסה כפתרון בשלב כלשהו.

אם יש לך הערות כלשהן, שאלות או הצעות, נא להשאיר אותן תגובות או לשלוח לי אימייל.

כתב ויתור:

אני עושה בהחלט אין טענות לגבי ההתאמה של זה לכל מטרה. להשתמש על אחריותך.

שלבי ההתקנה (להיות אחריו במשך כל WFE בחווה):

1. הורד את רוכסן ולחלץ.

2. התקן את ה-. dll GAC. בדרך כלל אני פתוח c:\windowsassembly באמצעות סייר windows, ולהעתיק אותו שם.

3. לשנות web. config כדי להוסיף את מכלול הבקרות בטוח:

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

<authorizedType הרכבה = "SpdGenericInterface, גירסה = 1.0.0.0, תרבות = נייטרלי, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" מורשה = "True" />

4. עותק "SpdGenericInterface.actions" ל- C:\תוכנית FilesCommon של Sharedweb שרת extensions12TEMPLATE1033Workflow

שים לב המיקום הנ ל הוא ספציפי לשפה האנגלית להתקנות.

5. סגור את SharePoint Designer (אם זה כבר פתוח).

6. iisreset

7. פתח SPD, ליצור זרימת עבודה חדשה.

אם הכל ילך כשורה, אתה צריך להיות מתוגמל עם קטגוריה חדשה של פעולה:

התמונה

הערות:

ראה כאן (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) עבור סקירה נהדרת של התהליך ליצירת, התקנה וקביעת תצורה של פתרון כזה.

. Zip נועד לחלץ ישירות אליך c:\ נסיעה. אם תעשה את זה, באפשרותך לפתוח את הפרוייקט, כל הנתיבים יהיה עקבי.

כדי להשתמש ב- visual studio, אתה כנראה צריך להתקין "הרחבות עבור Windows WF".

ההעלאה הראשונית מכיל אחד המשלח "פונקציה", "ToLower()". כדי להוסיף פונקציונליות יותר, להוסיף את השיטה Execute כמוצג:

 מוגן עקיפה ActivityExecutionStatus
          ביצוע(ActivityExecutionContext executionContext)
        {

            מחרוזת functionToDispatch;
            functionToDispatch = זה.DispatchFunction.ToLower();

            מתג (functionToDispatch)
            {
                התיק "tolower()":
                    {
                        זה.OutResult1 = זה.InParam1.ToLower();
                        הפסקה;
                    }

                ברירת מחדל:
                    {
                        זה.OutResult1 = "פונקציה לא מוכרות: [" + זה.DispatchFunction + "].";
                        הפסקה;
                    }
            }

            החזרה ActivityExecutionStatus.סגור;
        } // ActivityExecutionStatus

    }

לאחר מכן, לבנות מחדש את הפרוייקט ולהעתיק את מכלול GAC. אני מצפה ש-iisreset יהיה צורך.

פעולה מותאמת אישית SPD עבודה – לקבל <WorkflowInfo> תג נכון כדי למנוע תסכול

חלק מתהליך יצירת פעולה מותאמת אישית עבור SharePoint Designer כרוך ליצור של .actions"" קובץ.

כבר מצאתי, ניסיתי להשתמש בתבנית דגימה אשר מתחיל כמו:

<?xml גירסה="1.0" קידוד="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com/sharepoint/">
<
פעולות רציפים="לאחר מכן" במקביל="ו">

עם זאת, התכונה xmlns מונע את הסביבה שלי לעבוד. הפעולות שלי לא תופיע ב- SPD.

הפתרון הוא להוציא התכונה xmlns, לעשות, iisreset ו סגור/מחדש-פתוח SPD.

מהיר ופשוט: קביעת תצורה של מוס לחפש בספריית מסמכים ספציפיים

ראה עדכן (אני) להלן (11/24/07) על כיצד להגדיר את Microsoft Office SharePoint Server 2007 אינדקס ותיקיות רשת סריקה עבור חיפוש

המטרה: אני רוצה להריץ חיפוש מוגבלים לספריית מסמכים ספציפיים. במקרה זה, ספריית המסמכים מכילה במסמכי הדרכה.

צעדים:

1. להקליט את כתובת ה-URL של ספריית המסמכים.

2. ליצור טווח:

עבור אל ניהול מרכזי.

גישה ה-SSP.

ללכת "חיפוש הגדרות".

גלול מטה אל המקטע היקף ובחר "הצגת טווחי חיפוש".

ליצור תחום חדש. תן שם ותיאור שימושי.

3. הגדרת טווח כללי סריקה:

הוספת כלל המגדיר את ספריית המסמכים עבור טווח זה.

בחר "כתובת אינטרנט" על "היקף הכלל סוג".

הזן את שם התיקיה שלך (לראות #1 מעל).

לקבל את ערך ברירת המחדל של "כלול".

לחכות עבור הטווח לעדכן (או להפעיל אותה באופן ידני).

4. לאפשר את הטווח באוסף אתרים.

ללכת אוסף האתרים שבהם ברצונך להשתמש תחום זה.

להוסיף את טווח חדש התצוגה המתאימות הקבוצה או הקבוצות.

5. חיפוש!

בנקודה זו, אתה סיימת. בהנחה הטווח מוגדר כראוי, זה יהיה זמין טווחי נפתחים לחיפושים פשוטות ומתקדמות, בעת חיפוש באמצעות טווח הזה, פשוט תקבל את התוצאות שהצפויות.

הערות:

כתבתי את הבלוג כי החיפושים שלי עבור הגדרת היקף פשוט הופיע יבש באמצעות ביטויים כמו:

  • קביעת תצורה של טווחי ב- MOSS
  • קביעת התצורה של חיפוש היקף מוס
  • טווחי ב- sharepoint 2007
  • טווחי ב- sharepoint
  • חפש את מוס ספריה מסמך
  • טווחי פריימר מוס

באפשרותך ליצור טווח חיפוש עבור תיקיה, לא רק את הספרייה המסמך כולו.

טווח יכול להיות משותף בין אוספי אתרים מרובים (ומכאן, "שירות משותפת").

באפשרותך ליצור את הטווח ברמת אוסף האתר עצמו. עם זאת, . אני מעדיף ללכת admin במרכז, כי אני יכול להתחיל את הסריקה משם. אין באפשרותך להפעיל את הסריקה מאוסף האתר.

עדכון (אני) כמו של 11/24/07:

קאי שאנג להרכיב שפוסט נהדר זכאי כיצד להגדיר את Microsoft Office SharePoint Server 2007 אינדקס ותיקיות רשת סריקה עבור חיפוש @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

תגיות טכנורטי: , ,