מרץ 19 2007

CMS 101

מאת: יריב צור בשעה 2:31 נושאים: כללי

טוב, אז החלטתם שאתם רוצים להעלות אתר תוכן לאינטרנט. אתר עם הרבה תוכן, אתר שהוא לא רק בלוג אלא כזה שיאפשר ליותר מאדם אחד להוסיף נושאים שממוינים באיזושהיא צורה. מה שאתם צריכים זו פלטפורמה לניהול תוכן, או בעברית - CMS (Content Management System). אתם יכולים, כמובן, לשבת ולכתוב קוד לרוב ולבנות לעצמכם פלטפורמה שכזאת, או שאתם יכולים לקנות כזאת בהרבה כסף (עוד על זה בהמשך). בשורה התחתונה - הפתרון המומלץ הוא לקחת מערכת CMS שהיא Open-Source, בארכיטקטורת LAMP. למה, ואיזו מערכת? כנסו, כנסו.

1. תמחור.

ספירה מהירה באתר CMSMatrix מראה שיש היום משהו כמו 740 (!) מערכות CMS מתסובבות בשוק. נראה כי לבחור אחת מהן זו כמעט משימה בלתי אפשרית. אחת הדרכים היותר קלות היא פשוט על ידי שאלת המחיר.

לקחנו בערך 160 מערכות שמפורטות בויקיפדיה וניתחנו אותן לפי מחיר:

cost.jpg

כמו שאפשר לראות, 60% מהמערכות שמוצעות היום הן בחינם (או תחת רשיון GPL, שזה דומה, אבל לא בדיוק אותו דבר. פרטים נוספים - כאן). אז כן, אתם יכולים לקנות מערכת של Documentum בכמה אלפי דולרים טובים, אבל לא חראם?

מצד שני - קחו בחשבון שכשאתם הולכים על מערכת Open-Source אתם מוותרים על תמיכה מסודרת (אין, אין, SLA) ומסתמכים אך ורק על התיעוד ולא פחות חשוב מזה - על קהילת המפתחים (עוד בהמשך). לכן, אם הפרויקט שבשבילו אתם מחפשים את המערכת הוא כזה שאסור לפשל בו, ועוד לא פיתחתם אתר ב- OS, תחשבו שוב פעם. כמו בכל פרויקט תוכנה, גם פה חוק ה- 80/20 עובד, ומערכות ה- OS החביבות שנסקור כאן עושות את ה- 80 ממש טוב. לגבי ה- 20 - תצטרכו להתמודד לאט לאט ובעזרת הקהילה עם כל הטיפים והטריקים הקטנים.

2. ארכיטקטורה

רוב אתרי הווב שמפותחים היום הם בארכיטקטורת LAMP, ר"ת של Linux, Apache, MySQL, PHP/Python. היתרון המרכזי בארכיטקטורה הזאת - היא כולם בחינם (תחת ה- GPL).

(למאוגתרי Buzzwords: MySQL הוא מסד-נתונים מצוין תחת OS, PHP היא שפת תכנות ההולכת ותופסת תאוצה)

למה LAMP?

  1. Apache ממשיך (למרות הנסיונות של מתחרים ובהם IIS) להיות ה-שרת אפליקציות של האינטרנט עם בערך 60% נתח שוק (IIS עם 30% הרחק מאחור). יש עליו הרבה ספרות, תעוד ומפתחים שמכירים אותו (מקור - Netcraft)
  2. יותר ויותר חברות וארגונים גדולים מבינים ש- PHP היא שפת התכנות המתפתחת באינטרנט
    1. Venture Capitals warm up to the LAMP stack
    2. Oracle teams up with Zend for PHP love-in
    3. IBM & Oracle look to integrate PHP into SOA
  3. סטטיסטיקה מעניינת על שפות תכנות אפשר למצוא ממאמר באתר של או'ריילי. יש להם שם חלק שנקרא CodeZoo, איפה שאפשר למצוא קטעי קוד לרוב. הם עשו, אי שם ב- 2005 סטטיסטיקה של באילו שפות מפתחים באתר מבקשים קטעי קוד. שימו לב למספרים:

language.jpg

שימו לב לריבוי הבקשות ל Python ו- PHP (באתר יש הרבה קוד Java ולכן אין בקשות אליו). אני מניח שאם היו עושים את הסטטיסטיקה הזאת היום, היינו רואים עלייה ניכרת בבקשות Ruby, אבל הבנתם את הרעיון.

נתון נוסף - אם לוקחים את אותן 160 מערכות CMS שניתחנו קודם לפי עלות, ומנתחים לפי שפת תכנות, מקבלים את התמונה הבאה:

tech.jpg

הערה קטנה לסיום חלק הארכיטקטורה - אני עלול לקומם עליי את אנשי ה- Linux, אבל אישית אני מעדיף פלטפורמות שרצות על WAMP, לפחות לצרכי הרמת סביבה מקומית לפני שמעלים לאתר.

3 המערכות המובילות

יש היום שלוש מערכות Open Source CSM שמובילות בשוק בתחומן ובהן בחרתי להתמקד. מי אמר שהן מובילות בתחומן? גם הנסיון שלי (שנכון, הוא מוגבל ללהתקין ולשחק עם הרבה מערכות ולא לפתח מערכת שלמה ל- production, אבל בכל זאת), וגם אנשים הרבה יותר חכמים ממני חושבים ככה (מצריך רישום, אבל מומלץ בכל זאת).

Plone - מובילה בתחום ה- Collaborative workspace

plone.jpg

Joomla - מובילה בחום ה- Informational Brochure

joomla.jpg

Drupal - מובילה בתחום ה- Online Community.

drupal.jpg

אז איך מחליטים בין שלושתן? איך מתחילים? בפוסט הבא….

3 תגובות לפוסט “CMS 101”

  1. גדי שמשוןבתאריך 19 מרץ 2007 בשעה 20:40

    פרויקט חשוב. אולי תשים גם איזו מילה בעברית בכותרת, שיעלה לקהל היעד בגוגל?

  2. יריב צורבתאריך 20 מרץ 2007 בשעה 9:52

    אבל אז ה-URL של הפוסט יהיה בעברית…

  3. CMS 101 - Part II » Bitterness Inc.בתאריך 08 אפר' 2007 בשעה 1:04

    [...] הפוסט הזה הוא פוסט המשך לפוסט הזה. מומלץ לקרוא אותו קודם. [...]

כתובת טרקבק | RSS תגובות

השארת תגובות