Skip to content

Commit

Permalink
Updated readme and community health files (#880)
Browse files Browse the repository at this point in the history
* Updated readme and community health files for upcoming release

* Improved readme formatting. Added 'mailto:' to email links.

Co-authored-by: Mark Peterson <[email protected]>
  • Loading branch information
Beak-man and markpet49 authored May 24, 2022
1 parent 76f2044 commit f23f70d
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 31 deletions.
15 changes: 7 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
**Please do not file an issue to ask a question.** You will get faster results by using the following resources:

- Check out the [WorldWind Forum](https://forum.worldwindcentral.com/)
- Email the [Administrative Contact](mailto:patrick.hogan@nasa.gov)
- Email the [Administrative Contact](mailto:arc-worldwind@mail.nasa.gov)

## Design and Coding Guidelines

Expand All @@ -27,7 +27,7 @@ WorldWind projects.

### General

* The project's development IDE is WebStorm. The WebStorm configuration files for the project are checked in to the code repository. They define within them dependencies and formatting rules.
* The project's development IDE is Visual Studio Code. The VS Code configuration files for the project are checked in to the code repository. They define within them dependencies and formatting rules.
* The Module pattern is followed for all functionality. All JavaScript code is captured within a module. There is only one global defined by Web WorldWind, and that is the `WorldWind` singleton. It contains the constructors and static functions used throughout the rest of the library.
* RequireJS is used to support the Module pattern and to provide AMD. Every module participates in RequireJS/AMD.
* Web WorldWind never crashes the browser. Always catch exceptions at least at the highest entry point, e.g., event listeners and thread execution.
Expand All @@ -38,7 +38,6 @@ WorldWind projects.
* A rendering unit assumes that the WebGL state is entirely at its default value when the rendering unit is given control. The full WebGL state must be restored before the rendering unit releases control.
* Web WorldWind is designed such that the right things just happen once things are set up. The effect of something going wrong is benign. Avoiding micromanagement of state and code brittleness. For example, layers fork off retrieval of data but they don't try to keep track of these retrievals. If the retrieval succeeds then the data will be available the next time the layer looks for it. If it's not available at that point then the layer will simply ask for it again.
* All code uses the JavaScript "use strict" directive.
* WebStorm flags code errors and warnings as you write it. The errors are indicated by red and yellow markers in the right margin of a module's editor window. When a module is checked in there should be no red flags and all yellow flags should be addressed to the extent possible. Use F2 in WebStorm to move among errors and warnings. Strive to have no warnings or spelling errors. In this case, the square at the top of the right margin will be dark green. (Light green indicates that there are spelling errors.)
* The system is designed such that memory allocation and usage is minimized by both the system and its applications. To that end many methods that compute and return a value of type other than Number accept a "result" argument in which to return the computed value. When that argument exists, validate that it is non-null and defined. The result argument is typically used as the return value of the function.

### Exceptions
Expand All @@ -56,23 +55,23 @@ WorldWind projects.
* All Web WorldWind code follows the same style and conventions and looks the same in style and format.
* Web WorldWind code is heavily commented. The comments describe both the what and how of a block of code.
* Web WorldWind variable and function names are descriptive.
* Web WorldWind follows the coding conventions described in Chapter 2 of the book *JavaScript Patterns*. These conventions are encoded in the WebStorm project files.
* Web WorldWind follows the coding conventions described in Chapter 2 of the book *JavaScript Patterns*.
* Line length is 120 characters and indentation widths are 4 characters.
* Variable and function names use camel case. The exception is constructors, which capitalize their first letter. Constants are in all upper case with words separated by underscores.
* White space is preferred over packing code into a small space. Use white space liberally. Separate functional blocks of code with vertical white space. Think of code within a function as a sequence of paragraphs and separate each with a blank line.
* Set up WebStorm to insert the standard copyright message into new code files.
* Standard copyright message should be included into new code files.

### Documentation

* Documentation is generated by JSDoc.
* Run JSDoc and review the results prior to checking in any code. It's a convenient check on documentation and typing. Set up Grunt (see [HowToBuildWebWW.md](HowToBuildWebWW.md) in the source repository) and use the jsdoc target.
* Run JSDoc and review the results prior to checking in any code. It's a convenient check on documentation and typing.
* Document all functions and properties. Mark those meant for internal use only as such.
* Code isn't complete until the documentation is written. Write all documentation when you implement the function or property. Don't wait until "later". Assume that you will never return to a module to "clean up".
* Use present tense in all documentation. Examples are: "Indicates that ...", "Computes ...", "Returns ...". Do not use terms like "Will compute" or "Will return".
* Ensure that the type of all documented arguments and properties is specified in the documentation. For arrays, use {Number[]} and {Vec3[]} and not simply {Array}.
* Use correct capitalization and full sentences to document everything. All function, parameter and error descriptions start with an upper-case letter and end with a period.
* Ensure that all method arguments, return values and exceptions are documented.
* Use WebStorm to identify spelling mistakes in documentation. It will flag them with a wavy underline. Use F2 to move among them.
* Use the IDE to identify spelling mistakes in documentation. It will flag them with a wavy underline.
* Class documentation goes in the @classdesc descriptor for the class' constructor.

### Commits and Branching
Expand Down Expand Up @@ -160,5 +159,5 @@ For Web WorldWind tutorials and examples, please check out our website: https://

For community support and FAQs, check out the WorldWind Forum: https://forum.worldwindcentral.com/.

To reach our Administrative Contact, please email: [patrick.hogan@nasa.gov](mailto:patrick.hogan@nasa.gov).
To reach our Administrative Contact, please email: [arc-worldwind@mail.nasa.gov](mailto:arc-worldwind@mail.nasa.gov).

2 changes: 1 addition & 1 deletion ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Please fulfill the following requirements before submitting an issue to this rep

**Reproduces how often:** [What percentage of the time does it reproduce?]

### Operating System and Version
### Browser, Operating System and their versions

[What operating system and version are you using?]

Expand Down
57 changes: 35 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,49 @@
<img src="https://worldwind.arc.nasa.gov/img/nasa-logo.svg" height="100"/>

# Web WorldWind

## New versions of WorldWind released

Web WorldWind 0.10.0 and WorldWind Java 2.2.0 are now available on GitHub. The new version of Web WorldWind addresses potential vulnerabilities in the code and underlying packages. The new version of WorldWind Java focuses on upgrading to Java 11 and JOGL 2.4 as well as a switch to Apache 2.0 license. WorldWind's API remains largely unchanged in this release and we are committed to maintaining a consistent API in future releases.
More information on the release can be found at these links: [Web WorldWind 0.10.0](https://github.com/NASAWorldWind/WebWorldWind/releases) and [WorldWind Java 2.2.0](https://github.com/NASAWorldWind/WorldWindJava/releases).
Please direct questions to our new email address:
Web WorldWind 0.11.0 is now available on GitHub. The summary of changes is as follows:

- Improvements to COLLADA 3D model support.
- Added ability to obtain locations of a click in a 3D model.
- Added visualization support to COLLADA models with wrongly formatted normals.
- Transparent placemark picking has been fixed.
- Improvements to Well-Known Text format support.
- Various fixes to example code files.

Development environment changes:
- Added Chrome and Firefox headless browsers and removed PhantomJS.
- Switched IDEs from WebStorm to Visual Studio Code.
- Updated development dependencies to latest versions.

[email protected]
WorldWind's API remains largely unchanged in this release and we are committed to maintaining a consistent API in future releases.

[![Build Status](https://travis-ci.com/NASAWorldWind/WebWorldWind.svg?branch=develop)](https://travis-ci.com/NASAWorldWind/WebWorldWind)
For additional information, please refer to the [releases list](https://github.com/NASAWorldWind/WebWorldWind/releases). Please direct any questions to our email address: [[email protected]](mailto:[email protected]).

***

3D virtual globe API in JavaScript for the web, developed by NASA. The European Space Agency has provided valuable
contributions to this platform since 2015. Web WorldWind provides a geographic context, complete with terrain, and a
Web WorldWind is a 3D planetary globe engine built in JavaScript for the web, developed by NASA. The European Space Agency has provided valuable
contributions to this platform since 2015. Web WorldWind provides a geographic context complete with terrain, and a
collection for shapes for displaying and interacting with geographic or geo-located information in 3D and 2D in any
modern web browser. High-resolution terrain and imagery is retrieved from remote servers automatically as needed, while
enabling developers to include their own custom terrain and imagery.
enabling developers to include their own custom terrain, imagery, 3D shapes, and position markings.

[worldwind.arc.nasa.gov](https://worldwind.arc.nasa.gov) has setup instructions, developers guides, API documentation and more.
The project's website, [worldwind.arc.nasa.gov](https://worldwind.arc.nasa.gov) has setup instructions, developer guides, API documentation and more.

## Get Started

The Web WorldWind [Developer's Guide](https://worldwind.arc.nasa.gov/web) has a complete description of Web WorldWind's
functionality. You'll also find there links to many Web WorldWind resources, including a user guide. For novices on WorldWind,
A [Get Started](https://worldwind.arc.nasa.gov/web/get-started/) tutorial is the place to go. The latest Web WorldWind release
provides many simple [examples](https://github.com/NASAWorldWind/WebWorldWind/tree/develop/examples) showing how to use all of
Web WorldWind's functionality.
functionality. In there, you will find many Web WorldWind resources, including a user guide and documentation for every module file.
For complete beginners on WorldWind, the [Get Started](https://worldwind.arc.nasa.gov/web/get-started/) tutorial is the place to go.

The latest Web WorldWind release provides many simple [examples](https://github.com/NASAWorldWind/WebWorldWind/tree/develop/examples) showing
how to use most of Web WorldWind's functionality, as well as more involved small [applications](https://github.com/NASAWorldWind/WebWorldWind/tree/develop/apps)
for reference on how to use Web WorldWind in domain-focused GIS development.

## Building

[![Build Status](https://travis-ci.com/NASAWorldWind/WebWorldWind.svg?branch=develop)](https://travis-ci.com/NASAWorldWind/WebWorldWind)

[Install NodeJS](https://nodejs.org). The build is known to work with Node.js 12.18.0 LTS.

- `npm install` downloads WorldWind's dependencies and builds everything
Expand All @@ -44,7 +58,7 @@ provides many simple [examples](https://github.com/NASAWorldWind/WebWorldWind/tr

## License

Copyright 2003-2006, 2009, 2017, 2020 United States Government, as represented
Copyright 2003-2006, 2009, 2017, 2020, 2022 United States Government, as represented
by the Administrator of the National Aeronautics and Space Administration.
All rights reserved.

Expand All @@ -61,11 +75,10 @@ specific language governing permissions and limitations under the License.
NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source
software:

ES6-Promise – under MIT License
libtess.js – SGI Free Software License B
Proj4 – under MIT License
JSZip – under MIT License
- ES6-Promise – under MIT License
- libtess.js – SGI Free Software License B
- Proj4 – under MIT License
- JSZip – under MIT License

A complete listing of 3rd Party software notices and licenses included in
WebWorldWind can be found in the WebWorldWind 3rd-party notices and licenses
PDF found in code directory.
WebWorldWind can be found in the Web WorldWind 3rd-party notices and licenses PDF file found in its code directory.

0 comments on commit f23f70d

Please sign in to comment.