מהיר ופשוט: להקצות משאבים אתר באמצעות מודל האובייקט של SharePoint ב- C #

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

קוד זה יוצר אתר Wiki חדש:

 SPSite siteCollection;

    siteCollection = חדש SPSite(ב- "http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "כותרת xyzzy",
        "תיאור xyzzy", 1033, SPWebTemplate.WebTemplateWIKI, שווא, שווא);

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

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

</קצה>

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

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

לשלב 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 🙂

</קצה>

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

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

יום ראשון מצחיק: “אני תוהה אם הסיסמה שלך …”

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

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

המכללה היה קצת שמש תחנת עבודה/שרתים המפעילים X-חלון. הם היו מסכי ענק, המהנדסים השתמשו בהם CAD ועוד דברים מהנדס משעמם. אנחנו CS אנשים השתמשו בהם כדי ללמוד תכנות,, בטח, כדי לשחק משחקים.

אנחנו לא כמו המהנדסים המחשב-אונים הרבה אז אחד הדברים שאנחנו אוהבים לעשות יהיה telnet לתיבה הם היו על ולהפעיל X-עין עליהם. זה צצים זוג עיניים בעקבות העכבר על המסך. אתה יכול לצוץ יותר ויש לך פשוטו כמשמעו תריסר או יותר של יישומים X-עין פועל. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

שיחקנו גם X-טרק את הקופסאות. לעשות את זה, היית צריך להוריד את מקור, להשיג קשרים שונים בכל מקום שבו אתה יכול למצוא אותם, לבנות את זה. הייתי מתכנת C מתוחכם, אבל אני יכול לקרוא קבצי כותרות. חיפשתי דרך אלה ומצאתי הוראות כמו "#DEFINE MAX_TORPEDO_DISTANCE 10". . אני שיחקתי עם להגדיל טווח וכוח עבור שלבים וטורפדו, בנה אותו מחדש ולאחר מכן הושמד גייב בפעם הבאה שיחקנו.

גייב היה גם מעריצה גדולה של תוכנית טלוויזיה בשם של בלייק 7. אף פעם לא ראיתי אותו, . אבל זה לא למנוע ממני להתעקש שד ר. מי זה המופע סופריור. The arguments would get heated at times 🙂

יום אחד, עלה בדעתי כי אני בטח יכול לנחש את הסיסמה UNIX שלו. התיישבתי לידו יום אחד והכריז בקול רם, "אני הולך לנחש את הסיסמה שלך עכשיו, . גייב." ". כן-, מימין" הוא ענה. ואז מחובר / ת, הזנת מזהה המשתמש שלו, פנה להתמודד איתו, הקלדת ואמר בקול רם, "אני תוהה אם זה B-L-A-K-E-7" ? הקלדת מגע לא השתלמה בנדיבות כפי שהיה באותו יום.

בשבוע הבא (או בקרוב): תעלוליו חדר המחשב יותר מהמכללה.

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

</קצה>

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

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

משניות הודעה ציבורית: הגדרות האבטחה חיה של Windows ובעלי שטח בפנייה

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

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

</קצה>

הסבר פשוט: “הערך אינו נמצא בטווח הצפוי.”

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

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

שגיאה בטעינת ופועלים אירוע מקלט Conchango.xyzzyEventReceiver xyzzy, גירסה = 1.0.0.0, תרבות = נייטרלי, PublicKeyToken = 0dc50a750396c3ac. פרטים נוספים הוא מתחת. : הערך לא נופל בתוך הטווח הצפוי.

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

מאפיינים.פריט הרשימה["תאריך יעד"]

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

מאפיינים.פריט הרשימה["תאריך יעד"]

</קצה>

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

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

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

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

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

1 – לפי סוג החומר
2 – כל המסמכים
3 – תאריך יעד

-או-

A – לפי סוג החומר
B B – כל המסמכים
C – תאריך יעד

יש לי גם יצר תצוגות שמטרתה היא אך ורק להאכיל KPI. אני עוקב מוסכמה זו:

Z_KPI_[תיאור]

הגורמת אזור KPI"" תצוגות תופיע בתחתית הרשימה.

</קצה>

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

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

יום ראשון מצחיק: “כאשר הייתי ילד קטן”

כהורה, איפשהו לאורך הדרך גיליתי "כשהייתי ילד קטן" טריק.

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

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

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

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

