שלום,
ההודעה של שבי על הקשיים בכנסת פתוחה גרמה לי לחשוב שוב על רעיון שהיה לי לגבי כל נושא הסקרייפינג.
אני יוצא משתי הנחות בסיס:
-
גירוד מידע מאתרים הוא המשימה הכי מייגעת בתחזוקת החשמביר. מעבר לרמה הנמוכה של אתרי הממשל בארץ באופן כללי, רובם בנויים בדוט נט שבהגדרה יוצרת אתרים קשים מאד לגירוד.
-
אנחנו פוגשים הרבה מתנדבים שיודעים לתכנת ורוצים לתרום, אבל מתקשים בגלל שהצטרפות לחשמבירים חדשים דורשת עקומת למידה מסוימת: הכרת בסיס קוד חדש ולפעמים גם סביבת פיתוח, ספריות ואפילו שפת תכנות שהם לא מכירים.
הרעיון שלי הוא להפריד את כל נושא הגירוד מהחשמבירים לאיזור משלו (״המגרדה״, עד שמישהו יביא שם פחות גרוע). סקריפטים קטנים, שהחשמביר מתקשר איתם ב REST/JSON, יכולים להיות כתובים בכל שפה, שיטפלו בהשגת מידע ספציפי ומוגדר.
למשל, במקרה של תב״ע פתוחה יהיה סקריפט שמקבל מספר גוש ומחזיר את התוכניות בגוש. כדי להקל על תחזוקה/שינויים בקוד הסקריפט יהיה פשוט ככל הניתן - לא יטפל ב caching, לא יבצע מיון או סינון של התוכניות וכו׳. כל מה שהוא יודע זה לקבל מספר גוש, לתרגם אותו ל request מתאים ולהוציא את המידע מה html שמתקבל. החשמביר אחראי לכל השאר.
יהיה סקריפט אחר שיודע להביא גושים לרשות, למשל. שני הסקריפטים הנ״ל לא מכירים אחד את השני, יכולים להיות כתובים בכלל בשפות שונות וכו׳, ברוח הגישה היוניקסית של הרבה כלים פשוטים שעושים דבר אחד בלבד.
אני מקווה שבמקרה זה נשיג שתי מטרות: נוכל לתת לחשמבירים להתעסק בניתוח והצגת המידע במקום בגירוד שלו, ונוכל לתת למתכנתים שרוצים לתרום דרך פשוטה ונגישה לסייע לסדנה באופן מיידי.
מה דעתכם?