Strict Standards: Redefining already defined constructor for class wpdb in /home/dor_rotman/rotman.be/blog/wp-includes/wp-db.php on line 57

Deprecated: Assigning the return value of new by reference is deprecated in /home/dor_rotman/rotman.be/blog/wp-includes/cache.php on line 36

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/dor_rotman/rotman.be/blog/wp-includes/cache.php on line 384

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 541

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 560

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 659

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /home/dor_rotman/rotman.be/blog/wp-includes/classes.php on line 684

Deprecated: Assigning the return value of new by reference is deprecated in /home/dor_rotman/rotman.be/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/dor_rotman/rotman.be/blog/wp-includes/theme.php on line 540

Strict Standards: Declaration of fs_ezSQL_mysql::query() should be compatible with fs_ezSQLcore::query() in /home/dor_rotman/rotman.be/blog/wp-content/plugins/firestats/lib/ezsql/mysql/ez_sql_mysql.php on line 21

Strict Standards: Declaration of fs_ezSQL_mysql::escape() should be compatible with fs_ezSQLcore::escape() in /home/dor_rotman/rotman.be/blog/wp-content/plugins/firestats/lib/ezsql/mysql/ez_sql_mysql.php on line 21
Dor Rotman’s Blog
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 627

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 691

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/kses.php on line 692

פייסבוק - דווקא כן

November 5th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
רבים וטובים כבר כתבו הרבה פוסטים ומאמרים על פייסבוק. הייתי אומר שהחלוקה היא בין התומכים הנלהבים, המתנגדים העקרוניים, ואלה שסתם נהנים מעוד רשת חברתית. ועכשיו הגיע תורי לספר מה אני חושב על הרשת הזו.. :)
 
אז כמו שניתן להבין בוודאי מהכותרת - דעתי היא חיובית למדי. אני חושב שזו הרשת החברתית הטובה ביותר שהייתי חבר בה עד היום, ואני חבר בהרבה רשתות חברתיות. הסיבה לכך היא פשוטה: אינטגרציה.
 
שירותי אינטרנט רבים הם מגניבים, אבל לדעתי אין להם זכות קיום עצמאית:
  • twitter וחבריו הם כלי מיקרו-בלוגינג מעולים, אבל קהל היעד שלהם מצומצם, ואנשים צריכים להבין ב-RSS ובכלל להתחבר לקונספט הזה בצורה מאוד חזקה.
  • ilcu, זוכרים? האתר שמרכז פעילויות ואפשר לשלוח בו זימונים לאנשים? אז גם הוא לא ממש עומד בפני עצמו, כי אין בו שום דבר אחר לעשות.
  • LinkedIn, מקושרים וכו’ - אז הוספתי את כל החברים שלי והמכרים שלי, ועכשיו כולנו מקושרים אחד לשני. מה עכשיו? מה עושים? מחכים שמישהו ישלח קורות חיים או הצעת עבודה? או אולי הודעת שרשרת?
היופי בפייסבוק הוא בדיוק האינטגרציה בין השירותים הנ”ל ודומיהם על בסיס רשת חברתית. אז הכל משתלב יפה. נכנסים לרשת, ממפים קשרים חברתיים ומוסיפים חברים, יוצרים זימונים לאירועים ומקבלים כאלה, עושים מיקרו-בלוגינג של דברים משעשעים, ועוד. ובניגוד לשאר השירותים - יש מי שקורא את כל זה, יש מי שרואה את כל זה. יש צרכנים למידע הזה, והאינטראקציה לא מוגבלת רק לאמצעי אחד - היא משולבת בכל האמצעים ביחד תחת אותה פלטפורמה.
 
פיתוחה של פייסבוק כפלטפורמה למפתחים הוא מרכיב משמעותי במשוואה - באמצעות תשתית זו המשתמשים מקבלים מגוון דרכים לתקשר, שאמנם חלקן טפשיות (די עם הערפדים!!!), אך חלקן מתוחכמות יותר ומעניינות (לדוגמא Compare People).
 
