March 2010 - Posts
Microsoft, as a company uses the blog platform a lot. To push forward, and spread out it’s technologies, and to provide professional reliable information to the customer.
This also apply to the product teams developing the products we use.
I have gathered a list of the different product teams that are relevant to me – mainly Office and SharePoint teams. (Yes there’s more that one team in the SharePoint product group.
You can download as an OPML file, that can be imported directly into your favorite RSS reader.
Download link:
http://blogs.microsoft.co.il/files/folders/itaysk/entry569303.aspx
Another little bug (I think) with SPMetal (SharePoint 2010 Beta 2)..
I seems that Task lists are created of type “Microsoft.SharePoint.Linq.EntityList<Item>” instead of “Microsoft.SharePoint.Linq.EntityList<Task>”.
It’s kind of funny considering that it already generates the “Task” class perfectly, but doesn’t use it anywhere.
I solved this by manually fixing the code.
That is – Locating the Tasks list property, and changing the generic type to Task, and all of it’s dependencies.

Tried running SPMetal on a Windows 7 development machine, and got this:
Took me quite a while to figure out it’s a security problem, and that the workaround is to “Run as administrator” the Command Prompt console.
I can’t remember seeing this anywhere.. so Keep that in mind.
Error message for search engines:
“Error: The WEb Application at http://server could not be found. Verify that you have typed the URL correctly…”
מפגש שלישי של קבוצת מפתחי SharePoint יתקיים בתאריך 25/04/2010 בין השעות 17:30 – 20:00 במשרדי מיקרוסופט ברעננה.
הפעם ההרצאות יועברו על ידי ליאור זמיר, מרצה בכיר בחברת ג'ון ברייס הדרכה מקבוצת מטריקס.
אתר המפגש: http://www.sharepoint2010.co.il/events/spdg3
לינק להרשמה: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032447612&Culture=he-IL
תיאור המפגש:
הנכם מוזמנים למפגש השלישי של קהילת מפתחי SharePoint. במפגש זה נציג כיצד ניתן לשלב בין יישומי Office, המספקים תשתית רחבה לפיתוח ושילוב אפליקציות בסביבת העבודה הטבעית של המשתמש, לבין סביבת SharePoint, באמצעות - Visual Studio - תוך שימוש בעוצמה של פלטפורמת NET.
סדר יום:
17:30-17:45 – התכנסות
17:45-18:45 - יתרונות הפיתוח באמצעות Visual Studio Tools for Office
כיצד VSTO מאפשר למתכנתים להשתמש בפלטפורמת Office ובסביבתVisual Studio 2008/2010 לפתח פתרונות עסקיים (Office Business Applications).
18:45-19:00 - הפסקה וכיבוד קל
19:00-20:00 – פיתוח VSTO עבור SharePoint – חיבור יישומי Office לסביבתSharePoint באמצעות שילוב שלClient Object Model לשליפת הנתונים מ- SharePoint (כדוגמת רשימות) ושימוש ב- VSTO להצגת הנתונים וכריכתם ביישומי ה- Office השונים (Word, Excel , PPT, Outlook וכד').
בנוסף, נראה כיצד לפרסם ולהפיץ את הפרוייקטים לסביבתSharePoint עם מנגנון ClickOnce.
20:00 - סיום משוער
להתראות במפגש,
איתי.
היום נערך כנס המפתחים השנתי של מיקרוסופט – Developer Academy 4, בו העברתי הרצאת דמו על גישה למידע ב SharePoint 2010.
לשימושכם, חומרים מהכנס:
מצגת:http://blogs.microsoft.co.il/dev4/SPS02.pptx
קוד:http://blogs.microsoft.co.il/files/folders/itaysk/entry556678.aspx
תודה רבה על ההשתתפות והפידבקים החיוביים,
להתראות בכנס הבא,
איתי.

הפוסט הזה הולך לדבר על נושא לא טכני לשם שינוי - הטמעה של SharePoint ועל תרבות ארגונית (וקצת על איך זה חוסך כסף לארגון וכאב ראש ל IT). הטריגר לפוסט הזה הוא מקרה אמיתי אצל אחד הלקוחות שיצא לי לבקר.
יותר מידי מיילים
שמתי לב שבמהלך יום עבודה ממוצע, מגיעים לתיבת הדואר של כל עובד בממוצע 4 מיילים. מדובר על מיילים כלליים כגון רווחת עובדים, הודעות חברה, אירועים וכו’.
לי זה נותן הרגשה של ספאם. לאחר שבוע של העדרות תיבת הדואר שלי מנתה 15 מיילים, שאת כולם יכולתי למחוק בהינד עפעף, סימן לחשיבותם.
מיילים לא רלוונטיים
חלק מהמיילים נשאו כותרות מהסוג “הודעה ללקוחות מערכת XXX”. כאן אני חושב שהרמז די ברור – לשלוח את ההודעה אליהם בלבד!
שימוש לא נכון במייל
במיוחד שבה את תשומת ליבי מייל אחד מסויים שאשתמש בו לצורך הדוגמא.
המייל נשא את הכותרת: Document1. מעולה..
אני ניגש לפתוח את המייל, ורואה שהוא ריק מתוכן, ומצורף אליו מסמך Word העונה לשם Doc1, זה הולך ומשתפר..
אני פותח את המסמך ורואה משפט אחד: “הכרטיס המגנטי לשי פסח פעיל, ואפשר להשתמש בו”.
המייל הזה הדהים אותי. כמה מאמץ להעביר מסר כל כך פשוט.
האלטרנטיבה היא, כמובן, להשתמש ברשימת “הודעות” בפורטל החברה, ולהזין לשם את כל ההודעות. לצורך השוואה ביצעתי את הבדיקה, ויצרתי פריט ברשימת הכזרות עם אותו טקסט בדיוק (כולל אותו צבע, ועיצוב פונט, למען ההגינות.. גם זה תופס מקום).
רציתי לראות מה החסכון בנפח דיסק. והתוצאות:
0.81Kb לעומת 30Kb – שיפור של 370%.
נשמע לכם הרבה..? זה אפילו לא קרוב לכמה שזה באמת.. כי כשמדובר באימייל, ההודעה שוכנת בכל תיבה של כל עובד בעותק נפרד. כלומר שאת המספר הזה אתם צריכים להכפיל במספר העובדים. באלטרנטיבה של הרשימה, לצורך העניין, קיים עותק אחד ויחיד שמשמש את כולם.
אז כמה בעצם אנחנו מרוויחים פה? (נניח שיש בארגון 1000 תיבות דואר)
0.81Kb לעומת 30,000Kb – שיפור של 37,000% !!!
סיכום
מהפוסט הזה אני יוצא עם כמה מסקנות:
-
למדו להישתמש בכלים העומדים לרשותכם (פורטל).
-
למדו לא לנצל לרעה שימוש בכלים אחרים (מייל).
-
בפעם הבאה שאתם צריכים קלף טוב בויכוח נגד IT או הנהלה על היתרון בפורטל – אני חושב שהדוגמא הזאת על חסכון בנפח דיסק תספק אותם.
-- שמי איתי שקורי, ואני יועץ SharePoint--
Ever wondered what’s the actual size on disk that a list item takes?
It might be useful fact to know when planning for capacity, or investigating free space issues.
Well.. If we think about it, a list item is just a row in the database.. isn’t it? Actually.. maybe it’s a few rows in different tables.. Wait, what about the item’s fields..?
Coming to think bout it, this method of calculating the different parts of a list item is too complicated. We need another method.
I actually used a different one. I used the StorageManagementInformation method of the SPSite object.
I used it do get an exact measurement of the size of lists in my site.
These were my findings: (for lists with 0 items)
| List Type | Size of list (in Bytes) | Size of list (in Kb) |
| Announcements | 12213 | 11.93 |
| Links | 12213 | 11.93 |
| Custom | 12213 | 11.93 |
| Contacts | 12213 | 11.93 |
| Calendar | 17511 | 17.10 |
| Discussion | 17511 | 17.10 |
| Tasks | 25468 | 24.86 |
It was interesting to see that not all lists were created equal, but that’s not the goal of this post.
For the rest of this study, I decided to concentrate on a list of type “Custom” (a custom list).
Now, that I had the basic numbers, I went ahead and added items to my custom lists.
I created an item, with one char in it’s title, then added one more char… and so on.
These were my findings:
| # of chars in Title | Size of list (in Bytes) |
| 1 | 12243 |
| 2 | 12245 |
| 3 | 12247 |
| … | … |
Which brings me to the conclusion that a single item takes 30 Bytes, and each additional character takes 2 more bytes.
Adding more items and more characters confirmed my findings, and provided a predictable way to calculate the item’s size.
Adding more fields to the list didn’t added additional size to the list items, but each char inside them added those 2 additional bytes, naturally.
Next step was to see how other type of fields behave.
I decided to concentrate on 3 field types: Text, Number, and Date. I noticed that field types such as Number and Date, are not effected by their content. Probably they reserve a specific amount of space in advance.
| Field Type | Size (in Bytes) |
| Single line of text | 2 (Per char) |
| Number | 8 (Fixed) |
| Date | 8 (Fixed) |
For conclusion, we now know some facts and numbers that can help us make size calculations. We know what is the base size of an empty list. We know how much each item costs us, and how much for a field.
We also know that StorageManagementInformation is an easy method to determine the size of lists.
In the past few months, I am learning and working with SharePoint 2010 Beta 2. I read articles, Go to Events, Listen to Web Cast, Participate in courses, Basically trying to absorb SharePoint 2010 in any way I can.
During this process, every time that I bumped into something new, or improved with SharePoint 2010, I wrote it down.
After a Few months, I ended up with this huge list of features.
Some are trivial, some are repeated in different flavors, but if you think to yourself something like “So.. What’s new in SharePoint 2010?” don’t expect it to be short.
I have tried to Categorize the list into 3 different categories: End User\Designer, Dev and IT. As with SharePoint, not everything is well defined into a category.
Anyway, Here’s the list:
End User\Designer
Single master page for both application and site pages
Web Parts can now be integrated inline with text and wiki content, and doesn't require a Web Part Zone.
Visio can be used to initiate a workflow design process.
UI changes:
Status bar
Notifications area
Dialogs
Ribbon
Inline editing in lists
Bulk operations on list items
Wiki can now link to pages/lists/items/docs and provides intellisense
Auto save and Undo stack for browser based page editing.
List views now use customizable XSLT for rendering.
List views can be further customized with InfoPath.
List now supports field validations and duplicates control
List now supports relationships\joins
SQL Server PowerPivot for SharePoint (ex gimini)
Workflow approval tasks can be customized with SPD.
Workflows can be associated at the site level.
Social:
Taxonomy
Rating
note board
bookmarking
Like
There’s an InfoPath viewer web part
Chart WP
External Content Types
Which are created with SharePoint Designer
Silverlight media player supports streaming, caching
Windows Media Server integration for files larger than 2GB
Document IDs (create custom Doc ID provider)
Document sets
Metadata navigation
Search refinement
Wildcard search
As you type suggestions
new keyword query syntax
Phonetic matching for names (itai sakory finds itay shakury)
Email mining
Office Themes support (thmx)
Create custom actions from SPD
Select multiple web parts on the page
BCS in office client
No more explorer view
Access Services
Governance
content types syndication
records
In place record declaration
InfoPath rules - send data to web part, insert related list
Edit CEWP in place
Rich text editor supports XHML
Dev Features
Linq 2 SharePoint
Developer Dashboard
Visual Studio Tools
Import wsp (from Vs, SPD, or Browser)
Win 7 development supported
Client API
REST Services (DataServices)
Standards support (XHTML, WCAG)
Events - synchronous after
Sandbox solutions
Better workflow project\items
WF events (SPWorkfloweventreciever)
WF external data exchange
WebTemplates - site collections scoped site definitions
Property bag features element
Feature\solution upgrade infrastructure
Solution Dependencies
Add fields to CQWP
Contextual filters for CQWP
IT Features
Power Shell
Health reports and analyzer
Services architecture
ULS logging
More control over timer jobs (dedicated servers)
Index partition
Types and subtypes for profiles (sets of metadata)
Really scales out
Better Multi tenancy support
Site collection subscription group
Service App partitioning
LTK - Load testing kit
Request throttling
Remote blob
Claims based Authentication
Multiple authentication providers (novel,sun,bdc. Custom)
Profile import not just from AD
XSS Security
CQWP is not safe for scripting
Check effective permissions UI
Managed accounts
GP deny installation on a machine
new AD service connection point (node called SharePoint farms)
Upgrade: DB and in-place
Block specific SPD features
Automatic Multi server patching
Support for multiple DB versions simultaneously
SMS Alerts for health issues
Timer jobs can be run manually
open logging DB
Customize usage reports with excel
Web analytics web part
Automatic best bets based on analytics
Granular backup\restore
Host header site collections
Unattached content db restore
Mirroring support
Search custom ranking model (not FAST)
RegExp in Search crawl rules
פגישה מס’ 2 של קבוצת מפתחי SharePoint התבטלה לצערי, עקב בעיה ברישום.
אלו שנרשמו אמורים לקבל אימייל על הביטול, וגם טלפון אם הזנתם מספר ברישום.
מצטערים על אי הנוחות, המפגש הבא (25.4) מתקיים כרגיל.
This is probably the oldest trick in the book.. but still – Not everyone had read the book :)
Here’s 3 Query String parameters that I think every SharePoint Developer\Implementer must know about.
DisplayMode=Design
Will take you to design mode when on a web part page (Where you can manipulate web parts and stuff).
ToolPaneView=2
This one will take you to design, and also show the good old web parts tool pane from WSS 2.0.
Contents=1
This one will take you to the web part page’s maintenance page, where you can remove corrupted web parts from the page, and restore it to a working state.
Just add the to the URL of the page.
I use them a lot in environments where menus are hidden or removed, or when the page content is corrupted.
When you link to a page in SP 2010, you can predefine which tab will show up as default when the page loads.
You can do this by adding a query string parameter called “InitialTabID” to the URL of the page.
the Value is any valid tab ID that exists on the destination page.
If you want to know what are the ID’s of the default tabs that comes with SharePoint, Take a look at “14\TEMPLATE\GLOBAL\XML\CMDUI.xml” in your “14 Hive”.
So Let’s say you want to link to an events list, and you want the users to automatically see the “Calendar” tab so they can interact with the calendar list, Your URL should look like this:
http://MyServer/MySite/Lists/Calendar/calendar.aspx?InitialTabID=Ribbon.Calendar.Calendar
And as a result, the page will load up in this ribbon state:

חברים יקרים, מפתחים, אנשי סיסטם, מטמיעים, מיישמים, מאפיינים, עורכי תוכן, ומשתמשים.
אני שמח להכריז על אתר חדש שנוצר במיוחד עבורכם – פורטל SharePoint הישראלי.
האתר עולה לאוויר בהדרגה בימים אלו, ופיתוחו ימשך תוך כדי השבועות הבאים (כפי שיפורט בהמשך).
על האתר
למעשה, האתר הוצג כבר, במהלך המפגש הראשון של קבוצת מפתחי SharePoint במיקרוסופט. הכרזתו של האתר במפגש הראשון של קבוצת מפתחי SharePoint, היא אינה מקרית. למעשה, אני רואה בקבוצה, ובאתר שני פלטפורמות שונות שעונות על אותן מטרות.
האתר הוא כלי נוסף שמאפשר לנו להמשיך את הדיון שהתחלנו במפגש, גם לאחר המפגש, ובמה להעלאת דיונים נוספים. בנוסף, הוא מאפשר לנו להמשיך את התקשורת בין אנשים שעובדים איתנו בתחום.
כתובתו של האתר: www.SharePoint2010.co.il
גרסת בטא
כמובן שהאתר מבוסס בעצמו על SharePoint2010, וככזה, אנחנו כרגע מוגבלים לעבודה עם גרסת הבטא. לכן, האתר יעלה בשלב הזה גם הוא בגרסת בטא.
בשלב הבטא, אנו נפעל במתכונת נסיונית המציגה את תוכן האתר, ואת השירותים השונים שהוא מספק באופן מלא. במהלך שלב הבטא, אנו נאסוף פידבקים מכם, המשתמשים, ונפעל לשפר ולשדרג את האתר, כך שיותאם במידת האפשר לצרכים שלכם.
עם השקת הגרסא הסופית, אנו נעלה את האתר בגרסתו הסופית, כפי שתעוצב על ידיכם במהלך תקופת הבטא.
מה באתר
האתר יכלול בסופו של דבר את התכנים הבאים:
-
קבוצות דיון – מערכת פורומים, הפתוחה לציבור הרחב, מאפשרת לשאול שאלות ולקבל תשובות על המוצר.
-
בלוגים – אגריגציה של כל הבלוגרים הישראלים העוסקים ב SharePoint למקום אחד. הרעיון מקל עליכם לצרוך תוכן שקשור ב SharePoint במקום אחד ומרכזי. בנוסף נאפשר לארח בלוגים מקומית באתר.
-
אירועים – לוח שנה המציג את כל האירועים הקשורים לSharePoint. מפגשי User Group, ימי עיון, בתים פתוחים, כנסים, סדנאות, קורסים, ואירועים נוספים הקשורים ל SharePoint. בנוסף, לאתר יועלו חומרים מאותם אירועים המופיעים בו.
-
מאגר שותפים – רשימת השותפים העוסקים ב SharePoint הפועלים בארץ. כולל פרטים על השותף, ודרכי יצירת קשר.
-
אנשי קשר – אנשי קשר מעניינים בתחום SharePoint בארץ, החל ממומחי SharePoint, וכלה באנשי מיקרוסופט העוסקים במוצר.
-
סיפורי לקוח – דוגמאות לפרוייקטי SharePoint מוצלחים.
מעורבות שלכם
אנו מזמינים את כולכם לקחת חלק ולהשתתף בתהליך, שלחו אלינו את דעתכם על האתר – ישירות, או דרך האתר.
שותפים, בלוגרים, לקוחות, אם תרצו להופיע באתר בדרך כלשהי, נא צרו איתנו קשר.
אנחנו
מאחורי האתר עומדים:
ליאור ארביב
054-7875818
liorarv@gmail.com
איתי שקורי
052-3134220
itaysk@srl.co.il
עדכון: המפגש בוטל
http://blogs.microsoft.co.il/blogs/itaysk/archive/2010/03/09/sharepoint-developers-group-meeting-2-is-canceled.aspx
להזכירכם, מפגש שני של קבוצת מפתחי SharePoint יתקיים בתאריך 10/03/2010 בין השעות 17:30-20:00 במשרדי מיקרוסופט ברעננה.
אתר המפגש: http://www.sharepoint2010.co.il/events/spdg2
הרשמה: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032445062&culture=he-IL
תיאור המפגש:
הנכם מוזמנים למפגש השני של קהילת מפתחי SharePoint החדשה. במפגש זה נציג כיצד ניתן להתמודד בקלות עם האתגר בהטמעת פתרונות ופיתוחים לסביבת SharePoint על ידי שימוש ב Features ו Solutions. ולאחר שהטמענו בהצלחה, כיצד ניתן לזהות תקלות קוד ולשפר ביצועים באמצעות כלי Out of the box ו-Third Party.
סדר יום:
17:30-17:45 - התכנסות
17:45-18:45 - ארזת לבד? – על אריזת פתרונות ב SharePoint – ליאור ארביב.
· כיצד אורזים ומטמיעים פתרונות ופיתוחים בקלות עבור סביבת SharePoint 2007/2010 בעזרת Visual Studio 2010.
· סקירת החידושים למפתחים ב- Sandboxed Solutions.
18:45-19:00 - הפסקה וכיבוד קל
19:00-20:00 - הגבול הדק שביני לבינם – איתור תקלות בקוד – גיל גבעתי.
· כיצד לאתר במהירות את המקור לתקלות תוכנה ובעיות ביצועים בסביבת SharePoint באמצעות כלי Out of the box ו-Third Party.
20:00 - סיום משוער
אודות המרצים:
גיל גבעתי, איש תוכנה ותשתיות זה למעלה מ-20 שנה, הינו מנכ"ל חברת אפיסנס סופטוור, המשווקת מוצרים משלימים לגופי מחשוב הפועלים בסביבת מייקרוסופט ובכלל זה יישומי SharePoint, BizTalk, Dynamics ועוד. כחלק מהטמעת מוצרי החברה בקרב לקוחותיה צבר גיל נסיון רב המתורגם ל-Best Practices מועילים לכל ארגון.
ליאור ארביב, איש תשתיות מיקרוסופט בחברת GlassHouse Technologies , מומחה SharePoint בהיבטי יישום ותשתיות. ליאור בעל הסמכות MCITP ו-MCTS עם ניסיון רב בתחום ומפעיל בלוג אישי בפלטפורמת הבלוגים של מיקרוסופט ישראל. http://blogs.microsoft.co.il/blogs/lior
מצפים לראותכם,
איתי שקורי.