AODN Portal
The gateway to Australian marine and climate science data.
https://github.com/aodn/aodn-portal
Category: Hydrosphere
Sub Category: Ocean and Hydrology Data Access
Last synced: about 21 hours ago
JSON representation
Repository metadata
AODN Open Geospatial Portal
- Host: GitHub
- URL: https://github.com/aodn/aodn-portal
- Owner: aodn
- License: gpl-3.0
- Created: 2012-11-22T01:42:50.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T03:39:29.000Z (about 1 year ago)
- Last Synced: 2025-04-17T23:02:09.967Z (9 days ago)
- Language: JavaScript
- Homepage: https://portal.aodn.org.au/
- Size: 60.6 MB
- Stars: 21
- Watchers: 21
- Forks: 14
- Open Issues: 6
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
README.md
AODN Open Geospatial Portal
The AODN open geospatial portal is a Grails application for discovering, subsetting, and downloading geospatial data.
The application is a stateless front end to other servers:
- GeoNetwork metadata catalog
- GeoServer data server (WMS and WFS and our WPS subsetting and aggregation services
- THREDDS Gridded (ncWMS files) data server with embedded ncWMS (http://www.resc.rdg.ac.uk/trac/ncWMS/) web map server
You can view the portal in action at AODN Portal, which always runs the latest version of the code.
Contact
[email protected] or see https://help.aodn.org.au/ .
Features
- Easy 1-2-3 workflow (1.Search, 2.Subset, 3.Download)
- Faceted search for easy discovery of data collections
- Visualise subsetting results before download via WMS
- Download data from a variety of web services (eg. WFS)
- Configurable themes and splash page
Licensing
This project is licensed under the terms of the GNU GPLv3 license.
Getting Your Hands on Portal
Building From Source
If you want to build from source you will need to have Grails 2.4.4 and JDK 1.8 installed on your
build machine. The JDK needs to be Oracle, version 1.8.0_31 to use run-app. Download
Java SE Development Kit 8u31
from https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html.
The recommended way of installing grails is by using SdkMan:
$ curl -s http://get.sdkman.io | bash
$ source $HOME/.sdkman/bin/sdkman-init.sh
$ sdk install grails 2.4.4
$ sdk use grails 2.4.4
Alternatively an archive of Grails 2.4.4 can be obtained from
s3://imos-binary/static/grails/
Once you have the source it should be as simple as $ grails war
in the root folder where you have checked out portal
then deploy the war to your application server.
Can I Get A Pre-Built War?
Yes, you can download it from our public binaries repo.
Installation
The AODN Portal has been tested with Tomcat. All you need to do is deploy the WAR and add a configuration file that tells the portal:
- Where to find GeoNetwork
- Your CSS for branding and styling
- Trusted servers
Define the location of the configuration file by setting an environment context variable named aodn.configuration
One way to do this is by adding a file called <context>.xml in the $CATALINA_BASE/conf/[enginename]/[hostname]/
directory. Where <context> matches the context of the deployed WAR (eg. "aodn-portal-3.42.1-production.xml"). Set the variable by adding the following line to the file:
<Environment name="aodn.configuration" value="<path to file>/Portal.groovy" type="java.lang.String" override="true"/>
Then add the file called Portal.groovy
You can clone an example here and modify as required.
Development with IntelliJ
Although other versions may work the following assumes you have:
- Ubuntu 20.04.3 LTS or 18.04.6 LTS
- Latest IntelliJ IDEA Ultimate (2021.3.2 was used at time of writing). The Ultimate edition is required for Grails support.
- Java OpenJDK 1.8
The Java JDK should normally be installed using a package manager suitable to your environment from
OpenJDK. Alternatively an archive can be downloaded from
s3://imos-binary/static/java
Requirements:
- Grails 2.4.4 (see Building From Source)
Configure IntelliJ:
Access Tools --> Grails --> Configure Grails SDK and set the project name and location to the Grails 2.4.4 SDK.
Make sure the correct JDK (Oracle OpenJDK 1.8.0_31) is selected in the Project Structure.
Debugging:
The project includes a run configuration suitable for debugging (Grails_aodn-portal.run.xml).
Select this from the run configurations list and click the debug button. This will run the application using the development
configuration found in Config.groovy. A JDWP transport mechanism is accessible via
dt_socket.
Go to the IntelliJ debug panel and click on the Console tab. This will show the command line used to run the application
along with the address to which a debugger can be attached. To use the IntelliJ debugger, click the "Attach debugger" link.
To view the full command line used to run the application click on the ellipsis. The command line will be something like
the following which is provided to aid troubleshooting. In particular note the paths to plugins and dependencies which
are provided by IntelliJ.
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
-agentlib:jdwp=transport=dt_socket,address=40253,suspend=y,server=y
-Dmaven.multiModuleProjectDirectory=/home/user/git/scratch/aodn-portal
-Dgrails.env=development
-Xmx1G -Xms512m
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8008 -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-Dmaven.home=/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/maven/lib/maven3
-Dclassworlds.conf=/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/maven/lib/maven3/bin/m2.conf
-Dmaven.ext.class.path=/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/maven/lib/maven-event-listener.jar
-Dgrails.full.stacktrace=true
-javaagent:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/Groovy/lib/agent/gragent.jar
-javaagent:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/Grails/lib/grails-rt.jar
-DforkDebug=true
-javaagent:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/Groovy/lib/agent/gragent.jar
-javaagent:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/java/lib/rt/debugger-agent.jar
-Didea.grails.kind.file=/tmp/grailsStartFlag637409810572985153
-Dfile.encoding=UTF-8
-classpath /home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/maven/lib/maven3/boot/plexus-classworlds-2.6.0.jar:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/plugins/maven/lib/maven3/boot/plexus-classworlds.license:/home/user/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/lib/idea_rt.jar
org.codehaus.classworlds.Launcher -Didea.version=2021.3.2
grails:run-app
After a brief pause the Portal UI will run in your default browser at http://localhost:8080. Two processes will be listed
in the IntelliJ "Stop Process" menu. Now you can set breakpoints and use other IntelliJ debug functions.
The provided run configuration also includes Java JVM options which enable monitoring via JConsole on port 8008.
Development with Docker
SSL/TLS
Before you can properly run the application in a docker container you will need to add trusted certificates to the JVM running
in the Docker container. These are used to access the configured Geonetwork and Geoserver instances. This is no different
to running in a local environment so all you will need to do is to make sure that there is a copy of your trusted certificates
store in a file called cacerts
located in the aodn-portal directory. The dockerfile will take care of copying this to
the correct location on the container.
Locate your cacerts
file in the jre/lib/security
directory of your JDK and copy it to your aodn-portal root directory.
For more information on adding required certificates to this file see stack overflow.
Docker-compose
The docker-compose.yml
file includes a service 'debug'. This will run the app in a Docker container with the JDWP
transport mechanism watching on port 5005:
$ docker-compose up debug
Alternatively use the Remote debug run configuration.run/docker-compose.yml.debug_ Compose Deployment.run.xml
in
IntelliJ.
Attaching a debugger
Attaching your debugger to the JDWP transport port will depend on your IDE. In IntelliJ you can use the provided Remote debug
run
configuration by selecting it in the dropdown and clicking the debug button.
Docker development assumes the localhost ports 8080 and 5005 are available.
Grails does not complete launching the application until after you have connected your debugger to the JDWP port. Once it
is launched the application will be available on http://localhost:8080.
Troubleshooting
If you have difficulties building and running make sure you are using the correct JDK and version of Grails. Then run
grails clean
and try again.
Getting Started (How Do I Drive This Thing?)
Read the Getting Started guide on the wiki
Contributing
We welcome contributions so please feel free to fork the project, address any issues or add features and submit
a pull request.
Owner metadata
- Name: Australian Ocean Data Network
- Login: aodn
- Email: [email protected]
- Kind: organization
- Description:
- Website: https://portal.aodn.org.au/
- Location: Australia
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/2802166?v=4
- Repositories: 60
- Last ynced at: 2024-03-26T02:10:01.422Z
- Profile URL: https://github.com/aodn
GitHub Events
Total
- Issue comment event: 2
- Pull request event: 1
- Fork event: 1
Last Year
- Issue comment event: 2
- Pull request event: 1
- Fork event: 1
Committers metadata
Last synced: 6 days ago
Total Commits: 6,756
Total Committers: 58
Avg Commits per committer: 116.483
Development Distribution Score (DDS): 0.782
Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
dnahodil | d****l@u****u | 1471 |
pmbohm | p****m@u****u | 746 |
Jon Burgess | j****s@g****m | 690 |
dnahodil | d****l@8****f | 518 |
Dan Fruehauf | m****n@g****m | 464 |
pmbohm | p****m@8****f | 389 |
pmak | p****k@8****f | 242 |
craigj | c****j@8****f | 235 |
tfotak | t****k@8****f | 234 |
anguss00 | a****r@u****u | 216 |
aodn-ci | d****s@e****u | 134 |
Tommy Fotak | t****k@g****m | 128 |
Craig Jones | C****s@u****u | 127 |
akashisama | a****n@u****u | 120 |
pblain | p****n@8****f | 112 |
jburgess | j****s@8****f | 96 |
amckeown | a****n@8****f | 76 |
jenkins | s****n@e****u | 72 |
aodn-ci | i****o@a****u | 67 |
Alex McKeown | a****n@u****u | 63 |
bhasin85 | b****5@g****m | 58 |
pblain | p****n@u****u | 55 |
jenkins | s****n@e****u | 45 |
matias | m****s@8****f | 42 |
geoff | g****f@8****f | 41 |
anguss00 | A****r@u****u | 40 |
Tommy Fotak | t****k@u****u | 36 |
dnahodil | d****t@g****m | 26 |
paulinemak | p****k@u****u | 24 |
cmrose | c****e@u****u | 18 |
and 28 more... |
Committer domains:
- utas.edu.au: 22
- emii.org.au: 3
- users.noreply.github.example.com: 1
- aodn.edu.au: 1
- aodn.org.au: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 92
Total pull requests: 83
Average time to close issues: 5 months
Average time to close pull requests: 26 days
Total issue authors: 10
Total pull request authors: 13
Average comments per issue: 3.72
Average comments per pull request: 0.7
Merged pull request: 63
Bot issues: 0
Bot pull requests: 6
Past year issues: 2
Past year pull requests: 0
Past year average time to close issues: 4 months
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 0
Past year average comments per issue: 2.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- kereid (36)
- Chetnamann (27)
- evacougnon (16)
- ocehugo (3)
- jonescc (2)
- Abulos (2)
- xhoenner (2)
- vfisaac (2)
- jachope (1)
- craigrose (1)
Top Pull Request Authors
- craigrose (19)
- nspool (15)
- akashisama (11)
- utas-raymondng (8)
- digorgonzola (7)
- dependabot[bot] (6)
- ndhogan (6)
- APaulic (3)
- ggalibert (2)
- jonescc (2)
- gsatimos (2)
- lbesnard (1)
- pmbohm (1)
Top Issue Labels
- bug (35)
- T1 - IMOS (35)
- T2 - O&M - Continuous Improvement (33)
- T3 Information Infrastructure (21)
- T3 - Data Delivery (18)
- 1 Point (18)
- in progress (15)
- T3 - Unplanned (10)
- refactor (9)
- 0 Points (7)
- T2 - O&M - Testing and Release (5)
- 1/2 story point (4)
- blocked (3)
- enhancement (1)
- wont fix (1)
Top Pull Request Labels
- dependencies (6)
Dependencies
- commons-codec:commons-codec 1.3 compile
- commons-collections:commons-collections 3.2.1 compile
- commons-pool:commons-pool 1.5.3 compile
- hsqldb:hsqldb 1.8.0.10 compile
- javax.servlet:jstl 1.1.2 compile
- joda-time:joda-time 1.5 compile
- net.sf.ehcache:ehcache-core 1.7.1 compile
- net.sf.opencsv:opencsv 2.3 compile
- org.apache.httpcomponents:httpclient 4.5.3 compile
- org.apache.tomcat:catalina 6.0.32 compile
- org.aspectj:aspectjrt 1.6.8 compile
- org.aspectj:aspectjweaver 1.6.8 compile
- org.codehaus.groovy.modules.http-builder:http-builder 0.7 compile
- org.grails.plugins:csv 0.3.1 compile
- org.grails.plugins:simple-captcha 1.0.0 compile
- org.hibernate:hibernate-ehcache 3.3.1.GA compile
- org.tmatesoft:svn 1.1.0 compile
- taglibs:standard 1.1.2 compile
- org.grails.plugins:tomcat 7.0.54 provided
- com.h2database:h2 1.3.170
- net.sourceforge.nekohtml:nekohtml 1.9.15
- org.grails.plugins:webxml 1.4.1
- org.grails:grails-dependencies 2.4.4
- org.ocpsoft.prettytime:prettytime 3.2.7.Final
- org.slf4j:slf4j-log4j12 1.7.5
- xerces:xercesImpl 2.8.0
- junit:junit 4.12 test
- org.grails:grails-plugin-testing 2.4.4 test
- org.grails:grails-test 2.4.4 test
- org.spockframework:spock-core 1.1-groovy-2.4 test
- guard >= 0 development
- guard-livereload >= 0 development
- json ~> 1.7.7 development
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-java v2 composite
- ubuntu 20.04 build
- portal-build latest
Score: 7.356279876550748