אגב Compare People, מתישהו כתבתי כאן על Rimzu, שהוא אתר סוציומטרי שכזה. הרי ברור שכשירות בפני עצמו קשה מאוד להביא אליו אנשים, ואני לא מדבר מנקודת מבט של המפתחים - אני מדבר מנקודת מבט של משתמש שרוצה שחברים שלו יתחברו. והרי כולם עצלנים - “מה, עוד פעם להירשם לאתר?” -בפייסבוק יש Single Sign On, וזה עוד מרכיב חשוב. הרבה יותר קל להוסיף אפליקציות ולחדש את דרכי התקשורת בין אנשים כשלא צריך להירשם לכל שירות בנפרד.
 
בנוסף, כל עניין ה-Feeds מספק דרך חדשה להתעדכן במה שקורה אצל חברים. וזו עוד חוזקה של הפלטפורמה הזו. (אם כי עכשיו כשיש לי באיזור ה-260 חברים, האגרגציה כבר לא משהו בכלל, ואני מקווה שישפרו את זה כי הרבה דברים מעניינים לא מופיעים שם.)
הרבה אנשים מתלוננים על ה-”is” בפייסבוק, שמכריח לרשום שורות סטטוס רק באופן מסוים. גם אני שונא את ה-”is” הזה, אבל מצד שני מעריך אותו מאוד. זה מדהים איך שני תוים יכולים לעשות כזה הבדל: המילה הקטנה הזו למעשה מכריחה אותנו לכתוב מה אנחנו עושים, ולא סתם כל שטות שבאה לנו לראש כמו בשורת המסנג’ר שלנו. ועם כמה שזה מעצבן, זה בדיוק מה שהופך את המיקרו-בלוגינג למוצלח ומעניין.
 
עוד עניין ראוי לציון הוא האלגנטיות והפשטות הויזואלית. בניגוד למייספייס, שהיא ג’ונגל נוראי בו כל דף של אדם או להקה גורם לך לרצות לקפוץ מהגג מרוב בלאגן ויזואלי וקולי, פייסבוק היא נעימה ונוחה לשימוש. אמנם יש אנשים שכמות האפליקציות בדף שלהם קצת מוגזמת, אבל גם אז זה עדיין לא נראה כל כך גרוע. (טיפ: לא כל אפליקציה צריכה להציג את עצמה בפרופיל שלכם. אפשר להעיף אפליקציות מעמוד הפרופיל ועדיין להשתמש בהן. לחצו על ה-X של תיבות בפרופיל שאתם לא רוצים אותן ותראו שאפשר להסיר רק משם.)
פייסבוק גם אכזריים כלפי המפתחים במישור הזה: אין שום תוכן פעיל בתיבה שלך אלא אם לחצו בה. וזה עושה הבדל ענקי. (הרי דף מייספייס ידוע גם בכינויו “רוצה לשמוע את 2 השניות הראשונות של השיר האהוב עליי בווליום המקסימלי?”, או “נסה לקרוא את הטקסט עם הרקע הנוראי ששמתי”)
 
בסופו של דבר זה עניין של אנשים. האנשים הם שעושים את הרשת מעניינת. הכלל שלי הוא שאני מוסיף כחברים שלי אנשים שמעניין אותי לדעת מה הם עושים. ככה אני נחשף לאירועים, פעילויות, חדשות, או סתם בדיחות משעשעות שאנשים מסביבי קשורים אליהם. יצרני המידע האלה הם שעושים את הרשת למעניינת. וכשהם מייצרים מידע, אני צורך אותו ומייצר מידע משל עצמי.. וכך זה מתגלגל.
 
כך יצא שדף הבית שלי הוא כבר לא תפוז. מה שקורה שם כבר לא מעניין אותי, כי זה זר לי - אמנם הנושאים קשורים לתחומי העניין שלי, אבל לא לאנשים שאכפת לי מהם. כשאני נכנס לפייסבוק, אני מתעדכן בהרבה דברים שקורים לאנשים שמעניינים אותי ושאכפת לי מהם. זה בעצם סוג של חדשות חברתיות המותאמות עבורי. וזה מה שכל כך יפה במערכת הזו.
 
