תבנית פיתוח – לעבוד על אתר חי מבלי לפגוע בו

Programmer

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

אז למה בכלל אנחנו מזדעזעים מעבודה על אתר חי?

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

  1. האתר עלול ליפול בסבירות גבוהה ובאופן תכוף
  2. הגולשים יכולים לגשת לדפים או חלקים באתר שהם לא אמורים לראות עדיין או שאינם בשלים
  3. בעבודה על חלקים קיימים באתר אנחנו למעשה פוגעים זמנית בנראות האתר החי

אז למה בכל זאת כן כדאי לעבוד על אתר חי ואיך עושים את זה מבלי לסבול מאותם מגרעות חמורות?

  1. בעבודה על אתר חי ניתן לבדוק את הקוד שלנו על התוכן הקיים והמתעדכן באתר
  2. בעבודה על אתר חי ניתן לבצע בדיקות על תוכן חדש (למשל הזמנות חדשות) מבלי הצורך בהעתקת האתר מחדש אל סביבת הפיתוח
  3. בסיום העבודה על אתר חי אין צורך לעדכן את השינויים שנעשו במסד הנתונים, מפני שאנחנו עובדים על אותו מסד נתונים (למשל בעת יצירת שדות ACF חדשים)

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

איך זה עובד?

נניח שפיתחנו אתר מאפס וקראנו לתבנית our-website-theme. נשכפל את התיקיה ונשנה את שמה לdev-theme.
כעת יש לנו בתיקיית התבניות 2 תיקיות: our-website-theme ו-dev-theme.
בוורדפרס, מוגדרת התבנית our-website-theme כתבנית פעילה ולכן כל הגולשים יקבלו את החוויה הנגזרת מהתבנית הזו, אולם, מנהל האתר יוכל להכנס לדף הפרופיל שלו בדשבורד ולהפעיל עבורו בלבד את התבנית dev-theme כתבנית הפעילה.
כך ניתן לעבוד על האתר החי, מבלי לפגוע באתר ולהנות מצד אחד מהיתרונות של סביבת פיתוח ומאידך מהיתרונות של סביבה חיה בו זמנית.
אך עם הזמן נוצר הצורך במספר שיפורים בתוסף:

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

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

יש לכם שאלות לגבי אופן העבודה עם התוסף? אני זמין עבורכם כעת בתגובות.

 

DEV theme settings
הגדרות תבנית הפיתוח

 

 

Enable DEV theme from profile
הפעלת תבנית הפיתוח מפרופיל האדמין

 

לפוסט הזה יש תגובה אחת

  1. Avatar
    חיה

    תודה על החידושים
    יש איפשהו הדרכה מסודרת למתחילים?
    איך יוצרים תבנית בת? וכו'….

כתיבת תגובה

 

סגירת תפריט