ג'ומלה ישראל - ותיקים מדריכים חדשים

18,314 views

Published on

  • Be the first to comment

  • Be the first to like this

ג'ומלה ישראל - ותיקים מדריכים חדשים

  1. 1. ‫גומלה ישראל‬‫ותיקים מדריכים חדשים‬ ‫מאחורי הקלעים של גומלה‬ ‫‪Ofer Cohen‬‬ ‫‪joomla.org.il‬‬ ‫666‪@oc‬‬
  2. 2. ‫מי אני?‬ ‫● חבר בבורד של ה-‪OSM‬‬ ‫● אחד מעשרות מפתחי הליבה‬ ‫● חבר ב-‪JBS‬‬ ‫● מנהל את ‪joomla.org.il‬‬ ‫● מנהל את התרגום העברי של גומלה‬‫● עבודה יומיומית: מנהל פיתוח בסצינת ההייטק‬ ‫והסטארט-אפים.‬
  3. 3. ‫גומלה‬ ‫● בשימוש של %8.2 מהאתרים בעולם‬‫● בנויה על שלוש שכבות מרכזיות: שרת אינטרנט,‬ ‫בסיס נתונים, שפת תכנות ‪PHP‬‬ ‫● ליבה בסיסית הניתנת להרחבה בשלוש צורות:‬ ‫מודולים, רכיבים ופלאגינים‬
  4. 4. ‫בסיס נתונים - למה?‬ ‫● נועד לשמור את התכנים של האתר )אך לא רק(‬ ‫● מונע תלות בקבצים‬‫● ניהול דינמי של תכנים ועוד חלקים מרכזיים באתר‬‫● גומלה החלה בתמיכה בבסיס נתונים ‪ mysql‬אך‬ ‫החל מגירסה 5.2 ישנה תמיכה בעוד סוגים‬
  5. 5. ‫בסיס נתונים - איך?‬ ‫● בנוי מטבלאות‬‫● כל טבלה מנורמלת כך שהיא שומרת את המידע‬ ‫בצורה חסכונית )יתרון על קבצים(‬ ‫● ניתן לשלוף מידע בצורה ידידותית ויעילה ע"י‬ ‫שאילתות ‪.SQL‬‬
  6. 6. ‫בסיס נתונים - איך בדיוק?‬ ‫● כל טבלה מאחסנת סוג מידע אחד‬ ‫○ למשל תוכן, קטגוריות וכו(.‬ ‫● לכל תוכן יש כמה סוגי שדות‬‫○ למשל לתוכן יש כותרת, טקסט, תקציר, מס קטגוריה‬ ‫ועוד‬ ‫● למה מס קטגוריה ולא שם קטגוריה?‬
  7. 7. ‫בסיס נתונים - לכל שאלה תשובה‬‫● כדי לשלוף או לעדכן מידע ישנה שפת שאילתות‬ ‫בשם ‪SQL‬‬ ‫‪SELECT‬‬ ‫○‬ ‫‪UPDATE‬‬ ‫○‬ ‫‪INSERT‬‬ ‫○‬ ‫‪DELETE‬‬ ‫○‬ ‫● מינוחים מוסכמים‬ ‫○ ‪GROUP BY‬‬ ‫○ ‪WHERE‬‬ ‫○ ‪ORDER BY‬‬
  8. 8. ?‫בסיס נתונים - מה עוד‬ ‫● טבלאות מעניינות‬ extensions ○ users ○ assets ○ content_frontpage ○
  9. 9. ‫בסיס נתונים - היכן המפתחות?‬ ‫● מפתחות ואינדקסים נועדו לעזור ולשפר את‬ ‫החיפוש ע"י יצירת אינדקס.‬‫● אינדוקס פשוט מסדר את הטבלה כך שחיפוש ע"י‬ ‫שדות האינדקס יתבצע במהירות.‬ ‫● מפתח יכול להיות יחודי אך לא חובה‬ ‫● מומלץ שלכל טבלה יהיה מפתח ראשי )יחודי(‬ ‫● אינדקס יכול להיות מורכב יותר משדה אחד‬
  10. 10. ‫בסיס נתונים - למה זה מעניין אותנו?‬‫● אתר סטנדרטי מורכב מהרבה הרחבות וכתוצאה‬ ‫מכך גם מטבלאות רבות‬ ‫● אחת הסיבות לאיטיות של אתרים‬ ‫○ ‪ MySQLSlow‬יסביר לכם‬‫● ‪ - Explain‬יתן לכם הסבר מדוע שאילתא איטית‬ ‫● מה זה ‪?Prefix‬‬ ‫● מטמון, מטמון ועוד קצת מטמון!‬
  11. 11. ‫קבצים‬‫● גומלה מורכבת ממספר תיקיות מרכזיות שמנהלות אותה‬ ‫במקביל לסוגי הרכיבים:‬ ‫○ ‪modules‬‬ ‫○ ‪components‬‬ ‫○ ‪plugins‬‬ ‫○ ‪templates‬‬ ‫● בנוסף, ישנה תיקייה שמכילה את הליבה של גומלה‬‫וספריות נוספות שגומלה עושה בהם שימוש )‪.(libraries‬‬
  12. 12. ‫קבצים - הרשאות‬ ‫● רוב השרתים מריצים לינוקס‬ ‫● ישנה הרשאה לכל ספריה וקובץ‬ ‫● המבנה של ההרשאה: ‪rwxrwxrwx‬‬ ‫● כל 3 סיביות זה גורם אחר במערכת:‬ ‫‪user, group, other‬‬‫● ניתן לתרגם זאת מספרית בצורה בינארית‬ ‫● 777 זה המספר של השטן!‬
  13. 13. ‫קבצים - ‪components‬‬ ‫● ההפניות לרכיבים נעשות בצורה הבאות:‬ ‫○ ?‪index.php‬‬ ‫‪option=com_content&view=foo&task=bar‬‬‫○ אם ישנו ‪ SEF‬דלוק, הנתיב נראה יותר ידידותי‬ ‫● רכיבים בנויים באמצעות ארכיטקטורת ‪.MVC‬‬
  14. 14. ‫קבצים - ‪modules‬‬ ‫● מודולים הינם חתיכת פיסת מידע שמציגים‬ ‫במיקומים מוגדרים בתבנית‬‫● מודולים אינם ניתנים לגישה לפי נתיב )‪(URL‬‬ ‫אלא לפי פריטי תפריט‬
  15. 15. ‫קבצים - ‪plugins‬‬ ‫● פלאגינים הינם הרחבות שדורסות או מוסיפות‬ ‫להתנהגות ברירת מחדל למערכת.‬ ‫● למשל, ניתן להוסיף פעולה )התנהגות( כאשר‬‫משתמש נוסף למערכת, או להוסיף תוכן לפני או‬ ‫אחרי התכנים של גומלה.‬ ‫● בנוי על ארכיטקטורת ‪.observer‬‬
  16. 16. ‫קבצים - ‪templates‬‬ ‫● תבניות מטפלות בעיצוב של האתר‬ ‫● דואגות לנראות הכללית וגם הספציפית של כל‬ ‫רכיב ומודול‬‫● ניתן לדרוס בקלות כל עיצוב של כל רכיב או מודול‬ ‫ללא דריסת העיצוב ברירת מחדל של ההרחבה‬
  17. 17. ‫גומלה - ‪PHP‬‬ ‫● השפה הכי נפוצה לבניית יישומי ‪.web‬‬ ‫● פותחה במקור ע"י זנד.‬‫● מהירות פיתוח הינה יתרונה הגדול אך גם‬ ‫חסרונה.‬ ‫● דרישה גדולה בשוק למפתחים!‬
  18. 18. ‫גומלה - גירסאות‬‫● החל מגירסה 6.1, גומלה שמה לעצמה את הדגש‬ ‫לתאימות לאחור‬ ‫● כל גירסה שלישית הינה עם תמיכה ארוכת טווח‬ ‫וכל גירסה רגילה היא עם תמיכה לחצי שנה‬ ‫● גירסת ארוכת טווח היא עם תמיכה לשנתיים‬ ‫● ניתן לעבור בין גירסאות בלחיצת כפתור!‬
  19. 19. ‫גומלה - מה קורה מאחורי הקלעים‬ ‫● מי מנהל את הקוד?‬ ‫● מי מנהל את הפיצרים שנכנסים?‬ ‫● מי בודק ומתקן באגים?‬ ‫● מי מוציא הודעות שחרור?‬ ‫● מי מתרגם את זה ל46- שפות?‬
  20. 20. ‫גומלה - מה קורה מאחורי הקלעים‬‫אתם‬
  21. 21. ‫גומלה - מה הלאה?‬ ‫● הפנים לקראת גומלה 0.3‬ ‫● הפיצרים מרכזיים:‬ ‫○ ‪UCM‬‬ ‫○ ‪Multi-Site‬‬ ‫○ ארכיטקטורת ‪HMVC‬‬ ‫○ ‪ UX‬חדש‬‫○ תבנית ברירת מחדל רספונסיבית‬
  22. 22. ?‫גומלה - מה הלאה‬ Joomla!DayISRAEL 2012 October 12

×