</קצה>

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

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

אין אפשרות לאבטח נוף ועמודות על רשימות וספריות מסמכים

עדכון (02/29/08): הפרוייקט החדש הזה codeplex נראה כדי לספק שיטה לאבטחת עמודות בודדות: http://www.codeplex.com/SPListDisplaySetting. אם יש לך ניסיון עבודה עם זה, אנא השאירו תגובה.

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

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

תשובות אלה חלות על שתי WSS 3.0 אזוב:

  • SharePoint אינה מספקת תמיכה out-של--box לאבטחת צפיות.
  • SharePoint אינה מספקת תמיכה-התקנים עבור עמודות אבטחה.

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

  • להשתמש באבטחה ברמת פריט out-של--box. נוף תמיד לכבד את תצורת אבטחה ברמת הפריט. מקלטי אירוע ו/או זרימת עבודה ניתן להפוך לאוטומטי אבטחה הקצאה.
  • השתמש תצוגות אישיות "חסוי" נוף. . אלו קל מספיק להגדיר. עם זאת, בשל "האישי שלהם" טבע, אלה חייבת להיות מוגדרת עבור כל משתמש. שימוש בהגדרות אבטחה סטנדרטיות כדי למנוע מכל אדם אחר יצירת תצוגה אישית.
  • Web part של תצוגת נתונים ולהשתמש ליישם איזשהו פתרון זמירה אבטחה AJAXy.
  • רול פונקציונליות תצוגת הרשימה שלך ולשלב זמירה אבטחה ברמת עמודה.
  • לשנות את טפסי הזנת נתונים ולהשתמש JavaScript בשילוב עם מודל האבטחה כדי ליישם אבטחה ברמת עמודה זמירה.
  • השתמש בטופס של InfoPath עבור הזנת נתונים. ליישם אבטחה ברמת עמודה זמירה באמצעות שיחות שירות אינטרנט של SharePoint, מותנה הסתר שדות לפי הצורך.
  • רול משלך הפונקציה הזנת נתונים של ASP.NET המיישם את זמירה אבטחה ברמת עמודה.

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

הערה: אם אתה נופל כל הנתיבים האלה, אל תשכח "פעולות-> פתוח עם סייר Windows". אתה רוצה להיות בטוח. לבדוק עם תכונה זו כדי לוודא שזה לא עובד בתור "דלת אחורית" להביס את ערכת אבטחה.

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

</קצה>

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

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

עצה מהירה: מספרי גירסה BDC ADF החברים שלך

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

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

להגיש את זה תחת "זה ברור ברגע שאתה רואה את זה".

דוגמה:

<LobSystem
xmlns:xsi="http://www.w3.org/ 2001/סכימת Xml-מופע" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" סוג="WebService" גירסה="1.2.0.0" שם="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

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

</קצה>

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

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

פתרון: דוגם BDC מראה עמודה אחת בלבד של תוצאות

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

גישה דוגם על-ידי לחיצה על הסמל של ספר פתוח של עמודה של נתונים עסקיים כפי שמוצג:

התמונה

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

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

clip_image002

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

clip_image002[1]

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

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

להגדיר את בוחר להציג עמודות מרובות באמצעות ShowInPicker"" מאפיין ב- ADF:

<רכוש שם="ShowInPicker" סוג="System.Boolean">נכון</רכוש>

בפירוט רב יותר:

  <!-- כותרת -->
  <TypeDescriptor TypeName="System.String" שם="כותרת" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">כותרת</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <מאפייני>
      <רכוש שם="DisplayByDefault" סוג="System.Boolean">נכון</רכוש>
      <רכוש שם="ShowInPicker" סוג="System.Boolean">נכון</רכוש>
    </מאפייני>
  </TypeDescriptor>

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

הנה התוצאה:

התמונה

(אני אסביר את המוזר "168 – CamlSchema.xsd" בנייה בפוסט בבלוג בעתיד. בקיצור, זוהי מחרוזת משורשרת המאפשר חוויית משתמש משופרת במקצת).

בטח, לאחר שכתב את הפוסט בבלוג הזה, . עשיתי חיפוש אחר "ShowInPicker" ומצאתי להיטים רבים, כולל זה: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. זה מסביר את המשמעות של הנכס הזה יחד עם אחרים BDC חומר טוב.

</קצה>

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

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