+ All Categories
Home > Documents > Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

Date post: 02-Jan-2016
Category:
Upload: stuart-greene
View: 18 times
Download: 1 times
Share this document with a friend
Description:
Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999. 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 - PowerPoint PPT Presentation
23
OCLC SiteSearch User Group Meeting Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999
Transcript
Page 1: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 2: Implementing Interface Gadgets SiteSearch User Group Workshop 3/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)

Page 3: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 4: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 5: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 6: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 7: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 8: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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.

Page 9: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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]

Page 10: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 11: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 12: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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?

Page 13: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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?

Page 14: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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]

Page 15: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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.

Page 16: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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.

Page 17: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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)

Page 18: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 19: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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.

Page 20: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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

Page 21: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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)

Page 22: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

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?

Page 23: Implementing Interface Gadgets SiteSearch User Group Workshop 3/23/1999

OCLC SiteSearch User Group Meeting OCLC SiteSearch User Group Meeting

Implementing Interface GadgetsImplementing Interface Gadgets

•Questions

•Review

•Questions

•Review


Recommended