mozilla-devel:birds_eye_view
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
mozilla-devel:birds_eye_view [2005/12/15 10:43] – phasefx | mozilla-devel:birds_eye_view [2022/02/10 13:34] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Bird's Eye View - API Calls and Fieldmapper Objects ===== | ||
+ | |||
+ | I'm going to step back a bit here and go through the Open-ILS API and fieldmapper objects needed by the staff client. | ||
+ | |||
+ | ===== Authentication ===== | ||
+ | |||
+ | ^ Application ^ Method ^ Parameters ^ CVS ^ | ||
+ | | open-ils.auth | open-ils.auth.authenticate.init | login name | [[http:// | ||
+ | | open-ils.auth | open-ils.auth.authenticate.complete | login name, md5 hash | [[http:// | ||
+ | |||
+ | The first thing the staff client does from a network perspective is talk to [[documentation: | ||
+ | |||
+ | ==== open-ils.auth.authenticate.init ==== | ||
+ | ==== open-ils.auth.authenticate.complete ==== | ||
+ | |||
+ | We send the login name through **open-ils.auth.authenticate.init**, | ||
+ | |||
+ | ===== Data Initialization ===== | ||
+ | |||
+ | ^ Application ^ Method ^ Parameters ^ CVS ^ | ||
+ | | open-ils.search | open-ils.search.actor.user.session | session key | [[http:// | ||
+ | | open-ils.actor | open-ils.actor.groups.retrieve | | [[http:// | ||
+ | | open-ils.actor | open-ils.actor.user.ident_types.retrieve | |[[http:// | ||
+ | | open-ils.actor | open-ils.actor.standings.retrieve | |[[http:// | ||
+ | | open-ils.search | open-ils.search.config.copy_location.retrieve.all | | [[http:// | ||
+ | | open-ils.search | open-ils.search.config.copy_status.retrieve.all | | [[http:// | ||
+ | | open-ils.actor | open-ils.actor.org_tree.retrieve | |[[http:// | ||
+ | | open-ils.actor | open-ils.actor.org_types.retrieve | |[[http:// | ||
+ | | open-ils.actor | open-ils.actor.org_unit.full_path.retrieve | session key |[[http:// | ||
+ | | open-ils.circ | open-ils.circ.stat_cat.actor.retrieve.all | session key, staff library id | [[http:// | ||
+ | |||
+ | After the user is logged in, we start grabbing data that we'd like to cache in the client. | ||
+ | |||
+ | ==== open-ils.search.actor.user.session ==== | ||
+ | This method returns most of the user data for the person logged in (the user associated with the session key). This data is returned as a fieldmapper object with the shortname of " | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |au|active| Is this user account enabled? | | ||
+ | |au|addresses * | Virtual field containing " | ||
+ | |au|alert_message| Text string to alert to staff when this user is accessed | | ||
+ | |au|billing_address| Null or index into .addresses()| | ||
+ | |au|card|Index into .cards()| | ||
+ | |au|cards * |Virtual field containing the library cards (fieldmapper " | ||
+ | |au|checkouts * |Virtual field containing the user's checkouts| | ||
+ | |au|claims_returned_count|The number of times the user has claimed an item has been returned despite indications to the contrary| | ||
+ | |au|create_date|The date the user was created| | ||
+ | |au|credit_forward_balance|The monetary credit associated with the user| | ||
+ | |au|day_phone| | ||
+ | |au|dob|Date of Birth| | ||
+ | |au|email| | ||
+ | |au|evening_phone| | ||
+ | |au|expire_date|The date the user's priveledges are set to expire| | ||
+ | |au|family_name| | ||
+ | |au|first_given_name| | ||
+ | |au|hold_requests * |Virtual field containing item hold requests (" | ||
+ | |au|home_ou|Contains the id for the user's home organizational unit| | ||
+ | |au|id|The primary key for the user record| | ||
+ | |au|ident_type|Users have two slots for identification. | ||
+ | |au|ident_type2|Id for a " | ||
+ | |au|ident_value| | ||
+ | |au|ident_value2| | ||
+ | |au|ischanged * | Standard fieldmapper field to help process objects. | | ||
+ | |au|isdeleted * | "" | ||
+ | |au|isnew * | "" | ||
+ | |au|last_xact_id| | ||
+ | |au|mailing_address|Null or index into .addresses()| | ||
+ | |au|master_account|Is this the primary user for a group?| | ||
+ | |au|net_access_level| | ||
+ | |au|other_phone| | ||
+ | |au|passwd| | ||
+ | |au|photo_url| | ||
+ | |au|prefix|Mr., | ||
+ | |au|profile|The primary permission/ | ||
+ | |au|second_given_name| | ||
+ | |au|settings * | | ||
+ | |au|standing| | ||
+ | |au|stat_cat_entries * | | ||
+ | |au|suffix|Jr., | ||
+ | |au|super_user|Is this user a super user?| | ||
+ | |au|survey_responses * | | ||
+ | |au|usrgroup| | ||
+ | |au|usrname|OPAC/ | ||
+ | |||
+ | ==== open-ils.actor.groups.retrieve ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |pgt|description| | ||
+ | |pgt|id| | ||
+ | |pgt|ischanged * | | ||
+ | |pgt|isdeleted * | | ||
+ | |pgt|isnew * | | ||
+ | |pgt|name| | ||
+ | |pgt|parent| | ||
+ | |||
+ | ==== open-ils.actor.user.ident_types.retrieve ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |cit|id| | ||
+ | |cit|ischanged * | | ||
+ | |cit|isdeleted * | | ||
+ | |cit|isnew * | | ||
+ | |cit|name| | ||
+ | |||
+ | ==== open-ils.actor.standings.retrieve ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |cst|id| | ||
+ | |cst|ischanged * | | ||
+ | |cst|isdeleted * | | ||
+ | |cst|isnew * | | ||
+ | |cst|value| | ||
+ | |||
+ | ==== open-ils.search.config.copy_location.retrieve.all ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |acpl|circulate|Can items in this location circulate?| | ||
+ | |acpl|holdable|Are items in this location holdable?| | ||
+ | |acpl|id| | ||
+ | |acpl|ischanged * | | ||
+ | |acpl|isdeleted * | | ||
+ | |acpl|isnew * | | ||
+ | |acpl|name| | ||
+ | |acpl|opac_visible|Are items in this location visible in the OPAC?| | ||
+ | |acpl|owning_lib|Id for the " | ||
+ | |||
+ | ==== open-ils.search.config.copy_status.retrieve.all ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |ccs|holdable|Are items with this status holdable?| | ||
+ | |ccs|id| | ||
+ | |ccs|ischanged * | | ||
+ | |ccs|isdeleted * | | ||
+ | |ccs|isnew * | | ||
+ | |ccs|name| | ||
+ | |||
+ | ==== open-ils.actor.org_tree.retrieve ==== | ||
+ | This method returns a " | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |aou|billing_address| | ||
+ | |aou|children * | | ||
+ | |aou|holds_address| | ||
+ | |aou|id| | ||
+ | |aou|ill_address| | ||
+ | |aou|ischanged * | | ||
+ | |aou|isdeleted * | | ||
+ | |aou|isnew * | | ||
+ | |aou|mailing_address| | ||
+ | |aou|name| | ||
+ | |aou|ou_type| | ||
+ | |aou|parent_ou| | ||
+ | |aou|shortname| | ||
+ | |||
+ | ==== open-ils.actor.org_types.retrieve ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |aout|can_have_users| | ||
+ | |aout|can_have_vols| | ||
+ | |aout|children * | | ||
+ | |aout|depth| | ||
+ | |aout|id| | ||
+ | |aout|ischanged * | | ||
+ | |aout|isdeleted * | | ||
+ | |aout|isnew * | | ||
+ | |aout|name| | ||
+ | |aout|opac_label| | ||
+ | |aout|parent| | ||
+ | |||
+ | ==== open-ils.actor.org_unit.full_path.retrieve ==== | ||
+ | This method returns a flat array of **Fieldmapper:: | ||
+ | |||
+ | ==== open-ils.circ.stat_cat.actor.retrieve.all ==== | ||
+ | This method returns an array of **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |actsc|entries * | | ||
+ | |actsc|id| | ||
+ | |actsc|ischanged * | | ||
+ | |actsc|isdeleted * | | ||
+ | |actsc|isnew * | | ||
+ | |actsc|name| | ||
+ | |actsc|opac_visible| | ||
+ | |actsc|owner| | ||
+ | |||
+ | ===== Check Out ===== | ||
+ | |||
+ | ^ Application ^ Method ^ Parameters ^ CVS ^ | ||
+ | | open-ils.actor | open-ils.actor.user.fleshed.retrieve_by_barcode | session key, barcode | [[http:// | ||
+ | | open-ils.circ | open-ils.circ.actor.user.checked_out | session key, " | ||
+ | | open-ils.circ | open-ils.circ.permit_checkout | session key, item barcode, " | ||
+ | | open-ils.circ | open-ils.circ.checkout.barcode | session key, item barcode, " | ||
+ | |||
+ | ==== open-ils.actor.user.fleshed.retrieve_by_barcode ==== | ||
+ | |||
+ | The checkout interface needs to retrieve the " | ||
+ | |||
+ | ==== open-ils.circ.actor.user.checked_out ==== | ||
+ | |||
+ | Though not strictly needed for a checkout interface, this method returns the patron' | ||
+ | |||
+ | ^ ^ | ||
+ | |circ| | ||
+ | |copy| | ||
+ | |record| | ||
+ | |||
+ | === circ === | ||
+ | |||
+ | The circ field contains a **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |aoc|checkin_lib| | ||
+ | |aoc|checkin_staff| | ||
+ | |aoc|checkin_time| | ||
+ | |aoc|circ_lib| | ||
+ | |aoc|circ_staff| | ||
+ | |aoc|desk_renewal| | ||
+ | |aoc|due_date| | ||
+ | |aoc|duration| | ||
+ | |aoc|duration_rule| | ||
+ | |aoc|fine_interval| | ||
+ | |aoc|id| | ||
+ | |aoc|ischanged * | | ||
+ | |aoc|isdeleted * | | ||
+ | |aoc|isnew * | | ||
+ | |aoc|max_fine| | ||
+ | |aoc|max_fine_rule| | ||
+ | |aoc|opac_renewal| | ||
+ | |aoc|phone_renewal| | ||
+ | |aoc|recuring_fine| | ||
+ | |aoc|recuring_fine_rule| | ||
+ | |aoc|renewal_remaining| | ||
+ | |aoc|stop_fines| | ||
+ | |aoc|stop_fines_time| | ||
+ | |aoc|target_copy| | ||
+ | |aoc|usr| | ||
+ | |aoc|xact_finish| | ||
+ | |aoc|xact_start| | ||
+ | |||
+ | === copy === | ||
+ | |||
+ | The copy field contains a **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |acp|barcode| | ||
+ | |acp|call_number| | ||
+ | |acp|circ_as_type| | ||
+ | |acp|circ_lib| | ||
+ | |acp|circ_modifier| | ||
+ | |acp|circulate| | ||
+ | |acp|copy_number| | ||
+ | |acp|create_date| | ||
+ | |acp|creator| | ||
+ | |acp|deposit| | ||
+ | |acp|deposit_amount| | ||
+ | |acp|edit_date| | ||
+ | |acp|editor| | ||
+ | |acp|fine_level| | ||
+ | |acp|holdable| | ||
+ | |acp|id| | ||
+ | |acp|ischanged * | | ||
+ | |acp|isdeleted * | | ||
+ | |acp|isnew * | | ||
+ | |acp|loan_duration| | ||
+ | |acp|location| | ||
+ | |acp|opac_visible| | ||
+ | |acp|price| | ||
+ | |acp|ref| | ||
+ | |acp|stat_cat_entries * | | ||
+ | |acp|status| | ||
+ | |||
+ | === record === | ||
+ | |||
+ | The record field contains a **Fieldmapper:: | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |mvr|author * | | ||
+ | |mvr|call_numbers * | | ||
+ | |mvr|copy_count * | | ||
+ | |mvr|doc_id * | | ||
+ | |mvr|doc_type * | | ||
+ | |mvr|edition * | | ||
+ | |mvr|isbn * | | ||
+ | |mvr|ischanged * | | ||
+ | |mvr|isdeleted * | | ||
+ | |mvr|isnew * | | ||
+ | |mvr|online_loc * | | ||
+ | |mvr|pubdate * | | ||
+ | |mvr|publisher * | | ||
+ | |mvr|serials * | | ||
+ | |mvr|series * | | ||
+ | |mvr|subject * | | ||
+ | |mvr|synopsis * | | ||
+ | |mvr|tcn * | | ||
+ | |mvr|title * | | ||
+ | |mvr|types_of_resource * | | ||
+ | |||
+ | ==== open-ils.circ.permit_checkout ==== | ||
+ | |||
+ | This method does a basic permissibility test against the item and the patron. | ||
+ | |||
+ | The method returns a simple object containing a status field and a corresponding text field. | ||
+ | |||
+ | ^ ^ | ||
+ | | status | | ||
+ | | text | | ||
+ | |||
+ | ==== open-ils.circ.checkout.barcode ==== | ||
+ | |||
+ | This method attempts the actual checkout of an item to a patron. | ||
+ | |||
+ | ^ ^ | ||
+ | | circ | | ||
+ | | copy | | ||
+ | | record | | ||
+ | |||
+ | === circ === | ||
+ | |||
+ | ^ ^ Fieldmapper:: | ||
+ | |circ|checkin_lib| | ||
+ | |circ|checkin_staff| | ||
+ | |circ|checkin_time| | ||
+ | |circ|circ_lib| | ||
+ | |circ|circ_staff| | ||
+ | |circ|desk_renewal| | ||
+ | |circ|due_date| | ||
+ | |circ|duration| | ||
+ | |circ|duration_rule| | ||
+ | |circ|fine_interval| | ||
+ | |circ|id| | ||
+ | |circ|ischanged * | | ||
+ | |circ|isdeleted * | | ||
+ | |circ|isnew * | | ||
+ | |circ|max_fine| | ||
+ | |circ|max_fine_rule| | ||
+ | |circ|opac_renewal| | ||
+ | |circ|phone_renewal| | ||
+ | |circ|recuring_fine| | ||
+ | |circ|recuring_fine_rule| | ||
+ | |circ|renewal_remaining| | ||
+ | |circ|stop_fines| | ||
+ | |circ|stop_fines_time| | ||
+ | |circ|target_copy| | ||
+ | |circ|usr| | ||
+ | |circ|xact_finish| | ||
+ | |circ|xact_start| | ||
+ | |||
+ | ===== Check In ===== | ||
+ | |||
+ | ^ Application ^ Method ^ Parameters ^ CVS ^ | ||
+ | | open-ils.actor | open-ils.actor.user.fleshed.retrieve | session key, " | ||
+ | | open-ils.circ | open-ils.circ.checkin.barcode | session key, barcode, renewal?, backdate | | | ||
+ | | open-ils.circ | open-ils.circ.hold.capture_copy.barcode | session key, item barcode, retrieve? | | | ||
+ | |||
+ | ==== open-ils.actor.user.fleshed.retrieve ==== | ||
+ | ==== open-ils.circ.checkin.barcode ==== | ||
+ | ==== open-ils.circ.hold.capture_copy.barcode ==== | ||
+ | |||
+ | ===== Patron Search ===== | ||
+ | |||
+ | ^ Application ^ Method ^ Parameters ^ CVS ^ | ||
+ | | open-ils.actor | open-ils.actor.patron.search.advanced | session key, criteria hash | | ||
+ | | open-ils.actor | open-ils.actor.user.fleshed.retrieve | session key, au id | | ||
+ | |||
+ | ==== open-ils.actor.patron.search.advanced ==== | ||
+ | |||
+ | Internally this method is implemented with **open-ils.storage.actor.user.crazy_search**, | ||
+ | |||
+ | Here's an example search hash: | ||
+ | |||
+ | { ' | ||
+ | |||
+ | There' | ||
+ | |||
+ | This method returns a list of " | ||
+ | |||
+ | ==== open-ils.actor.user.fleshed.retrieve ==== | ||
+ | |||
+ | Similar to **open-ils.actor.user.fleshed.retrieve_by_barcode**, | ||
+ | |||
+ | |||