בתאריך 22.3.11 עד 24.3.11 יתקיים כנס SharePoint Extreme - שלושה ימים של סדנאות והרצאות שכולן על SharePoint.
אני אעביר סשן ביום הראשון של הכנס, 22.3, יום שלישי, על ניתוח ושיפור ביצועים של אתרי SharePoint.
ההרצאה שלי תארך כ 45 דקות, ותסקור את הכלים והשיטות שמסייעים למדוד ולשפר ביצועים באתר SharePoint.
ההרצאה היא חלק ממסלול “צעדים ראשונים בבניית אתר אינטרנט מבוסס SharePoint 2010” אותו מוביל ירון בן שלום מחברת תבונה-מילניום.
לפרטים והרשמה:
http://www.microsoft.com/israel/sharepointExtreme/Default.aspx
ההרשמה כרוכה בתשלום.
Short Summary for English speaking readers: I’m Joining Microsoft, no longer MVP.
חברים וחברות יקרים, אני שמח לבשר על הצטרפותי לחברת מיקרוסופט.
לאחר תקופה נהדרת שבה הקדשתי את כל כולי עבורכם – קהילת SharePoint הישראלית - הדרך מובילה אותי קדימה אל מיקרוסופט.
אני אשתדל להמשיך ולתרום, להשפיע ולעזור, כפי שעשיתי עד כה. עם זאת, חלק מהפעילויות אותן ביצעתי, יצטרכו לעבור לידי אחרים (עוד בנושא הזה בהמשך). אם אתם מעוניינים להשפיע על קהילת SharePoint הישראלית, צרו איתי קשר.
איתי שקורי.
שלום לכולם,
מפגש ראשון של השנה החדשה יתקיים בתאריך ה 23/01/2011. את המפגש יעבירו יוני תורג’מן ואלכס לויטין מחברת גארדיאן.
שימו לב, חובה להרשם על מנת להשתתף באירוע ולקבל חניה בבניין.
תיאור המפגש:
במפגש זה נעסוק בכל נושא העבודה מול ממשק ה-UI של SharePoint 2010. המפגש יתחלק לשלושה חלקים:
1. עבודה עם ממשק ה-Ribbon: בחלק זה נדבר על עבודה מול ממשק ה-Ribbon באמצעות SharePoint Designer 2010 (ללא כתיבת קוד), דרך המתאימה בעיקר למיישמים ומטמיעים, ובאמצעות Visual Studio 2010 ונראה כיצד ניתן באמצעות קוד להרחיב את יכולות הממשק.
2. User Notifications: בחלק זה נדבר על התראות למשתמש באמצעות ה-User Notifications של SharePoint 2010.
Popup Modal .3: בחלק האחרון של המפגש נדבר על עבודה מול ממשק ה-Modal החדש של SharePoint 2010 ונראה איך באמצעות JavaScript ניתן להקפיץ חלונות למשתמש.
לפרטים נוספים והרשמה:
http://www.sharepoint-israel.co.il/events/SPG/SPG11
נתראה במפגש,
איתי שקורי.
I recently wrote a post regarding a certain performance issue with SharePoint that we solved. I since got some comments and questions about when is this problem relevant.
Well.. It’s practically everywhere ,in an isolated environment, and It’s very common for development machines (usually virtual) to be disconnected. The fixes suggested in that post can help you speed up your work in the following cases:
- A desktop application (WinForm\Console) that uses SharePoint APIs.
- STSADM.exe.
- PowerShell work with SharePoint.
- First hit of your SharePoint site.
- IIS reset\Recycle app pool when deploying to SharePoint.
- Anything else I didn’t think of, that uses SharePoint API’s in it’s own process (app domain to be precise).
This is an interesting case that was solved thanks to the help of Nitsan Raz – an all mighty system administrator and SharePoint admin.
Problem
So I was asked to investigate a performance problem at one of my regular clients.
To demonstrate the performance problem, the client’s developers showed me a simple WinForm application (on the server), that created an instance of an SPSite object. the code had 1 line of interest, which is:
SPSite site = new SPSite("http://mySite");
That line alone took 30 seconds to execute! What’s more interesting, was that subsequent calls was very fast to execute. It was just the first one that took so long.
Cause
First thing we though was to isolate the location of the hang. Was it on the application side, or DB side? We ran SQL profiler and saw that SQL queries took like a millisecond to execute. That test eliminated the option of DB problem.
Having figured that out, we decided to run some tests on the application server (SharePoint Web Front End). After hours of time measures and watching endless performance counters go up and down the screen, we decided to monitor network activity.
We found 2 interesting lines in the log. These were DNS queries for crl.microsoft.com. How is that has to do with our application?
It turns out, that SharePoint’s assemblies are signed using a Authenticode, and that every time they are loaded into an app domain, the system tries to verify their validity by asking Microsoft for Certificate Revocation List (CRL). This is a list that contains certificates that are no longer valid.
Our environment was disconnected from the internet, so obviously we can’t reach Microsoft’s servers to get the CRL. That process failed on the very beginning , when trying to lookup Microsoft.com on DNS. The DNS didn’t respond on time, so we were waiting for the lookup to time out… guessing what’s the time out for DNS lookups? 15 seconds. This explains why we waited 30 seconds (for 2 assemblies to load).
Solution
There are several ways we can deal with this: (You should choose only one of the following)
1. Add the following configuration to the configuration file for the application that is loading the files: (This could be MyApp.config, web.config, machine.config, etc… – depending on your application)
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
This solution requires a hotfix for .NET 2.0, and is already built into later versions. More info:
http://support.microsoft.com/kb/936707
2. Turn off CRL checks (the the user level). Internet Options->Advanced tab->Security section under the Settings area->Check for publisher’s certificate revocation->turn that off (uncheck).

