Presentation is loading. Please wait.

Presentation is loading. Please wait.

January 22, 2010 Search, Enumeration, and Pickers.

Similar presentations


Presentation on theme: "January 22, 2010 Search, Enumeration, and Pickers."— Presentation transcript:

1 January 22, 2010 Search, Enumeration, and Pickers

2 Overview Search Config Lookup MetaData Data Orchestration Picker Widget

3 Search Config What is the Search Config? – A set of data that defines a method for performing a search – Currently using xml (e.g. organization-search-config.xml) How does it work? – Uses JPQL (i.e. SQL for Java Persistent Objects) – Defines Criteria and Results (sub searches coming soon) What Features do Search Configs provide? – Allows reuse of configured searches – Reusable search components (e.g. criteria groups) – Optional Parameters – Parameters tied to Dictionary for validation

4 Example Search Config Example (search name) org.search.advanced (JPQL) SELECT org.id, org.shortName, org.longName, org.type.id FROM Org org (Criteria) org.criteria.orgAdvancedCriteria (Param) org.queryParam.orgOptionalLongName (Param) org.queryParam.orgOptionalLocation (Param) org.queryParam.orgOptionalId (Param) org.queryParam.orgOptionalShortName (Param) org.queryParam.orgOptionalType (Result) org.result.NameAndDescription (Column) org.resultColumn.orgId (Column) org.resultColumn.orgShortName (Column) org.resultColumn.orgOptionalLongName (Column) org.resultColumn.orgType

5 Lookup MetaData Overview Provides the picker widget with configuration that controls the UX based on a specific search – Which parameters are allowed on what tabs – What widget to use for each parameter – What results are displayed in the result table Is currently a large java object that is generated from.xls – Structured very similarly to xml Should we convert this to xml?

6 Lookup MetaData Example Snippet param = new LookupParamMetadata (); param.setKey ("org.queryParam.orgOptionalShortName"); param.setName ("Organization Name"); param.setDesc ("Short organization name."); param.setWriteAccess (Metadata.WriteAccess.ALWAYS); param.setDataType (Data.DataType.STRING); param.setOptional (true); param.setUsage (LookupMetadata.Usage.ADVANCED); param.setWidget (LookupParamMetadata.Widget.SUGGEST_BOX); lookup.getParams ().add (param);

7 Data Orchestration Layer Not currently leveraged, but will provide the ability to perform cross service searches that display results from multiple services Picker widgets will reference the Assembler to perform If/When performance issues around search arise we can evaluate several methods for performing cross service joins. – No good options yet

8 Picker Widget Overview Leverages the Metadata to configure the search behavior. Configuration from Metadata can be overridden at the client application – which result fields to display – adding filters that are applied to both the advanced search lightbox and the suggest box

9 Picker Widget Placement SearchPanel adminDepartment = new SearchPanel(orgRpcServiceAsync, searchMetadata.getProperties().get(DEPARTMENT).getLookupMetadata()); final AdvancedSearchWindow courseSearchWindow = new AdvancedSearchWindow("Find Department", adminDepartment); KSTextBox adminDepTextBox = new KSTextBox(); //FIXME this will be suggest box final SuggestBoxWAdvSearch adminDepPicker = new SuggestBoxWAdvSearch(adminDepTextBox, courseSearchWindow); courseSearchWindow.addSelectionCompleteCallback(new Callback >(){ public void exec(List results) { if (results.size() > 0){ adminDepPicker.getSuggestBox().setText(results.get(0).getDisplayKey()); adminDepPicker.getSuggestBox().setValue(results.get(0).getReturnKey()); courseSearchWindow.hide(); } });

10 Enumerations Uses an assembler to perform a search against the Enumeration Management Service Enumeration Management Service will need maintenance screens at some point

11 What’s Next?


Download ppt "January 22, 2010 Search, Enumeration, and Pickers."

Similar presentations


Ads by Google