Posts

Showing posts from 2010

Add an Item with "Hyperlink" type to a list using PowerShell in Sharepoint 2010

בPost הקודם , הסברתי איך להוסיף פריט לרשימה עם שדה Text פשוט. השאלה איך מוסיפים פריט עם שדה מסובך יותר כמו שדה קישור. אז בדומה לקוד של c#, השדה מסוג Hyperlink מקבל את הUrl ואת הTitle. בדוגמא הבאה, אוסיף לרשימה את כל האתרים באתר כפרטים ברשימה ואקשר להם את הUrl הרלוונטים. foreach ( $url in $mySite . allwebs ) {    $newItem = $MyList . Items . Add ();    $newItem [ "Title" ] = "S ite " + $myUrl.url ;    $newItem [ "myHyperlinkColumn" ] = "$($myUrl.url), $(myUrl.title)" ;    $newItem . Update () ;  }   זה כל כך פשוט

Create a new list Item in SharePoint 2010 with PowerShell

בהמשך לpost הקודם - Create List and Field in SharePoint 2010 with PowerShell , הפעם אדגים איך להוסיף לרשימה Item חדש. כל מה שנצטרך זה ליצור פריט, להוסיף את השדות הרלוונטיים ולעדכן. $newItem = $MyList . Items . Add (); $newItem [ "Title" ] = "Test" ;   $newItem [ "TextField" ] = "Bla Bla bla" ;   $newItem . Update ();  # You can write $newItem.SystemUpdate();     הרבה יותר מהיר מכתיבת קוד .Net רגיל.

Create List and Field in SharePoint 2010 with PowerShell

Image
אחד הדברים החזקים בSharePoint 2010 – שאפשר לכתוב קוד .Net בלי לקמפל בעזרת PowerShell. הפעם הדגים איך לבנות רשימה ולהוסיף לשדה. נפתח את ה SharePoint 2010 Management Shell (ראו הסבר ב PowerShell בSharePoint2010 ) ניצור Assignment $MyAssignment = Start-SPAssignment נפתח את האתר המבוקש על פי URL $MyWeb = Get-SPWeb http://MySite.com -AssignmentCollection $MyAssignment stTemplates["Custom List"]) ניצור את הרשימה, ניתן את שמה, התיאור והתבנית. $MyWeb.Lists.Add("My List","This list created with powershell",$MyWeb.ListTemplates["Custom List"]) ניצור את השדה (במקרה זה Text) $MyList = $MyWeb.Lists["My List"] $MyList.Fields.Add("TextField","Text",$MyWeb.FieldTypeDefinitionCollecti on["Text"]) ולסיום נסגור את האתר ואת המשימה. $MyWeb.Dispose() Stop-SPAssignment $MyAssignment עכשיו אם נבדוק באתר, נראה את הרשימה עם השדה שהוספנו נחמד.. שבוע טוב, רועי

The request failed with HTTP status 401: Unauthorized

Image
ב- SharePoint , ובכלל ב- asp.net אשר אני פונה לשרת נוסף ואני עובד ב-NTLM  ולא ב- Kerberos, אני אמור להעביר Credential. הבעיה מתחילה, כאשר הזמן לא מספיק, ואז מקבלים שגיאה, שבכלל אומרת שאין לי הרשאות לשרת, למרות שהעברתי את ה Credential. The request failed with HTTP status 401: Unauthorized יש שני פתרונות קלים: האחד, להוסיף זמן ב- Web.Config - Timeout השני והנכון יותר (לפי דעתי), זה לפנות בThread-  נוסף לשרת המרוחק. הנה דוגמה לקוד שפונה ב- Thread נוסף. שימו לב, שהגדרתי DefaultCredentials לפני פתיחת ה- Thread. WSrv. MyService wsrv = new MyService (); wsrv.Credentials = CredentialCache .DefaultCredentials; System.Threading. Thread t = new System.Threading. Thread ( delegate () {    resp = wsrv.CallMyWebService(prms); }); t.Start(); t.Join(); לא מסובך, ועובד. חג שמח, רועי ק.

Array of Arrays (Two Dimensional Arrays) in JavaScript

Image
כאשר רוצים ליצור מערך של מערכים  ב JavaScriptזה בדר"כ נראה קוד מסובך, וקשה לתחזק אותו. בניתי קוד שדומה לHash או Dictionary שיש לו Key והוא האיבר המצביע על המערך השני שהוא הValue. פונים אליו בשני דרכים הראשונה, כל פעם (בדרך כלל בלולאות) מוסיפים למערך ב SetAnItem: var arr1 = new RoiArray(); arr1.SetAnItem( "One" ,1); arr1.SetAnItem( "Two" ,1); arr1.SetAnItem( "Three" ,1); השנייה, בו זמנית מכניסים את כל המערך: var arr2 = new RoiArray( "One" ,[1,1,1], "Two" , "two" , "Three" ,3); למערך יש אפשרות להסיר מהרשימה (RemoveAnItem) על פי הKey, לבדוק שקיים Key מסוים (HasItem) וכמובן לקבל את הערך (GetAnItem) של המפתח. הקוד של הJS: function RoiArray() {   this .length = 0;   this .items = new Array();   for ( var i = 0; i < arguments.length; i += 2) {     if ( typeof (arguments[i + 1]) != 'undefined' ) {       this .items[arguments[i]] = arguments[i + 1];       this .length++;    ...

