הבדלים בין גרסאות בדף "הארכת השאלות"

מתוך אגרון - וויקיפדיה
קפיצה אל: ניווט, חיפוש
(דוגמאות)
מ (האלגוריתם)
 
(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. במידה ולא, בצע בדיקה אם הוספת מספר הימים המורשה בכל הארכה עובר את תאריך ההחזרה** (במילים פשוטות, בדוק אם ההארכה לא מקצרת את זמן ההשאלה).
  • במידה וכן, בצע את ההארכה לכמות הימים המותרת.
  • במידה ולא - אל תבצע כלום. צא מהאלגוריתם.
שימו לב: *מספר הימים המקסימלי מחושב ע"י הנוסחה: יום ההשאלה המקורי+ימי ההשאלה המקוריים+מספר הפעמים שמותר להאריך*מספר הימים לכל ההארכה. מספר הימים לכל ההארכה יכול להיות יחסי לימי ההשאלה המקוריים או אבסולוטי.
שימו לב: ** מצב זה יכול להיווצר כאשר ההארכה הינה יחסית וימי ההשאלה המקוריים ארוכים יותר ממספר הימים המותרים להארכה בכל פעם. זכרו: ההארכה מבוצעת יחסית ליום הנוכחי. משמע שהימים יתווספו ליום הנוכחי בלבד ולא לשום תאריך אחר.

הארגומנטים

ישנם מספר ארגומנטים שמוזנים בניהול לשלוט על האלגוריתם:

  1. loan_length_type - סוג ההארכת השאלה. הערכים האפשריים הינם: absolute (אבסולוטי) או relative (יחסי).
  2. loan_length_time (מכונה x בתמונה)- מספר הימים שמותר להאריך בכל ההארכה. אם יחסי, החישוב מבוצע מול מספר הימים המותר להשאלה של העותק המושאל (מוזן בטבלת עותקים).
  3. 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 כי רק אז ההארכה תתבצע (ההארכה מבוצעת יחסית ליום הנוכחי).