ארכיון חודשי: בדצמבר 2007

בני פרץ Gamespot

כל כך, הבוקר, הבן שלי נקבע לראות שגיל-13 מוגבלת הילה 3 וידאו ב Gamespot. . אני מחוץ מגב, אז אני לא שם כדי לעזור או להפריע. הכרח זה האמא של ההמצאה, וכל זה … יש לו אאוריקה! הרגע. הוא חש כי למרות Gamespot רוצה שהוא הזן שלו אמיתי תאריך הלידה, . הוא באמת יכול להיכנס כל תאריך הלידה שהוא רוצה. פעם אחת הוא הבין את זה, הוא עשה את עצמו מבוגר מספיק. כדי לראות את הוידאו.

I’m not quite sure how I feel about this 🙂

יום ראשון מצחיק: “זה זבל הדפסה”

בעבודה הראשונה שלי מהמכללה ב 1991, היה לי מזל לעבוד עבור חברה ייצור עם 13 מיקומים, לא כולל HQ של חברה שלה בניו-ג'רזי. הצטרפתי רק כאשר החברה היה מתגלגל החוצה מערכת ERP חדשה. היינו מחלקת IT קטנים של בערך עשרה אנשים ביחד, שניים מהם לא לנסוע. פרויקט מעורב החלפת מערכת IBM 36 תיבות עם החומרה של HP ו- HPUX. שפעם היו צינורות ירוק גישה למערכת.

הפרויקט מתגלגל לאורך ואני נשלח לבולטימור עם עמית לעבודה חדשה, ג'ף. . תפקידנו היה לשלטון את תיבת Unix, ודא כי o/S היה פועל, התקנת מערכת ה-ERP, קביעת תצורה של ERP, אנשים ב- ERP ברכבת ולעשות עבודה מותאם אישית עבור ההורים במקום. (זו הייתה עבודה חלומית, במיוחד כשזה מגיע. שיצא מהקולג). לפני באמת נוכל להמריא, היינו צריכים לפרוק את כל הקברים ירוק, שים אותם על שולחנות ותקשור אותם. החלק הכי טוב היה שיש לנו לשים את עצמנו המחברים RJ11.

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

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

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

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

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

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

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

lp/etc/סיימתם את תהליך הבדיקה

בעיקרון, אנחנו, הדפסתי את קובץ הסיסמאות unix. . זה תמיד נוכח, מחוץ לקופסה, תמיד רק בעמוד אחד.. אתה רגיל Unix קובץ הסיסמאות נראה דומה לזה:

סמית:*:100:100:8A-74(office):/דף הבית/סמית:/usr/bin/sh חוות:*:200:0::/דף הבית/חוות:/usr/bin/sh  

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

</קצה>

עדיין רשת אחרת אישורי multi-אתגר ועניין פתרון

