Customizing Library Find 0.8.3

compared with
Current by Tami Herlocker
on Sep 19, 2007 13:23.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 8 changes. View first change.

 *Customizing LibraryFind 0.8*
  *Customizing LibraryFind 0.8.3*
  
 *CSS Templates*
 LibraryFind 0.8 moved all user interface styling and layout into CSS.  The following is a description of how each CSS is used:
   /public/stylesheets/look_and_feel.css - Provides the overall look and feel of the interface consisting of a header and 2-column format for the general page layout.
   /public/styleshhets/library_find.css - Provides styling and layout for specific LibraryFind user interface elements such as the tabs and the search results.
  
*Rhtml Templates* *(**[*see attached pdf for a visual guide to the template structure*|http://wiki.library.oregonstate.edu/confluence/download/attachments/15028/IMG.pdf?version=1]* *)*
  *Rhtml Templates*
 The overall layout of the user interface has changed to provide a consistent user experience.  The user will always have a header, search section with tabs, left nav bar, and central results/action area.  This is a list of the major templates and how they are used to achieve the layout:
  /app/views/layouts/record.rhtml - This one layout is used for both searching and admin functions.  This layout provides a header, the search section, and a div for the rest of the page.  In this way, users will always be able to enter a search even if they are in the admin client.
    /app/views/layouts/libraryfind.rhtml - This one layout is used for both searching and admin functions.  This layout provides a header, the search section, and a div for the rest of the page.  In this way, users will always be able to enter a search even if they are in the admin client.
 *Searching*
   /app/views/record/general.rhtml & /app/views/record/images.rhtml - These files both establish a left-hand navigation bar and right-hand side for search results.  General.rhtml chooses a partial result_rows for displaying each result in one row where images.rhtml chooses image_rows.rhtml to display 3 results per row.
   /app/views/record/navigation.rhtml - Establishes the layout and functionality of the left nav bar used in search results.
   /app/views/record/details/_article.rthml - This partial template is used to display a single record where the material_type is article.
   /app/views/record/details/_book.rthml - This partial template is used to display a single record where the material_type is book.
   /app/views/record/details/_generic.rthml - This partial template is used when the record to be displayed does not match a material type of article, book, or image.
   /app/views/record/details/_image.rthml - This partial template is used to display a single record where the material_type is image.
   /app/views/record/citation/_article.rhtml - This partial template is used to create an labeled citation for a record with a material_type of article.  The citation can be viewed when the user clicks the citation link in the search results.
   /app/views/record/citation/_book.rhtml - This partial template is used to create an labeled citation for a record with a material_type of book.  The citation can be viewed when the user clicks the citation link in the search results.
   /app/views/record/citation/_image.rhtml - This partial template is used to create an labeled citation for a record where the material_type is neither article nor book.  The labeled citation format followed for this template is the style used for web-pages.  The citation can be viewed when the user clicks the citation link in the search results.
 *Administration*
   /app/views/admin/navigation.rhtml - Establishes the layout and functionality of the left nav bar used to navigate between admin actions.
   /app/views/admin/collection/_form \-  Creates the input fields for creating/editing a collection.
   /app/views/admin/collection/edit - Displays the Edit Collection task to the user and calls \_form
   /app/views/admin/collection/list \-  Displays a list of all collections to the user and creates links to available actions on each collection.
   /app/views/admin/collection/new - Displays the Create a New Collection task to the user and calls \_form
   /app/views/admin/collection/show - Displays all attributes of a single collection to the user.
 This same format of \_form, edit, list, new, and show is used for all administrative actions on: collection, collection_group, coverage, provider, and user.
  
 *config.yml*
 Edit /config/config.yml to map a given tab name to a desired collection_group.  For example, to search a newly created collection_group (where name=cust_collection) in LibraryFind, add that value in /config/config.yml:
 DEFAULT_GROUPS: general,image,cust_collection
  
 *URL Parameters*
 A search may be initiated from a URL and parameters may be supplied to override the default behavior.  The following is a list of required parameters and optional parameters to override the default actions:
Required:
 library_find_server/record/search?query=user_query&tab=desired_tab
 possible values for tab param are:  GENERAL_TAB, ARTICLES_TAB, BOOKS_TAB, or IMAGES_TAB
  Required: 
 library_find_server/record/retrieve?query\[string\]=user_query
  
 Optional Params:
sets - id of the sets to be searched on the desired tab - this will override the default search and the interface will remember the specified sets for the given tab during the entire session.   The id should be the database id.  For example, if you wanted the GENERAL_TAB to search only an agriculture collection_group, you'd supply the id for that collection_group (i.e. &sets=g1).  Before overriding this value, make sure that the values in /config/config.yml are setup for your given instance and only use this parameter for search cases where the values in config.yml do not support all needs (see config.yml above)
  sets - id of the sets to be searched on the desired tab - this will override the default search and the interface will remember the specified sets for the given tab during the entire session.   The id should be the database id.  For example, if you wanted  to search only an agriculture collection_group, you'd supply the id for that collection_group (i.e. &sets=g1).  Before overriding this value, make sure that the values in /config/config.yml are setup for your given instance and only use this parameter for search cases where the values in config.yml do not support all needs (see config.yml above)
  
type - specify the type of search.  Possible values are: keyword, title, creator, subject - default is keyword.
  query\[type\] - specify the type of search.  Possible values are: keyword, title, creator, subject - default is keyword.
  
max - specify the maximum number of results per database being searched.  Our default is 25 results per target.
  query\[max\] - specify the maximum number of results per database being searched.  Our default is 25 results per target.
  
 tab_template - use this to override the default template for the search results - including the left nav bar.  The two default templates are 'general' and 'images'.  'general' is used for all search results from all tabs except the Images tab.  'images' is used to display results on the Images tab.  To override this, create your own template - i.e /app/view/record/my_customization.rhtml then supply the template name as the param - i.e. &tab_template=my_customization.  Use tab_template in conjuction with 'partial' - described below:
  
 partial - use this to override the default layout of the rows being displayed in the results section - everything to the right of the nav bar.   The two default partials are '_result_rows' and '_image_rows.  '_result_rows is used for all search results from all tabs except the Images tab and displays each result in its own row.  '_image_rows' is used to display results on the Images tab and displays 3 images per row.  To override this, create your own partial - i.e /app/view/record/_my_partial.rhtml then supply the partial template name as the param - i.e. &partial=my_partial.  Use partial in conjuction with 'tab_template' - described above.
 Future Plans
 The customizability of LibraryFind is continually evolving with a goal of providing as much customization as possible without writing any code.  To this end, our next plans include implementing a database supported customization interface which will allow administrators to create a new tab and select a corresponding template through an interface.  Our system will look to settings in the database for picking which template to use for a given tab.
  sort_value - specify the sort order.  Possible values are: relevance, datedown, dateup - default is relevance.
  
 filter - a / separated list of name:value pairs.  For example:    library_find_server/record/retrieve?query\[string\]=user_query&filter=material_type:article/subject:education