How to add an Icon to Search View or WebPart View in SharePoint

Image
איך מצגים את הicon ב webpart תצוגות או בחיפוש? בפוסט הזה אדגים איך להוסיף את האיקון של PDF, כך שנוכל לראות אותו בתצוגות ובחיפוש. שלב 1: נעתיק את הicon לספריה - למשל MyPdfIcon16.gif: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images שלב 2: נוסיף את הicon לקובץ Docicon.xml שנמצא ב: C:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\Template\Xml נפתח בnotepad את הקובץ, נוסיף את השורה במקום המתאים (mapping) את השורה הבאה <Mapping Key="pdf" Value="MyPdfIcon16.gif"/> שלב אחרון: IISRESET נחמד לא? הסבר ניתן למצוא גם Microsoft support נתראה, רועי ק'

The page took too long to save

Image
מכירים את ההודעה באקספלורר 8 “Are you sure you want to navigate away from this page? The page took too long to save. You can click "Cancel", and then try to save the page again. If you click "OK", you might lose unsaved data. Press OK to continue, or Cancel to stay on the current page.” או אם יש לכם IE בעברית   שמירת הדף נמשכה זמן רב מדי. באפשרותך ללחוץ על "ביטול" ולאחר מכן לנסות שוב לשמור את הדף. אם תלחץ על "אישור", ייתכן שתאבד נתונים שלא נשמרו.   כל מה שצריך לעשות זה לשנות הגדרה בExplorer.   Tools > Internet Options > Advanced ולבטל את ה - "Enable native XMLHTTP support"   פשוט לא?   את הפתרון מצאתי ב sadomovalex's blog   תודה, רועי

Create a new scope in SharePoint search

Image
CScope בחיפוש זה טווח החיפוש. לדוגמה אני רוצה לחפש רק תמונות, רק מאתר מסוים וכדומה. בפוסט זה אדגים איך ליצור scope שיהיה אפשר לחפש רק במסמכים כמו וורד. בShared Service יש לגשת Search Administration בעמודת הMetadata Properties נחפש את FileExtension, נלחץ על Edit נסמן את FileExtension כAllow this property to be used in scopes עכשיו נחזור לSearch Administration בעמודת הScopes נלחץ על New Scope נרשום את שמו Documents, נגדיר לו דף חיפוש חדש (זה לכשנרצה לשנות את הxsl של תוצאות החיפוש). ונלחץ אישור OK. עכשיו נשים לב שליד הScope שלנו יש קישור Empty – Add rules. נלחץ עליו. מכיוון שהגדרנו את FileExtension כסוג של Scope,  נסמן אותו בProperty Query. נסמן בBehavior את הscope כinclude. עכשיו נגדיר את FileExtension כסיומת WORD כמו doc ו docx. ונלחץ אישור. כדי להוסיף עוד FileExtension כל מה שנצטרך זה ללחוץ New rule תהנו, רועי

Web Appliction Restore Error in SharePoint

Image
נפלאות הם בעיות בMOSS . כאשר ניסיתי לשחזר Web Appliction דרך הCentral Admin ב (Central Admin -> Operations ->Restore from backup) זה מה שקיבלתי בתהליך האחרון (שלב 4) Object WebAppName failed in event OnRestore. For more information, see the error log located in the backup directory. SPUpdatedConcurrencyException: An update conflict has occurred, and you must re-try this action. The object SPWebApplication Name= WebAppName Parent= SPWebService is being updated by USER , in the OWSTIMER process, on machine MACHINENAME . View the tracing log for more information about the conflict. מה קורה פה? אי אפשר לעבור שחזור בלי בעיות. נפלאות הם הפתרונות בMOSS . כל מה שצריך לעשות זה: לבטל את התזמון של השחזור (ללחוץ delete בTime Job Definition). למחוק את הWeb Application החדש שנוצר. ואז לבטל את הservice'ים של הSharePoint... כן, כן, לבטל את הservice'ים ב Services on server. לבצע את השחזור שוב, ואז להחזיר את הservice'ים. תהנו, רועי קולבינגר

SharePoint Time Zone