3. Add a fake DNS record that points to yourself (127.0.0.1), that will shorten the time to fail.
4. Pre-fetch CRL files, so that it will be pulled locally and not from the internet.
Download these:
http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crl
http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl
Add to certificate store:
certutil -addstore CA CodeSignPCA.crl
certutil -addstore CA CodeSignPCA2.crl
5. Allow internet access, obviously (if only to crl.microsoft.com)
Credits
Dirk Van den Berghe
Nitsan Raz
For more info on assembly signing:
http://blogs.msdn.com/b/junfeng/archive/2006/03/11/549355.aspx
שלום לכולם,
בתאריך 26/12/10 יתקיים מפגש עשירי שלנו בנושא ALM in SharePoint 2010. את המפגש יעביר אסף אבן מחברת אדוונטק.
הרשמה (ללא עלות):
http://www.sharepoint-israel.co.il/events/SPG/SPG10
תיאור המפגש:
במפגש זה נכיר את מתודולוגיות העבודה והכלים בתהליכי יישום ופיתוח בסביבת SharePoint 2010.
נצלול אל התהליך החל מסביבת הפיתוח, באמצעות הכלים Visual Studio 2010, TFS ו-Developer Dashboard, דרך האינטגרציה באמצעות SharePoint Designer 2010 ו-Content Deployment ובדיקת הפתרון בסביבת הבדיקות. וכל זאת על ידי הצגת DEMO של יישום הפתרון מקצה לקצה.
סדר יום:
17:30 – 17:45 – התכנסות
17:45 – 18:30 – חלק ראשון
18:30 – 18:45 – הפסקה וכיבוד קל
18:45 – 19:30 – חלק שני
נתראה במפגש,
איתי שקורי.
שלום לכולם,
רציתי לספר לכם למה לדעתי כדאי לכם לבוא להרצאה שלי בטק-אד, אפילו אם הייתם בהרצאה שלי על אותו נושא בעבר. (צר לי לאכזב אבל שוב מדובר בפוסט לא טכני בעליל.. אלו יבואו רק אחרי טק-אד)
אז ככה:
בשנה האחרונה יצא לי לדבר המון על “טכנולוגיות גישה למידע ב SP2010”. העברתי הרצאה על הנושא הזה ב Developer Academy האחרון, ביוזרגרופ, בכנס שותפים, ובעוד מגוון הזדמנויות.
אם הייתם באחת מההרצאות הקודמות, יש מצב שאתם שוקלים אם שווה לכם לכם לבוא להרצאה שלי בטק אד אם היא על אותו נושא.
אז נכון, הכותרות דומות, אבל מתחת לפני השטח יש הרבה הבדל.
ההבדל הכי גדול הוא שבהרצאות ההן, דיברנו בעיקר על “איך” להשתמש בטכנולוגיות האלו. בזמנו החומר הזה היה חדשני, אבל היום חיפוש קצר יוביל אתכם להמון תוצאות דומות. לכן היום זה לא מספיק לדבר על “איך” אלא גם על “למה”, או “מתי להשתמש באיזו טכנולוגיה”. אלו שאלות שיהיה לכם קצת יותר קשה למצוא להן תשובות חד משמעיות בחיפוש באינטרנט, ואלו שאלות שאני הולך לדבר עליהן בהרצאה.
בנוסף, ההרצאות הקודמות עסקו רק בשני נושאים עיקריים: Linq 2 SharePoint ו Client OM. בהרצאה בטק אד אני הולך לדבר גם על נושא נוסף שאני לא דיברתי עליו בעבר, ובכנות, אני חושב שאף אחד לא דיבר עליו עד היום (וחבל) והוא: Data Services.
אז בהרצאה בטק אד תוכלו גם לשמוע דברים שלא שמעתם עליהם בכלל בעבר, וגם לשמוע זויות אחרות על דברים שכן שמעתם בעבר. בכך תוכלו להשלים את התמונה המלאה על הנושא הזה שנקרא “טכנולוגיות גישה למידע ב SP2010”.
ההרצאה שלי היא ביום שלישי בבוקר (מסלול המפתחים).
נתראה באילת,
איתי שקורי.
טק אד 2010 יוצא לדרך! מיטב המומחים מכל קצוות הארץ מרוכזים עבורכם במקום אחד לשלושה ימים של הרצאות, למידה, יצירת קשרים עסקיים, וגם כיף.
שמי איתי שקורי ואני יועץ SharePoint בחברת Guardian\SRL, ו MVP של SharePoint בארץ. אני מזמין אתכם לקחת חלק בהרצאה שלי בטק-אד שתעסוק בדרכים החדשות לגישה למידע ב SharePoint 2010.
ללא ספק חלק גדול מתהליך הפיתוח ב SharePoint סובב סביב נושא אחד - גישה למידע. SharePoint 2010 עומד בחזית הטכנולוגיה ומציג דרכים חדשות לגישה למידע, אשר עומדות בקו אחד עם החידושים הטכנולוגיים בעולם הפיתוח והweb. בואו לראות איך הקוד שאתם כותבים היום יכול להיות מקצועי יותר, קריא יותר, קל לתחזוקה, וקל לכתיבה על ידי שימוש בכלים החדשים של SharePoint 2010. בין אם אתם מפתחים שרוצים ללמוד על החידושים, מיישמים שרוצים לקחת את זה לשלב הבא, או ראשי צוותים וארכיטקטים המעוניינים ללמוד על היתרונות של הכלים החדשים, אתם מוזמנים להגיע לכנס ולקחת חלק בההרצאה שלי.
שם ההרצאה: Deep Dive into SharePoint 2010 Data Access. מועד מדוייק ימסר בהמשך.
לפרטים נוספים: http://www.microsoft.com/israel/TechEd2010/Tracks/DEV.aspx
SharePoint in Pictures is a new blog (from the guys at Microsoft) that will only post “diagrams that visualize SharePoint as a development platform”.
I really like architectural diagrams like these. It help me bring together the little pieces and see the big picture.
Also it’s great for anyone who is regularly lecturing, and needs pretty slides.
So check it out at:
http://blogs.msdn.com/b/sharepointpictures/
IIS SEO Toolkit is an add-on to IIS that can analyze your site, and provide some very helpful reports and insights about it’s structure. It’s goal is to help you optimize for search engine’s, but I also has some very nice features that can help in other areas.
One of them is discovering broken links. Once you setup the tool, it crawls through your site, and gives a report of broken links. You can also create custom queries and export data into other reports.
Here’s how to get started:
First get the latest version of IIS SEO Toolkit.
http://www.iis.net/download/seotoolkit
Now open IIS Management. SEO Toolkit is integrated in the console.
To get a broken links report: (Click the pictures to enlarge them)
1. Pick the root server, and open SEO Toolkit.
(Don’t pick a web site yet, just pick the server node)
2. Click “Create a new analysis”
3. Give your template a name, enter the start address of the site you want to crawl, and open the Advanced Settings section.
If it’s not a public site, and requires authentication, Click the Set button under Authentication section.
4. Choose Windows from the drop down, and mark the Current User checkbox, or ender different credentials.
5. Click OK unlit the report is created. Now it will run for the first time. It should take some time (about the same as a SharePoint search full crawl).
6. When it’s done crawling, open the report
7. Under Content, There’s a broken links report.
8. You can further investigate a link.
That’s it.
It’s worth mentioning that you can install this on win 7 as well as server, and that it can be ran from a remote computer, so you don’t have to touch the SharePoint server itself.