A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Plants of the World Online

An international collaborative programme that has as a primary aim to make available digitized data of the world's flora gathered from the past 250 years of botanical exploration and research.
https://github.com/RBGKew/powop

Category: Biosphere
Sub Category: Plants and Vegetation

Last synced: about 8 hours ago
JSON representation

Repository metadata

Plants of the World Online Portal

README.md

Plants of the World Online

Plants of the World Online Portal is a global, online, biodiversity information resource. This repository contains the code for the data model, harvester and web portal.

The POWO code powers:

Developing

The easiest way to run the POWO app is using docker-compose. In order to do this you need to run the following to build images for the different modules:

mvn install

Once this is done you can run the following to start the application

docker-compose up

Initial setup

Once you have the application up and running you will need to load some data to interact with. To do this:

  1. Go to http://localhost:10080/admin/#/organisations
  2. Click the cog in the top right and login with username admin and password password
  3. Click the cog in the top right and click import - select the powo-harvest/local-development-data-configuration.json as the file
  4. Go to http://localhost:10080/admin/#/lists and click the play icon next to the Load everything job [Note: if you want images in search results, first follow the Images instructions below]

This loads a subset of the full data onto your development machine. It can take several hours to complete.

Making changes

If any module dependencies have been updated (e.g. after running git pull) rebuild your local modules using:

mvn install

After making changes to a specific module you can rebuild just that module using the following commands (using the relevant Maven module e.g. powo-portal):

mvn prepare-package -pl powo-portal
mvn package -pl powo-static

Then you can restart that service using the following command (using the relevant service name defined in docker-compose.yaml e.g. portal):

docker-compose up portal

You can run services that change infrequently in the background to simplify this process and make startup easier:

docker-compose up -d db harvester solr geoserver geodb

Then restarting only the services you need:

docker-compose up portal ingress

Making changes to the frontend

First, start all the docker services with docker-compose up -d.

If you make changes to the frontend handlebars templates you will need to rebuild powo-portal:

mvn package -pl powo-portal -Ddockerfile.skip

If you are working mainly on the frontend JS or CSS, you can use the following command to start automatic asset recompilation and browser reload:

# If yarn not installed globally
npm i -g yarn

# Then start automatic asset compilation
cd powo-portal/src/main/frontend
yarn dev

# Connect to a different backend, for developing an alternative POWO site
yarn dev --backend-port=20080

Issues with services hanging

If the portal and harvester services are hanging and failing to startup, it can be an issue with an unreleased lock on a Liquibase managed table. This can happen when services are stopped and don't properly release the locks. To fix this you can run:

docker exec <your_db_container_id> mysql --user=powo --password=powo powo -e "UPDATE DATABASECHANGELOGLOCK SET LOCKED=0, LOCKGRANTED=null, LOCKEDBY=null where ID=1;"

This will reset the lock on the db, after that you can stop and restart your containers and they should be OK.

Images

In order for the app to load images correctly, it needs a CDN key. The steps to do this locally are:

  1. Get the CDN key from the POWO team
  2. Create a file called .env in the root of the project
  3. Add the following line, replacing your_cdn_key with the actual key:
CDN_KEY=your_cdn_key

Deployment

Deployment for POWO is managed via the powo-infrastructure repository. Please refer to that for all deployment documentation.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 3,389
Total Committers: 31
Avg Commits per committer: 109.323
Development Distribution Score (DDS): 0.857

Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
ben b****n 485
Malcolm Stone m****e@k****g 484
John Iacona J****a@k****g 389
ben b****k@z****k 328
John Iacona j****a@k****g 246
David Bishop d****p@k****g 232
jk00kg j****g@k****g 155
ben b****n@z****k 149
annapaola a****o@z****k 144
James Crowe j****e@k****g 103
jk00kg j****g 91
Matthew Blissett M****t@k****g 84
annapaola a****a 74
Joaquim de Souza j****a@k****g 68
Jenkins n****s@k****g 62
Joaquim j****s@g****m 51
Jenkins Continuous Build server j****s@g****) 45
Joaquim dSouza J****a@k****g 39
ben b****k@g****m 34
Joseph Kelly j****y@k****g 32
John Iacona j****a@g****m 31
jenkins j****s 20
danielddb d****l@c****m 13
Nicky Nicolson n****n@k****g 10
Ben Clark b****n@e****) 7
jc20kg j****g@A****g 4
Nick n****k@k****g 3
Ben Clark b****n@l****n 2
Nicky Nicolson n****n@g****m 2
Nick Black N****k@k****g 1
and 1 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 0
Total pull requests: 2
Average time to close issues: N/A
Average time to close pull requests: about 2 months
Total issue authors: 0
Total pull request authors: 2
Average comments per issue: 0
Average comments per pull request: 1.5
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/RBGKew/powop

