דרופל

דרופל (באנגלית: Drupal) היא מערכת ניהול תוכן חופשית המאפשרת בנייה וניהול של אתרי אינטרנט.

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

תמיכה טכנית למשתמשים חדשים וותיקים כאחד ב[https://www.drupal.org/forum פורומים] באתר דרופל העולמי, באתר [http://drupal.stackexchange.com/ DrupalAnswers] (זירת שאלות ותשובות מקוונת), בקבוצות פייסבוק שונות ועוד. בישראל קהילת משתמשים מגוונת הנותנת תמיכה קהילתית באתר הקהילה הישראלי או בפייסבוק בקבוצת דרופל ישראל.

==רקע==
דרופל היא תוכנה חופשית וכולם יכולים להורידה, להתקינה ולהשתמש בה ללא תשלום תחת הרישיון הציבורי הכללי של גנו (GNU). כיום, פועלים באמצעות דרופל מאות אלפי אתרים מסוגים שונים; החל מאתרים ארגוניים פורטלים, ואתרים חברתיים, ועד לאתרים אישיים כגון של גופים אידאולוגיים או עסקים קטנים ובינוניים.

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

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

Drupal נוצרה על ידי Dries Buytaert בשנת 2000 ובשנת 2003 עלה האתר הרשמי לאוויר. התוכנה משתכללת באופן תמידי בהתאם לפיתוחים שונים בתחומי המחשוב והתכנות האינטרנטי תוך הקפדה על הנגשת השימוש בה לציבורים רבים ככל הניתן.

ארגון דרופל העולמי (Drupal association) הוא ארגון ללא מטרת רווח הדוגל בתוכנה חופשית ומפעיל את האתר הרשמי ואת הקבוצות הפתוחות השונות בהן מפותחים הרכיבים השונים. ישנם ארגונים נוספים כגון ארגון אקווייה (Acquia) המקדמים שימוש בדרופל ומספקים תמיכה לארגונים העובדים עם התוכנה.

==אופי, מבנה, ועקרונות יסוד==
נהוג להתייחס לתכנים המגיעים עם חבילת ההתקנה כגון רכיבים (מודולים), ערכות עיצוב וכו' כתכני "ליבה" - Core. הליבה מכילה אוסף של תכונות, קבצים וכללים המהווים את התוכנה עצמה. מודולים הכלולים בחבילת הליבה מאפשרים למשל הקמת בלוג תוך-אתרי, אפשור תגובות לדפים ופוסטים, אפשר שימוש בקטגוריות ותגיות, הקמת פורומים, רב-לשוניות (תמיכה בשפות נוספות), הקמת היבטים (שילובי תכנים ומצגות ראווה) ועוד.

ניתן להרחיב את התוכנה, הן מבחינת רכיבים והן מבחינה עיצובית, על ידי הורדה מהאינטרנט של תכנים הנמצאים באתר הקהילה (או התקנתם לתוכנה ישירות מאתר הקהילה). תכנים כאלה המתווספים על הליבה נקראים בדרך כלל תוכני "תרומה" - Contrib שכן הם נתרמו על ידי מתכנתים ואחרים בקהילה בהתנדבות מלאה, לטובת כלל המשתמשים.

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

השוק הבינלאומי של מסחר אלקטרוני בדרופל הוא שוק ענף; קיימות אף ערכות עיצוב שניתן לקנות בגלריות השונות (כגון Template monster או Themeforest) שהן ייעודיות להקמת חנות אלקטרונית. המודול העיקרי המשמש להקמת חנויות אינטרנטיות בדרופל (Drupal Commerce) חופשי ונתמך בידי קהילה רחבה של מתכנתים. ניתן לבנות עם התוכנה גם אתרי אפיליאציה (שיתופי פעולה מסחריים) וישנם כלים המסייעים בכך.

מאז החל פיתוחה של דרופל 8 ישנה מגמה להרחיב את דרופל מבחינה עיצובית גם לתחום ה-SaaS ולאנשי טכנולוגיית מידע (IT); כך למשל הוכנסו רכיבים המטפלים בשירותי אינטרנט (Web services) לליבת התוכנה. מאז יציאתה של דרופל 8 שולבו בה טכנולוגיות המאפשרות פריסה ריספונסיבית (Responsive layouts) אוטומטית של מבנים מסוימים, כמו היבטי תוכן, גלריות, ופאנלים (תוכן מוחלק לריבועים בפריסה נתונה) כך שאתרים הנבנים עימה מתאימים באופן אוטומטי, בדרך כלל, לתצוגת ניידים וטאבלטים ללא תלות בתבנית (כמו בדרופל 7).

==בסיס טכנולוגי ודרישות מערכת==

קוד התכנות של דרופל עצמה כתוב בעיקרו בשפת התכנות PHP ובחלקו הקטן ב-Javascript. אין צורך לדעת את שפות התכנות הללו בשביל לנהל אתר עם התוכנה, קל וחומר בשביל לבנות עימה אתר אישי או בסיסי. עבודה עם השפות נפוצה בעיקר בקרב מפתחים מקצועיים ונדרשת גם לפיתוח אפליקציות סמארטפון עם התוכנה; אך לא בהכרח לאתרי אינטרנט (אפילו אם מדובר באתר מותאם-מובייל אך שאינו אפליקציה) - גמישות זו מאפשרת גם לאנשים שאינם מתכנתים לעבוד עם התוכנה כשם שהיו עובדים עם כל תוכנת מחשב אחרת ואף לפתור בעיות אפשריות שאינן דורשות התערבות ברמת קוד תכנות. עם זאת, מלבד היותה מערכת ניהול התוכן, דרופל היא גם PHP Framework עם הנחיות קפדניות לכתיבת קוד (קידוד). והיא נחשבת כ Framework נפוצה לצד Symfony ו Laravel.

התנאי הבסיסי להתקנה והרצה של דרופל הוא שרת אינטרנט שמריץ PHP ומאפשר גישה לבסיס נתונים. תצורת ההתקנה הנתמכת והמתועדת ביותר קרויה LAMP - ראשי תיבות של לינוקס, אפאצ'י Mysql ו-PHP. אך עם זאת ניתן להריץ Drupal גם על סביבת Windows בעזרת התוכנה XAMPP או מקינטוש.

תוכנת סביבת שרת נפוצה בקרב משתמשי חלונות היא XAMPP (נכון לחודש מרץ 2016 התוכנה WAMP איננה מתאימה לדרופל 8) לאחר התקנה מוצלחת של התוכנה תיווצר סביבת שרת מוכנה שעליה ניתן יהיה להתקין דרופל מיידית. משתמשי לינוקס רבים מעדיפים להקים את השרת ידנית (כלומר להקים את סביבת ה-LAMP בעצמם וחלקם יוכלו להתקין את התצורה ישירות על ידי התוכנה XAMPP שאפשרית גם בלינוקס). אופציות דומות עומדות עבור משתמשי מקינטוש.

==תמיכה בשפות==
לדרופל תמיכה נרחבת בעשרות שפות. החל מגרסה 8, כבר בעת ההתקנה ניתן לבחור בקלות התקנת גרסה עברית (בגרסאות קודמות יותר הדבר היה כרוך ביבוא קובץ תרגום אך כעת הבחירה היא מיידית). ניתן גם להתקין את התוכנה באנגלית ולהוסיף עברית (ושפות נוספות) לאחר ההתקנה.

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

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

ישנם גם ספרי דרופל באנגלית אותם ניתן לרכוש באתרי מסחר אלקטרוני דוגמת אמזון.

==קהילה==
קהילת הדרופל היא מגוונת מאוד ולא רק מתכנתים נמצאים בה: ישנם גם מעצבי web, אנשי SEO, מנהלי אתרים, עורכי תוכן מקצועיים ובעלי אתרים התורמים כולם מניסיונם לקהילה; בפרט מתכנתים תורמים לפיתוח ותחזוק המודולים ומעצבי האתרים לפיתוח התבניות השונות ויישום הטכנולוגיה העיצובית והממשקים השונים. חלק ניכר מחברי הקהילה תורמים בכתיבת מסמכי הסבר ובפתרון בעיות הדדי.

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

בגלל שדרופל היא מערכת open source כולם יכולים לתרום לפיתוח. כמו לכל קהילה גם לדרופל יש מפגשים והם מחולקים לכמה סוגים:
* DrupalCon - אירוע שמתקיים פעמיים בשנה (בהפרש של חצי אחד מהשני). אירוע אחד מתקיים בעיר מרכזית באירופה והשני מתקיים בעיר מרכזית בארצות הברית. מעבר לשני האירועים האלה ישנם עוד אירועי DrupalCon שמתקיימים ביבשות אחרות. ב-2014 וב-2015 התקיימו בערים מרכזיות באוסטרליה (סידני ומלבורן בהתאמה) ובשנת 2015 התקיים DrupalCaon בבוגוטה, דרום אמריקה. הכנס מתפרס על שבוע שלם (שני עד חמישי) שבמהלכו יש הרצאות ביום ובערב יש פעילויות. בכל יום חמישי יש ערב טריוויה בו יכולים המשתתפים לזכות בפרסים. בסוף שבוע של כל כנס (שישי שבת וראשון) יש אירוע שנקרא Sprints שבו מתחלקים לקבוצות ופותרים בעיות בליבה של דרופל או בכל נושא אחר שקשור לדרופל.
* DrupalCamp - אירוע שמתקיים עבור קהילות מקומיות ובמתכונת הרבה יותר מצומצמת מזו של הכנס העולמי. בישראל מתקיים הכנס באופן סדיר כל שנה החל משנת 2012 וישנם עוד קהילות בעולם אשר מאמצות את הנוהל. האירוע מיועד לחזק את קשרי הקהילה המקומית של דרופל ולהציג את המערכת לאנשים שטרם התנסו במערכת. 
* Drupal Dev Days - בניגוד לשני האירועים הנ״ל שמיועדים לא רק למפתחים, DDD מיועד אך ורק למתכנתים ובעל אוריינטציה תיכנותית.

==מילון מונחים דרופלי==
להלן מספר מונחים דרופליים מרכזיים:
{| class="wikitable"
|-
! המונח בעברית !! המונח באנגלית !! ביאור
|-
| תוכן || Content || כל דבר המופיע לגולשים היכן שהוא באתר, ובפרט טקסט/תמונה/וידאו/טופס וכו'.
|-
| ישות || Entity || סוג ייחודי של טבלה בבסיס הנתונים (Mysql ברוב המקרים) המכילה תבנית לארגון בסיסי והיררכי של המידע בדפים שונים באתר, שמבוססים עליה. לכל ישות כמה סוגים (Types) אשר יורשים ממנה מידע.
|-
| סוג ישות || Entity type || דרופל מגיעה עם ישויות וסוגים אשר יונקים מהן מידע. כל סוג ישות מבסס חלק אחר של תוכן שיכול להופיע באתר. סוגי ישויות המגיעים עם דרופל הם למשל: דף תוכן כללי (Node), מילון (Vocabulary, של קטגוריות או תגיות), דף תוכן של משתמש רשום, סוג ישית לקבצים, ועוד. 
|-
| נואוד || Node || סוג הישות הבסיסי ביותר בדרופל. סוג ישות זה מבסס את דפי האתר הטיפוסיים ביותר וקיימים סוגי ישויות הדומים לו מאוד ומציגים תוכן בצורות מעט שונות.
|-
| סוג תוכן || Content type || באתר מבוסס תוכן יש צורך לחלק את התוכן לסוגים מרכזיים. סוגי התכנים עוזרים לחלק את התוכן לסוגים שונים (דף כתבה, דף בלוג וכו') לפי האפיון של הפרויקט. ישות ה-Node יכולה לקבל סוגי תוכן שונים. דוגמה לסוג תוכן הוא "מדינות" ואליו יגעו כל הדפים שמתארים מדינה מסוימת (כגון "ישראל" או "ירדן").
|-
| אזור || Region || אזור הוא חלק בעמוד שאליו מכניסים תוכן. באופן טבעי קיים אזור ראשי אחד (Content region) בו נמצאת תצוגה ראשונית של תוכן מישות מסוימת (כמו דף כללי או דף משתמש) וכל שאר האזורים הם משניים לו (אם כי ניתן לפלטר תוכן המופיע בהם בהתאם לדף האינטרנט אשר תוכנו נמצא באזור הראשי).
|-
| אזור תוכן משני || Peripheral region || כל אזור תוכן שאיננו האזור הראשי. תכנים באזורים משניים נקראים לעיתים "תכנים פריפיראליים".
|-
| בלוק || Block || פיסת תוכן. בלוקים מוצגים באזורים (Regions) ודרופל מגיעה עם מספר בלוקים שעונים לפונקציונליות מסוימת: בלוק עם טופס התחברות, בלוק שמציג את המשתמשים המחוברים, בלוק שמציג את התוכן האחרון שנוסף לאתר וכו'. כל בלוק ממש פונקצינאליות שונה והוא הפתרון המועדף על רוב מנהלי המערכות כיוון שבאמצעות גרירה, ארגון, וכלים נוספים של מערכת הבלוקים של דרופל, ניתן ליצור דפים שונים ועשירים.
|-
| תפריט ניהול || Toolbar || תפריט הניהול המופיע בחלק העליון של תצוגת האתר (בעת התחברות).
|-
| רכיב || Module || דרופל היא מערכת מודולרית - ניתן להוסיף רכיבים שישנו את הלוגיקה הבסיסית של דרופל ובכך יעשירו את המערכת. ישנם רכיבים שמיועדים לבוני אתרים כמו views שבלי שום בעיות עוזר להציג תכנים לפי לוגיקה (בדומה לשאילתה מהמסד נתונים) ונותן את האפשרות לעצב את התכנים באופן טבלאי, רשימות ועוד. ישנם מודולים שמיועדים עבור מפתחים בלבד כמו Message שאיתו המפתח יכול לתעד אירועים שהתרחשו במערכת.
|-
| קישורים הקשריים || Contextual links || קישורים שמיועדים למשתמשים בעלי הרשאות ספציפיות ובעת מעבר עכבר מעל לבלוק הם יכולים לפתוח תפריט עם קישורים בהקשר לבלוק הנוכחי כמו ניהול תצורת הבלוק. במידה וזה בלוק של תוכן הקישור יופיע מעל לרשומה וייספק קישורים לניהול אותה הרשומה (מחיקה או עריכה)
|-
| אסימון || Token || מייצג תוכן מתוך המסד נתונים לפי פורמט. לדוגמה [user:name] יכול לייצג את שם המשתמש הנוכחי שצופה בעמוד.
|-
| לשונית || Tab || מאפיין של דפי ניהול; הלשוניות נמצאות בראש דף הניהול ורקען, בדרך כלל מעוצב באופן בולט. הן מכילות אפשרויות שליטה שונות באותו נושא של דף הניהול. 
|}

==ראו גם==
* וורדפרס 
* ג'ומלה

==קישורים חיצוניים==

* 

==הערות שוליים==

קטגוריה:פיתוח יישומי ווב
קטגוריה:תוכנה חופשית
קטגוריה:תוכנות שהושקו ב-2000