| 1 | = Sandbox for GUI components = |
| 2 | |
| 3 | || '''Date''' || 2010/08/01 || |
| 4 | || '''Contact(s)''' || Francois || |
| 5 | || '''Last edited''' || || |
| 6 | || '''Status''' || being discussed || |
| 7 | || '''Assigned to release''' || None || |
| 8 | || '''Resources''' || Available || |
| 9 | |
| 10 | == Overview == |
| 11 | |
| 12 | The proposal ask for '''creation of a dedicated sandbox''' in order to work on new GUI components in order to easily build new GUI based on GeoNetwork server module. |
| 13 | |
| 14 | |
| 15 | Objectives: |
| 16 | * Create components to compose Search, Admin, Editor interface |
| 17 | * Provide a default GeoNetwork UI |
| 18 | * Provide developers documentation on components |
| 19 | * Clean existing client code based (removing JS dependencies) |
| 20 | * Improve existing server services in order to provide simple access to each module (eg. User management, System admin) |
| 21 | |
| 22 | |
| 23 | These components are written in JS and depends on: |
| 24 | * OpenLayers |
| 25 | * Ext.js |
| 26 | * (optional) GeoExt |
| 27 | |
| 28 | |
| 29 | A separate GUI application is created and minor changes should occur on the server side (service improvements or new services for simple tasks like "get groups"). |
| 30 | |
| 31 | |
| 32 | Example of a !GeoExt !MapPanel linked to search results : |
| 33 | [[Image(gnclient.png, 500)]] |
| 34 | |
| 35 | |
| 36 | ... |
| 37 | |
| 38 | === Proposal Type === |
| 39 | * '''Type''': GUI Change |
| 40 | * '''App''': !GeoNetwork client |
| 41 | * '''Module''': GUI |
| 42 | |
| 43 | === Links === |
| 44 | * '''Documents''': |
| 45 | * '''Email discussions''': |
| 46 | * '''Other wiki discussions''': |
| 47 | |
| 48 | === Voting History === |
| 49 | * Vote proposed by X on Y, result was +/-n (m non-voting members). |
| 50 | |
| 51 | ---- |
| 52 | |
| 53 | == Proposal == |
| 54 | === Sandbox content === |
| 55 | The sandbox will be initialize with the current work: |
| 56 | * The prototype of the library with documentation [1] |
| 57 | * A collection of examples to illustrate each components [2] |
| 58 | * A sample application [2] |
| 59 | |
| 60 | [1] http://www.opencarto.net/geonetwork/website/docsrc/build/html/dev-jsapi/index.html |
| 61 | |
| 62 | [2] http://opencarto.net/geonetwork/apps/js/GeoNetwork/examples/ |
| 63 | |
| 64 | [3] http://opencarto.net/geonetwork/apps/search |
| 65 | |
| 66 | [[Image(gn-js-modules.png, 500)]] |
| 67 | |
| 68 | |
| 69 | |
| 70 | The sandbox will replicate the web module and use svn:external on other modules. |
| 71 | |
| 72 | |
| 73 | === Current status === |
| 74 | Current components are: |
| 75 | * GeoNetwork.Catalogue |
| 76 | * Widgets |
| 77 | o GeoNetwork.LoginForm |
| 78 | o GeoNetwork.MetadataResultsToolbar |
| 79 | o GeoNetwork.MetadataResultsView |
| 80 | o GeoNetwork.TagCloudView |
| 81 | o GeoNetwork.Templates |
| 82 | * GeoNetwork.data |
| 83 | o GeoNetwork.data.MetadataCSWResultsStore |
| 84 | o GeoNetwork.data.MetadataResultsStore |
| 85 | o GeoNetwork.data.MetadataSummaryStore |
| 86 | o GeoNetwork.data.OpenSearchSuggestionReader |
| 87 | o GeoNetwork.data.OpenSearchSuggestionStore |
| 88 | * GeoNetwork.form |
| 89 | o GeoNetwork.form.OpenSearchSuggestionTextField |
| 90 | * GeoNetwork.util |
| 91 | o GeoNetwork.util.CSWSearchTools |
| 92 | o GeoNetwork.util.SearchFormTools |
| 93 | o GeoNetwork.util.SearchTools |
| 94 | |
| 95 | and embed the MapViewer of 2.6 release. |
| 96 | |
| 97 | === On-going work === |
| 98 | * Client side |
| 99 | * How to deal with i18n ? |
| 100 | * trying to have one location for all GUI translation |
| 101 | * XSL service which create a JS file from existing XML file |
| 102 | * How to deal with role and privileges ? |
| 103 | * Bugs |
| 104 | * Layout resize issue in simple/advanced form |
| 105 | * Server side |
| 106 | * admin interface |
| 107 | * add new simple service to get groups, categories, ... |
| 108 | * Change existing service without banner to try to plug them into other UI |
| 109 | |
| 110 | |
| 111 | === Backwards Compatibility Issues === |
| 112 | |
| 113 | |
| 114 | === New libraries added === |
| 115 | * No libraries are added. |
| 116 | * Removed : Prototype, Sarissa, Scriptaculous, - to be continued - |
| 117 | |
| 118 | == Risks == |
| 119 | |
| 120 | == Participants == |
| 121 | * Francois |
| 122 | * Others welcomed ! |
| 123 | |