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

כמו שאפשר לראות, 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?
- Apache ממשיך (למרות הנסיונות של מתחרים ובהם IIS) להיות ה-שרת אפליקציות של האינטרנט עם בערך 60% נתח שוק (IIS עם 30% הרחק מאחור). יש עליו הרבה ספרות, תעוד ומפתחים שמכירים אותו (מקור – Netcraft)
- יותר ויותר חברות וארגונים גדולים מבינים ש- PHP היא שפת התכנות המתפתחת באינטרנט
- סטטיסטיקה מעניינת על שפות תכנות אפשר למצוא ממאמר באתר של או'ריילי. יש להם שם חלק שנקרא CodeZoo, איפה שאפשר למצוא קטעי קוד לרוב. הם עשו, אי שם ב- 2005 סטטיסטיקה של באילו שפות מפתחים באתר מבקשים קטעי קוד. שימו לב למספרים:

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

הערה קטנה לסיום חלק הארכיטקטורה – אני עלול לקומם עליי את אנשי ה- Linux, אבל אישית אני מעדיף פלטפורמות שרצות על WAMP, לפחות לצרכי הרמת סביבה מקומית לפני שמעלים לאתר.
3 המערכות המובילות
יש היום שלוש מערכות Open Source CSM שמובילות בשוק בתחומן ובהן בחרתי להתמקד. מי אמר שהן מובילות בתחומן? גם הנסיון שלי (שנכון, הוא מוגבל ללהתקין ולשחק עם הרבה מערכות ולא לפתח מערכת שלמה ל- production, אבל בכל זאת), וגם אנשים הרבה יותר חכמים ממני חושבים ככה (מצריך רישום, אבל מומלץ בכל זאת).
Plone – מובילה בתחום ה- Collaborative workspace

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

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

אז איך מחליטים בין שלושתן? איך מתחילים? בפוסט הבא….
פרויקט חשוב. אולי תשים גם איזו מילה בעברית בכותרת, שיעלה לקהל היעד בגוגל?
אבל אז ה-URL של הפוסט יהיה בעברית…
[...] הפוסט הזה הוא פוסט המשך לפוסט הזה. מומלץ לקרוא אותו קודם. [...]