This shows you the differences between two versions of the page.
— |
opacmarc_segun_django [14/05/2009 00:00] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== OpacMarc según Django ====== | ||
+ | <note>Estas son unas notas iniciadas en marzo de 2008, cuando entré en contacto por primera vez con el framework Django. --- //[[fjgomez@gmail.com|Fernando Gómez]] 2009/05/13 23:08//</note> | ||
+ | |||
+ | |||
+ | Ver también: | ||
+ | * [[notas:opacmarc_y_symfony]] | ||
+ | * [[llamadas_a_opac.xis]] | ||
+ | |||
+ | Las URLs pueden organizarse según: | ||
+ | * Base consultada: | ||
+ | * headings (name, subj) | ||
+ | * title | ||
+ | * biblio | ||
+ | * class | ||
+ | * Tipo de consulta: | ||
+ | * browse (headings, title, biblio, class) | ||
+ | * keyword match (heading, biblio, class) | ||
+ | * heading match (biblio) | ||
+ | * Tipo de resultado: | ||
+ | * list of headings | ||
+ | * list of bib records | ||
+ | * single bib record | ||
+ | * class table | ||
+ | |||
+ | ¿El parámetro <db>, presente en todas las URLs, podría ser guardado como variable de la sesión? Tal vez podría estar implícito, mediante archivo de configuración, o como parte del dominio (e.g. //bibima.opac.uns.edu.ar//). | ||
+ | |||
+ | Si tuviéramos subcatálogos, el nombre del subcatálogo debería ser otro parámetro en la URL. | ||
+ | |||
+ | ¿El contexto de un registro (la lista de registros a la que pertenece) se puede almacenar en la sesión? | ||
+ | |||
+ | Ver cómo Django maneja la paginación de listas. | ||
+ | |||
+ | |||
+ | Templates: | ||
+ | * base | ||
+ | * header | ||
+ | * footer | ||
+ | * home | ||
+ | |||
+ | Aux functions (based on existing *.pfts and *.xis): | ||
+ | * bib_sort_key() | ||
+ | * doc_type() | ||
+ | * clean_heading() | ||
+ | * compact_dates() | ||
+ | * agrep() | ||
+ | * find_suggestions() | ||
+ | |||
+ | ===== Tabla ===== | ||
+ | |||
+ | |||
+ | <code> | ||
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
+ | URL Response / Comments Views (functions) Templates | ||
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
+ | Root: | ||
+ | / No db specified, show menu of available dbs? | ||
+ | | ||
+ | Search forms: | ||
+ | /<db>/search/<form_type>/ search_form() form-simple.html, form-advanced.html | ||
+ | /<db>/search/ Redirect to /<db>/search/simple/ | ||
+ | /<db>/ Idem | ||
+ | |||
+ | Retrieve headings: | ||
+ | /<db>/browse-head/<index>/[<term>]/ Paginated list of headings. browse_headings() heading_list.html, heading.html | ||
+ | Default: term = start of index | ||
+ | /<db>/kw-in-head/<index>/<query>/ Paginated list of headings, or suggestions. match_kw_in_heading() heading_list.html, suggestions.html | ||
+ | |||
+ | Title browse ?? | ||
+ | |||
+ | Retrieve lists of bib records: | ||
+ | /<db>/kw-in-bib/<type/field>/<query>/[sortBy]/ Paginated list of bib records, or suggestions. match_kw_in_bib() bib-record_list.html, bib-record-mini.html, suggestions.html | ||
+ | /<db>/head-in-bib/<index>/<heading>/[sortBy]/ Paginated list of bib records. match_heading_in_bib() bib-record_list.html, bib-record-mini.html | ||
+ | /<db>/class-in-bib/<class_code>/[sortBy]/ Paginated list of bib records. match_class_in_bib() bib-record_list.html | ||
+ | |||
+ | Browse catalog (shelves): | ||
+ | /<db>/browse-catalog/<browseMfn>/ Paginated list of bib records, sorted by call number browse_catalog() bib-record_list.html, bib-record-mini1.html | ||
+ | /<db>/browse-catalog/<browseTerm>/ Paginated list of bib records, sorted by call number browse_catalog() bib-record_list.html, bib-record-mini1.html | ||
+ | |||
+ | Classification browse/search: | ||
+ | /<db>/browse-class/[<tree_level>]/[<class_code>]/ List of class codes. Default: tree_level=1 browse_class() class_list.html, msc_home.html, msc.html | ||
+ | /<db>/kw-in-class/<query>/ List of matching class codes, or suggestions. match_kw_in_class() class_list.html, msc.html | ||
+ | |||
+ | Bib record details: | ||
+ | /<db>/bib-record/<curr>/<total>/<search-id>/[<style>]/ Detail view of bib record, with navigation links to bib_record_detail() bib-record_detail.html, bib-record-modular.html, bib-record-aacr.html, bib-record-etiquetado.html, bib-record-marc.html, ... | ||
+ | the context list of records and to its headings. | ||
+ | Problem: how to keep context with nice URLs | ||
+ | SEE BELOW: Amazon.com | ||
+ | /<db>/bib-record/<record-id>/<context?>/[<style>]/ This looks better. | ||
+ | Context may be: "search-id + index in list" | ||
+ | /<db>/bib-record/<recordID>/[<style>]/ Permalink | ||
+ | |||
+ | New material: | ||
+ | /<db>/new-material/ List of bib records. Pagination? new_material() bib-record-news.html, bib-record-mini2.html | ||
+ | By date? | ||
+ | |||
+ | Static pages: | ||
+ | /<db>/about/ May include dynamic info, e.g. number of records and about() about.html | ||
+ | last updated time | ||
+ | /<db>/feedback/ May include dynamic info, e.g. context for a bug report feedback() feedback.html (form + reply) | ||
+ | /<db>/help/ help() help.html | ||
+ | |||
+ | Other: | ||
+ | Admin: modify settings? | ||
+ | Test (boolean conditions, extract keys, etc) | ||
+ | Logs? | ||
+ | Subcatalogs? | ||
+ | Advanced search? (search only in bib records, with many params) | ||
+ | See other desired features mentioned in the wiki. | ||
+ | |||
+ | |||
+ | ------------------------------------------------------------------------------------ | ||
+ | Lists, details and context in Amazon.com | ||
+ | ------------------------------------------------------------------------------------ | ||
+ | |||
+ | Query: Books › "dawkins" | ||
+ | http://www.amazon.com/s/ref=nb_ss_gw/103-5784421-3350266 | ||
+ | ?url=search-alias%3Dstripbooks | ||
+ | &field-keywords=dawkins | ||
+ | | ||
+ | Page #2 | ||
+ | http://www.amazon.com/s/ref=sr_pg_2 | ||
+ | ?ie=UTF8 | ||
+ | &rs=1000 | ||
+ | &keywords=dawkins | ||
+ | &rh=n%3A1000%2Ck%3Adawkins | ||
+ | &page=2 | ||
+ | |||
+ | Page #3 | ||
+ | http://www.amazon.com/s/ref=sr_pg_3 | ||
+ | ?ie=UTF8 | ||
+ | &rs=1000 | ||
+ | &keywords=dawkins | ||
+ | &rh=n%3A1000%2Ck%3Adawkins | ||
+ | &page=3 | ||
+ | |||
+ | Details of record #27 (3rd of page #3) | ||
+ | http://www.amazon.com/God-New-Atheism-Critical-Response/dp/066423304X/ref=sr_1_27 | ||
+ | ?ie=UTF8 | ||
+ | &s=books | ||
+ | &qid=1205012241 <== search id | ||
+ | &sr=1-27 | ||
+ | (page has no links to prev/next/list) | ||
+ | |||
+ | Details of record #29 (5th of page #3) | ||
+ | http://www.amazon.com/Dawkins-Delusion-McGrath/dp/0281059276/ref=sr_1_29 | ||
+ | ?ie=UTF8 | ||
+ | &s=books | ||
+ | &qid=1205012241 <== search id | ||
+ | &sr=1-29 | ||
+ | |||
+ | | ||
+ | ------------------------------------------------------------------------------------ | ||
+ | Lists, details and context in Barnes and Noble | ||
+ | ------------------------------------------------------------------------------------ | ||
+ | |||
+ | Query: You Searched Books For: dawkins | ||
+ | http://search.barnesandnoble.com/booksearch/results.asp?WRD=dawkins | ||
+ | |||
+ | Page #3 | ||
+ | http://search.barnesandnoble.com/booksearch/results.asp?SZE=10&WRD=dawkins&SAT=21 | ||
+ | |||
+ | Details for item #22 (2nd in page #3) | ||
+ | http://search.barnesandnoble.com/River-out-of-Eden/Richard-Dawkins/e/9780465069903/?itm=22 | ||
+ | Does not mention the search id | ||
+ | | ||
+ | |||
+ | ------------------------------------------------------------------------------------ | ||
+ | Lists, details and context: question to django-users group | ||
+ | ------------------------------------------------------------------------------------ | ||
+ | http://groups.google.com/group/django-users/browse_thread/thread/9678230f84c50f03 | ||
+ | |||
+ | Justin, thanks for your answer. Your arguments are very clear. So, this has practically nothing to do with Django or any other framework that I might choose, since it's more a basic web design question. | ||
+ | |||
+ | ------------------------------------------------------------------------------------ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | [BROWSE CLASSIFICATION] | ||
+ | /bibima/CLASS-BROWSE/msclevel=1/searchType=SUBJ / | ||
+ | /bibima/CLASS-BROWSE/msclevel=3/searchType=SUBJ/query=00/ | ||
+ | Patrón: /<db>/CLASS-BROWSE/<tree_level>/<class_code>/ | ||
+ | |||
+ | [SEARCH CLASSIFICATION BY KEYWORDS] | ||
+ | /bibima/searchType=SUBJ/query=28A80/ | ||
+ | /bibima/searchType=SUBJ/query=godel/ | ||
+ | Patrón: /<db>/KW-IN-CLASS/<query>/ | ||
+ | |||
+ | [SEARCH BIBS BY CLASS CODE] | ||
+ | /bibima/BIB-CLASS-SEARCH/index=SUBJ/query=00A73/ | ||
+ | Patrón: /<db>/CLASS-IN-BIB/<class_code>/ | ||
+ | |||
+ | [BROWSE INDEXES] | ||
+ | /bibima/H-BROWSE/index=NAME/browseTerm=g/ | ||
+ | /bibima/H-BROWSE/index=TITLE/browseTerm=per/ | ||
+ | /bibima/browseMfn=1549/index=NAME/ (pagination) | ||
+ | /bibima/browseMfn=4609/index=TITLE/ (pagination) | ||
+ | Patrón: /<db>/HEAD-BROWSE/<index>/<term>/ | ||
+ | |||
+ | [BROWSE CATALOG] | ||
+ | /abr/BROWSE-CATALOG/browseMfn=1/ | ||
+ | /abr/BROWSE-CATALOG/browseTerm=517/ | ||
+ | |||
+ | [HEADING MATCH IN BIBS] | ||
+ | /bibima/BIB-H-SEARCH/index=NAME/query=^aPeral,+Ireneo./ | ||
+ | Posibles valores para index: NAME, SUBJ, COL (=series) | ||
+ | Patrón: /<db>/HEAD-IN-BIB/<index>/<heading>/ | ||
+ | |||
+ | [KW MATCH IN HEADINGS] | ||
+ | /bibima/searchType=NAME/query=monteiro/ | ||
+ | /bibima/searchType=SUBJ/query=monteiro/from=21/ | ||
+ | Patrón: /<db>/KW-IN-HEAD/<index>/<query>/ | ||
+ | |||
+ | [KW MATCH IN BIBS] | ||
+ | /bibima/searchType=TITLE/query=robert/ | ||
+ | /bibima/searchType=SN/query=123/ | ||
+ | /bibima/searchType=ANY/query=123/ | ||
+ | Patrón: /<db>/KW-IN-BIB/<type/field>/<query>/ | ||
+ | |||
+ | [SORT BIB RECORDS] | ||
+ | /bibima/BIB-H-SEARCH/query=%5EaCuadernos+Teorema/index=COL/sortBy=title/ | ||
+ | Patrón: append /<sortBy>/ to the current URL, or replace its value if present | ||
+ | |||
+ | [DISPLAY BIB RECORD] | ||
+ | /bibima/BIB-RECORD/curr=5/total=13/cid=/tmp/fileS3fuXx | ||
+ | Patrón: /<db>/BIB-RECORD/<curr>/<total>/<cid>/ | ||
+ | Permalink: /bibima/BIB-RECORD/cn=002431/ | ||
+ | Patrón: /<db>/BIB-RECORD/<recordID>/ | ||
+ | </code> | ||
+ | |||
+ | |||
+ | {{tag>opacmarc desarrollo django}} |