Project

General

Profile

Download (4.75 KB) Statistics
| Branch: | Revision:

git_sitools_idoc / flarecast / cots / geoext2-2.0.2 / README.md @ master

1
# [![GeoExt Logo](http://geoext.github.io/geoext2/website-resources/img/GeoExt-logo.png "GeoExt Logo")](http://geoext.github.io/geoext2/) [GeoExt 2](http://geoext.github.io/geoext2/)
2

    
3
JavaScript Toolkit for Rich Web Mapping Applications.
4

    
5
[![Build Status](https://travis-ci.org/geoext/geoext2.png)](https://travis-ci.org/geoext/geoext2)
6

    
7

    
8
## What is GeoExt?
9

    
10
GeoExt is Open Source and enables building desktop-like GIS applications through
11
the web. It is a JavaScript framework that combines the GIS functionality of
12
[OpenLayers](http://openlayers.org) with the user interface savvy of the
13
[ExtJS](http://www.sencha.com/products/extjs/) library provided by
14
[Sencha](http://www.sencha.com/).
15

    
16
Version 2 of GeoExt is the successor to the
17
[GeoExt 1.x-series](http://geoext.org) and is built atop the newest official
18
installments of its base libraries; OpenLayers 2.13.1 and ExtJS 4.2.1.
19

    
20

    
21
## More information on GeoExt 2
22

    
23
Have a look at the official homepage: http://geoext.github.io/geoext2/
24

    
25
You will find examples, API documentation (with and without inherited
26
functionality from ExtJS), links to mailinglists and more over there.
27

    
28
What you see on http://geoext.github.io/geoext2/ are the contents of the
29
`gh-pages`-branch. If you encounter anything that should be fixed, please issue
30
a pull request against that branch and we will merge it as soon as possible.
31

    
32

    
33
## Ok, I want to use GeoExt now...
34

    
35
Hey that's a good decision, and it is very easy to get started on a page that
36
already includes ExtJS and OpenLayers:
37

    
38
```html
39
<!DOCTYPE html>
40
<html>
41
    <head>
42
        <title>Trying out GeoExt2</title>
43
        <!-- Load the ExtJS stylesheet -->
44
        <link rel="stylesheet" type="text/css"
45
          href="http://cdn.sencha.com/ext/gpl/4.2.1/resources/css/ext-all.css">
46
        <!-- Load ExtJS from their CDN, local versions work also -->
47
        <script type="text/javascript"
48
          src="http://cdn.sencha.com/ext/gpl/4.2.1/ext-debug.js"></script>
49
        <!-- Load OpenLayers, custom builds may even be better -->
50
        <script src="http://openlayers.org/api/2.13.1/OpenLayers.js"></script>
51
        <script type="text/javascript" src="../loader.js"></script>
52
    </head>
53
    <body></body>
54
</html>
55
```
56

    
57
Next, we simply add a `<script>`-tag in which we tell ExtJS about GeoExt (and
58
also where to find the ExtJS source files):
59

    
60
```html
61
<script type="text/javascript">
62
Ext.Loader.setConfig({
63
    enabled: true,
64
    disableCaching: false,
65
    paths: {
66
        GeoExt: "path/to/src/GeoExt",
67
        Ext: "http://cdn.sencha.com/ext/gpl/4.2.1/src"
68
    }
69
});
70
</script>
71
```
72

    
73
That's it. Now you can e.g. create a very basic mappanel and let it reign over
74
the whole browser window:
75

    
76
```javascript
77
var mappanel = Ext.create('GeoExt.panel.Map', {
78
    title: 'A sample Map',
79
    map: {
80
        // ...
81
        // optional, can be either
82
        //   - a valid OpenLayers.Map configuration or
83
        //   - an instance of OpenLayers.Map
84
    },
85
    center: '12.31,51.48',
86
    zoom: 6
87
});
88

    
89
Ext.create('Ext.container.Viewport', {
90
    layout: 'fit',
91
    items: [
92
        mappanel // our variable from above
93
    ]
94
});
95
```
96

    
97
More information to get started can be grabbed
98
[on the main website](http://geoext.github.io/geoext2).
99

    
100

    
101
## Want to contribute? Yes, please!
102

    
103
We definitely want you to help us making GeoExt. We will happily accept pull
104
requests of any kind; be it documentation improvement, code refactoring or new
105
functionality.
106

    
107
Please sign the [contributor agreement](http://trac.geoext.org/browser/docs/contributor_agreements/geoext_agreement.pdf?format=raw)
108
and email it to the GeoExt Project Steering Committee (`psc [at] geoext.org`)
109
prior to submitting your changes. Thanks.
110

    
111

    
112
## To generate the jsduck documentation
113

    
114
*   Install jsduck: https://github.com/senchalabs/jsduck
115
*   Run `jsduck --config jsduck.json` in the root of the repository
116
*   Optional: If you want the documentation for ExtJS to be linked, edit
117
    `jsduck.json` to point to the proper source location (URLs will not work)
118
*   Optional: To refresh screenshots in the example page run
119
	`~$ . tools/screenshots.sh http://geoext.github.io/geoext2/examples/`
120
*   Open the generated file `/path/to/your/geoext/docs/index.html` in your
121
    favorite browser
122
*   Enjoy!
123

    
124

    
125
## To run the test suite
126

    
127
*   Serve the contents of a GeoExt 2 clone on a webserver, e.g.:
128

    
129
    `user@machine:/src/geoext2 $ python -m SimpleHTTPServer 2222`
130

    
131
*   Open the main test suite HTML file in a browser:
132

    
133
    `http://localhost:2222/tests/run-tests.html`
134

    
135
*   Click the button "run all"
136

    
137
## Headless tests with casperjs
138

    
139
You can also run the above tests headlessly through casperjs:
140

    
141
```bash
142
# Run the suite in the root of the repository
143
./tests/headless/casperjs-1.1-beta.1/bin/casperjs \
144
  test \
145
  tests/headless/run-testsuite.js
146
```
147

    
148
These tests are also run though [travis](https://travis-ci.org/geoext/geoext2).
149

    
150