רק לא לשכוח - בסך הכל זו רשת חברתית, ואולי אוטוטו ייטרפו הקלפים שוב, ו-OpenSocial יעשה מהפכה. פייסבוק זו פשוט עוד דרך טובה לשרוף זמן פנוי… והרבה ממנו. ;)
 
אשמח לשמוע תגובות.
 
דור.
 
—-
נ.ב. משהו קטן לגבי iDrink האחרון, אם כבר אני כותב: חזרתי משם מלא השראה, ועם תחושת גאווה לאומית מנופחת יחסית. נהניתי מאוד לפגוש את כולם קודם כל (והרבה מזה גם בזכות פייסבוק). אבל מעבר לכך, רוח העשייה ומגוון הרעיונות המעניינים שהיו שם, פשוט עוררו בי השראה ושמחה בהקשר לחבורה הזו של אנשים, שיוזמים דברים חדשים ומדהימים. הפוטנציאל הכולל של כל הרעיונות הוא עצום, וההערכה שלי נתונה לא רק לאלה שהוגים את הרעיונות, אלא גם לאלה שרצים איתם בכל הכוח ומנסים ליצור משהו אמיתי.
שיהיה בהצלחה. :)

Posted in Hebrew Posts | 5 Comments » del.icio.us:פייסבוק - דווקא כן digg:פייסבוק - דווקא כן reddit:פייסבוק - דווקא כן

Bear With Me (דוב איתי)

November 2nd, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
אז קצת לא כתבתי לאחרונה.
יש לי הרבה מה להגיד בנושא פייסבוק, בכמה רמות.
ויש לי עוד כמה דברים נחמדים לפרסם.
אז בקרוב אולי יהיה לי זמן לנסח הכל לפוסט..
חוצמזה פתחתי גם בלוג ב-blogs.microsoft.co.il, אבל עוד לא החלטתי מה אעשה איתו.
 
בינתיים רציתי לספר לכם משהו מאוד חשוב - אני ע-ERROR

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


Posted in Hebrew Posts | No Comments » del.icio.us:Bear With Me (דוב איתי) digg:Bear With Me (דוב איתי) reddit:Bear With Me (דוב איתי)

Using Javascript to Manipulate a List Form Field Title

October 12th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82

Lets say you want to change the text of a field title in a new item form, or in an edit-item form. You might want to do one of the following:

  • Change the field title text
  • Add a remark to the title
  • Add a link
  • Make the title a link
  • Put some javascript

The trick in doing this is also not breaking the Form Web Part, so new fields will appear in the form.

The solution is… Javascript at runtime! It’s inspired by this post for changing the default value of a field, only this time we’re talking about the title text and not the field value.

So how to do it? Easily. Open the NewForm page with SharePoint Designer and view the HTML code. Look for the main content placeholder:

<asp:Content ContentPlaceHolderId=”PlaceHolderMain” runat=”server”>

Paste this code inside it, before the table:

<!– Begin Field Link Code –>
<script type=”text/javascript”>
// Add the function so it will be called on Body_OnLoad.
_spBodyOnLoadFunctionNames.push(“AddFieldLinks”);

