Skip to content

Commit

Permalink
Merge release candidate into master
Browse files Browse the repository at this point in the history
  • Loading branch information
mschicker committed Jan 23, 2019
2 parents e8de188 + ed478e8 commit 7feb604
Show file tree
Hide file tree
Showing 1,472 changed files with 224,981 additions and 205,284 deletions.
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
archive-create:
working_directory: '/rpmbuild/hootenanny'
docker:
- image: hootenanny/rpmbuild-hoot-release@sha256:31eebbffaf447159224318992582dc42785c62565fb00f79c6ca8bd2f1d1ea7e
- image: hootenanny/rpmbuild-hoot-release@sha256:23b0d5f707ec041306a8e217a8ea388dfdaac7e49f7ec32bd50ea9b020720068
steps:
- checkout
- run:
Expand All @@ -17,7 +17,7 @@ jobs:
name: 'Make Hootenanny Archive'
command: |
su-exec postgres pg_ctl -D $PGDATA -s start
su-exec rpmbuild bash -c "mkdir -p /rpmbuild/.m2 && curl -sSL https://s3.amazonaws.com/hoot-maven/m2-cache-2018-10-02.tar.gz | tar -C /rpmbuild/.m2 -xzf -"
su-exec rpmbuild bash -c "mkdir -p /rpmbuild/.m2 && curl -sSL https://s3.amazonaws.com/hoot-maven/m2-cache-2018-12-06.tar.gz | tar -C /rpmbuild/.m2 -xzf -"
su-exec rpmbuild ./scripts/ci/archive.sh
su-exec rpmbuild bash -c "mkdir -p archives && mv -v hootenanny-[0-9]*.tar.gz archives"
- persist_to_workspace:
Expand All @@ -27,7 +27,7 @@ jobs:
archive-upload:
working_directory: '/rpmbuild/hootenanny'
docker:
- image: hootenanny/rpmbuild-repo@sha256:562b0eae74337a591280178bc064d61bf508193e102bd9cae6dfc932ab7cbb26
- image: hootenanny/rpmbuild-repo@sha256:199d872d842961003769f1f589c72097ce9ed21572c5664071b599c838224f88
user: rpmbuild
steps:
- attach_workspace:
Expand All @@ -39,7 +39,7 @@ jobs:
copyright:
working_directory: '/rpmbuild/hootenanny'
docker:
- image: hootenanny/rpmbuild-generic@sha256:4743f645ce4b7d6f29013c158881a035088b3eb4cab36d674c1b501e8690418a
- image: hootenanny/rpmbuild-generic@sha256:b46f6b3a2386f2643cf3fa7d29aa13670743aedb7b6309220b9b16a2dfd6334d
user: rpmbuild
environment:
HOOT_HOME: '/rpmbuild/hootenanny'
Expand Down
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ go
hoot-cmd/Makefile
hoot-core-test/Makefile
hoot-core/Makefile
hoot-core/src/main/cpp/hoot/core/VersionDefines.h
hoot-core/src/main/cpp/hoot/core/info/VersionDefines.h
hoot-core/src/main/cpp/hoot/core/util/ConfigDefaults.h
hoot-core/src/main/cpp/hoot/core/util/ConfigOptions.h
hoot-core/src/main/cpp/hoot/core/proto/*.pb.h
Expand Down
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Please read the Hootenanny Developer's Guide for details on setting up an environment, coding standards, and development process. Hootenanny
developers use a customization of the [Gitflow workflow](https://www.atlassian.com/git/tutorials/comparing-workflows#gitflow-workflow).
## Workflow Summary
* Open a repository issue for the new feature to be worked on.
* Perform work for the feature on a new git feature branch named as the number of the issue opened.
* Open a pull request and assign at least one reviewer to merge the feature branch into the "develop" branch mainline when the
feature is complete.
17 changes: 10 additions & 7 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ GEM
json
childprocess (0.9.0)
ffi (~> 1.0, >= 1.0.11)
chunky_png (1.3.10)
chunky_png (1.3.11)
cucumber (3.1.0)
builder (>= 2.1.2)
cucumber-core (~> 3.1.0)
Expand Down Expand Up @@ -58,13 +58,13 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2018.0812)
mini_mime (1.0.1)
mini_portile2 (2.3.0)
mini_portile2 (2.4.0)
multi_json (1.13.1)
multi_test (0.1.2)
nokogiri (1.8.4)
mini_portile2 (~> 2.3.0)
nokogiri (1.10.0)
mini_portile2 (~> 2.4.0)
public_suffix (3.0.3)
rack (2.0.5)
rack (2.0.6)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rspec (3.7.0)
Expand All @@ -90,11 +90,11 @@ GEM
selenium-webdriver (3.11.0)
childprocess (~> 0.5)
rubyzip (~> 1.2)
tomlrb (1.2.7)
tomlrb (1.2.8)
websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
xpath (3.1.0)
xpath (3.2.0)
nokogiri (~> 1.8)

PLATFORMS
Expand All @@ -108,3 +108,6 @@ DEPENDENCIES
rspec (= 3.7.0)
selenium-cucumber (= 3.1.5)
selenium-webdriver (= 3.11.0)

BUNDLED WITH
1.16.2
4 changes: 2 additions & 2 deletions HOOT_VERSION_GEN
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ fi
test "$VN" = "$VC" || {
echo "HOOT_VERSION = $VN" >$HVF

cat hoot-core/src/main/cpp/hoot/core/VersionDefines.h.in | \
cat hoot-core/src/main/cpp/hoot/core/info/VersionDefines.h.in | \
sed -e "s/@HOOT_VERSION@/$VN/g" | \
sed -e "s/@HOOT_REVISION@/$HOOT_REVISION/g" | \
sed -e "s/@HOOT_BUILT_BY@/$(whoami)/g" > \
hoot-core/src/main/cpp/hoot/core/VersionDefines.h
hoot-core/src/main/cpp/hoot/core/info/VersionDefines.h
}

4 changes: 4 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ help:
@echo "test-quick - Run quick tests. Should take less than five minutes."
@echo "ui-build - Build the web UI js/css dist. Must enable --with-services configuration options."
@echo "ui-test - Run user interface tests. May take several minutes. Must enable --with-uitests and --with-services configuration options."
@echo "ui2x-test - Run user interface tests on ui2x. May take several minutes. Must enable --with-uitests and --with-services configuration options."
@echo "ui-coverage - Generate coverage reports for mocha and cucumber user interface tests. May take several minutes. Must enable --with-uitests and --with-services configuration options."
@echo "ui-clean-coverage - Removes the coverage reports for mocha and cucumber user interface tests."
@echo "ui2x-build - Build the web UI 2.0 js/css dist. Must enable --with-services configuration options."
Expand Down Expand Up @@ -109,6 +110,9 @@ ui-build:

ui-test:
scripts/HootEnv.sh $(MAKE) -f Makefile.hoot ui-test

ui2x-test:
scripts/HootEnv.sh $(MAKE) -f Makefile.hoot ui2x-test

ui-coverage:
scripts/HootEnv.sh $(MAKE) -f Makefile.hoot ui-coverage
Expand Down
31 changes: 22 additions & 9 deletions Makefile.hoot
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ default: build
all: build
always:

build: core ui-build ui2x-build
build: core ui-build

core: makedirs js-make qt-make services-build model-build conf/dictionary/words.sqlite osmapidb \
conf/dictionary/WordsAbridged.sqlite hoot-services/src/main/resources/language-translation/langdetect-183.bin
Expand Down Expand Up @@ -86,27 +86,27 @@ endif

check: test
test: build services-test plugins-test
bin/HootTest $(HOOT_TEST_DIFF) --slow --parallel $$(nproc)
bin/HootTest $(HOOT_TEST_DIFF) --slow --parallel

docs: always HOOT_VERSION_FILE services-docs
echo Building documentation...
cd docs; $(MAKE)

test-quick: build
bin/HootTest $(HOOT_TEST_DIFF) --quick --parallel $$(nproc)
bin/HootTest $(HOOT_TEST_DIFF) --quick --parallel

test-all-core: services-test-all plugins-test
# Don't run services tests at the same time as glacial -- that may stomp
# on each other's DB changes.
bin/HootTest $(HOOT_TEST_DIFF) --glacial --parallel $$(nproc)
bin/HootTest $(HOOT_TEST_DIFF) --glacial --parallel

test-all-no-core: services-test-all plugins-test
$(MAKE) ui-test
$(MAKE) ui-test ui2x-test

test-all: test-all-no-core
# Don't run services tests at the same time as glacial -- that may stomp
# on each other's DB changes.
bin/HootTest $(HOOT_TEST_DIFF) --glacial --parallel $$(nproc)
bin/HootTest $(HOOT_TEST_DIFF) --glacial --parallel

licenses:
scripts/copyright/UpdateAllCopyrightHeaders.sh
Expand Down Expand Up @@ -317,9 +317,9 @@ endif

ui2x-build:
ifeq ($(BUILD_SERVICES),services)
cd hoot-ui-2x && \
npm i $(NPM_QUIET) && \
npm run production $(NPM_QUIET)
cd $$HOOT_HOME/hoot-ui-2x && \
(npm i $(NPM_QUIET) || npm i $(NPM_QUIET)) && \
(npm run production $(NPM_QUIET) || npm run production $(NPM_QUIET))
endif

ui-test: services-build build
Expand All @@ -333,6 +333,19 @@ else
echo "UI tests must specify both --with-services and --with-uitests."
endif

ui2x-test: services-build build
ifeq ($(BUILD_UI_TESTS),uitests)
ifeq ($(BUILD_SERVICES),services)
cd $$HOOT_HOME/hoot-ui-2x && \
npm i && \
npm run test:hoot
else
echo "UI tests must specify both --with-services and --with-uitests."
endif
else
echo "UI tests must specify both --with-services and --with-uitests."
endif

ui-coverage: services-build build
ifeq ($(BUILD_UI_TESTS),uitests)
ifeq ($(BUILD_SERVICES),services)
Expand Down
13 changes: 10 additions & 3 deletions OAUTH.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,15 @@ This will require registering a new client application with the rails app and th
oauthProviderURL=https://api.openstreetmap.org
```

While all services are now wrapped by authentication, none of the service endpoints have yet been migrated to be user aware.
The plan is for new datasets to be private to the user by default. Existing datasets owned by the dummy test user will be public.
We will add a method for making private datasets and their review bookmarks public.
## Public vs Private Visibility
All services are now wrapped by authentication and many of the service endpoints have been migrated to be user aware.

>The plan is for new datasets to be private to the user by default. Existing datasets owned by the dummy test user will be public. We will add a method for making private datasets and their review bookmarks public.
* During implementation, it was decided that datasets would not have an inherent visibility. Instead, folders have visibility and datasets inherit visibility from their containing folder. The root folder is always public. Data and folders that are public are read-only by non-owners with respect to modification (removing, moving, renaming, writing output to etc.)
* Public datasets can be clipped, conflated, and exported by non-owning users, but the destination output folder must be owned by the user.
* The data within a public dataset, accessed through the Hoot Map API, is editable by any authenticated user. This allows multiple users to work through conflation reviews.
* There is a python [script](https://github.com/ngageoint/hootenanny/blob/develop/scripts/database/UpdateFolderOwnerVisibility.py) for migrating existing folders and maps from the dummy user to a real user (once that user has logged in).
* Public folders and their contents are shaded blue. Folders and sub-folders cannot mix visibility. A change to one affects the entire tree.

:tada: Thanks to great work by @sumarlidason and @jbronn
Loading

0 comments on commit 7feb604

Please sign in to comment.