Top Issue Authors

Top Pull Request Authors

  • NatClamp (1)
  • gmlewis (1)

Top Issue Labels

Top Pull Request Labels


Dependencies

powo-db/Dockerfile docker
  • mariadb 10.3.5 build
docker-compose.yml docker
  • eu.gcr.io/powop-1349/db latest
  • eu.gcr.io/powop-1349/geodb latest
  • eu.gcr.io/powop-1349/geoserver latest
  • eu.gcr.io/powop-1349/harvester latest
  • eu.gcr.io/powop-1349/ingress latest
  • eu.gcr.io/powop-1349/portal latest
  • eu.gcr.io/powop-1349/solr latest
powo-builder/Dockerfile docker
  • rbgkew/gke-helm-deployer 0.1.6 build
powo-geodb/Dockerfile docker
  • mysql 5.5 build
powo-geoserver/Dockerfile docker
  • tomcat 8.0-jre8-alpine build
powo-harvest/Dockerfile docker
  • tomcat 9-jre11-slim build
powo-portal/Dockerfile docker
  • tomcat 9-jre11-slim build
powo-solr/Dockerfile docker
  • solr 7.5-alpine build
powo-static/Dockerfile docker
  • nginx 1.15-alpine build
pom.xml maven
  • com.github.eirslett:frontend-maven-plugin 1.6 provided
  • javax.servlet.jsp:jsp-api 2.2 provided
  • javax.servlet:javax.servlet-api 3.1.0 provided
  • org.projectlombok:lombok 1.18.6 provided
  • ch.qos.logback:logback-access 1.2.2
  • ch.qos.logback:logback-classic 1.2.2
  • com.eclipsesource.minimal-json:minimal-json 0.9.4
  • com.fasterxml.jackson.core:jackson-annotations 2.9.6
  • com.fasterxml.jackson.core:jackson-core 2.9.6
  • com.fasterxml.jackson.core:jackson-databind 2.9.6
  • com.fasterxml.jackson.dataformat:jackson-dataformat-xml 2.9.6
  • com.github.jknack:handlebars 4.1.2
  • com.github.jknack:handlebars-springmvc 4.1.2
  • com.google.guava:guava 23.5-jre
  • com.jayway.jsonpath:json-path 2.2.0
  • com.mattbertolini:liquibase-slf4j 2.0.0
  • com.spatial4j:spatial4j 0.5
  • com.sun.xml.bind:jaxb-impl 2.3.2
  • com.thoughtworks.xstream:xstream 1.4.7
  • com.vividsolutions:jts 1.13
  • commons-beanutils:commons-beanutils 1.9.3
  • commons-io:commons-io 2.5
  • gnu.trove:trove 2.1.0
  • javax.xml.bind:jaxb-api 2.3.0
  • javax.xml.stream:stax-api 1.0-2
  • joda-time:joda-time 2.9.4
  • net.sf.ehcache:ehcache-core 2.6.11
  • net.sf.json-lib:json-lib 2.3
  • org.apache.commons:commons-dbcp2 2.1.1
  • org.apache.commons:commons-lang3 3.5
  • org.apache.httpcomponents:httpclient 4.5.2
  • org.apache.httpcomponents:httpmime 4.5.2
  • org.apache.lucene:lucene-analyzers-common 7.5.0
  • org.apache.lucene:lucene-core 7.5.0
  • org.apache.lucene:lucene-queries 7.5.0
  • org.apache.solr:solr-solrj 7.5.0
  • org.codehaus.woodstox:wstx-asl 3.2.7
  • org.gbif:dwc-api 1.16
  • org.gbif:dwca-reader 1.18
  • org.gbif:ecat-common 1.6
  • org.geotools:gt-epsg-hsql 17.1
  • org.geotools:gt-main 17.1
  • org.geotools:gt-shapefile 17.1
  • org.hibernate.javax.persistence:hibernate-jpa-2.1-api 1.0.0.Final
  • org.hibernate:hibernate-core 5.3.9.Final
  • org.hibernate:hibernate-java8 5.3.9.Final
  • org.hibernate:hibernate-spatial 5.3.9.Final
  • org.hibernate:hibernate-validator 6.0.16.Final
  • org.jadira.usertype:usertype.core 6.0.1.GA
  • org.jsoup:jsoup 1.10.2
  • org.liquibase:liquibase-core 3.6.1
  • org.liquibase:liquibase-maven-plugin 3.6.1
  • org.mariadb.jdbc:mariadb-java-client 2.7.4
  • org.powo:powo-model 2.0.0
  • org.powo:powo-persistence 2.0.0
  • org.powo:powo-service 2.0.0
  • org.slf4j:jcl-over-slf4j 1.7.5
  • org.slf4j:jul-to-slf4j 1.7.5
  • org.slf4j:log4j-over-slf4j 1.7.5
  • org.slf4j:slf4j-api 1.7.5
  • org.springframework.batch:spring-batch-core 4.0.0.RELEASE
  • org.springframework.batch:spring-batch-infrastructure 4.0.0.RELEASE
  • org.springframework.security:spring-security-acl 5.0.1.RELEASE
  • org.springframework.security:spring-security-config 5.0.1.RELEASE
  • org.springframework.security:spring-security-core 5.0.1.RELEASE
  • org.springframework.security:spring-security-web 5.0.1.RELEASE
  • org.springframework:spring-aop 5.1.2.RELEASE
  • org.springframework:spring-beans 5.1.2.RELEASE
  • org.springframework:spring-context 5.1.2.RELEASE
  • org.springframework:spring-context-support 5.1.2.RELEASE
  • org.springframework:spring-core 5.1.2.RELEASE
  • org.springframework:spring-expression 5.1.2.RELEASE
  • org.springframework:spring-jdbc 5.1.2.RELEASE
  • org.springframework:spring-jms 5.1.2.RELEASE
  • org.springframework:spring-orm 5.1.2.RELEASE
  • org.springframework:spring-oxm 5.1.2.RELEASE
  • org.springframework:spring-tx 5.1.2.RELEASE
  • org.springframework:spring-web 5.1.2.RELEASE
  • org.springframework:spring-webmvc 5.1.2.RELEASE
  • stax:stax 1.2.0
  • xmlunit:xmlunit 1.3
  • com.github.tomakehurst:wiremock test
  • com.github.tomakehurst:wiremock 2.6.0 test
  • junit:junit test
  • junit:junit 4.12 test
  • org.easymock:easymock 3.0 test
  • org.hamcrest:hamcrest-core 1.3 test
  • org.hamcrest:hamcrest-library 1.3 test
  • org.mockito:mockito-core 2.7.22 test
  • org.powo:powo-service 2.0.0 test
  • org.springframework.batch:spring-batch-test 4.0.0.RELEASE test
  • org.springframework:spring-test 5.1.2.RELEASE test