הלקוח שלי לאחרונה התקנת מכשיר קסם מ ערער (ג'וניפר) זה כנראה החליף שלהם הישן של Cisco רשת העומס (NLB). At באותו הזמן, התקנו תיקון חם כדי לטפל בבעיה של זרימת עבודה.

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

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

זו אינה הפעם הראשונה שהיה דחיסה שורש הבעיה של SharePoint.. IIS דחיסה המינימאליים כלי המסיבה השלישית של האנשים הטובים במפעל נטו נקודה עבור IE 6 דפדפנים (IE 7 דפדפנים עבד ללא קושי).

כל כך, להוסיף "דחיסה" לרשימת מפגעים.

</קצה>

. אמון: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

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

לחשוב על שינוי פלטפורמה לבלוגים

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

עם זאת, באמת רק נפלתי לתוך הפתרון MS עם כמעט ללא תכנון. את שיחות לבד בשבילי להעריך איפה אני, לאן אני הולך, במונחים של פלטפורמה לבלוגים. קיימות גם שתי מגבלות חשוב זה הפריע לי נכון עכשיו מול ושהבנק Windows Live Spaces.

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

שנייה, לא נראה שיש מנגנון כלשהו כדי "רווחים" windows החלל בשידור חי בבלוג. למעשה, על מנת להיפטר MS מודעות (ממנו אני מתהווים שום תועלת), אני צריכה לשלם למעשה Microsoft. (לפחות, זה איך שאני מבין זה; אני לא יכול לקבל תשובות לזה ושאלות כמו זה).

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

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

תודה!

<סיום />

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

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

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

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

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

<סיום />

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

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

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

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

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

צילומי מסך:

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

התמונה

התמונה

הערות:

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

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

</קצה>

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

בר הוא עדיין גבוה למדי כדי להרחיב מוס

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

"קודם, תקבע את CQWP כדי להתחבר למקורות נתונים שלו, מכן לך לייצא את תחנת העבודה שלך, לשנות <CommonViewFields>, להעלות, להסיר המקורי, עכשיו זה ' בשלה’ כדי להציג את העמודים האחרים. הבא, פתח את SharePoint designer, נווט לספריית הבסיס אוסף אתר ואתר ItemStyle.xsl. עותק אחד של התבניות כנקודת התחלה שימושית. לחזור ולשנות את CQWP לעשות שימוש בתבנית חדשה זו. לבסוף, לשנות את התבנית כדי לעבד את השדות החדשים! (אל תשכחו לבדוק שאותו בחזרה כל כך אחרים המשתמשים יוכלו לראות את התוצאות)."

. זה כל כך ברור לי (ורובנו SharePoint מפתחים סוגי) מה קורה, איך זה די נחמד, באמת, כי ההיבטים לאחזור נתונים של CQWP הם כל-כך טוב-נפרדת מן ההיבטים מצגת נתונים. אבל, זה לא כל כך קל להסביר, זה?

<סיום />

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

הצגת תוצאות חלק אינטרנט של שאילתת תוכן ברשת / טבלה

מבט כולל על וחשיבה אובייקטיבית

מחוץ לקופסה, מוס’ Web Part של שאילתת תוכן (CQWP) מציג את התוצאות שלה בתבנית רשימה, דומה על תוצאות חיפוש. זה גם אפשרי להציג את התוצאות בתבנית רשת (כלומר. טבלת html). תבניות רשת טובים יותר בנסיבות מסוימות. אתאר כיצד להגיע לתוצאה זו במאמר זה.

תרחישים עסקיים

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

התמונה

הגישה הטכנית דומים במידה רבה כפי שמתואר כאן (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP משתמשת שינוי XSL לפלוט HTML עבור הדפדפן לעיבוד.

אני תמיד לדמיין את התוצאה לפני הצלילה ה-XSL כי XSL היא סיוט. . הנה את התוצאה הרצויה:

התמונה

HTML כמו זה יוצר תוצאה זו:

<html>
 <הגוף>
 <מרכז>
 <טבלה גבול= 1>

<!-- תוויות –>
 <. tr צבע רקע= כחול>
 <td><גופן צבע= לבן><b>שם פרוייקט</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>לתאריך הושלמה</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>תקציב</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>הוצאות בפועל</b></גופן></td>
 <td><גופן צבע= לבן><b>המצב הכללי</b></גופן></td>
 </. tr>

<. tr>
 <td>Re-wire חדר מחשבים.</td>
 <td יישור= מימין>02/01/08</td>
 <td יישור= מימין>22,500.00</td>
 <td יישור= מימין>19,000.00</td>
 <td>בביצוע</td>
 </. tr>

<. tr>
 <td>אספקת שרתים עבור שדרוג SQL</td>
 <td יישור= מימין>04/01/08</td>
 <td יישור= מימין>7,500.00</td>
 <td יישור= מימין>0.00</td>
 <td>מתוכנן</td>
 </. tr>

</טבלה>
 </מרכז>
 </הגוף>
</html>

גישה

בצע את השלבים הבאים כדי ליצור את הרשת:

  1. לזהות את הרכיבים של רשת (שורות/עמודות).
  2. להגדיר וליצור עמודות אתר הדרושים.
  3. יצירת אתרי משנה עבור פרוייקטים ורשימות סינגלטון.
  4. הוסף את CQWP לדף אינטרנט והגדר אותו לחיפוש אחר הרשימות שלך.
  5. שנה של CQWP XML כדי לאסוף את עמודות נוספות.
  6. שנה את ה-XSL ליצירת טבלה.

. אני הולך להתרכז במספר שש. מספרי אחד עד ארבע הם ישר קדימה ומשהו כל משתמש CQWP כבר עשה. מספר חמש היה מתועדת היטב על-ידי אחרים כולל מאמר ממצה של לאדן צילום מסך מתוך MSDN כאן (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) ובלוגים הת'ר שלמה כאן (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

עלון

להתחיל וליישם את שלבים אחת עד חמש לפי התיעוד MSDN ו מאמר הת'ר שלמה.

בנקודה זו, שהוספת לדף CQWP שלך ויש לך שלך <CommonViewFields> נקבעה לפי הצורך.

ביצוע השלבים הרגילים, ניתן לקבל תוצאות ביניים אלה:

1. יצירת סוג תוכן, רשימה מותאמת אישית templatized עבור סוג תוכן זה, שני אתרים. . הנה סוג התוכן:

התמונה

הנה מבנה האתר:

התמונה

2. הוסף את CQWP לאחר יצירת אתרי משנה של הפרוייקט ואת סינגלטון שלי רשימות סיכום של פרוייקטים:

התמונה

3. להוסיף כל מידע נוסף אני רוצה דרך <CommonViewFields>:

        <מאפיין שם="CommonViewFields" סוג="מחרוזת">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</מאפיין>

שים לב כי הייתי חייב לשמור על שדות המאפיינים שורה זו או שהיא לא תתאים (CQWP יספר לי כי השאילתה החזירה פריטים).

4. בנקודה זו, . אנחנו מוכנים לזוז מעבר במאמר MSDN ו על היפוך למאמר של הת'ר שלמה. בצע את השלבים שלה מתחיל ליד שלב #5 כדי ליצור מותאם אישית / גרסה unghosted של ItemStyle.xsl. עצתו של הת'ר, דרך שלב 11 ולקבל תוצאות ביניים אלה:

4.1: שם אזור תבנית XSL כדלקמן:

<xsl:שם התבנית = "ברשת" להתאים = "שורה[@Style = 'רשת']" מצב = "itemstyle">

ניתן לשנות אותה הציע גם מעט <xsl:עבור-כל …> על-ידי הוספה <br /> תג כדי לספק רישום כלי הניקוי:

    <xsl:עבור-כל בחר="@*">
      P:<xsl:הערך בחר="שם()" /><br/>
    </xsl:עבור-כל>

4.2: ניתן לשנות את ה-web part, עבור אל המראה ובחר שלי ברשת"" סגנון:

התמונה

להחיל את השינוי, הרי התוצאה:

התמונה

נוכל לראות לעיל כי השדות אנחנו רוצים (שם פרוייקט, הוצאות, מצב, ועוד) זמינים עבורנו לשימוש כאשר אנחנו פולטים את ה-HTML. לא רק זה, אבל אנחנו רואים את השמות שבו. אנחנו ועליו להפנות את העמודים ב- ה-XSL. לדוגמה, אנו מפנים מצב הפרוייקט כ- "Project_x005F_x0020_Name".

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

ContentQueryMain.xsl

הערה: בעת ביצוע שינויים שני ContentQueryMain.xsl וגם ItemStyle.xsl, עליך להכניס שחזרה קבצים אלה לפני לראות את השפעת השינויים שלך.

למטרות יצירת רשת, מוס משתמש שני קבצי XSL שונים כדי להפיק את התוצאות שאנחנו רואים מן CQWP. כדי ליצור את החלק הקודם של פלט, שינינו ItemStyle.xsl. מוס שבאמת משתמשת בקובץ XSL אחר, ContentQueryMain.xsl ל בשיתוף עם ItemStyle.xsl כדי ליצור את ה-HTML שלו. כפי ששמו מעיד עליו, ContentQueryMain.xsl הוא הראשי"" XSL השולט הזרם הכללי של תרגום. זה סובבת בין כל הפריטים שנמצאו ומעביר אותם אחד אחד כדי תבניות ב- ItemStyle.xsl. אנחנו לשנות ItemStyle.xsl כדי ליצור פתח <טבלה> תג לפני פליטת בשורה הראשונה של הנתונים וסגירת <טבלה> תג לאחר פליטת השורה האחרונה. כדי להשיג את זה, ContentQueryMain.xsl משתנה להעביר פרמטרים שני לרשת שלנו"" תבנית ב- ItemStyle.xsl, "השורה האחרונה" "השורה הנוכחית". ItemStyle.xsl משתמש בהם באופן מותנה לפלוט את התגים הדרושים.

בטכניקה הת'ר שלמה, אנחנו אתר ContentQueryMain.xsl. הוא ממוקם באותו מקום כמו ItemStyle.xsl. צילום מסך זה אמור לעזור:

התמונה

אנחנו צריכים לבצע את השינויים הבאים:

  • שינוי תבנית xsl, "CallItemTemplate" זה למעשה מפעיל תבנית הרשת שלנו ב- ItemStyle.xsl. . אנחנו נחלוף שני פרמטרים על תבנית רשת כך יהיו לו את הנתונים שצריך להתאוששות פתיחה וסגירה <טבלה> תגים.
  • לשנות מעט אחר ContentQueryMain.xsl הקורא "CallItemTemplate" כדי להעביר אותה "LastRow" פרמטר כך LastRow כי ייתכן שניתן לגרום לדעיכתם לתבנית הרשת שלנו.

אתר את התבנית בשם "OuterTemplate.CallItemTemplate" מזוהה על-ידי המחרוזת:

  <xsl:תבנית שם="OuterTemplate.CallItemTemplate">

החלף את התבנית כולה כדלקמן:

  <xsl:תבנית שם="OuterTemplate.CallItemTemplate">
    <xsl:param שם="CurPosition" />

    <!--
      הוספת "LastRow" הפרמטר.
      נוכל להשתמש בו רק כאשר המעבר סגנון פריט "רשת".
    -->
    <xsl:param שם="LastRow" />

    <xsl:בחר>
      <xsl:כאשר מבחן="@ סגנון = 'NewsRollUpItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="EditMode" בחר="$cbq_iseditmode" />
        </xsl:החלת תבניות>
      </xsl:כאשר>
      <xsl:כאשר מבחן="@ סגנון = 'NewsBigItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="CurPos" בחר="$CurPosition" />
        </xsl:החלת תבניות>
      </xsl:כאשר>
      <xsl:כאשר מבחן="@ סגנון = 'NewsCategoryItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="CurPos" בחר="$CurPosition" />
        </xsl:החלת תבניות>
      </xsl:כאשר>

      <!--
              המיקום הנוכחי של מעבר, lastrow לתבנית itemstyle.xsl ברשת.
              ItemStyle.xsl ישתמש בו לפלוט פתיחה וסגירה <טבלה> תגים.
      -->
      <xsl:כאשר מבחן="@ סגנון = 'רשת'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="CurPos" בחר="$CurPosition" />
          <xsl:עם param שם="האחרון" בחר="$LastRow" />
        </xsl:החלת תבניות>
      </xsl:כאשר>

      <xsl:אחרת>
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
        </xsl:החלת תבניות>
      </xsl:אחרת>
    </xsl:בחר>
  </xsl:תבנית>

ההערות מתארות את המטרה של השינויים.

בטח, "OuterTemplate.CallItemTemplate" עצמה נקראת תבנית אחרת. אתר את התבנית על-ידי חיפוש מחרוזת טקסט זו:

<xsl:תבנית שם="OuterTemplate.Body">

לגלול ההוראות OuterTemplate.Body וכדי להוסיף את הפרמטר LastRow כדלקמן (מוצג כתהליך של תגובה בכתב נטוי):

<xsl:תבנית קריאה שם="OuterTemplate.CallItemTemplate">
  <xsl:עם param שם="CurPosition" בחר="$CurPosition" />
  <!-- הוסף את הפרמטר LastRow. -->
  <xsl:עם param שם="LastRow" בחר="$LastRow"/>
</xsl:תבנית קריאה>

אחרי כל זה, סוף סוף יש לנו דברים מוגדר כהלכה כך ItemStyle.xsl שלנו מסוגל לפלוט <טבלה> תגים בהמקום המתאים.

ItemStyle.Xsl

הערה: שוב, בדוק ב- ItemStyle.xsl לאחר ביצוע שינויים, כך שתראה את ההשפעה של שינויים אלה.

יש לנו שתי פעילויות כאן:

  • להחליף את התבנית הרשת כולה. אתה יכול העתקה/הדבקה מלמטה.
  • להוסיף כמה ג'מבו mumbo מחוץ להגדרת תבנית המאפשרת "formatcurrency" תבנית לעבודה. (באפשרותך לדעת שיש לי נקודת אחיזה רפים ב- XSL).

הראשונה, ליד החלק העליון של ItemStyle.xsl, הוסף את השורה:

  <!-- כמה ג'מבו mumbo אשר מאפשרת לנו להציג את ארה. מטבע. -->
  <xsl:תבנית עשרונית שם="סגל" ספרה="יח" />

  <xsl:תבנית שם="ברירת מחדל" התאמה="*" מצב="itemstyle">

הערה כי הוספתי אותו ישירות לפני <xsl:שם התבנית = "ברירת מחדל" …> הגדרה.

הבא, לחזור לתבנית הרשת שלנו. להחליף את התבנית לרשת כולה עם הקוד שלהלן. זה ביסודיות, הוא הגיב, אך אל תהסס שלח לי דוא ל או להשאיר הערות על הבלוג שלי, אם יש לך שאלות.

  <xsl:תבנית שם="רשת" התאמה="שורה[@ סגנון = 'רשת']" מצב="itemstyle">

    <!--
      ContentMain.xsl עובר CurPos ולבסוף.
      אנו משתמשים אלה מותנה לפלוט פתיחה וסגירה <טבלה> תגים.
    -->
    <xsl:param שם="CurPos" />
    <xsl:param שם="האחרון" />

    <!-- המשתנים הבאים הם שלא שונתה מ ItemStyle.xsl רגיל -->
    <xsl:משתנה שם="SafeImageUrl">
      <xsl:תבנית קריאה שם="OuterTemplate.GetSafeStaticUrl">
        <xsl:עם param שם="UrlColumnName" בחר="'ImageUrl'"/>
      </xsl:תבנית קריאה>
    </xsl:משתנה>
    <xsl:משתנה שם="SafeLinkUrl">
      <xsl:תבנית קריאה שם="OuterTemplate.GetSafeLink">
        <xsl:עם param שם="UrlColumnName" בחר="'LinkUrl'"/>
      </xsl:תבנית קריאה>
    </xsl:משתנה>
    <xsl:משתנה שם="DisplayTitle">
      <xsl:תבנית קריאה שם="OuterTemplate.GetTitle">
        <xsl:עם param שם="כותרת" בחר="@Title"/>
        <xsl:עם param שם="UrlColumnName" בחר="'LinkUrl'"/>
      </xsl:תבנית קריאה>
    </xsl:משתנה>
    <xsl:משתנה שם="LinkTxslet">
      <xsl:אם מבחן="@OpenInNewWindow = "true"" >_ blank</xsl:אם>
    </xsl:משתנה>

    <!--
      כאן אנו מגדירים משתנה, "tableStart".  מכיל את ה-HTML שבהם אנו משתמשים כדי להגדיר את הפתיחה של הטבלה, כמו גם לצד תוויות העמודה.  שים לב כי אם CurPos = 1, זה כולל את ה-HTML בתוך תג CDATA.
      אחרת, זה יהיה ריק.

      הערך של tableStart הוא emited בכל פעם ItemStyle נקראת על ידי ContentQueryMain.xsl.
    -->
    <xsl:משתנה שם="tableStart">
      <xsl:אם מבחן="$CurPos = 1">
        <![CDATA[
        <גבול הטבלה = 1>
          <צבע רקע tr = "כחול">
            <td><צבע גופן = "לבן"><b>שם פרוייקט</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>לתאריך הושלמה</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>תקציב</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>הוצאות בפועל</b></גופן></td>
            <td><צבע גופן = "לבן"><b>המצב הכללי</b></גופן></td>
          </. tr>
        ]]>
      </xsl:אם>
    </xsl:משתנה>

    <!--
      משתנה נוסף, tableEnd מגדיר בפשטות סגירת טבלה בתג.

      כמו עם tableStart, . זה תמיד emited.  זו הסיבה מדוע הערך שלו מוקצית באופן מותנה על פי אם כבר עברנו את השורה האחרונה על ידי ContentQueryMain.xsl.
    -->
    <xsl:משתנה שם="tableEnd">
      <xsl:אם מבחן="$CurPos = $Last">
        <![CDATA[ </טבלה> ]]>
      </xsl:אם>
    </xsl:משתנה>

    <!--
      תמיד פולטים את התוכן של tableStart.  אם זו לא השורה הראשונה המועבר אלינו על ידי ContentQueryMain.xsl, אז אנחנו יודעים שאת הערך שלו יהיה ריק.

      בטל את פלט לברוח מכאן, כי כאשר tableStart זה לא ריקות, הוא כולל HTML בפועל שאנו רוצים להיות מעובד על-ידי הדפדפן.  אם לא נספר מנתח XSL כדי לבטל את הפלט בריחה, זה יפיק דברים כמו"&lt;טבלה&gt;" במקום של"<טבלה>".
    -->
    <xsl:הערך בחר="$tableStart" בטל-פלט-בריחה="כן"/>


    <. tr>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <td>
        <xsl:הערך בחר="@ Project_x005F_x0020_Name"/>
      </td>

      <td יישור="מימין">
        <xsl:הערך בחר="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td יישור="מימין">
        <xsl:תבנית קריאה שם="formatcurrency">
          <xsl:עם param שם="ערך" 
בחר="@ Project_x005F_x0020_Budget"></xsl:עם param> </xsl:תבנית קריאה> </td> <td יישור="מימין"> <xsl:תבנית קריאה שם="formatcurrency"> <xsl:עם param שם="ערך" בחר="@ Project_x005F_x0020_Expenses">
</xsl:עם param> </xsl:תבנית קריאה> </td> <td> <xsl:הערך בחר="@ Project_x005F_x0020_Status"/> </td> <!-- כל הפעולות הבאות כהערות להבהיר את פני הדברים. עם זאת, להחזירן, ודחס אותו לתוך <td> כדי לראות את השפעתו. --> <!-- <div id = "linkitem" class = "פריט"> <xsl:אם בדיקת = "מחרוזת באורך($SafeImageUrl) != 0 "> <div class = "תמונת-שטח-שמאל"> <href = "{$SafeLinkUrl}" היעד = "{$LinkTxslet}"> <img class = "תמונת-ברוחב קבוע" src = "{$SafeImageUrl}"
alt = "{@ ImageUrlAltText}"/> </של> </div> </xsl:אם> <div class = "קישור-פריט"> <xsl:תבנית קריאה
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <href = "{$SafeLinkUrl}"
היעד = "{$LinkTxslet}" כותרת = "{@ LinkToolTip}"> <xsl:הערך של בחר = "$ DisplayTitle" /> </של> <div class = "תיאור"> <xsl:הערך של select="@Description" /> </div> </div> </div>
--> </. tr> <!-- לפלוט סגירת תג של טבלה. אם אנחנו לא נמצאים בשורה הראשונה, זה יהיה ריק. --> <xsl:הערך בחר="$tableEnd" בטל-פלט-בריחה="כן"/> </xsl:תבנית> <xsl:תבנית שם="formatcurrency"> <xsl:param שם="ערך" בחר="0" /> <xsl:הערך בחר='עיצוב מספר($ערך, "$ DDD,DDD,DDD.DD", "צוות")' /> </xsl:תבנית>

מסך הזנת הנתונים של WSS/מוס רגיל אינם תומכים נפתחות מדורגים (או אחרים אינטרה-מן התקשורת)

עדכון (04/2008): בערך זה בלוג נהדר מציג גישה מבוסס javascript טוב לבעיה הזאת: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

עדכון II: (04/2008): הפוסט בבלוג הזה נראה מבטיח גם כן: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

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

  • רשימת בארה. הברית
  • רשימת בארה. ערים.

כמו ספקי ממשק המשתמש אחראי, אנחנו רוצים לפעול ככה:

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

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

המטרה האמיתית של מאמר זה כדי לתאר את הפתרונות האפשריים ואת אלה נמצאות האפשרויות כפי שאני מכיר אותם:

  1. לפתח סוג העמודה מותאם אישית. כמפתח מותאמת אישית-טור-, יש לך שליטה מלאה על העולם"" של העמודה מותאם אישית. באפשרותך ליישם מדורגים נפתחת ככה.
  2. שקול להשתמש בזרימת עבודה. במקרים מסוימים, ברצונך להקצות באופן אוטומטי ערך לשדה בהתבסס על הערך של שדה אחר. במקרה זה, בדרך כלל שתנסה להשתמש בעמודה מחושבת, אבל כמה פעמים, זה פשוט לא לעשות את העבודה. זרימת עבודה של SharePoint Designer היא אלטרנטיבה ידידותית לניהול יחסית הטלת מטה לתוך קוד ו- visual studio. אם תלך בדרך הזאת, להיות מודעים לבעיה שנדונה מאמר זה (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. מטפלים באירועים: כמו זרימת עבודה, פתרון לאחר--עובדה. באירועים שלך היא הרכבה של .NET (C #, VB.NET) כדי SharePoint אשר מעביר שליטה. האובייקט שאתה לפתח יש גישה לכל הנתונים של הרשימה (מודל האובייקט כולו) יכול לעשות את כל הדרוש חישוב.
  4. השתמש SharePoint Designer כדי ליצור טפסים של הזנת מותאם אישית. אין לי ניסיון ישיר עם גישה זו, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. רול הפונקציה הזנת נתונים משלך ASP.NET (כדף אינטרנט עצמאי או כ- web part) והוא השתמש בזה במקום.

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

<סיום />

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

כן/לא (תיבת הסימון) סינון ב- Web Part שאילתת תוכן

כדי לבצע סינון עבור שאילתה עבור הכן/לא תיבת הסימון שכותרתו "אבן דרך עמוד", קביעת תצורה של CQWP כמו זה:

התמונה

זו עוד אחת השאלות האלה ברור-פעם אחת-אתה-יודע-זה אבל hard-to-find-an-answer-to: כיצד לסנן על כן/לא תיבת הסימון באמצעות ה-web part שאילתת תוכן.

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

זה די קל: נכון ערכים = "1" ו- false ערכים שאינם שווים ל "1" (רטרו יפה, למעשה).

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

<סיום />