הבדלים בין גרסאות בדף "הארכת השאלות"
(←דוגמאות) |
מ (←האלגוריתם) |
||
(6 גרסאות ביניים של אותו משתמש אינן מוצגות) | |||
שורה 1: | שורה 1: | ||
− | כאשר אגרונט עובד במצב [[אגרונט לייב באינטרנט|לייב]] | + | כאשר אגרונט עובד במצב [[אגרונט לייב באינטרנט|לייב]] ניתן לבצע עליו פעולות ישירות על בסיס נתונים של האתר. בין יתר היתרונות במצב זה, ניתן למצוא את ההארכת ההשאלות של הקוראים ע"י הקוראים '''ללא התערבות הספריה'''. כדי להימנע מבעיות ואי נעימויות גם לספרייה וגם לקוראים נבנה אלגוריתם מתוחכם שיאפשר עבודה מיטבית עם האגרונט. האלגוריתם שמבצע את החישוב של ההארכת השאלות מתואר במאמר זה. |
== האלגוריתם == | == האלגוריתם == | ||
שורה 6: | שורה 6: | ||
:* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | :* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | ||
:* במידה וכן - המשך. | :* במידה וכן - המשך. | ||
− | 2. בדיקה אם אין הזמנה על הספר | + | 2. בדיקה אם אין הזמנה על הספר. |
:* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | :* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | ||
:* במידה וכן - המשך. | :* במידה וכן - המשך. | ||
3. בדיקה אם ביצוע הארכה לא חורג ממספר הימים המקסימלי להארכה*. | 3. בדיקה אם ביצוע הארכה לא חורג ממספר הימים המקסימלי להארכה*. | ||
− | :1. במידה וכן, בצע בדיקה אם ניתן לבצע הארכה ליום האחרון המקסימלי. | + | :1. במידה וכן (ישנה חריגה מעבר למספר הימים המקסימלי להארכה), בצע בדיקה אם ניתן לבצע הארכה ליום האחרון המקסימלי. |
::* במידה וכן, בצע את ההארכה ליום המקסימלי. | ::* במידה וכן, בצע את ההארכה ליום המקסימלי. | ||
::* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | ::* במידה ולא - אל תבצע כלום. צא מהאלגוריתם. | ||
שורה 25: | שורה 25: | ||
# loan_length_time (מכונה x בתמונה)- מספר הימים שמותר להאריך בכל ההארכה. אם יחסי, החישוב מבוצע מול מספר הימים המותר להשאלה של העותק המושאל (מוזן בטבלת עותקים). | # loan_length_time (מכונה x בתמונה)- מספר הימים שמותר להאריך בכל ההארכה. אם יחסי, החישוב מבוצע מול מספר הימים המותר להשאלה של העותק המושאל (מוזן בטבלת עותקים). | ||
# loan_length_count (מכונה y בתמונה) - מספר הפעמים שמותר להאריך השאלה (בנוסף לימי ההשאלה המקוריים). | # loan_length_count (מכונה y בתמונה) - מספר הפעמים שמותר להאריך השאלה (בנוסף לימי ההשאלה המקוריים). | ||
− | {{תיבת שימו לב| כמות הפעמים שמותר להאריך אינה מוגבלת, אלא מספר הימים שעברו סה"כ. משמע, שקורא יכול להאריך כל יום, המערכת תעצור אותו רק כאשר הוא יגיע למספר הימים המקסימלי שמותר להארכה (חישוב לעיל).}} | + | {{תיבת שימו לב| כמות הפעמים שמותר להאריך אינה מוגבלת, אלא מספר הימים שעברו סה"כ. משמע, שקורא יכול להאריך כל יום, המערכת תעצור אותו רק כאשר הוא יגיע למספר הימים המקסימלי שמותר להארכה (חישוב לעיל). במידה והספר מוזמן או שהקורא מאחר בהחזרת הספר, המערכת אינה מאפשרת ביצוע הארכת השאלה.}} |
== דוגמאות == | == דוגמאות == | ||
שורה 51: | שורה 51: | ||
בדוגמא זו ניתן להאריך בכל פעם 7 ימים נוספים. משמע שההארכה האפשרית הינה ל-35 ימים נוספים בנוסף לימי ההשאלה המקוריים (60). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 95 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-54 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי). | בדוגמא זו ניתן להאריך בכל פעם 7 ימים נוספים. משמע שההארכה האפשרית הינה ל-35 ימים נוספים בנוסף לימי ההשאלה המקוריים (60). סה"כ הזמן המקסימלי שהקורא יכול להחזיק את הספר: 95 ימים. הקורא יוכל להתחיל להאריך השאלה רק ביום ה-54 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי). | ||
+ | |||
+ | [[קטגוריה:אגרונט]] | ||
+ | [[קטגוריה:קוראים]] |
גרסה אחרונה מ־14:25, 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 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).