powo-dashboard/pom.xml maven
  • com.github.eirslett:frontend-maven-plugin
powo-harvest/pom.xml maven
  • ch.qos.logback:logback-access
  • ch.qos.logback:logback-classic
  • com.mattbertolini:liquibase-slf4j
  • com.sun.xml.bind:jaxb-impl
  • com.thoughtworks.xstream:xstream
  • commons-io:commons-io
  • javax.servlet:javax.servlet-api
  • javax.xml.bind:jaxb-api
  • javax.xml.stream:stax-api
  • joda-time:joda-time
  • org.apache.httpcomponents:httpclient
  • org.codehaus.woodstox:wstx-asl
  • org.easymock:easymock
  • org.gbif:dwc-api
  • org.gbif:dwca-reader
  • org.gbif:ecat-common
  • org.hamcrest:hamcrest-library
  • org.hibernate:hibernate-core
  • org.liquibase:liquibase-core
  • org.mariadb.jdbc:mariadb-java-client
  • org.powo:powo-model
  • org.powo:powo-service
  • org.projectlombok:lombok
  • org.slf4j:jcl-over-slf4j
  • org.slf4j:jul-to-slf4j
  • org.slf4j:log4j-over-slf4j
  • org.slf4j:slf4j-api
  • org.springframework.batch:spring-batch-core
  • org.springframework.batch:spring-batch-infrastructure
  • org.springframework.batch:spring-batch-test
  • org.springframework.security:spring-security-config
  • org.springframework.security:spring-security-core
  • org.springframework.security:spring-security-web
  • org.springframework:spring-jdbc
  • org.springframework:spring-jms
  • org.springframework:spring-orm
  • org.springframework:spring-test
  • org.springframework:spring-web
  • org.springframework:spring-webmvc
  • xmlunit:xmlunit
  • org.glassfish:javax.el 3.0.0 test
  • org.powo:powo-persistence ${project.version} test