function AddFieldLinks()
{
  // Call the search function with an anonymous function that will 
// be executed upon finding the relevant field.
AddFieldLink(“Status”, // This anonymous function adds a link to the field’s title. function (currentText) { return currentText + “<br/>” +
GenerateLink(“policy.html”, “<u>See Status Policy Document</u>”); } ); } function GenerateLink(url, text) { return “<a target=\”_blank\” href=\”" + url + “\”>” + text + “</a>”; } function AddFieldLink(fieldName, fn) { // Get all field titles var tags = document.getElementsByTagName(“H3″); // Go through all field titles and search for the requested field. for(var i=0; i < tags.length; i++) { if((tags[i].children.length == 1) &&
(tags[i].className == “ms-standardheader”) && ((tags[i].children[0].innerText == fieldName) ||
(tags[i].children[0].innerText == fieldName + ” *”))) { // Found the field we need to update. Set its tags[i].children[0].innerHTML = fn(tags[i].children[0].innerHTML); break; } } } </script> <!– End Field Link Code –>

Now just edit the body of the AddFieldLinks function to change the title of the relevant fields.

It’s parameters are:

  • The title of the field
  • A function that returns a string for the title.
    Notice that I used an anonymous function so you can set a different behavior for each field title - for example, one will be a link, the other would be appended some text, etc…

Now just save the file, approve the unghosting, and that’s it! Smile

Here’s the result - click to enlarge:
click me!

Dor.


Posted in English Posts, WSSv3 | No Comments » del.icio.us:Using Javascript to Manipulate a List Form Field Title digg:Using Javascript to Manipulate a List Form Field Title reddit:Using Javascript to Manipulate a List Form Field Title

SPD ‘Send Email’ Workflow Activity HTML Message Body

August 28th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82

Would you like to send email messages with a rich text body from your custom SharePoint Designer workflow? Well, it’s easier than you think…

Appearatnly the out of the box activity sends the message body as HTML, but the editor is not rich, thus misleading us to think we can only insert simple text. However, the solution is to simply paste HTML code into the body. And that’s it! Open-mouthed

This way you can create messages with cool content, and align the body as RTL (Right To Left) for relevant languages such as Hebrew.

Here’s a screenshot from SharePoint Designer in Hebrew, in which I created an RTL message:

image

Tip: Check the Workflow XOML file that SPD creates before running it for the first time. (Because on the first run it will compile and workflow will become unchangable.) See the HTML string you created and run it through some HTML Decoder, to convert special characters to understandable text. Then you can make sure the HTML is OK.


Posted in English Posts, Office 2007, WSSv3 | 2 Comments » del.icio.us:SPD 'Send Email' Workflow Activity HTML Message Body digg:SPD 'Send Email' Workflow Activity HTML Message Body reddit:SPD 'Send Email' Workflow Activity HTML Message Body

למה לכתוב בלוג?

August 25th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
(ניסיון שני לפרסם את הפוסט, הראשון נכשל בעקבות בעיות HTML)
ליאור אילוז שואל את קוראי הבלוג שלו למה בעצם פתחנו בלוג. אז יש כמה סיבות, ואני אנצל את ההזדמנות כדי לכתוב על מהות הבלוג הזה.
 
קודם כל, בתחום ה-SharePoint,  בלוגינג הוא דבר נפוץ למדי. אם תחפשו, תמצאו שיש בלוג לחלק ממנהלי המוצר במיקרוסופט, ולהמון יועצים וחברות שמתעסקים עם הפלטפורמה. במסגרתם הם כותבים מאמרי howto, רשמים והגיגים על יכולות המוצר. הגעתי למסקנה שבתור מכור לחידושים, יהיה נכון שאשתף את הקוראים בתגליות שלי, שלפעמים הן נפלאות ולפעמים מבעסות.
 
אפשר לראות שתחומי הכתיבה שלי בבלוג עדיין מגוונים למדי, וזה כי לא ממש החלטתי עדיין במה אני רוצה שהבלוג יתמקד. כרגע זה איפושהו בתחום ה-SharePoint / Office / אינטרנט / יזמות / חיים, או משהו בסגנון. אבל זה מה שיפה בבלוג אישי ועצמאי - אני לא חייב לאף אחד כלום. מצד אחד, רצוי שאשמור על קו אחיד כדי לצבור כמות קוראים נאמנים, ומצד שני - זה הבלוג שלי, אז למה לי לצנזר את עצמי ולהחליט שנושא מסוים לא ייכתב פה? ברור שאין לי כוונה לכתוב פוסטי נונסנס כמו החבר’ה המשעשעים בהיתוך קר למפגרים, אבל עדיין יש כאן דילמה - האם כדאי למקד את הבלוג להיות מקצועי נטו, כמו שרוב חבריי למקצוע עושים? (גם בוריס בולטיאנסקי כתב על הנושא ומעלה נקודות מעניינות)
 
אני לא יודע אם שמתם לב או לא - אבל אני לא סתם כותב חלק מהפוסטים בעברית וחלק באנגלית. אני נהנה לכתוב פוסטים בעברית וזה הרבה יותר נוח לי, מסיבות ברורות. עם זאת, כשאני רוצה לפרסם מידע בנושא כלשהו, לדוגמא תגלית SharePoint-ית מדהימה - אני קודם כל מחפש מי כתב עליה לפניי. במידה וכתבו עליה, אני לרוב מוותר על הכתיבה, כי מי שמחפש - ימצא את התשובה. לכן גם לא תמצאו כאן פוסטי howto ברורים מאליהם. (אלא אם תהיה לזה דרישה, וזה לגיטימי - כי אין כאלה בעברית.) לאחר החיפוש, במידה ואני רואה שהדבר לא קיבל כיסוי משמעותי באינטרנט - אני כותב באנגלית, כדי שמחפשים באינטרנט ימצאו את התשובה. אחרת אכתוב בעברית. לכן בסופו של דבר יוצא שהפוסטים המקצועיים המשמעותיים שלי הם באנגלית.
 
היופי הוא לראות במסך הסטטיסטיקות (FireStats כמובן) את ה-refferers האלה:
 
מה שאומר שהצלחתי במשימה - אנשים נתקלים בבעיות, מחפשים אותן, ומגיעים לפתרונות שאני כתבתי. וזה הכיף שבבלוג מקצועי. זו התכלית שלשמה הקמתי את הבלוג, אפילו שבהתחלה לא ממש חשבתי דווקא על זה.
 
הקטע המשעשע הוא שדווקא רוב הקוראים מגיעים אליי היום דרך מנועי חיפוש. וכנראה שזו גם הבעיה עם בלוג עצמאי.
image
 
מצד אחד, בלוג עצמאי הוא חופשי לגמרי. אין מחויבויות, אין מגבלות. אני יכול לקחת אותו לכל כיוון שארצה, בין אם ברמת תוכן ובין אם ברמת פלטפורמה טכנית. אך מהצד השני, בלוג עצמאי הוא בודד במערכה - ברור שהחשיפה היתה הרבה יותר גדולה בפלטפורמת הבלוגים של מיקרוסופט. בקיצור, עוד דילמה לא פשוטה.
 
בסופו של דבר, איכשהו יצא שהבלוג זכה בתחרות “הבלוגים העצמאיים הטובים ביותר 2007″ במקום שלישי בקטגורית בלוג טכני מקצועי. (ואני נרשמתי במקור פשוט כדי להעלות את הדירוג שלי בגוגל…)

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

 image
בסוף יצא לי קצת פוסט הגיגים שכזה, אבל אלה הדילמות שאיתן אני מתמודד בהקשר של הבלוג הזה. בסופו של דבר הבלוג הזה הוא שיקוף של המחשבות והמעשים שלי, והוא יתפתח לאן שאני אתפתח, ויתפוס כיוון בהתאם למה שאני אעשה. בגלל זה גם קוראים לו Dor Rotman’s Blog - כי לי בעצמי אין נושא אחד לתת לו ככותרת.
 
אשמח לשמוע את דעתכם.
 
 

Posted in Hebrew Posts | 5 Comments » del.icio.us:למה לכתוב בלוג? digg:למה לכתוב בלוג? reddit:למה לכתוב בלוג?

Stock Quote Web Part(s)

August 16th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
Yesterday I was asked to put a web part on an internal MS site, which displays Microsoft’s stock current value and a graph to show its changes.

This appeared to be easy - Yahoo offers these kind of web widgets that can be embedded in a site.

However, the Yahoo widget has a big logo and commercials, and this isn’t suitable for an internal MS site. So I needed to get the data elsewhere.

After some research I found a way to do this, using MS only tools:

image

So I separated the functionality to two Web Parts:

  • Data View Web Part (created using SharePoint Designer) - to consume the Web Service
  • Content Editor Web Part - to run some javascript to get the chart image

If you’re interested in how I created the Web Parts, keep on reading. Otherwise, skip to the end of the post to download them.

1. The Stock Value Web Part

That’s easy - open up SharePoint Designer, open some SharePoint page you can edit on a test site, and connect to a data source - the MoneyCentral Web Service. You’ll get the data, which you can add to your page using the Data View Web Part.

However, there’s a problem - the Web Service output is a string that contains a lot of XML data as a String and not as a complex XML tag. SharePoint Designer doesn’t know the schema of that XML and can’t isolate just the current value of the stock from it. So I used a couple of functions to isolate the relevant text. (substring-before, substring-after.)

Then just save the page, view it in your browser, export it using the Web Part menu, and import it to wherever you want to place it. (By working on a test site and importing the Web Part, the page desination page will not be unghosted.)

2. The Stock Chart Web Part

This is a bit more tricky: you can take images straight from the MSN website, because the image source is a DLL that generates them on demand. You just need to send the right parameters.

Please notice that by using this trick, we’re actually “stealing” bandwidth and CPU from MSN’s servers. So the minimum I could do is put some nice link to MSN to give them credit..

I created a Javascript function that generates the URL:

formatChartImageSrc(symbol, fromDate, toDate, imgWidth, imgHeight)

Parameters:

  • symbol: a string containing the stock symbol name, like “MSFT”.
  • fromDate: a Date object containing the date from which to display the timeline.
  • toDate: the date in which the timeline will end (usually today)
  • imgWidth, imgHeight: Dimensions of generated image.

Here is a sample use of the function that outputs the URL for a 1-year view of the MSFT stock, until today. Then I get an IMG element with the ID “chart” and set it’s source to the generated URL.

var stockName = “MSFT”;
var toDate = new Date();
var day = 1000*60*60*24
var fromDate = new Date(toDate - day*365);

var srcUrl = formatChartImageSrc(stockName, fromDate, toDate, 300, 300);
var chartObj = document.getElementById(“chart”);
chartObj.src = srcUrl;

I place this code and the <img> tag itself in the Content Editor Web Part, and that’s it. The image will be up to date.

Download & Installation

Here are the links to the files:

Changing the stock symbol
After you save the Web Parts locally, open them in a text editor. Search and replace the word MSFT with the stock symbol you want to display. Do this before uploading the Web Parts to your website.

Importing the files to the site
To install, go to a SharePoint Site, click Site Settings and then Edit This Page. Add a Web Part to a zone, and then click the bottom link in the Add Web Part Dialog to get to the advanced mode. Now you’ll see the gallery on the side of the page. On the top of the gallery, you will see the word Browse. Click it and choose Import instead. Then pick one of the .webpart files and upload them. Drag and drop, repeat for the second file, and that’s it!


Posted in English Posts, MOSS, WSSv3 | 13 Comments » del.icio.us:Stock Quote Web Part(s) digg:Stock Quote Web Part(s) reddit:Stock Quote Web Part(s)

Minesweeper: The Movie

August 15th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
טוב, קצת לא עדכנתי לאחרונה, אבל בקרוב יהיו כמה פוסטים רציניים.
בינתיים - תראו משהו משעשע מאוד:

Posted in Hebrew Posts | No Comments » del.icio.us:Minesweeper: The Movie digg:Minesweeper: The Movie reddit:Minesweeper: The Movie

Using OneNote for screen clipping

August 1st, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
בתור איש טכני שעובד עם הרבה לקוחות (פנימיים, חיצוניים וכו’), עליי להסביר למשתמשים כיצד לבצע כל מיני פעולות על בסיס יומיומי. אני נעזר הרבה מאוד בצילומי מסך, אבל כשהרזולוציה גבוהה זה מעיק על מקבל המייל או קורא המסמך. בנוסף, לא תמיד כל המידע על המסך רלוונטי - אלא רק כפתור או פינה של חלון.
לכן יש הרבה כלים מקצועיים כמו SnagIt ו-WinSnap שבנויים לקחת צילומי מסך בצורות רבות ומגוונות.
עם זאת, מי שהתקין את אופיס 2007 לא צריח לטרוח לקנות את היישומים האלה, כי הוא קיבל בתוך OneNote את היכולת הזו: כפתור WinKey+S. (זה כפתור ה-Start שעל המקלדת, עם הלוגו של Windows, בשילוב עם האות S, בו זמנית)
וזה מה שקורה כשלוחצים. קודם כל קופצת הבועה הזו:
image
במקביל, כל המסך הופך לקצת לבן, ואפשר לבחור את המלבן שרוצים לצלם: (השכבה הלבנה מוסרת ממנו תוך כדי הבחירה)
image
(וידוי - הוספתי את תמונת העכבר ב-Paintbrush כדי שתראו שאני בוחר את המלבן. הסיבה לכך היא ש-Printscreen לא כולל אף פעם את מצביע העכבר, אלא אם משתמשים בתוכנת צד שלישי.)
ואז מקבלים את צילום המסך בתוך OneNote:
image
(וידוי - זה לא מה שבחרתי במלבן למעלה, אבל זה סתם כי לא עשיתי צילומי מסך עקביים. Tongue out)
כמובן שלא חייבים שההכנסה ל-OneNote תתרחש, אפשר שהתמונה רק תועתק ל-Clipboard בלי שתוכנס ל-OneNote. את זה מגדירים באמצעות לחיצה ימנית על סמל OneNote ב-System Tray ובחירה ב”העתק אל הלוח בלבד”:

לסיכום - זו תכונה חמודה למדי, שעושה חיים קלים יחסית. Smile
אמנם זה לא ישום כמו אלה שהזכרתי למעלה, שמיועדים ללקיחת Screenshots באופן מקצועי - אך זה בהחלט עונה על רוב הצרכים היומיומיים. אגב, כמובן ש-OneNote חייב לרוץ ברקע על מנת לתפוס את הלחיצה על הכפתורים האלה במקלדת. (מספיק הסמל ב-System Tray בשביל זה.)
בברכת צילומסך נעים,
דור.
נ.ב. נחשו איך עשיתי צילומסך של עצמי עושה צילומסך.. (לא קשה במיוחד אבל עדיין משעשע.)

Posted in Office 2007 | 2 Comments » del.icio.us:Using OneNote for screen clipping digg:Using OneNote for screen clipping reddit:Using OneNote for screen clipping

Johnny Five is alive!

July 27th, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
(ויה Gizmodo, אתר הגאדג’טים המגניב ביותר)
מסתבר שאיפושהו בעולם מסתובב לו הרובוט Johnny Five, הזכור לנו מהסרט “תקלה מופלאה” (טוב, לפחות אני זוכר מילדותי). ולא רק זה, הוא עומד למכירה ב-eBay במחיר התחלתי של 100 אלף דולר.
מי קונה לי? Smile
 
image

Posted in Hebrew Posts | No Comments » del.icio.us:Johnny Five is alive! digg:Johnny Five is alive! reddit:Johnny Five is alive!

Invites!

July 23rd, 2007 by Dor


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/dor_rotman/rotman.be/blog/wp-includes/formatting.php on line 82
בהמשך לקדחת הרשתות החברתיות \ סטארטאפים \ וואטבר, הגיעו לידיי מספר invites נחמדים:
  • Rimzu - המעניין ביותר לדעתי מבין השירותים. סוג של סוציומטרי (כן, כמו בצבא) שעושים לך חברים שלך באופן אנונימי.
  • Pownce - סוג של מסנג’ר קבוצתי עם יכולת שליחת קבצים, הודעות ולינקים.
  • Wallop - כמו Facebook, רק בפלאש, ומשעמם. Tongue out
רוצים הזמנה? השאירו תגובה.
(* עד גמר המלאי)
 
דור.

Posted in Hebrew Posts | 1 Comment » del.icio.us:Invites! digg:Invites! reddit:Invites!

« Previous Entries