Drupalcon Szeged 2008

תמיכה בשדה תמונה בדרופל 6

הרבה כבר שאלו וביררו, והמצב לא היה ברור. אחרי חיפושים רבים ושיחות עם המפתחים, התבררה לי התמונה הבאה:

בדרופל 6 יש מודול שנקרא filefield, שמטפל באופן כללי בשדות שמייצגים קבצים.
imagefield לגרסה 6 יפותח על בסיס filefield (למעשה, הפיתוח שלו גרם לשינויים מפליגים בקוד של filefield).
המודול filefield_image הוא רק בדיקת התכנות ולא מומלץ להתקין אותו, כיוון שהוא יעלם, ולא יהיה מסלול שדרוג ממנו ל imagefield.

כל זה אמור לקרות בקרוב מאוד. תבדקו את עמוד הפרויקט - http://drupal.org/project/imagefield לחדשות.

תגובות

סחתיין על העדכון

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

קצת יותר מסובך שם

אבל פתחתי על זה issue.
http://drupal.org/node/282739

בעניין: תמיכה בשדה תמונה בדרופל 6

אז Imagefield יהפוך להיות קובץ include בתוך filefield? זו הכוונה?

זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות

לא

imagefield יישאר בתור פרויקט עצמאי. הוא ימומש כשדה מסוג קובץ, בעצרת ה API שמאפשר filefield. הוא יהיה תלוי ב filefield.

מה לגבי מודולים אחרים?

אם כבר ממתינים לשחרור רשמי אז האם כדאי לחשוב בכיוון של Image Assist למשל? הוא כבר בבטא 1:
http://drupal.org/project/img_assist

אמיר

בעניין: מה לגבי מודולים אחרים?

זה לא שדה תמונה, אלא סתם תמונה בתוך הטקסט. תשתמש בזה אם זה טוב לך, אבל זה משהו אחר לגמרי.

המפתח של imagefield, הוא בחור משעשע.. הנה, תקראו את ההודעות שהוא כותב על השינויים בקוד:
http://drupal.org/project/cvs/72560

שאלה לגבי מבנה ה database שהמודול מבוסס עליו

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

אין לי הרבה ניסיון ב php אלא בעיקר בג'אווה...

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

בעזרת cck הגדרתי שדה חדש בשם img השדה הוא שדה קובץ.
אני לומד מהסתכלות ע לה db שלכל רשומה בטבלת ה content_type שלי התווספו שדות חדשים ובעיקר שדה field_img_fid שאכן מציין את ה file id של התמונה שקשורה לדף. בטבלה אחרת files אני רואה את הרשומה הקשורה תמונה. אבל, כפי הניראה המידע על התמונה נימצאת בעוד טבלה, כי שינוי של הנתונים בטבלת files לא משנה את הקובץ המוצג באתר.

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

R2D2

בנוגע לעבודה ישירה מול דטה בייס

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

יש לך שתי ברירות, ככה מהשרוול:
1. עבוד programatically עם CCK. ז"א, ייצור תוכן מבוסס CCK מתוך קוד דרופלי בתהליך הייבוא. היי, הרגע נזכרתי שאפילו כתבתי על זה :-) http://www.rymland.org/en/blogs/boaz/4_feb_08/direct-db-access-with-cust...
2. יש מודולים לייבוא תוכן כמו למשל http://drupal.org/project/node_import שאין לי מושג מה המצב התמיכה שלו בדופל 6, אבל בדרופל חמש הוא די מוצלח, חזק ונוח לשימוש.

בהצלחה, וברוך הבא!

תודה...

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

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

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

2. גם ללא הרשום בסעיף 1, לא הצלחתי למצוא כלים שיעשו העברה מלאה של כל המידע שלי, גיליתי שהכלים המוצעים מתאימים למידע די בסיסי.

תודה על קבלת הפנים :-)

נב: הדף אליו קישרת לא זמין, אני מקבל You are not authorized to access this page.