powo-model/pom.xml maven
  • ch.qos.logback:logback-classic
  • com.fasterxml.jackson.core:jackson-annotations
  • com.fasterxml.jackson.core:jackson-core
  • com.fasterxml.jackson.core:jackson-databind
  • com.spatial4j:spatial4j
  • com.thoughtworks.xstream:xstream
  • com.vividsolutions:jts
  • javax.servlet:javax.servlet-api
  • joda-time:joda-time
  • org.apache.commons:commons-lang3
  • org.apache.solr:solr-solrj
  • org.easymock:easymock
  • org.gbif:ecat-common
  • org.geotools:gt-epsg-hsql
  • org.geotools:gt-main
  • org.geotools:gt-shapefile
  • org.hamcrest:hamcrest-library
  • org.hibernate.javax.persistence:hibernate-jpa-2.1-api
  • org.hibernate:hibernate-core
  • org.hibernate:hibernate-spatial
  • org.hibernate:hibernate-validator
  • org.jadira.usertype:usertype.core
  • org.jsoup:jsoup
  • org.mockito:mockito-core
  • org.projectlombok:lombok
  • org.slf4j:jcl-over-slf4j
  • org.slf4j:slf4j-api
  • org.springframework.batch:spring-batch-core
  • org.springframework.security:spring-security-acl
  • org.springframework.security:spring-security-core
  • org.springframework:spring-aop
  • org.springframework:spring-beans
  • org.springframework:spring-context
  • org.springframework:spring-core
  • org.springframework:spring-orm
  • org.springframework:spring-oxm
  • org.springframework:spring-web
  • stax:stax
  • xmlunit:xmlunit
  • javax.xml.stream:stax-api test
powo-persistence/pom.xml maven
  • commons-beanutils:commons-beanutils
  • javax.servlet:javax.servlet-api
  • org.apache.commons:commons-dbcp2
  • org.apache.lucene:lucene-analyzers-common
  • org.apache.solr:solr-solrj
  • org.gbif:ecat-common
  • org.hamcrest:hamcrest-core
  • org.hamcrest:hamcrest-library
  • org.hibernate:hibernate-core
  • org.hibernate:hibernate-spatial
  • org.mariadb.jdbc:mariadb-java-client
  • org.powo:powo-model
  • org.projectlombok:lombok
  • org.slf4j:jul-to-slf4j
  • org.springframework.batch:spring-batch-core
  • org.springframework.security:spring-security-acl
  • org.springframework:spring-jdbc
  • org.springframework:spring-orm
  • org.springframework:spring-test
  • com.mattbertolini:liquibase-slf4j test
  • org.liquibase:liquibase-core test
powo-portal/pom.xml maven
  • ch.qos.logback:logback-access
  • ch.qos.logback:logback-classic
  • com.eclipsesource.minimal-json:minimal-json
  • com.fasterxml.jackson.core:jackson-annotations
  • com.fasterxml.jackson.core:jackson-core
  • com.fasterxml.jackson.core:jackson-databind
  • com.fasterxml.jackson.dataformat:jackson-dataformat-xml
  • com.github.eirslett:frontend-maven-plugin
  • com.github.jknack:handlebars
  • com.github.jknack:handlebars-springmvc
  • com.google.guava:guava
  • com.mattbertolini:liquibase-slf4j
  • com.sun.xml.bind:jaxb-impl
  • javax.servlet:javax.servlet-api
  • javax.xml.bind:jaxb-api
  • joda-time:joda-time
  • net.sf.ehcache:ehcache-core
  • org.apache.commons:commons-dbcp2
  • org.apache.commons:commons-lang3 3.9
  • org.apache.commons:commons-text 1.7
  • org.apache.httpcomponents:httpclient
  • org.easymock:easymock
  • org.gbif:ecat-common
  • org.hamcrest:hamcrest-library
  • org.liquibase:liquibase-core
  • org.mariadb.jdbc:mariadb-java-client
  • org.powo:powo-model
  • org.powo:powo-service
  • org.projectlombok:lombok
  • org.slf4j:slf4j-api
  • org.springframework.security:spring-security-config
  • org.springframework.security:spring-security-web
  • org.springframework:spring-context
  • org.springframework:spring-jms
  • org.springframework:spring-test
  • org.springframework:spring-web
  • org.springframework:spring-webmvc
  • org.powo:powo-service test
  • org.yaml:snakeyaml 1.10 test
