ארכיון קטגוריה: זרימת עבודה של SharePoint

ליצור אתרים (SPWeb) באמצעות SharePoint Designer זרימת עבודה

הפוסט בבלוג הזה הוא יותר "בתחום האפשריות" לעומת ערך. כוון.

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

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

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

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

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

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</קצה>

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

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

לשלב SharePoint Designer זרימות עבודה עם שירותי אינטרנט

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

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

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

. הנה החתימה:

 הציבור מחרוזת משגר(
        Guid WebID, // עברו את סביבת זמן הריצה
        Guid SiteID, // עברו את סביבת זמן הריצה
        מחרוזת ListID, // עברו את כביש (לא יודע למה זה מחרוזת, לא מזהה ייחודי כללי)
        int ListItemID, // עברו את כביש.
        מחרוזת XmlMessage) // עבר על-ידי המשתמש אכרזה ב- SPD.

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

למרבה הצער, ברור שזה כרטיס בכיוון אחד למטה "שהתרגלתם לעשות גוסי" אנטי-דפוס הארץ, but it’s better than hitting a brick wall 🙂

זה אנטי-דוגמת אם אתה עושה את זה אפילו אם אתה יודע שזה דוגמת אנטי?

אני מקווה לסגור. את בתוך Codeplex בעתיד הקרוב. אם אתה מעוניין בי כך, . תן לי לתקוע (דוא או השאירו תגובה) and I’ll be that more enthusiastic about doing it 🙂

</קצה>

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

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

SPD עבודה “איסוף נתונים ממשתמש”: לשנות את טופס המשימה שנוצרה

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

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

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

התמונה

למרבה המזל, אנחנו יכולים לעשות את זה. וזה לא מאוד קשה. באופן כללי, תדליק SPD, נווט אל הספריה בה נמצאים קבצי זרימת העבודה ופתח את הקובץ ASPX שברצונך לשנות. אלו הן הוראות שינוי XSL קלאסי רק אם כבר הרסת עם itemstyle.xsl, חיפוש או תרחישים XSL נוספים, זה יהיה קל עבורך. למעשה, מצאתי את זה יהיה בדרך כלל יותר קל מאז הטופס שנוצר הוא מעט קל יותר לעקוב אחר לעומת תוצאות חיפוש הליבה web part (או CWQP סיוט).

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

מבחן 1:

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

תוצאה: במקרה זה, SPD לא יצר מחדש את הטופס.

מבחן 2:

  • תעשה אותו #1 חוץ ישירות לשנות "איסוף נתונים ממשתמש" פעולה.

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

סופי הערות:

  • לפחות שתי פעולות SPD ליצור טפסים ככה: "איסוף נתונים ממשתמש" "מקצה ל לעשות את הפריט". שתי הפעולות הללו’ טפסים ניתן לשנות באופן ידני.
  • . הייתי יכול ליצור את הקישור כדי dispform. aspx כי, במקרה זה, קישור לפריט יש תמיד שהמזהה שלו מוטבע בתוך ה-URL של הפריט קשורים. הצלחתי לחלץ אותו, ולאחר מכן לבנות <href> בהתבסס על זה כדי לספק תכונת גישה בלחיצה אחת נתוני meta. אין זה סביר כי ה-URL שלך עוקב אחר הכלל הזה. אולי יש דרכים אחרות להשיג את המזהה של פריט הקשור אבל לא הייתה לי לחצות את הגשר, אז אני לא יודעת אם מגיע אל הצד השני של הימין.
  • אני לא חוקר, . אבל אני לא אהיה מופתעת אם יש איזשהו בקובץ תבנית ב- 12 כוורת אשר יכול לשנות כדי להשפיע על איך SPD יוצר מטופסי ברירת המחדל (ממש כמו ונוכל לשנות תבניות התראה).

</קצה>

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

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

פתרון (מעין): להגדיר את העדיפות של פעילות באמצעות SharePoint Designer

