Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | stuart-greene |
View: | 18 times |
Download: | 1 times |
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Implementing InterfaceGadgets
SiteSearch User Group Workshop3/23/1999
Implementing InterfaceGadgets
SiteSearch User Group Workshop3/23/1999
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Implementing Interface Gadgets-Workshop Agenda
Implementing Interface Gadgets-Workshop Agenda
1) The purpose of gadgets and how they are utilized in the interface
2) Configuring a gadget for use with the interface and styles
3) Gadget design guidelines
4) Review of existing gadgets and how they were designed (code level analysis)
5) Creating a new gadget (code-based workshop)
1) The purpose of gadgets and how they are utilized in the interface
2) Configuring a gadget for use with the interface and styles
3) Gadget design guidelines
4) Review of existing gadgets and how they were designed (code level analysis)
5) Creating a new gadget (code-based workshop)
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
The Purpose of GadgetsThe Purpose of Gadgets
• Interface building Java classes invoked from the html.
• Context sensitive and profile specific.
• Used in conjunction with other page preparation classes to build the web based interface that end users see.
• Interface building Java classes invoked from the html.
• Context sensitive and profile specific.
• Used in conjunction with other page preparation classes to build the web based interface that end users see.
HTML
Java
Java
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
What are Gadgets?Demonstrated in the Interface
What are Gadgets?Demonstrated in the Interface
QuickSearchTopics
Gadgets used on the Database Selection Screen
TopicList
DatabaseList
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
What are Gadgets?Demonstrated in the Interface
What are Gadgets?Demonstrated in the Interface
Gadgets used on the Results Screen
JumpBar
ResultsRecord
BookMarkBrief
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
What are Gadgets?Dynamic Nature
What are Gadgets?Dynamic Nature
• Context Sensitive Solution• Based on parameters or current system values (e.g. authos, results)• Customizable external to the html • Allows the HTML be more flexible and act more as an interface framework
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Invoking Gadgets in the InterfaceInvoking Gadgets in the Interface
• Entities in the html pages
• Invokes and populates– record formatting– style and display
information
• Entities in the html pages
• Invokes and populates– record formatting– style and display
information
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Gadget EntitiesGadget Entities
• &StyleTable.[section].gadget;– calls gadgets that use current system values to build
the html for the interface.– see each style’s file in JaSSIServer.ini
[InterfaceStyles] section for gadget class
• &FmtDisplay.[section].gadgets;– calls gadgets that invoke formatting classes
associated with fmtclass for the current database.– see each style’s file in JaSSIServer.ini
[InterfaceDisplayGadgets] section for gadget class.
• &StyleTable.[section].gadget;– calls gadgets that use current system values to build
the html for the interface.– see each style’s file in JaSSIServer.ini
[InterfaceStyles] section for gadget class
• &FmtDisplay.[section].gadgets;– calls gadgets that invoke formatting classes
associated with fmtclass for the current database.– see each style’s file in JaSSIServer.ini
[InterfaceDisplayGadgets] section for gadget class.
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Gadget ConfigurationGadget Configuration
• Defined in:– Interface style definition files
(e.g. ini/interface/defaultStyle.ini)– Interface display definition files
(e.g. ini/interface/DisplayGadgets.ini)– ini/JaSSIServer.ini
[InterfaceStyles]
[InterfaceDisplayGadgets]
• Defined in:– Interface style definition files
(e.g. ini/interface/defaultStyle.ini)– Interface display definition files
(e.g. ini/interface/DisplayGadgets.ini)– ini/JaSSIServer.ini
[InterfaceStyles]
[InterfaceDisplayGadgets]
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Configuration SyntaxConfiguration Syntax
• Style and Format Configuration Files
[section name]
gadget = fully qualified class (e.g. ORG.oclc.org.SearchTabbar)
parameters = values needed by gadget
• Style and Format Configuration Files
[section name]
gadget = fully qualified class (e.g. ORG.oclc.org.SearchTabbar)
parameters = values needed by gadget
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
ExerciseModifying an existing gadgets parameters
ExerciseModifying an existing gadgets parameters
• Using the default style– modify the topics available in the
QuickSearch box on the dblist.html page– change the index list displayed when the
Browse tab is selected on the Search screen
• Using the default style– modify the topics available in the
QuickSearch box on the dblist.html page– change the index list displayed when the
Browse tab is selected on the Search screen
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Designing a Gadget Guidelines
Designing a Gadget Guidelines
• Where will it be used (context)?• What do you want to do with it (requirements)?• Is there an existing gadget that models the functionality?• What system areas do you need access to (classify)?• What parameters will the gadget need?• Are you doing too much for one gadget (keep it simple)?• What areas can be abstracted to style information to
allow the gadget to be more generic?
• Where will it be used (context)?• What do you want to do with it (requirements)?• Is there an existing gadget that models the functionality?• What system areas do you need access to (classify)?• What parameters will the gadget need?• Are you doing too much for one gadget (keep it simple)?• What areas can be abstracted to style information to
allow the gadget to be more generic?
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Designing a Gadget Advice from Others
Designing a Gadget Advice from Others
1. Keep it quick and dirty, initially.
Mock up as flat html, then write initial gadget code to concatenate strings in the gadget class that just build the block of html.
2. Identify repetitive blocks/activities and try to use looping for tasks.
3. Make it context sensitive using styles (fonts, colors, messages, graphics, etc.).
What advice do you have for others in working with gadgets?
1. Keep it quick and dirty, initially.
Mock up as flat html, then write initial gadget code to concatenate strings in the gadget class that just build the block of html.
2. Identify repetitive blocks/activities and try to use looping for tasks.
3. Make it context sensitive using styles (fonts, colors, messages, graphics, etc.).
What advice do you have for others in working with gadgets?
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Foundational classes for gadgetsFoundational classes for gadgets
ORG.oclc.gadgets.GadgetAndStyleLoader– InitClass that reads all the JaSSI configuration
files containing definitions for interface styles and gadgets used to build HTML strings for display in HTML pages
– see JaSSIServer.ini[InitClasses]
ORG.oclc.gadgets.GadgetAndStyleLoader– InitClass that reads all the JaSSI configuration
files containing definitions for interface styles and gadgets used to build HTML strings for display in HTML pages
– see JaSSIServer.ini[InitClasses]
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Foundational classes for gadgetsFoundational classes for gadgets
ORG.oclc.jassi.GadgetBuilder– Interface class defining methods that must be
implemented by all classes designed to build gadgets.
buildit(RequestManager rMngr, String name) Executes the GadgetBuilder interface and passes input parameters for the RequestManager object and the section name String that defines the gadget. Like main() in C programming-point of execution.
toString()Returns the String representation of the gadget.
ORG.oclc.jassi.GadgetBuilder– Interface class defining methods that must be
implemented by all classes designed to build gadgets.
buildit(RequestManager rMngr, String name) Executes the GadgetBuilder interface and passes input parameters for the RequestManager object and the section name String that defines the gadget. Like main() in C programming-point of execution.
toString()Returns the String representation of the gadget.
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
ExerciseInstalling a existing gadget
ExerciseInstalling a existing gadget
• Add an index display on the search.html to show radio buttons using the existing IndexRadio class.
Hint: • Check the html and style to determine where
changes need to be made.• You will need to define a new entry in the style using
an existing gadget and reference it on the html page.
• Add an index display on the search.html to show radio buttons using the existing IndexRadio class.
Hint: • Check the html and style to determine where
changes need to be made.• You will need to define a new entry in the style using
an existing gadget and reference it on the html page.
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Classifying GadgetsClassifying Gadgets
• Classified into four functional areas:– Formatting Record Data
• works with raw data from VERBS (e.g. bookmarks)
– Dynamic Search (from Database config)• building database specific search pages (e.g. indexes)
– Navigational Aids• help you traverse ‘objects’ (e.g. resultsets, dblist)
– Informational Aids (dynamic status)• feedback messages (e.g. Database name, ILL Confirm)
• Classified into four functional areas:– Formatting Record Data
• works with raw data from VERBS (e.g. bookmarks)
– Dynamic Search (from Database config)• building database specific search pages (e.g. indexes)
– Navigational Aids• help you traverse ‘objects’ (e.g. resultsets, dblist)
– Informational Aids (dynamic status)• feedback messages (e.g. Database name, ILL Confirm)
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Classifying GadgetsClassifying Gadgets
• Gadget will probably need access to and work with the following:– ORG.oclc.jassi.UserStateObject– ORG.oclc.jassi.RequestManager– ORG.oclc.jassi.StyleTable– ORG.oclc.jassi.DataPairs
• see Dump.java as an example
• Gadget will probably need access to and work with the following:– ORG.oclc.jassi.UserStateObject– ORG.oclc.jassi.RequestManager– ORG.oclc.jassi.StyleTable– ORG.oclc.jassi.DataPairs
• see Dump.java as an example
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Classifying GadgetsClassifying Gadgets
• Some gadgets require access to certain pieces of information depending on the purpose/job of the gadget.
• For example, you would need to work with different access points to format records from a database vs. confirming ILL Access information.
• Some gadgets require access to certain pieces of information depending on the purpose/job of the gadget.
• For example, you would need to work with different access points to format records from a database vs. confirming ILL Access information.
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Classifying GadgetsClassifying Gadgets
• Some other classes/packages you might work with would include:– ORG.oclc.webz.ZDb– ORG.oclc.webz.ZUserData– Classes in ORG.oclc.log– Classes in ORG.oclc.obi.util– Classes in ORG.oclc.ber
• Some other classes/packages you might work with would include:– ORG.oclc.webz.ZDb– ORG.oclc.webz.ZUserData– Classes in ORG.oclc.log– Classes in ORG.oclc.obi.util– Classes in ORG.oclc.ber
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
ExerciseModifying an existing gadget and
installing a new gadget into the interface
ExerciseModifying an existing gadget and
installing a new gadget into the interface
• Change the search page tab bar to display three options– Basic (instead of three indexes)– Advanced– Browse (when available)
• Change the search page tab bar to display three options– Basic (instead of three indexes)– Advanced– Browse (when available)
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Advanced Gadget TopicsAdvanced Gadget Topics
• Installing new gadgets that require new init class wrappers.
• Case examples– What are you interested in doing in the
interface?– Will it work as a gadget?– How?
• Installing new gadgets that require new init class wrappers.
• Case examples– What are you interested in doing in the
interface?– Will it work as a gadget?– How?
OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting
Implementing Interface GadgetsImplementing Interface Gadgets
•Questions
•Review
•Questions
•Review