powo-service/pom.xml maven
  • javax.servlet:javax.servlet-api
  • net.sf.ehcache:ehcache-core
  • org.apache.commons:commons-dbcp2
  • org.easymock:easymock
  • org.hamcrest:hamcrest-library
  • org.powo:powo-model
  • org.powo:powo-persistence
  • org.springframework.security:spring-security-acl
  • org.springframework.security:spring-security-config
  • org.springframework.security:spring-security-web
  • org.springframework:spring-context
  • org.springframework:spring-context-support
  • org.springframework:spring-test
powo-dashboard/package.json npm
  • @babel/core ^7.1.2 development
  • @babel/polyfill ^7.0.0 development
  • @vue/cli-plugin-babel ^3.0.5 development
  • @vue/cli-plugin-eslint ^3.0.5 development
  • @vue/cli-plugin-unit-mocha ^3.0.5 development
  • @vue/cli-service ^3.0.5 development
  • @vue/test-utils ^1.0.0-beta.16 development
  • chai ^4.2.0 development
  • vue-cli-plugin-vuetify ^0.2.1 development
  • vue-template-compiler ^2.5.17 development
  • webpack ^4.20.2 development
  • axios ^0.18.0
  • lodash ^4.17.10
  • vue ^2.5.16
  • vue-router ^3.0.1
  • vuetify ^1.2.9
  • vuex ^3.0.1
powo-dashboard/yarn.lock npm
  • 1115 dependencies
powo-portal/src/main/frontend/package.json npm
  • @babel/core ^7.12.9 development
  • @babel/preset-env ^7.12.7 development
  • autolinker ^3.14.3 development
  • babel-jest ^26.6.3 development
  • babel-plugin-transform-amd-to-commonjs ^1.4.0 development
  • browser-sync ^2.26.13 development
  • del ^2.0.2 development
  • gulp ^4.0.2 development
  • gulp-autoprefixer ^3.1.0 development
  • gulp-cssnano ^2.1.0 development
  • gulp-define-module ^0.1.4 development
  • gulp-extname ^0.2.2 development
  • gulp-filter ^4.0.0 development
  • gulp-flatten ^0.2.0 development
  • gulp-handlebars ^5.0.0 development
  • gulp-htmlmin ^4.0.0 development
  • gulp-imagemin ^4.1.0 development
  • gulp-load-plugins ^1.2.0 development
  • gulp-load-subtasks ^1.1.2 development
  • gulp-raster ^0.2.0 development
  • gulp-rename ^1.2.2 development
  • gulp-requirejs ^1.1.1 development
  • gulp-rev ^7.1.2 development
  • gulp-sass ^5.0.0 development
  • gulp-sass-lint ^1.2.0 development
  • gulp-sourcemaps ^1.9.1 development
  • gulp-svg-sprite ^1.2.11 development
  • gulp-uglify ^3.0.0 development
  • gulp-util ^3.0.6 development
  • handlebars 4.0.6 development
  • imagemin-pngquant ^9.0.1 development
  • jest ^26.6.3 development
  • require-dir ^0.3.0 development
  • run-sequence ^1.1.4 development
  • sass ^1.39.0 development
  • yargs ^16.2.0 development
powo-portal/src/main/frontend/src/sass/vendor/accoutrement-layout/package.json npm
  • chalk ^1.1.1 development
  • gulp ^3.9.0 development
  • gulp-sass-lint ^1.1.1 development
  • gulp-util ^3.0.7 development
  • mocha ^2.3.4 development
  • sass-lint ^1.7.0 development
  • sass-true ^2.1.2 development
  • sassdoc ^2.1.20 development
  • sassdoc-theme-herman ^0.2.0 development
powo-portal/src/main/frontend/yarn.lock npm
  • 1566 dependencies
powo-builder/requirements.txt pypi
  • PyYAML ==5.3.1
  • cachetools ==4.1.1
  • certifi ==2020.6.20
  • chardet ==3.0.4
  • crcmod ==1.7
  • google-api-core ==1.22.0
  • google-auth ==1.19.2
  • google-cloud-core ==0.29.1
  • google-cloud-dns ==0.29.1
  • google-cloud-logging ==1.9.0
  • googleapis-common-protos ==1.52.0
  • grpcio ==1.29.0
  • idna ==2.8
  • ipaddress ==1.0.23
  • kubernetes ==6.0.0
  • oauthlib ==3.1.0
  • protobuf ==3.12.2
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • python-dateutil ==2.8.1
  • pytz ==2020.1
  • requests ==2.21.0
  • requests-oauthlib ==1.3.0
  • rsa ==4.6
  • six ==1.15.0
  • urllib3 ==1.24.3
  • websocket-client ==0.57.0

Score: 6.47850964220857