Image
לפני כשבוע ישראל עברה לשעון חורף. שלא כמו שאר העולם, החוק בישראל להזזת השעון בנויי גם מהלוח שנה העברי וגם מהלוח שנה הגרגוריאני -האזרחי. פירסמתי ב פוסט בתחילת השנה את לוח השנה ובו הימים המדוקים להחלפת השעון לשנה זו. שעון קיץ (ישנים שעה פחות) עוברים בין חמישי לשישי ב2 לפנות בוקר אחרי ה1.04. זה בעצם היום השישי הראשון שמגיע אחרי הראשון באפריל. אבל גם בזה יש חריגים, אם פסח יוצא באותו זמן- כמו שקרה ב2009, אז מקדימים את העברת השעון שבוע קודם (ליום השישי בשבוע האחרון בחודש מרץ). שעון חורף (ישנים עוד שעה) עוברים בין מוצאי שבת לראשון גם ב2 לפנות בוקר. אבל הפעם זה קורה במוצאי השבת שבין ראש השנה ליום כיפור. הבעיה מתחילה ש- SharePoint לא מכיר טוב את הלוח שנה העברי. כדי לפתור בעיה זאת צריך לגשת ל C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\CONFIG לחפש את הקובץ TIMEZONE.XML, לחפש את הזמן המקומי (הID של זמן ישראל-ירושלים הוא 27). לא לשכוח לגבות את הקוסץ לפני כל שינויי- ליתר ביטחון. הקובץ XML פשוט להבנה כפי שמבטיחה מיקרוסופט . בישראל אנו 120 דקות מינוס...

Add Css to a SharePoint WebPart

איך מוספים CSS לWebPart? יש הרבה דרכים, אבל אני אדגים רק שתי דרכים נפוצות. הראשונה הוספת הCSS בPreRender. יתרון משמעותי, בCSS נטען אחרון. זאת אומרת שאין קבצי core.css שעולים על הstyle'ים שלי (כי כמו שאתם יודעים בCSS האחרון הוא החזק והקובע).         #region -- Cntr -- /// <summary>     /// Cntr for MyWebPart /// </summary> public MyWebPart() { this .PreRender += new EventHandler (WebPart_ClientCss_PreRender); } #endregion /// <summary> /// Add css files to the page /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WebPart_ClientCss_PreRender( object sender, System. EventArgs e) { const string cCSSControlID = "MyStyle" ; // the resource path need absolute if (Page.Header.FindControl(cCSSControlID) != null ) return ; String location = this .ClassResourcePath + "/styles.css" ; // literal control css LiteralContr...

לוח שנה 2010-11 ה'תשע"א

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

Upload form in infopath errors

Image
 ישנו פתגם עממי שאומר "צרות באות בצרורות", זה בדיוק מה שקרה לי. כאשר ניסיתי לעלות קובץ infopath הוא נכשל. לא יחסתי לזה חשיבות וניסיתי שוב. הפעם נסיתי לבצע Verify לפני וגם ה Verify נכשל. קובץ הלוג הראה את הצרה הבאה: Microsoft.Office.InfoPath.Server.Converter.AspxDepthFirstWalkingVisitor.VisitChildControls(AspxControl control) at Microsoft.Office.InfoPath.Server.Converter.AspxDepthFirstWalkingVisitor.VisitDocument(AspxDocument document) at Microsoft.Office.InfoPath.Server.Converter.CssControlStateStylesVisitor.VisitDocument(AspxDocument document) at Microsoft.Office.InfoPath.Server.Converter.AspxDepthFirstWalkingVisitor.VisitControl(AspxControl control) at Microsoft.Office.InfoPath.Server.Converter.SolutionConverter.ConvertBrowserSpecificView(Solution solution, ConverterDocument converterDocument, AspxDocument aspxDocument) at Microsoft.Office.InfoPath.Server.Converter.SolutionConverter.ConvertView(Solution solution, ConverterDocument converterDocument) at Microsoft.Office...

Asp.Net TreeView on the client side events - JavaScript

Image
If you wanted to use System.Web.UI.WebControls.TreeView , Did you notice that it works only on server side? How can I add a css style to a node? How Ican I add JavaScript to the TreeView. It's a trick. You need to inherit System.Web.UI.WebControls.TreeView and System.Web.UI.WebControls.TreeNode and create two new classes. On the TreeNode you need to build 1. Constructors based on the base constructors. 2.   Build the new properties (line onclick, Style, Etc.) 3. Override two methods: RenderPreText and RenderPostText Here is a simple code for the new class TreeNode :     public class MyTreeNode : TreeNode     {         #region -- Constructors --     public MyTreeNode() : base () { } public MyTreeNode( string Text) : base (Text) { } public MyTreeNode( string Text, string Value) : base (Text, Value){ }       public MyTreeNode(System.Web.UI...