ארכיון

רשומות עם התג ‘Web-Ring’

Shalom Olam

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

למיזם קראתי, מן הסתם, shalom-olam, על שם התוכנה הנפוצה ביותר בעולם, עם הטוויסט המתבקש לעברית.

כל הסיפור הוא למעשה Web Ring, מודל של שיתוף תעבורה שקיים כבר משנות התשעים. אפשר לקרוא עוד על מה זה Web Ring בויקיפדיה, כמובן.
הרעיון הכללי הוא שכל בלוג הוא חוליה בשרשרת מעגלית (להלן ring) שמצביע על החוליה שלפניו והחוליה שאחריו.
מדי פעם משנים את סדר החוליות, וזאת כדי ליצור חלוקה "הוגנת" יותר של התעבורה.

מימוש

כדי לממש את העניין, לקחתי על עצמי לפתח את זה בסביבה פחות שגרתית. כלומר, עדיין דוט נט, אבל לא ASP.NET, אלא פריימוורק אחר שנקרא Nancy, שזה porting, פחות או יותר, של פריימוורק ידוע שנקרא סינטרה, שמגיע מעולם הרובי.
למה Nancy? כי זה מעניין ללמוד משהו אחר, ואפילו חשוב לצאת מהמקום הנוח והמוכר ולהתמודד עם משהו אחר. להכיר את היתרונות, החסרונות, הנחות העבודה, האילוצים. זה פותח את הראש 🙂

בצד הלקוח המימוש הוא עם jsonp, ול Nancy יש תמיכה מובנית לזה, כמה נחמד!

הנה צילומסך של ההטמעה של הטבעת בבלוג של ליאור בר-און:

הטמעה עם jsonp

אלא שלא הכל הולך חלק. מסתבר שיש בלוגרים שעובדים בסביבה שבה אי אפשר להטמיע תגית script או תגית iframe. לדוגמה, אתר wordpress.com לא מאפשר את זה.
כדי לפתור את העניין, אפשר להעביר את הבלוג לאתר כמו blogger.com שדווקא כן מאפשר הכנסת תגיות שכאלה. היה מי שהרים את הכפפה.
בשלב שני, החלטתי להרחיב את הפונקציונליות ולאפשר לינקים "חכמים" שיגיעו לאפליקציה של הטבעת ומשם תתבצע הפניה (Redirect) לחוליה הבאה או הקודמת. בצורה הזו, אמנם אין את המידע לגבי הבלוג הבא/הקודם (כלומר מי בדיוק הוא הבלוג הבא/הקודם), אבל לפחות יש השתתפות בטבעת.

הנה צילומסך של ההטמעה באתר טכנו{ב}לוגיה:

הטמעה עם redirects

אחסון

כדי לעבוד עם Nancy, צריך אחסון שהוא Full Trust. אין הרבה כאלה בעולם ה cheap hosting. בחרתי ב discountasp.net. יש לי נסיון טוב איתם מהעבר, ואפילו מצאתי קופון שהביא להנחה משמעותית. Yay!

מה למדתי

  • למדתי לעבוד עם Nancy, וזה פריימוורק מצוין לתקשורת של HTTP. אמנם יש לו חריקות פה ושם, אבל בסה"כ מצוין. בהזדמנות זו, אני ממליץ בחום למי שבוחר לעשות אינטגרציה ב HTTP – לעבוד עם פריימוורק יעודי ל HTTP, ולא לעבוד עם WCF מעל HTTP. פתאום מגלים את השליטה ואת הגמישות בכל הפרטים הקטנים של HTTP. (לא שזה בלתי אפשרי, אבל נראה אתכם עושים Redirect ב WCF…)
  • על הדרך, למדתי להשתמש ב Git כדי להכניס שינוי ב Nancy.
  • על הדרך, הכרתי פרוייקט שנקרא Cassette (יעני, קלטת), שעוסק ב Asset bundling, וזה פרויקט מעניין בפני עצמו.
  • למדתי ששווה לנסות דברים חדשים. זה אמנם לא שיעור חדש, אבל נעים להיזכר.

לינקים

ולסיום – אם מישהו/י רוצה לעצב את האתר shalom-olam (בהתנדבות, תמורת קרדיט) אז נא ליצור איתי קשר.

קטגוריות:טכנולוגיה, תכנות תגיות:, , ,
Quantcast