. יש לי עסקים בתרחיש כזה:

  • משתמש העלאת מסמך לספריית מסמכים.
  • היא בוחרת סוג תוכן ומזין את מטה נתונים לפי הצורך. אחד משדות הנתונים מטה הוא דגל, "דחוף".
  • הדבר מפעיל זרימת עבודה של SharePoint Designer זה, בין היתר, שימושים "לאסוף נתונים מ המשתמש" פעולה.

"איסוף נתונים ממשתמש" יוצרת פריט ברשימת פעילויות מבקש האישור עבור מסמך זה.

אני צריך ליצור תצוגה של רשימת המשימות הראה בקשות דחופות לאישור.

פתרון: לשים את המילה "דחוף:" אל הכותרת של משימות אלה.

הייתי מעדיף לציין את השדה ' עדיפות ' ישירות. עם זאת, לא הייתי מסוגל לעשות את זה מכמה סיבות:

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

שקלתי כמה גישות לפני (למרבה המזל) מימוש יכולנו לשים "דחוף" בכותרת.

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

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

אבל, לפחות יש פתרון שלא דורש אירוע מקלטים או פעולות מותאמות אישית SPD.

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

</קצה>

מהיר וקל: לפתוח באופן אוטומטי טופס InfoPath מ- SharePoint Designer דוא

עדכון: Madjur מורוזובסקי מצביע על קישור זה מ דיון קבוצות דיון: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. . זה מוחצת.

===

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

בנייה כתובת URL זו מפלצת עובד בשבילי:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&מקור = http % 3A % 2F % 2Fserver % 2Ecorp % 2Edomain % 2Ecom % 2Fsites % 2Fdepartments % 2FTechnical % 2520Services % 2FInformationTechnology % 2FHelpDesk % 2FREC % 2520REM % 2520RED % 2520Forms % 2FForms % 2FAllItems % 2Easpx&DefaultItemOpen = 1

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

התמונה

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

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

</קצה>

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

מוס אמר לי “הגישה נדחתה” כדי לערוך משימת זרימת עבודה, אבל באמת יש לי גישה

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

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

לבדוק עם חשבון בדיקה שלי נמוך-הרשאות.

ניתן למלא טופס לספריית ושמור? –> כן

באפשרותך לגשת הפעילות של קישור דוא? –> כן

ניתן לראות קישור משימה של זרימת עבודה עריכה –> כן

האם באפשרותי ללחוץ על הקישור הזה? –> לא … הרשאה נדחתה.

למה אני רואה קישור עריכה ששוללת לי הרשאה כאשר אני לוחץ על זה? . זה לא איך זה אמור לעבוד…

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

לבסוף, אני מחפש את האינטרנט במלואו. אני מוצא הליך מאוד לא סביר של פורום MSDN: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

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

כל כך, אין מה להפסיד, פיטרתי את SPD, לחץ לחיצה ימנית על זרימת העבודה ולשמור אותו c שלי:\ נסיעה. . זה יהיה c:\ כונן במחשב הנייד שלי. אני מסתכל מעבר לכתפי כל הזמן כך אף אחד לא ישאל אותי, "למה את שומרת? את זרימת העבודה למחשב הנייד?"

במידה שלא תאומן, זה יפתור את הבעיה שלי. אני יכולה לערוך את המשימה.

שזה יהיה הכי ביזארי זרימת העבודה הפתרון של מוניק 2007.

</קצה>

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

SharePoint Designer, של הפריט הנוכחי “כתובת URL מוחלטת ומקודדת” ו- HTTPS

אנחנו לעיתים קרובות רוצים לשלוח הודעת דואר אלקטרוני הכוללת קישור לפריט או למסמך שהפעיל את זרימת העבודה. אנחנו יכולים להשתמש של הפריט הנוכחי "מקודד URL מוחלטת" למטרה זו. עם זאת, זה תמיד נראה להשתמש "ב- http" עבור פרוטוקול כתובת URL. אם האתר שלך פועל ב- HTTPS, אז זה לא יעבוד בשבילך.

