הבדלים בין גרסאות בדף "הארכת השאלות"
שורה 1: | שורה 1: | ||
− | כאשר אגרונט עובד במצב [[אגרונט לייב באינטרנט|לייב]] ניתן לבצע עליו פעולות ישירות על בסיס נתונים של האתר. בין יתר היתרונות במצב זה, ניתן למצוא את ההארכת ההשאלות של הקוראים ע"י הקוראים '''ללא התערבות הספריה'''. כדי להימנע מבעיות ואי נעימויות גם | + | כאשר אגרונט עובד במצב [[אגרונט לייב באינטרנט|לייב]] ניתן לבצע עליו פעולות ישירות על בסיס נתונים של האתר. בין יתר היתרונות במצב זה, ניתן למצוא את ההארכת ההשאלות של הקוראים ע"י הקוראים '''ללא התערבות הספריה'''. כדי להימנע מבעיות ואי נעימויות גם לספרייה וגם לקוראים נבנה אלגוריתם מתוחכם שיאפשר עבודה מיטבית עם האגרונט. האלגוריתם שמבצע את החישוב של ההארכת השאלות מתואר במאמר זה. |
== האלגוריתם == | == האלגוריתם == |
גרסה מ־14:22, 18 בפברואר 2011
כאשר אגרונט עובד במצב לייב ניתן לבצע עליו פעולות ישירות על בסיס נתונים של האתר. בין יתר היתרונות במצב זה, ניתן למצוא את ההארכת ההשאלות של הקוראים ע"י הקוראים ללא התערבות הספריה. כדי להימנע מבעיות ואי נעימויות גם לספרייה וגם לקוראים נבנה אלגוריתם מתוחכם שיאפשר עבודה מיטבית עם האגרונט. האלגוריתם שמבצע את החישוב של ההארכת השאלות מתואר במאמר זה.
תוכן עניינים
האלגוריתם
1. בדיקה אם תאריך החזרה עבר.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- במידה וכן - המשך.
2. בדיקה אם אין הזמנה על הספר. במידה ולא - אל תבצע כלום.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- במידה וכן - המשך.
3. בדיקה אם ביצוע הארכה לא חורג ממספר הימים המקסימלי להארכה*.
- 1. במידה וכן (ישנה חריגה מעבר למספר הימים המקסימלי להארכה), בצע בדיקה אם ניתן לבצע הארכה ליום האחרון המקסימלי.
- במידה וכן, בצע את ההארכה ליום המקסימלי.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
- 2. במידה ולא, בצע בדיקה אם הוספת מספר הימים המורשה בכל הארכה עובר את תאריך ההחזרה** (במילים פשוטות, בדוק אם ההארכה לא מקצרת את זמן ההשאלה).
- במידה וכן, בצע את ההארכה לכמות הימים המותרת.
- במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
הארגומנטים
ישנם מספר ארגומנטים שמוזנים בניהול לשלוט על האלגוריתם:
- loan_length_type - סוג ההארכת השאלה. הערכים האפשריים הינם: absolute (אבסולוטי) או relative (יחסי).
- loan_length_time (מכונה x בתמונה)- מספר הימים שמותר להאריך בכל ההארכה. אם יחסי, החישוב מבוצע מול מספר הימים המותר להשאלה של העותק המושאל (מוזן בטבלת עותקים).
- loan_length_count (מכונה y בתמונה) - מספר הפעמים שמותר להאריך השאלה (בנוסף לימי ההשאלה המקוריים).
דוגמאות
דוגמא 1
- loan_length_type: יחסי.
- loan_length_time: 0.5
- loan_length_count: 2
- ימי ההשאלה מקוריים: 30.
בדוגמא זו ניתן להאריך בכל פעם 15 ימים נוספים (חצי כפול 30). משמע שההארכה האפשרית הינה ל-30 ימים נוספים בנוסף לימי ההשאלה המקוריים (30). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 60 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-16 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).
דוגמא 2
- loan_length_type: יחסי.
- loan_length_time: 1
- loan_length_count: 3
- ימי ההשאלה מקוריים: 21.
בדוגמא זו ניתן להאריך בכל פעם 21 ימים נוספים (אחד כפול 21). משמע שההארכה האפשרית הינה ל-63 ימים נוספים בנוסף לימי ההשאלה המקוריים (21). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 84 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-2 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).
דוגמא 3
- loan_length_type: אבסולוטי.
- loan_length_time: 7
- loan_length_count: 5
- ימי ההשאלה מקוריים: 60.
בדוגמא זו ניתן להאריך בכל פעם 7 ימים נוספים. משמע שההארכה האפשרית הינה ל-35 ימים נוספים בנוסף לימי ההשאלה המקוריים (60). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 95 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-54 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).