התמונה

עד כמה שאני יודע, אי אפשר לצאת של תיבת לפתרון בעיה זו. אם עליך להשתמש ב- HTTPS, לכן שום מתוך האפשרות תיבה.

כדי לפתור את זה, ליצור פעולה מותאמת אישית מספק פונקציה החלף מחרוזת להשתמש בזרימת העבודה שלך. לחלופין, להשתמש בכלי צד 3 כגון חבילת מצוין כאן: http://www.codeplex.com/spdwfextensions 🙂

</קצה>

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

שולח דוא ל SharePoint Designer ???? דואר אלקטרוני

פורום משתמשים מדי פעם לשאול: למה SharePoint Designer שם ???? לתוך הדוא ל שלי במקום ערך שדה?

אחת הסיבות שזה קורה היא המשתנה שאתה מדבר הוא null.

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

<סיום />

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

להשוות / מבחן ריקה לתאריכים בזרימת SharePoint Designer

תרחיש: בתהליך עבודה של SharePoint Designer, עליך לקבוע אם שדה תאריך ריקה.

הבעיה: SPD אינה מספקת שיטה ישירה להשוואת תאריכים מלבד תאריך. לא ניתן ליצור מצב כזה: "אם [DateField] שווה ריק".

פתרון: להמיר התאריך למחרוזת. השתמש השוואת מחרוזות כדי לקבוע אם התאריך הוא ריק.

צילומי מסך:

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

התמונה

התמונה

הערות:

כאשר ניסיתי את זה, הופתעתי לטובה ללמוד שזה עובד. . דאגתי SharePoint Designer עלול לאסור את ההקצאה מחרוזת (משתנה:StringReminderDateDate) אבל אפשר זאת.

גם אני הייתי מודאג שמתן זה, הערך יכול להיות null או ולפוצץ WF בזמן ריצה או אולי להעלות את הטמפרטורה הגלובלית 1/2 תואר, אבל לדאגות האלה לא נכונים.

</קצה>

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

פעולה מותאמת אישית של זרימת העבודה SharePoint Designer — תצפית על <סוג מעצב FieldBind =”StringBuilder” … />

רק תצפית מהר. כי יש הבדל חשוב בין שתי הגדרות אלה:

<שדה FieldBind = "InParam1" DesignerType = "StringBuilder" Id = "2" טקסט = "פרמטר קלט #1" />

לעומת:

<שדה FieldBind = "InParam1" Id = "2" טקסט = "פרמטר קלט #1" />

הראשון מראה כזה ב- SPD:

התמונה

תוך כדי ההופעות האחרון ככה:

התמונה

אני לא בטוח עד כמה צילומי המסך האלה מועילים אבל אני השקעתי מאמץ לעשות אותם אז אתה צריך לראות אותם 🙂

התצפית זה: StringBuilder מאפשר לך לבנות מחרוזת (. ברור) על ידי ערבוב יחד מחרוזת מילולית ועל זרימת הנתונים (דרך "הוספת בדיקת מידע" הלחצן בפינה השמאלית התחתונה). כאשר תשתמש בלחצן הוסף בדיקת מידע, הוא מוסיף רכיב token בדמות"[%האסימון %]". מתי SharePoint הפעלת הפעולה המותאמת אישית שלך, (C# קוד במקרה שלי), SharePoint עובר האסימון עצמה, לא את הערך של ה-token. אם אתה משתמש סוג ברירת המחדל של מעצבים (הסוג השני), SharePoint מרחיבה את ה-token ומעביר את הערך הממשי של ה-token לפעולה שלך.

StringBuilder = רע, ברירת מחדל סוג מעצבים = טוב.

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

<סיום />