diff --git a/.circleci/config.yml b/.circleci/config.yml index 82e51b18..81d2c7c6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,17 +1,16 @@ version: 2 jobs: - build-odkx: + build: working_directory: ~/work docker: - - image: circleci/python:3.9 + - image: cimg/python:3.11 steps: - checkout - run: - name: Install checkout requirements + name: Install checkout requirements (large-file-support) command: | sudo apt-get update sudo apt-get install git-lfs - git lfs install - run: name: Checkout binaries command: git lfs pull @@ -20,35 +19,35 @@ jobs: command: | sudo apt-get install pngquant sudo apt-get install python3-enchant - sudo pip install -r requirements.txt + pip3 install --user -r requirements.txt + pip3 install --user -r style-test-requirements.txt - run: - name: Style Guide Check + name: Generate html output + command: make dirhtml + - run: + name: Check spelling command: | - paths=$(git diff origin/master... --name-only) - echo $paths - sudo python style-test.py $paths -r odkx-src - sudo python style-test.py $paths -r shared-src + make spelling + python3 util/check-spelling-output.py build/spelling - run: - name: Build ODK-X Documentation - command: make odkx-deploy + name: Compress images + command: pngquant build/dirhtml/_images/*.png --force --ext .png --verbose - run: - name: Check spelling of ODK-X Documentation - command: make odkx-spell-check + name: Style check of changed files + command: | + paths=$(git diff origin/main --name-only) + python3 style-test.py $paths -r src - run: name: Build LaTex of ODK-X Documentation - command: make odkx-latex - - run: - name: Compress images - command: pngquant odkx-build/_images/*.png --force --ext .png --verbose + command: make latex - store_artifacts: - path: odkx-build - destination: odkx-build + path: build - persist_to_workspace: root: ~/work paths: - - odkx-build/* + - build/* - s3_website.yml - build-pdf-odkx: + build-pdf: working_directory: ~/work docker: - image: schickling/latex @@ -58,20 +57,19 @@ jobs: - run: name: Build PDF command: | - cd odkx-build/latex + cd build/latex xelatex ODK-X.tex xelatex ODK-X.tex - mkdir -p ../_downloads - mv ODK-X.pdf ../_downloads/ODK-X-Documentation.pdf + mkdir -p ../dirhtml/_downloads + mv ODK-X.pdf ../dirhtml/_downloads/ODK-X-Documentation.pdf - store_artifacts: - path: odkx-build/_downloads/ODK-X-Documentation.pdf + path: build/dirhtml/_downloads/ODK-X-Documentation.pdf destination: ODK-X-Documentation.pdf - persist_to_workspace: root: ~/work paths: - - odkx-build/* - - deploy-odkx: + - build/dirhtml/* + deploy: working_directory: ~/work docker: - image: cimg/ruby:3.2 @@ -81,9 +79,11 @@ jobs: - run: name: Install deploy requirements command: | + if [[ "$CIRCLE_PROJECT_USERNAME" == "odk-x" ]]; then \ sudo apt-get update sudo apt-get install -y pngquant openjdk-11-jre-headless gem install s3_website_revived && s3_website install + fi - run: name: Push to S3 command: | @@ -93,16 +93,16 @@ workflows: version: 2 build_deploy: jobs: - - build-odkx - - build-pdf-odkx: + - build + - build-pdf: requires: - - build-odkx - - deploy-odkx: + - build + - deploy: context: AWS requires: - - build-odkx - - build-pdf-odkx + - build + - build-pdf filters: branches: only: - - master + - main diff --git a/Dockerfile b/Dockerfile index 32c0d629..d94e3edb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9.16-buster +FROM python:3.12.1 WORKDIR /mnt @@ -13,6 +13,6 @@ RUN apt-get update -y && \ python -m pip install --upgrade pip && \ pip install --no-cache-dir -r requirements.txt -ENTRYPOINT ["make"] +ENTRYPOINT ["make", "dockerserve"] EXPOSE 8080 \ No newline at end of file diff --git a/Makefile b/Makefile index c0da5fb0..090e9e77 100644 --- a/Makefile +++ b/Makefile @@ -1,65 +1,28 @@ # Minimal makefile for Sphinx documentation # -# You can set these variables from the command line. -PYTHON = python3 -SPHINXOPTS = -SPHINXBUILD = sphinx-build -ODKX_SRCDIR = odkx-src -COMPILE_X_SRCDIR = tmpx-src -ODKX_BUILDDIR = odkx-build +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCE_DIR = src +BUILD_DIR = build +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCE_DIR)" "$(BUILD_DIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile -odkx-autobuild: - sphinx-autobuild --port 8080 --host 0.0.0.0 odkx-src odkx-build +dockerserve: + sphinx-autobuild --host 0.0.0.0 --port 8080 -b dirhtml "$(SOURCE_DIR)" "$(BUILD_DIR)/html" -odkx-clean: - rm -rf $(COMPILE_X_SRCDIR) - rm -rf $(ODKX_BUILDDIR) +serve: + sphinx-autobuild -b dirhtml "$(SOURCE_DIR)" "$(BUILD_DIR)/html" -odkx-clean-files: - rm -rf $(COMPILE_X_SRCDIR) - rm -rf $(ODKX_BUILDDIR)/* +autobuild : serve -clean: odkx-clean - -odkx-copy: odkx-clean-files - mkdir $(COMPILE_X_SRCDIR) - cp -rf $(ODKX_SRCDIR)/* $(COMPILE_X_SRCDIR) - -odkx: odkx-copy - @$(SPHINXBUILD) -b dirhtml "$(COMPILE_X_SRCDIR)" "$(ODKX_BUILDDIR)" $(SPHINXOPTS) - -odkx-deploy: odkx-copy - @$(SPHINXBUILD) -W -b dirhtml "$(COMPILE_X_SRCDIR)" "$(ODKX_BUILDDIR)" $(SPHINXOPTS) - -build-all: odkx - -odkx-build: odkx - -odkx-latex: odkx - @$(SPHINXBUILD) -b latex "$(COMPILE_X_SRCDIR)" "$(ODKX_BUILDDIR)"/latex $(SPHINXOPTS) - $(PYTHON) util/resize.py "$(ODKX_BUILDDIR)" - -odkx-pdf: odkx-latex - cd "$(ODKX_BUILDDIR)"/latex && \ - xelatex ODK-X.tex && \ - xelatex ODK-X.tex && \ - mkdir -p ../_downloads && \ - mv ODK-X.pdf ../_downloads/ODK-X-Documentation.pdf - -odkx-style-check: odkx - $(PYTHON) style-test.py -r $(COMPILE_X_SRCDIR) - -odkx-spell-check: odkx - sphinx-build -b spelling $(COMPILE_X_SRCDIR) $(ODKX_BUILDDIR)/spelling - $(PYTHON) util/check-spelling-output.py $(ODKX_BUILDDIR) - -odkx-check: odkx-style-check odkx-spell-check - -check-all: odkx-check - -test: - pytest +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCE_DIR)" "$(BUILD_DIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/README.md b/README.md index dba91788..6eca14d3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ODK-X Docs -![Platform](https://img.shields.io/badge/platform-Sphinx-blue.svg) [![License](https://img.shields.io/badge/license-CC%20BY%204.0-blue.svg)](https://creativecommons.org/licenses/by/4.0/) [![Build status](https://circleci.com/gh/odk-x/docs.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/odk-x/docs/) [![Netlify Status](https://api.netlify.com/api/v1/badges/d3788b3e-1abc-431d-a9a3-e5c71b20e053/deploy-status)](https://app.netlify.com/sites/blissful-bohr-7f32fb/deploys) +![Platform](https://img.shields.io/badge/platform-Sphinx-blue.svg) [![License](https://img.shields.io/badge/license-CC%20BY%204.0-blue.svg)](https://creativecommons.org/licenses/by/4.0/) [![Build status](https://circleci.com/gh/odk-x/docs.svg?style=svg)](https://circleci.com/gh/odk-x/docs/) This repo is the source for ODK-X documentation. @@ -53,19 +53,21 @@ Clone the docs repo into a directory you want the ODK-X docs files to be located 1. Visit this link https://github.com/odk-x/docs on your browser to locate the docs repo 2. Find and click the "fork" button to create a personal fork of the project on Github 3. Navigate to the directory you want the files to be located using the "cd" (Change Directory) command on a command-line interface on your local machine: + ``` cd ``` -4. Get a copy of the ODK-X docs repository on your local machine by cloning the forked repo to your local machine from your github account using the clone command below. Replace "LINK-TO-YOUR-FORKED-REPO" below with the actual link to your forked repo: - + +4. Get a copy of the ODK-X docs repository on your local machine by cloning the forked repo to your local machine from your github account using the clone command below. Replace "LINK-TO-YOUR-FORKED-REPO" below with the actual link to your forked repo: You need to click on the green "Code" button to get the "LINK-TO-YOUR-FORKED-REPO" + ``` git clone ``` - It can take a long time (>10 minutes) to clone the repo due to the large number of images in the docs. If you get an error such as `Smudge error` or `GitHub's rate limit reached`, run `git checkout -f HEAD` until you get the message `Checking out files: 100% done`. After the git clone finishes, use the below command to change the directory to the ODK-X docs directory + ``` cd docs ``` @@ -91,14 +93,25 @@ Take note of the full-stop `.` at the end of the build command. The `.` specifie ### Building and serving the docs locally Build and serve the docs locally with: - * Windows: `.\run-task.bat odkx-autobuild` - * Linux/macOS: `./run-task.sh odkx-autobuild` + * Windows: `.\run-task.ps1` + * Linux/macOS: `./run-task.sh` Once your terminal shows a "Serving on http://0.0.0.0:8080" message, you can then view the docs in your browser at http://localhost:8080. -Changes you make in the source files will automatically be built and shown in your browser. +Changes you make in the source files (located in the `./src` folder) will automatically be re-built and shown in your browser. + +* Windows: The docker container with the docs website will occupy the terminal window and output log messages when changes are detected and rebuilds are made. Open a new terminal window/tab to be able to stop the container using the command below. +* Linux/macOs: Open a new terminal to interact with the container or press `Ctrl-Z` on your keyboard to suspend the job. The job will still be running in the background and changes will automatically be rebuilt and served. + + +To stop the container, type the following command + +``` +docker stop odkx-docs +``` + + -Press `Ctrl-C` on your keyboard to stop the build server. It could take a while to effectively stop, and you can always close the terminal window. If you get a `The name "odkx-docs" is already in use by container` error message, run the following command: @@ -219,21 +232,25 @@ It can take a long time (>10 minutes) to clone the repo due to the large number Once your environment is set up, build and serve the docs locally with: +```bash +$ make serve +``` + ```bash $ make odkx -$ cd odkx-build +$ cd build $ python -m http.server 8000 ``` -You can then view the docs in your browser at [http://localhost:8000/odkx-build/](http://localhost:8000/odkx-build/). +You can then view the docs in your browser at [http://localhost:8000/build/](http://localhost:8000/build/). You can also use `make` to run just a portion of the build process. See available [build tasks](#tasks) below. ## Build tasks -| | Build & Serve | Build | Copy | LaTeX | Style Check | Spell Check | Check All | -| ----------- | :------------: | :--------: | :-------: | :--------: | :--------------: | :--------------: | :--------: | -| **Options** | odkx-autobuild | odkx-build | odkx-copy | odkx-latex | odkx-style-check | odkx-spell-check | odkx-check | +| | Build & Serve | Build | Copy | LaTeX | PDF | Style Check | Spell Check | Check All | +| ----------- | :------------: | :--------: | :-------: | :--------: | :--------: | :--------------: | :--------------: | :--------: | +| **Options** | serve | build | copy | latex | pdf | style-check | spell-check | check-all | ## How to contribute? diff --git a/_sources/odk-logo-wide.xcf b/_sources/odk-logo-wide.xcf deleted file mode 100644 index cc2d8be8..00000000 --- a/_sources/odk-logo-wide.xcf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:30de02e0ad3c0a401959c1204a64fad3cd0a4bdf2ad9abe09165166677d5fa97 -size 49361 diff --git a/make.bat b/make.bat index 20cf7ec8..1fc96007 100644 --- a/make.bat +++ b/make.bat @@ -6,9 +6,9 @@ if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=python -msphinx ) -set ODKX_SRCDIR=odkx-src -set COMPILE_X_SRCDIR=tmpx-src -set ODKX_BUILDDIR=odkx-build +set ODKX_SRCDIR=src +set COMPILE_X_SRCDIR=tmp_src +set ODKX_BUILDDIR=build if "%1" == "clean" goto cleancmd if "%1" == "copy" goto copy diff --git a/odkx-src/img/getting-started-2/example-form-folder.JPG b/odkx-src/img/getting-started-2/example-form-folder.JPG deleted file mode 100755 index 7c476569..00000000 --- a/odkx-src/img/getting-started-2/example-form-folder.JPG +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e1198fd48fb9bd03625ccd4ed7989a7eea09d5af9564272366d54a1871f7ae0 -size 48631 diff --git a/odkx-src/img/getting-started-2/getting-started-building-chrome.JPG b/odkx-src/img/getting-started-2/getting-started-building-chrome.JPG deleted file mode 100755 index 62ddc312..00000000 --- a/odkx-src/img/getting-started-2/getting-started-building-chrome.JPG +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecd1bec96dab1bd029f46efa05a808c25a312f5c7e7a1fac01b3f1c872cd2e63 -size 83827 diff --git a/odkx-src/img/getting-started-2/getting-started-building-dir.JPG b/odkx-src/img/getting-started-2/getting-started-building-dir.JPG deleted file mode 100755 index d092f476..00000000 --- a/odkx-src/img/getting-started-2/getting-started-building-dir.JPG +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:db03c65f7585ad66d09b1f831ad23eaae43d42971729641c86799394d01ebc75 -size 110503 diff --git a/odkx-src/img/getting-started-2/new-question-example-form.JPG b/odkx-src/img/getting-started-2/new-question-example-form.JPG deleted file mode 100755 index f8b57c84..00000000 --- a/odkx-src/img/getting-started-2/new-question-example-form.JPG +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1a8e4658e43e53145314115c52e73e1d3987914886da336df0e015fbbd40f1fd -size 30723 diff --git a/requirements.txt b/requirements.txt index 335e20cd..ff596de1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,49 +1,17 @@ -alabaster==0.7.12 -argh==0.26.2 -Babel==2.9.1 -blessings==1.7 -certifi==2022.12.7 -chardet==4.0.0 -click==7.1.2 -colorama==0.4.4 -docutils==0.16 -future==0.18.3 -gitdb==4.0.7 -GitPython==3.1.30 -idna==2.10 -imagesize==1.2.0 -importlib-metadata==3.10.0 -Jinja2==2.11.3 -livereload==2.6.3 -MarkupSafe==1.1.1 -packaging==20.9 -pathtools==0.1.2 -Pillow==9.3.0 -pip-review==1.1.0 -port-for==0.4 -proselint==0.10.2 -pyenchant==3.2.0 -Pygments==2.8.1 -pyparsing==2.4.7 -pytz==2021.1 -PyYAML==5.4.1 -requests==2.25.1 -Send2Trash==1.5.0 -six==1.15.0 -smmap==4.0.0 -snowballstemmer==2.1.0 -Sphinx==3.5.3 +Sphinx==7.2.6 sphinx-autobuild==2021.3.14 -sphinx-rtd-theme==0.5.1 -sphinx-tabs==2.1.0 -sphinxcontrib-applehelp==1.0.2 -sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==1.0.3 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.4 -sphinxcontrib-spelling==7.1.0 -tornado==6.1 -urllib3==1.26.5 -watchdog==2.0.2 -zipp==3.4.1 +sphinxcontrib-spelling==8.0.0 +sphinx-tabs==3.4.1 +furo==2023.9.10 +sphinx_design==0.5.0 +sphinx-copybutton==0.5.2 +sphinxcontrib-youtube==1.4.1 +sphinx-toolbox==3.5.0 +mistune==3.0.2 +pystache==0.6.5 +PyYAML==5.3.1 +myst-parser==2.0.0 +pyenchant==3.2.2 +sphinx-rtd-theme==1.3.0 +Pillow==9.3.0 +docutils==0.18.1 diff --git a/run-task.bat b/run-task.bat deleted file mode 100644 index 27e818f6..00000000 --- a/run-task.bat +++ /dev/null @@ -1 +0,0 @@ -docker run --rm -v "%~dp0:/mnt" -p 8080:8080 --name odkx-docs odkx-docs %1 diff --git a/run-task.ps1 b/run-task.ps1 new file mode 100644 index 00000000..155331b4 --- /dev/null +++ b/run-task.ps1 @@ -0,0 +1 @@ +docker run --rm -v "${PWD}:/mnt" -p 8080:8080 --name odkx-docs odkx-docs diff --git a/run-task.sh b/run-task.sh index 4686f796..9214481f 100755 --- a/run-task.sh +++ b/run-task.sh @@ -2,4 +2,4 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -docker run --rm -v "${DIR}":/mnt -p 8080:8080 --name odkx-docs odkx-docs "$1" +docker run --rm -v "${DIR}":/mnt -p 8080:8080 --name odkx-docs odkx-docs diff --git a/s3_website.yml b/s3_website.yml index 2a178228..84d1823b 100644 --- a/s3_website.yml +++ b/s3_website.yml @@ -1,7 +1,7 @@ s3_bucket: docs.odk-x.org s3_endpoint: us-west-2 -site: ./odkx-build +site: ./build/dirhtml error_document: index.html diff --git a/odkx-src/_static/css/custom.css b/src/_static/css/custom.css similarity index 100% rename from odkx-src/_static/css/custom.css rename to src/_static/css/custom.css diff --git a/odkx-src/_static/img/favicon.ico b/src/_static/img/favicon.ico similarity index 100% rename from odkx-src/_static/img/favicon.ico rename to src/_static/img/favicon.ico diff --git a/odkx-src/_static/img/logo-wide.png b/src/_static/img/logo-wide.png similarity index 100% rename from odkx-src/_static/img/logo-wide.png rename to src/_static/img/logo-wide.png diff --git a/odkx-src/_static/img/logo.png b/src/_static/img/logo.png similarity index 100% rename from odkx-src/_static/img/logo.png rename to src/_static/img/logo.png diff --git a/odkx-src/_static/js/custom.js b/src/_static/js/custom.js similarity index 100% rename from odkx-src/_static/js/custom.js rename to src/_static/js/custom.js diff --git a/odkx-src/_templates/footer.html b/src/_templates/footer.html similarity index 100% rename from odkx-src/_templates/footer.html rename to src/_templates/footer.html diff --git a/odkx-src/_templates/layout.html b/src/_templates/layout.html similarity index 100% rename from odkx-src/_templates/layout.html rename to src/_templates/layout.html diff --git a/odkx-src/_templates/search.html b/src/_templates/search.html similarity index 100% rename from odkx-src/_templates/search.html rename to src/_templates/search.html diff --git a/odkx-src/advanced-topics-architect.rst b/src/advanced-topics-architect.rst similarity index 100% rename from odkx-src/advanced-topics-architect.rst rename to src/advanced-topics-architect.rst diff --git a/odkx-src/advanced-topics-developer.rst b/src/advanced-topics-developer.rst similarity index 95% rename from odkx-src/advanced-topics-developer.rst rename to src/advanced-topics-developer.rst index de0d91ff..4f4f9522 100644 --- a/odkx-src/advanced-topics-developer.rst +++ b/src/advanced-topics-developer.rst @@ -11,5 +11,5 @@ This section covers advanced topics useful to Platform Developers. A Platform De survey-form-processing formdef-structure - odk-2-sync-protocol + odk-x-sync-protocol build-scripts diff --git a/odkx-src/aggregate-tables-extension.rst b/src/aggregate-tables-extension.rst similarity index 89% rename from odkx-src/aggregate-tables-extension.rst rename to src/aggregate-tables-extension.rst index abb5de29..9e0e2570 100644 --- a/odkx-src/aggregate-tables-extension.rst +++ b/src/aggregate-tables-extension.rst @@ -7,7 +7,7 @@ ODK Aggregate Tables Extension :dfn:`ODK Aggregate Tables Extensions` enable the ODK-X tools to share data via bi-directional synchronization with a central ODK Aggregate server. However, this approach is no longer supported, please migrate to :doc:`sync-endpoint`. -The `ODK-X REST Protocol `_ is compatible with ODK Aggregate v1.4.15. The sync protocol has been augmented to cache the user's permissions on the device and, for super-users or administrators, to cache the full set of users and all of their permissions (so that the super-user and/or administrator can assign rows to particular individuals). +The `ODK-X REST Protocol `_ is compatible with ODK Aggregate v1.4.15. The sync protocol has been augmented to cache the user's permissions on the device and, for super-users or administrators, to cache the full set of users and all of their permissions (so that the super-user and/or administrator can assign rows to particular individuals). .. _aggregate-tables-extension-intro-server-setup: diff --git a/odkx-src/app-designer-directories.rst b/src/app-designer-directories.rst similarity index 100% rename from odkx-src/app-designer-directories.rst rename to src/app-designer-directories.rst diff --git a/odkx-src/app-designer-install.rst b/src/app-designer-install.rst similarity index 100% rename from odkx-src/app-designer-install.rst rename to src/app-designer-install.rst diff --git a/odkx-src/app-designer-intro.rst b/src/app-designer-intro.rst similarity index 100% rename from odkx-src/app-designer-intro.rst rename to src/app-designer-intro.rst diff --git a/odkx-src/app-designer-launching.rst b/src/app-designer-launching.rst similarity index 100% rename from odkx-src/app-designer-launching.rst rename to src/app-designer-launching.rst diff --git a/odkx-src/app-designer-overview.rst b/src/app-designer-overview.rst similarity index 100% rename from odkx-src/app-designer-overview.rst rename to src/app-designer-overview.rst diff --git a/odkx-src/app-designer-prereqs.rst b/src/app-designer-prereqs.rst similarity index 100% rename from odkx-src/app-designer-prereqs.rst rename to src/app-designer-prereqs.rst diff --git a/odkx-src/app-designer-setup.rst b/src/app-designer-setup.rst similarity index 100% rename from odkx-src/app-designer-setup.rst rename to src/app-designer-setup.rst diff --git a/odkx-src/app-designer-using.rst b/src/app-designer-using.rst similarity index 100% rename from odkx-src/app-designer-using.rst rename to src/app-designer-using.rst diff --git a/odkx-src/basics-install.rst b/src/basics-install.rst similarity index 100% rename from odkx-src/basics-install.rst rename to src/basics-install.rst diff --git a/odkx-src/build-app.rst b/src/build-app.rst similarity index 99% rename from odkx-src/build-app.rst rename to src/build-app.rst index 8606d32d..f901dd3e 100644 --- a/odkx-src/build-app.rst +++ b/src/build-app.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: testForm getHashString tableId diff --git a/odkx-src/build-scripts.rst b/src/build-scripts.rst similarity index 99% rename from odkx-src/build-scripts.rst rename to src/build-scripts.rst index 82b13852..a093d3f5 100644 --- a/odkx-src/build-scripts.rst +++ b/src/build-scripts.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: androidlibrary androidcommon gradle diff --git a/odkx-src/cloud-endpoints-intro.rst b/src/cloud-endpoints-intro.rst similarity index 92% rename from odkx-src/cloud-endpoints-intro.rst rename to src/cloud-endpoints-intro.rst index dd65ec92..9fd0eac1 100644 --- a/odkx-src/cloud-endpoints-intro.rst +++ b/src/cloud-endpoints-intro.rst @@ -3,7 +3,7 @@ ODK-X Cloud Endpoints .. _cloud-endpoints-intro: -:dfn:`ODK-X Cloud Endpoints` are servers that communicate with the ODK-X Android applications. They implement the `ODK-X REST Protocol `_. +:dfn:`ODK-X Cloud Endpoints` are servers that communicate with the ODK-X Android applications. They implement the `ODK-X REST Protocol `_. There are currently two options for Cloud Endpoints to communicate with ODK-X tools. diff --git a/odkx-src/cold-chain-intro.rst b/src/cold-chain-intro.rst similarity index 100% rename from odkx-src/cold-chain-intro.rst rename to src/cold-chain-intro.rst diff --git a/odkx-src/cold-chain-tour-admin.rst b/src/cold-chain-tour-admin.rst similarity index 100% rename from odkx-src/cold-chain-tour-admin.rst rename to src/cold-chain-tour-admin.rst diff --git a/odkx-src/cold-chain-tour-auth.rst b/src/cold-chain-tour-auth.rst similarity index 100% rename from odkx-src/cold-chain-tour-auth.rst rename to src/cold-chain-tour-auth.rst diff --git a/odkx-src/cold-chain-tour-health-facilities.rst b/src/cold-chain-tour-health-facilities.rst similarity index 99% rename from odkx-src/cold-chain-tour-health-facilities.rst rename to src/cold-chain-tour-health-facilities.rst index 148621a7..17192b02 100644 --- a/odkx-src/cold-chain-tour-health-facilities.rst +++ b/src/cold-chain-tour-health-facilities.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Balaka prepopulated diff --git a/odkx-src/cold-chain-tour-initial-data.rst b/src/cold-chain-tour-initial-data.rst similarity index 100% rename from odkx-src/cold-chain-tour-initial-data.rst rename to src/cold-chain-tour-initial-data.rst diff --git a/odkx-src/cold-chain-tour-maintenance-records.rst b/src/cold-chain-tour-maintenance-records.rst similarity index 99% rename from odkx-src/cold-chain-tour-maintenance-records.rst rename to src/cold-chain-tour-maintenance-records.rst index 2ee92282..d78369e5 100644 --- a/odkx-src/cold-chain-tour-maintenance-records.rst +++ b/src/cold-chain-tour-maintenance-records.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulated Maintenance Records diff --git a/odkx-src/cold-chain-tour-refrigerator-types.rst b/src/cold-chain-tour-refrigerator-types.rst similarity index 100% rename from odkx-src/cold-chain-tour-refrigerator-types.rst rename to src/cold-chain-tour-refrigerator-types.rst diff --git a/odkx-src/cold-chain-tour-refrigerators.rst b/src/cold-chain-tour-refrigerators.rst similarity index 99% rename from odkx-src/cold-chain-tour-refrigerators.rst rename to src/cold-chain-tour-refrigerators.rst index e70bdbfa..8ce60ec2 100644 --- a/odkx-src/cold-chain-tour-refrigerators.rst +++ b/src/cold-chain-tour-refrigerators.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulated Refrigerators diff --git a/odkx-src/cold-chain-tour-regions.rst b/src/cold-chain-tour-regions.rst similarity index 99% rename from odkx-src/cold-chain-tour-regions.rst rename to src/cold-chain-tour-regions.rst index 9aa386bc..6b95e860 100644 --- a/odkx-src/cold-chain-tour-regions.rst +++ b/src/cold-chain-tour-regions.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Balaka Chitipa diff --git a/odkx-src/cold-chain-tour.rst b/src/cold-chain-tour.rst similarity index 100% rename from odkx-src/cold-chain-tour.rst rename to src/cold-chain-tour.rst diff --git a/odkx-src/conf.py b/src/conf.py similarity index 94% rename from odkx-src/conf.py rename to src/conf.py index be69f316..ac6fa4ff 100755 --- a/odkx-src/conf.py +++ b/src/conf.py @@ -32,7 +32,8 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinx.ext.autodoc', +extensions = ['myst_parser', + 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', @@ -40,7 +41,18 @@ 'sphinx.ext.mathjax', 'sphinx_tabs.tabs', 'sphinxcontrib.spelling', - 'video'] + 'video' +] + +# extensions = [ 'sphinxcontrib.spelling', +# 'sphinx_design', +# 'sphinx_copybutton', +# 'sphinx_video', +# 'sphinxcontrib.youtube', +# 'sphinx_tabs.tabs', +# 'sphinx_toolbox.collapse', +# 'openapi' +# ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -48,15 +60,14 @@ # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' +source_suffix = ['.rst', '.md'] # The master toctree document. master_doc = 'index' # General information about the project. project = 'ODK-X' -copyright = '2021, ODK-X. This document is licensed under a Creative Commons Attribution 4.0 International License.' +copyright = '2023, ODK-X. This document is licensed under a Creative Commons Attribution 4.0 International License.' author = 'ODK-X' # The version info for the project you're documenting, acts as replacement for @@ -73,7 +84,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -97,7 +108,7 @@ spelling_show_suggestions = True # Change image preference for DirectoryHTMLBuilder -from sphinx.builders.html import DirectoryHTMLBuilder +from sphinx.builders.dirhtml import DirectoryHTMLBuilder DirectoryHTMLBuilder.supported_image_types = [ 'image/svg+xml', 'image/gif', @@ -397,7 +408,7 @@ def setup(app): 'display_github' : True, 'github_user' : "odk-x", # Username 'github_repo' : "docs", # Repo name - 'github_version' : "master", # Version - 'conf_py_path' : "/odkx-src/" # Path in the checkout to the docs root + 'github_version' : "main", # Version + 'conf_py_path' : "/src/" # Path in the checkout to the docs root } diff --git a/odkx-src/config-file-structure.rst b/src/config-file-structure.rst similarity index 100% rename from odkx-src/config-file-structure.rst rename to src/config-file-structure.rst diff --git a/odkx-src/contributing-tips.rst b/src/contributing-tips.rst similarity index 99% rename from odkx-src/contributing-tips.rst rename to src/contributing-tips.rst index 00c20229..7be50d88 100644 --- a/odkx-src/contributing-tips.rst +++ b/src/contributing-tips.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: nav diff --git a/odkx-src/contributing.rst b/src/contributing.rst similarity index 100% rename from odkx-src/contributing.rst rename to src/contributing.rst diff --git a/odkx-src/data-permission-filters.rst b/src/data-permission-filters.rst similarity index 99% rename from odkx-src/data-permission-filters.rst rename to src/data-permission-filters.rst index d2c9c93d..f2937da2 100644 --- a/odkx-src/data-permission-filters.rst +++ b/src/data-permission-filters.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: rw rwd rwdp diff --git a/odkx-src/docs-developer-guide.rst b/src/docs-developer-guide.rst similarity index 100% rename from odkx-src/docs-developer-guide.rst rename to src/docs-developer-guide.rst diff --git a/odkx-src/docs-extras.rst.scratch b/src/docs-extras.rst.scratch similarity index 100% rename from odkx-src/docs-extras.rst.scratch rename to src/docs-extras.rst.scratch diff --git a/odkx-src/docs-style-guide.rst b/src/docs-style-guide.rst similarity index 94% rename from odkx-src/docs-style-guide.rst rename to src/docs-style-guide.rst index 5f9d084d..d7b61113 100644 --- a/odkx-src/docs-style-guide.rst +++ b/src/docs-style-guide.rst @@ -510,13 +510,13 @@ Therefore, avoid the use of personal pronouns whenever possible. They are often .. code-block:: rst - When using Collect, first the enumerator opens the app on their device. Then they complete the survey. + When using Survey, first the enumerator opens the app on their device. Then they complete the survey. .. rubric:: Better .. code-block:: rst - To use Collect: + To use Survey: - open the app - complete the survey @@ -543,29 +543,29 @@ Therefore, avoid the use of personal pronouns whenever possible. They are often .. _same: - -"Same" -~~~~~~~~~ +*Same* +~~~~~~~~~ *Same*, when used as an impersonal pronoun, is non-standard in Modern American English. It should be avoided. + .. rubric:: Wrong .. code-block:: rst - ODK Collect is an Android app. The same can be used for... + ODK-X Survey is an Android app. The same can be used for... .. rubric:: Right .. code-block:: rst - ODK Collect is an Android app. It can be used for... + ODK-X Survey is an Android app. It can be used for... .. rubric:: Right .. code-block:: rst - ODK Collect is an Android app that is used to... + ODK-X Survey is an Android app that is used to... .. code-block:: python :class: style-checks @@ -605,15 +605,15 @@ If a document or section describes a procedure that someone might do, use a verb .. code-block:: rst - How to install ODK Collect - -------------------------- + How to install ODK-X Survey + --------------------------- .. rubric:: Right .. code-block:: rst - Installing ODK Collect - ---------------------- + Installing ODK-X Survey + ----------------------- If section title is a directive to do something (for example, as a step in a procedure), use an imperative. @@ -646,7 +646,7 @@ Section labels Section titles should almost always be preceded by labels. -The only exception is very short subsections that repeat --- like the **Right** and **Wrong** titles in this document. +The only exception is short subsections that repeat --- like the **Right** and **Wrong** titles in this document. In these cases, you may want to use the :rst:dir:`rubric` directive. @@ -805,7 +805,7 @@ The word *node* is often used interchangeably with *element*. For clarity, we make the following distinction: - An HTML or XML document has *elements*, not *nodes*. -- A *node* is part of a "live" DOM tree or other dynamic representation. +- A *node* is part of a *live* DOM tree or other dynamic representation. - An XML or HTML element becomes an *element node* in a DOM tree. - There are also other types of nodes in a DOM tree. @@ -865,7 +865,7 @@ Capitalization For all HTML samples, tag names and attribute names should be ``all lowercase``. -Newly-written XML examples should also be ``all lowercase``. +Newly written XML examples should also be ``all lowercase``. XML examples that show actual code generated by tools in the ODK ecosystem should replicate that code exactly, regardless of its capitalization practice. @@ -902,9 +902,9 @@ ODK and ODK Docs @memoize def check_odkspell(text): - """ODK spelling usage.""" - err = "style-guide.spelling-odk" - msg = "ODK spell check. '{}' is the preferred usage." + """ODK-X spelling usage.""" + err = "style-guide.spelling-odkx" + msg = "ODK-X spell check. '{}' is the preferred usage." preferences = [ @@ -925,6 +925,7 @@ ODK-X includes a number of components, including: - Survey - Tables +- Services These should always be capitalized. @@ -933,7 +934,8 @@ The **ODK-X** prefix (as in, *`ODK-X Survey `_ -- ODK-X Sync +- ODK-X Tables +- ODK-X Survey - ODK-X Docs .. code-block:: python @@ -941,13 +943,14 @@ A few projects should *always* use the **ODK-X** prefix: @memoize def check_appspell(text): - """ODK spelling usage.""" - err = "style-guide.spelling-odk" - msg = "ODK spell check. '{}' is the preferred usage." + """ODK-X spelling usage.""" + err = "style-guide.spelling-odkx" + msg = "ODK-X spell check. '{}' is the preferred usage." preferences = [ - ["Aggregate", ["{0} aggregate"]], - ["Briefcase", ["{0} briefcase"]] + ["ODK-X Survey", ["{0}-x survey"]], + ["ODK-X Services", ["{0}-x services"]], + ["ODK-X Tables", ["{0}-x tables"]] ] return preferred_forms_check(text, preferences, err, msg, ignore_case=False) diff --git a/odkx-src/docs-syntax-guide.rst b/src/docs-syntax-guide.rst similarity index 99% rename from odkx-src/docs-syntax-guide.rst rename to src/docs-syntax-guide.rst index 4a1c9023..956b8e32 100644 --- a/odkx-src/docs-syntax-guide.rst +++ b/src/docs-syntax-guide.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: py ss @@ -152,7 +152,7 @@ How ODK Docs uses main and secondary tables of content Major topics include things like: - - Each major product (Collect, Aggregate, Briefcase) + - Each major product (Survey, Tables, Services, Sync-Endpoint) - Large, general categories like Contributing Major topic tables of content include both sub-collection intro pages and also individual pages that don't fit into a sub-collection. @@ -1078,7 +1078,7 @@ Bad sequentially numbered image file names: .. _screenshots: -Screenshots from ODK Collect +Screenshots from ODK Survey """"""""""""""""""""""""""""""" If you have set up Android Debug Bridge, you can connect your Android device to your computer and take screenshots from the command line. diff --git a/odkx-src/docs-tech-guide.rst b/src/docs-tech-guide.rst similarity index 93% rename from odkx-src/docs-tech-guide.rst rename to src/docs-tech-guide.rst index a8bd583f..8251b16d 100644 --- a/odkx-src/docs-tech-guide.rst +++ b/src/docs-tech-guide.rst @@ -1,6 +1,6 @@ -.. spelling:: - +.. spelling:word-list:: src + github Homebrew odk-xenv @@ -33,7 +33,7 @@ Read about the project and the community at `ODK-X's website`_. Get started with the docs by going to the `ODK-X Docs GitHub README`_. .. _ODK-X's website: https://odk-x.org -.. _ODK-X Docs GitHub README: https://github.com/odk-x/docs/blob/master/README.md +.. _ODK-X Docs GitHub README: https://github.com/odk-x/docs/blob/main/README.md .. _odk-accounts: @@ -160,7 +160,7 @@ Initial Setup have a lot of options and alternatives. You should feel free to use your preferred tools. - .. _starting with the Docker platform: https://github.com/odk-x/docs/blob/master/README.md#using-docker + .. _starting with the Docker platform: https://github.com/odk-x/docs/blob/main/README.md#using-docker Before you begin working the first time you will need to install a few tools @@ -904,22 +904,22 @@ Working on the docs .. _Issue 207 --- Line Edits: https://github.com/odk-x/tool-suite-X/issues/207 -#. Make sure you are on the master branch +#. Make sure you are on the main branch - .. _check-at-master: + .. _check-at-main: A branch is a named sequence of changes representing work on the repo. For example, if you were going to work on `Issue 207 --- Line Edits`_, you would create a new branch called ``line-edits`` to hold that work. When you were done, you would merge those changes back to the main branch, - which we call ``master``. + which we call ``main``. The first time you clone the docs repo and start working, - you will be on the `master` branch. + you will be on the `main` branch. Each time you come back to starting work on a new issue, - make sure you are on the ``master`` branch before continuing. + make sure you are on the ``main`` branch before continuing. #. Check the current branch with :command:`git branch`. This will output a list of branches, with a star next to the current one. @@ -934,7 +934,7 @@ Working on the docs branch-name branch-name branch-name - * master + * main branch-name .. group-tab:: PowerShell @@ -945,10 +945,10 @@ Working on the docs branch-name branch-name branch-name - * master + * main branch-name - #. If you are not on master, switch to master with :command:`git checkout`. + #. If you are not on main, switch to main with :command:`git checkout`. .. tabs:: @@ -956,17 +956,17 @@ Working on the docs .. code:: console - (odk-xenv) /odk-x/docs/ $ git checkout master - Switched to branch 'master' - Your branch is up to date with 'origin/master'. + (odk-xenv) /odk-x/docs/ $ git checkout main + Switched to branch 'main' + Your branch is up to date with 'origin/main'. .. group-tab:: PowerShell .. code:: ps1con - (odk-xenv) /odk-x/docs/ > git checkout master - Switched to branch 'master' - Your branch is up to date with 'origin/master'. + (odk-xenv) /odk-x/docs/ > git checkout main + Switched to branch 'main' + Your branch is up to date with 'origin/main'. #. Pull in changes from upstream @@ -976,7 +976,7 @@ Working on the docs so you need to keep your local copy up to date. Before you start working, use :command:`git pull` - to pull in the changes from the upstream repository's master branch. + to pull in the changes from the upstream repository's main branch. Then, just to be sure, you can use :command:`git status` to make sure everything is up to date. @@ -986,10 +986,10 @@ Working on the docs .. code:: console - (odk-xenv) /odk-x/docs/ $ git pull upstream master + (odk-xenv) /odk-x/docs/ $ git pull upstream main (odk-xenv) /odk-x/docs/ $ git status - On branch master - Your branch is up to date with 'origin/master'. + On branch main + Your branch is up to date with 'origin/main'. nothing to commit, working tree clean @@ -997,10 +997,10 @@ Working on the docs .. code:: ps1con - (odk-xenv) /odk-x/docs/ > git pull upstream master + (odk-xenv) /odk-x/docs/ > git pull upstream main (odk-xenv) /odk-x/docs/ > git status - On branch master - Your branch is up to date with 'origin/master'. + On branch main + Your branch is up to date with 'origin/main'. nothing to commit, working tree clean @@ -1056,7 +1056,7 @@ Working on the docs The source files for documentation text are in this directory: - :file:`odkx-src` + :file:`src` Files for the pages at https://docs.odk-x.org/ If you're going to write or edit documentation text, please read: @@ -1097,20 +1097,20 @@ Working on the docs .. code:: console - (odk-xenv) /odk-x/docs/ $ make odkx-check + (odk-xenv) /odk-x/docs/ $ make check-all .. group-tab:: PowerShell .. code:: ps1con - (odk-xenv) /odk-x/docs/ > rm -r -fo tmpx-src - (odk-xenv) /odk-x/docs/ > rm -r -fo odkx-build - (odk-xenv) /odk-x/docs/ > Copy-Item odkx-src -Destination tmpx-src -Recurse - (odk-xenv) /odk-x/docs/ > sphinx-build -b spelling tmpx-src odkx-build/spelling - (odk-xenv) /odk-x/docs/ > python util/check-spelling-output.py odkx-build + (odk-xenv) /odk-x/docs/ > rm -r -fo tmp_src + (odk-xenv) /odk-x/docs/ > rm -r -fo build + (odk-xenv) /odk-x/docs/ > Copy-Item src -Destination tmp_src -Recurse + (odk-xenv) /odk-x/docs/ > sphinx-build -b spelling tmp_src build/spelling + (odk-xenv) /odk-x/docs/ > python util/check-spelling-output.py build - This will send some output to the terminal, + This will send some build to the terminal, which will include mentions of any words not in the dictionary. - If the flagged words are really misspellings, correct them. @@ -1125,7 +1125,7 @@ Working on the docs .. code:: rst - .. spelling:: + .. spelling:word-list:: abc def @@ -1159,10 +1159,10 @@ Working on the docs .. code:: ps1con - (odk-xenv) /odk-x/docs/ > rm -r -fo tmpx-src - (odk-xenv) /odk-x/docs/ > rm -r -fo odkx-build - (odk-xenv) /odk-x/docs/ > Copy-Item odkx-src -Destination tmpx-src -Recurse - (odk-xenv) /odk-x/docs/ > sphinx-build -b dirhtml tmpx-src odkx-build + (odk-xenv) /odk-x/docs/ > rm -r -fo tmp_src + (odk-xenv) /odk-x/docs/ > rm -r -fo build + (odk-xenv) /odk-x/docs/ > Copy-Item src -Destination tmp_src -Recurse + (odk-xenv) /odk-x/docs/ > sphinx-build -b dirhtml tmp_src build This generates a lot of output. Near the end of the output you may see a statement like: @@ -1191,24 +1191,12 @@ Working on the docs If you can not figure out the meaning of a particular warning, you can always ask about it on the |forum|_. - .. note:: - - Because of a `bug in Sphinx`_ - the line numbers in error and warning messages - will be off by about 15 lines - (the length of ``rst_prolog`` in :file:`conf.py`). - - .. _bug in Sphinx: https://github.com/sphinx-doc/sphinx/issues/2617 - - As you fix each warning, - run the build again to see if it disappears from the output. - .. note:: The warning messages will refer to the file name - using the temporary directory path :file:`tmp1-src` or :file:`tmpx-src`. + using the temporary directory path :file:`tmp1-src` or :file:`tmp_src`. You need to correct the problems in the real source directory - (:file:`odkx-src`). + (:file:`src`). .. admonition:: When you just can't fix the error... @@ -1231,14 +1219,14 @@ Working on the docs .. code:: console - (odk-xenv) /odk-x/docs/ $ python -m http.server -d odkx-build 8000 + (odk-xenv) /odk-x/docs/ $ python -m http.server -d build 8000 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) .. group-tab:: PowerShell .. code:: ps1con - (odk-xenv) /odk-x/docs/ > python -m http.server -d odkx-build 8000 + (odk-xenv) /odk-x/docs/ > python -m http.server -d build 8000 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) #. Open your browser and go to http://localhost:8000. @@ -1364,7 +1352,7 @@ Working on the docs but be sure to double-check them: - :guilabel:`Base fork` should be the main repo (``odk-x/docs``). - - :guilabel:`base` should be ``master``. + - :guilabel:`base` should be ``main``. - Your repo and working branch name should be listed beside them. You will see either a green **Able to be merged** message @@ -1427,10 +1415,10 @@ the process is the same as outlined above. Here are a few things to keep in mind when you start your next contribution. -#. Return to ``master`` with :command:`git checkout master`. +#. Return to ``main`` with :command:`git switch main`. - New work is done on new branches which are started from master. - So, before you start a new branch, return to the master branch. + New work is done on new branches which are started from main. + So, before you start a new branch, return to the main branch. .. tabs:: @@ -1438,15 +1426,15 @@ Here are a few things to keep in mind when you start your next contribution. .. code:: console - (odk-xenv) /odk-x/docs/ $ git checkout master + (odk-xenv) /odk-x/docs/ $ git checkout main .. group-tab:: PowerShell .. code:: console - (odk-xenv) /odk-x/docs/ > git checkout master + (odk-xenv) /odk-x/docs/ > git checkout main -#. Pull in changes with :command:`git pull upstream master`. +#. Pull in changes with :command:`git pull upstream main`. You need to start your new work from the latest version of everyone else's work. @@ -1457,15 +1445,15 @@ Here are a few things to keep in mind when you start your next contribution. .. code:: console - (odk-xenv) /odk-x/docs/ $ git pull upstream master + (odk-xenv) /odk-x/docs/ $ git pull upstream main .. group-tab:: PowerShell .. code:: console - (odk-xenv) /odk-x/docs/ > git pull upstream master + (odk-xenv) /odk-x/docs/ > git pull upstream main -#. Update the master branch of your online GitHub repository. +#. Update the main branch of your online GitHub repository. .. tabs:: @@ -1473,13 +1461,13 @@ Here are a few things to keep in mind when you start your next contribution. .. code:: console - (odk-xenv) /odk-x/docs/ $ git push origin master + (odk-xenv) /odk-x/docs/ $ git push origin main .. group-tab:: PowerShell .. code:: console - (odk-xenv) /odk-x/docs/ > git push origin master + (odk-xenv) /odk-x/docs/ > git push origin main #. Find a `new issue to work on`_. #. Start a new branch for your work with :command:`git checkout -b branch-name`. diff --git a/odkx-src/episample-intro.rst b/src/episample-intro.rst similarity index 100% rename from odkx-src/episample-intro.rst rename to src/episample-intro.rst diff --git a/odkx-src/episample-tour-config.rst b/src/episample-tour-config.rst similarity index 100% rename from odkx-src/episample-tour-config.rst rename to src/episample-tour-config.rst diff --git a/odkx-src/episample-tour-geo-survey.rst b/src/episample-tour-geo-survey.rst similarity index 100% rename from odkx-src/episample-tour-geo-survey.rst rename to src/episample-tour-geo-survey.rst diff --git a/odkx-src/episample-tour-household-survey.rst b/src/episample-tour-household-survey.rst similarity index 98% rename from odkx-src/episample-tour-household-survey.rst rename to src/episample-tour-household-survey.rst index 0e7d37b6..799e1144 100644 --- a/odkx-src/episample-tour-household-survey.rst +++ b/src/episample-tour-household-survey.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Prepopulated prepopulated diff --git a/odkx-src/episample-tour-main-menu.rst b/src/episample-tour-main-menu.rst similarity index 100% rename from odkx-src/episample-tour-main-menu.rst rename to src/episample-tour-main-menu.rst diff --git a/odkx-src/episample-tour-nav.rst b/src/episample-tour-nav.rst similarity index 100% rename from odkx-src/episample-tour-nav.rst rename to src/episample-tour-nav.rst diff --git a/odkx-src/episample-tour-task-gen.rst b/src/episample-tour-task-gen.rst similarity index 100% rename from odkx-src/episample-tour-task-gen.rst rename to src/episample-tour-task-gen.rst diff --git a/odkx-src/episample-tour.rst b/src/episample-tour.rst similarity index 100% rename from odkx-src/episample-tour.rst rename to src/episample-tour.rst diff --git a/odkx-src/files/cloud_init_AWS.yml b/src/files/cloud_init_AWS.yml similarity index 100% rename from odkx-src/files/cloud_init_AWS.yml rename to src/files/cloud_init_AWS.yml diff --git a/odkx-src/files/cloud_init_AZURE.yml b/src/files/cloud_init_AZURE.yml similarity index 100% rename from odkx-src/files/cloud_init_AZURE.yml rename to src/files/cloud_init_AZURE.yml diff --git a/odkx-src/files/cloud_init_DO.yml b/src/files/cloud_init_DO.yml similarity index 100% rename from odkx-src/files/cloud_init_DO.yml rename to src/files/cloud_init_DO.yml diff --git a/odkx-src/files/pyscript_DO.py b/src/files/pyscript_DO.py similarity index 100% rename from odkx-src/files/pyscript_DO.py rename to src/files/pyscript_DO.py diff --git a/odkx-src/formdef-structure.rst b/src/formdef-structure.rst similarity index 99% rename from odkx-src/formdef-structure.rst rename to src/formdef-structure.rst index 3f230444..04bbb35e 100644 --- a/odkx-src/formdef-structure.rst +++ b/src/formdef-structure.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: tableId diff --git a/odkx-src/getting-started-2-architect.rst b/src/getting-started-2-architect.rst similarity index 98% rename from odkx-src/getting-started-2-architect.rst rename to src/getting-started-2-architect.rst index 9c55d8b9..1652e39f 100644 --- a/odkx-src/getting-started-2-architect.rst +++ b/src/getting-started-2-architect.rst @@ -5,13 +5,13 @@ Now that we have seen how a device can join an already-configured application, a .. contents:: :local: -.. _architect-odk-2-prereqs: +.. _architect-odk-x-prereqs: Prerequisites ------------------ This guide continues the tour where :doc:`survey-sample-app` left off. If you haven't yet completed that tour, do it first. When you have concluded the tour of the :doc:`survey-using` example application's screens, return to this guide and we will turn to setting up our own application. -.. _architect-odk-2-config-setup-app-designer: +.. _architect-odk-x-config-setup-app-designer: Setting up ODK-X Application Designer ----------------------------------------- @@ -36,7 +36,7 @@ You can further verify that the Application Designer works by clicking on the :g You can also try other things, like choosing different device dimensions to see how the form renders on different screen geometries. -.. _architect-odk-2-config-modify-app: +.. _architect-odk-x-config-modify-app: Modifying an ODK-X application ------------------------------------- @@ -92,14 +92,14 @@ Create a new instance of the *Example Form* and advance through it (this will cr You have successfully modified the form. We will now walk through how to deploy your updated application to your device. -.. _architect-odk-2-config-deploy: +.. _architect-odk-x-config-deploy: Deploying to the Device ----------------------------------------------- Now that we have the design environment installed and have successfully modified the Example Form application, we can work through the steps of deploying that application to your device. -.. _architect-odk-2-deploy-prepare: +.. _architect-odk-x-deploy-prepare: Preparing the Device ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,7 +126,7 @@ Navigate to the three ODK-X Apps and :guilabel:`Force Stop` each of them (ending Finally, confirm that your device has :guilabel:`USB debugging` enabled inside your device's :guilabel:`Settings`. This checkbox is in different places on different devices and may be hidden by default on some. See this guide to `USB debugging on Android `_ for instructions. -.. _architect-odk-2-deploy-push: +.. _architect-odk-x-deploy-push: Pushing the Application to the Device ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/odkx-src/hope-study-intro.rst b/src/hope-study-intro.rst similarity index 99% rename from odkx-src/hope-study-intro.rst rename to src/hope-study-intro.rst index 1d5f2c93..ece290ba 100644 --- a/odkx-src/hope-study-intro.rst +++ b/src/hope-study-intro.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Prepopulated prepopulated diff --git a/odkx-src/hope-study-tour-client-details.rst b/src/hope-study-tour-client-details.rst similarity index 100% rename from odkx-src/hope-study-tour-client-details.rst rename to src/hope-study-tour-client-details.rst diff --git a/odkx-src/hope-study-tour-existing-client.rst b/src/hope-study-tour-existing-client.rst similarity index 100% rename from odkx-src/hope-study-tour-existing-client.rst rename to src/hope-study-tour-existing-client.rst diff --git a/odkx-src/hope-study-tour-follow-up-forms.rst b/src/hope-study-tour-follow-up-forms.rst similarity index 99% rename from odkx-src/hope-study-tour-follow-up-forms.rst rename to src/hope-study-tour-follow-up-forms.rst index d9c60ef4..1a2da43f 100644 --- a/odkx-src/hope-study-tour-follow-up-forms.rst +++ b/src/hope-study-tour-follow-up-forms.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulated Follow Up Forms diff --git a/odkx-src/hope-study-tour-graph-view.rst b/src/hope-study-tour-graph-view.rst similarity index 100% rename from odkx-src/hope-study-tour-graph-view.rst rename to src/hope-study-tour-graph-view.rst diff --git a/odkx-src/hope-study-tour-home-locator.rst b/src/hope-study-tour-home-locator.rst similarity index 99% rename from odkx-src/hope-study-tour-home-locator.rst rename to src/hope-study-tour-home-locator.rst index f9ca55e1..de52afa8 100644 --- a/odkx-src/hope-study-tour-home-locator.rst +++ b/src/hope-study-tour-home-locator.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Tuk tuk diff --git a/odkx-src/hope-study-tour-main-menu.rst b/src/hope-study-tour-main-menu.rst similarity index 100% rename from odkx-src/hope-study-tour-main-menu.rst rename to src/hope-study-tour-main-menu.rst diff --git a/odkx-src/hope-study-tour-screen-client.rst b/src/hope-study-tour-screen-client.rst similarity index 100% rename from odkx-src/hope-study-tour-screen-client.rst rename to src/hope-study-tour-screen-client.rst diff --git a/odkx-src/hope-study-tour-send-data.rst b/src/hope-study-tour-send-data.rst similarity index 100% rename from odkx-src/hope-study-tour-send-data.rst rename to src/hope-study-tour-send-data.rst diff --git a/odkx-src/hope-study-tour.rst b/src/hope-study-tour.rst similarity index 98% rename from odkx-src/hope-study-tour.rst rename to src/hope-study-tour.rst index b393edfa..94d48686 100644 --- a/odkx-src/hope-study-tour.rst +++ b/src/hope-study-tour.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Prepopulated prepopulated diff --git a/odkx-src/img/app-designer-overview/app-file-browser.png b/src/img/app-designer-overview/app-file-browser.png similarity index 100% rename from odkx-src/img/app-designer-overview/app-file-browser.png rename to src/img/app-designer-overview/app-file-browser.png diff --git a/odkx-src/img/app-designer-overview/application-designer-preview.png b/src/img/app-designer-overview/application-designer-preview.png similarity index 100% rename from odkx-src/img/app-designer-overview/application-designer-preview.png rename to src/img/app-designer-overview/application-designer-preview.png diff --git a/odkx-src/img/app-designer-overview/appscan-form-designer.png b/src/img/app-designer-overview/appscan-form-designer.png similarity index 100% rename from odkx-src/img/app-designer-overview/appscan-form-designer.png rename to src/img/app-designer-overview/appscan-form-designer.png diff --git a/odkx-src/img/app-designer-overview/customize-theme-generator.png b/src/img/app-designer-overview/customize-theme-generator.png similarity index 100% rename from odkx-src/img/app-designer-overview/customize-theme-generator.png rename to src/img/app-designer-overview/customize-theme-generator.png diff --git a/odkx-src/img/app-designer-overview/household-survey-preview.png b/src/img/app-designer-overview/household-survey-preview.png similarity index 100% rename from odkx-src/img/app-designer-overview/household-survey-preview.png rename to src/img/app-designer-overview/household-survey-preview.png diff --git a/odkx-src/img/app-designer-overview/odk-x-debugging.png b/src/img/app-designer-overview/odk-x-debugging.png similarity index 100% rename from odkx-src/img/app-designer-overview/odk-x-debugging.png rename to src/img/app-designer-overview/odk-x-debugging.png diff --git a/odkx-src/img/app-designer-overview/qr-code-generator.png b/src/img/app-designer-overview/qr-code-generator.png similarity index 100% rename from odkx-src/img/app-designer-overview/qr-code-generator.png rename to src/img/app-designer-overview/qr-code-generator.png diff --git a/odkx-src/img/app-designer-overview/xlsx-converter.png b/src/img/app-designer-overview/xlsx-converter.png similarity index 100% rename from odkx-src/img/app-designer-overview/xlsx-converter.png rename to src/img/app-designer-overview/xlsx-converter.png diff --git a/odkx-src/img/app-designer-overview/xlsxconverter.png b/src/img/app-designer-overview/xlsxconverter.png similarity index 100% rename from odkx-src/img/app-designer-overview/xlsxconverter.png rename to src/img/app-designer-overview/xlsxconverter.png diff --git a/odkx-src/img/cold-chain-intro/cold-chain-home.png b/src/img/cold-chain-intro/cold-chain-home.png similarity index 100% rename from odkx-src/img/cold-chain-intro/cold-chain-home.png rename to src/img/cold-chain-intro/cold-chain-home.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-add-facility.png b/src/img/cold-chain-tour/cold-chain-admin-add-facility.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-add-facility.png rename to src/img/cold-chain-tour/cold-chain-admin-add-facility.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-filter.png b/src/img/cold-chain-tour/cold-chain-admin-inventory-filter.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-filter.png rename to src/img/cold-chain-tour/cold-chain-admin-inventory-filter.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-age.png b/src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-age.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-age.png rename to src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-age.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-power.png b/src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-power.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-power.png rename to src/img/cold-chain-tour/cold-chain-admin-inventory-graph-by-power.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-inventory.png b/src/img/cold-chain-tour/cold-chain-admin-inventory.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-inventory.png rename to src/img/cold-chain-tour/cold-chain-admin-inventory.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-main-menu.png b/src/img/cold-chain-tour/cold-chain-admin-main-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-main-menu.png rename to src/img/cold-chain-tour/cold-chain-admin-main-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-options.png b/src/img/cold-chain-tour/cold-chain-admin-options.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-options.png rename to src/img/cold-chain-tour/cold-chain-admin-options.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities-search.png b/src/img/cold-chain-tour/cold-chain-admin-view-facilities-search.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities-search.png rename to src/img/cold-chain-tour/cold-chain-admin-view-facilities-search.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities-type.png b/src/img/cold-chain-tour/cold-chain-admin-view-facilities-type.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities-type.png rename to src/img/cold-chain-tour/cold-chain-admin-view-facilities-type.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities.png b/src/img/cold-chain-tour/cold-chain-admin-view-facilities.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-view-facilities.png rename to src/img/cold-chain-tour/cold-chain-admin-view-facilities.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-admin-view-models.png b/src/img/cold-chain-tour/cold-chain-admin-view-models.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-admin-view-models.png rename to src/img/cold-chain-tour/cold-chain-admin-view-models.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-auth-enter.png b/src/img/cold-chain-tour/cold-chain-auth-enter.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-auth-enter.png rename to src/img/cold-chain-tour/cold-chain-auth-enter.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-auth-needed.png b/src/img/cold-chain-tour/cold-chain-auth-needed.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-auth-needed.png rename to src/img/cold-chain-tour/cold-chain-auth-needed.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-edit-facility.png b/src/img/cold-chain-tour/cold-chain-health-facility-edit-facility.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-edit-facility.png rename to src/img/cold-chain-tour/cold-chain-health-facility-edit-facility.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-region-nav.png b/src/img/cold-chain-tour/cold-chain-health-facility-list-region-nav.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-region-nav.png rename to src/img/cold-chain-tour/cold-chain-health-facility-list-region-nav.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-region.png b/src/img/cold-chain-tour/cold-chain-health-facility-list-region.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-region.png rename to src/img/cold-chain-tour/cold-chain-health-facility-list-region.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-type.png b/src/img/cold-chain-tour/cold-chain-health-facility-list-type.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-list-type.png rename to src/img/cold-chain-tour/cold-chain-health-facility-list-type.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-menu-buttons.png b/src/img/cold-chain-tour/cold-chain-health-facility-menu-buttons.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-menu-buttons.png rename to src/img/cold-chain-tour/cold-chain-health-facility-menu-buttons.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-health-facility-menu.png b/src/img/cold-chain-tour/cold-chain-health-facility-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-health-facility-menu.png rename to src/img/cold-chain-tour/cold-chain-health-facility-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-initial-data.png b/src/img/cold-chain-tour/cold-chain-initial-data.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-initial-data.png rename to src/img/cold-chain-tour/cold-chain-initial-data.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-maintenance-list.png b/src/img/cold-chain-tour/cold-chain-maintenance-list.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-maintenance-list.png rename to src/img/cold-chain-tour/cold-chain-maintenance-list.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-maintenance-menu.png b/src/img/cold-chain-tour/cold-chain-maintenance-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-maintenance-menu.png rename to src/img/cold-chain-tour/cold-chain-maintenance-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-inventory.png b/src/img/cold-chain-tour/cold-chain-refrigerator-list-inventory.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-inventory.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-list-inventory.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-model.png b/src/img/cold-chain-tour/cold-chain-refrigerator-list-model.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-model.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-list-model.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-region-search.png b/src/img/cold-chain-tour/cold-chain-refrigerator-list-region-search.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-region-search.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-list-region-search.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-region.png b/src/img/cold-chain-tour/cold-chain-refrigerator-list-region.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-list-region.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-list-region.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-menu-buttons.png b/src/img/cold-chain-tour/cold-chain-refrigerator-menu-buttons.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-menu-buttons.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-menu-buttons.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-menu.png b/src/img/cold-chain-tour/cold-chain-refrigerator-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-menu.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-type-list.png b/src/img/cold-chain-tour/cold-chain-refrigerator-type-list.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-type-list.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-type-list.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-refrigerator-type-menu.png b/src/img/cold-chain-tour/cold-chain-refrigerator-type-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-refrigerator-type-menu.png rename to src/img/cold-chain-tour/cold-chain-refrigerator-type-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-regions-menu.png b/src/img/cold-chain-tour/cold-chain-regions-menu.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-regions-menu.png rename to src/img/cold-chain-tour/cold-chain-regions-menu.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-regions-navigation-north.png b/src/img/cold-chain-tour/cold-chain-regions-navigation-north.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-regions-navigation-north.png rename to src/img/cold-chain-tour/cold-chain-regions-navigation-north.png diff --git a/odkx-src/img/cold-chain-tour/cold-chain-regions-navigation.png b/src/img/cold-chain-tour/cold-chain-regions-navigation.png similarity index 100% rename from odkx-src/img/cold-chain-tour/cold-chain-regions-navigation.png rename to src/img/cold-chain-tour/cold-chain-regions-navigation.png diff --git a/odkx-src/img/cygwin/pip-install.png b/src/img/cygwin/pip-install.png similarity index 100% rename from odkx-src/img/cygwin/pip-install.png rename to src/img/cygwin/pip-install.png diff --git a/odkx-src/img/cygwin/python-path.png b/src/img/cygwin/python-path.png similarity index 100% rename from odkx-src/img/cygwin/python-path.png rename to src/img/cygwin/python-path.png diff --git a/odkx-src/img/data-permission-filters/verify-user.png b/src/img/data-permission-filters/verify-user.png similarity index 100% rename from odkx-src/img/data-permission-filters/verify-user.png rename to src/img/data-permission-filters/verify-user.png diff --git a/odkx-src/img/docs-tech-guide/terminal-icon.png b/src/img/docs-tech-guide/terminal-icon.png similarity index 100% rename from odkx-src/img/docs-tech-guide/terminal-icon.png rename to src/img/docs-tech-guide/terminal-icon.png diff --git a/odkx-src/img/episample-intro/episample-collect-screen.png b/src/img/episample-intro/episample-collect-screen.png similarity index 100% rename from odkx-src/img/episample-intro/episample-collect-screen.png rename to src/img/episample-intro/episample-collect-screen.png diff --git a/odkx-src/img/episample-tour/episample-collect-blank.png b/src/img/episample-tour/episample-collect-blank.png similarity index 100% rename from odkx-src/img/episample-tour/episample-collect-blank.png rename to src/img/episample-tour/episample-collect-blank.png diff --git a/odkx-src/img/episample-tour/episample-collect-invalid.png b/src/img/episample-tour/episample-collect-invalid.png similarity index 100% rename from odkx-src/img/episample-tour/episample-collect-invalid.png rename to src/img/episample-tour/episample-collect-invalid.png diff --git a/odkx-src/img/episample-tour/episample-collect-poor-gps.png b/src/img/episample-tour/episample-collect-poor-gps.png similarity index 100% rename from odkx-src/img/episample-tour/episample-collect-poor-gps.png rename to src/img/episample-tour/episample-collect-poor-gps.png diff --git a/odkx-src/img/episample-tour/episample-collect-update.png b/src/img/episample-tour/episample-collect-update.png similarity index 100% rename from odkx-src/img/episample-tour/episample-collect-update.png rename to src/img/episample-tour/episample-collect-update.png diff --git a/odkx-src/img/episample-tour/episample-config-blank.png b/src/img/episample-tour/episample-config-blank.png similarity index 100% rename from odkx-src/img/episample-tour/episample-config-blank.png rename to src/img/episample-tour/episample-config-blank.png diff --git a/odkx-src/img/episample-tour/episample-config-filled.png b/src/img/episample-tour/episample-config-filled.png similarity index 100% rename from odkx-src/img/episample-tour/episample-config-filled.png rename to src/img/episample-tour/episample-config-filled.png diff --git a/odkx-src/img/episample-tour/episample-household-survey.png b/src/img/episample-tour/episample-household-survey.png similarity index 100% rename from odkx-src/img/episample-tour/episample-household-survey.png rename to src/img/episample-tour/episample-household-survey.png diff --git a/odkx-src/img/episample-tour/episample-main-menu.png b/src/img/episample-tour/episample-main-menu.png similarity index 100% rename from odkx-src/img/episample-tour/episample-main-menu.png rename to src/img/episample-tour/episample-main-menu.png diff --git a/odkx-src/img/episample-tour/episample-navigation.png b/src/img/episample-tour/episample-navigation.png similarity index 100% rename from odkx-src/img/episample-tour/episample-navigation.png rename to src/img/episample-tour/episample-navigation.png diff --git a/odkx-src/img/episample-tour/episample-settings-locked.png b/src/img/episample-tour/episample-settings-locked.png similarity index 100% rename from odkx-src/img/episample-tour/episample-settings-locked.png rename to src/img/episample-tour/episample-settings-locked.png diff --git a/odkx-src/img/episample-tour/episample-settings.png b/src/img/episample-tour/episample-settings.png similarity index 100% rename from odkx-src/img/episample-tour/episample-settings.png rename to src/img/episample-tour/episample-settings.png diff --git a/odkx-src/img/episample-tour/episample-task-gen.png b/src/img/episample-tour/episample-task-gen.png similarity index 100% rename from odkx-src/img/episample-tour/episample-task-gen.png rename to src/img/episample-tour/episample-task-gen.png diff --git a/odkx-src/img/getting-started-2/apps-force-stop.png b/src/img/getting-started-2/apps-force-stop.png similarity index 100% rename from odkx-src/img/getting-started-2/apps-force-stop.png rename to src/img/getting-started-2/apps-force-stop.png diff --git a/src/img/getting-started-2/example-form-folder.JPG b/src/img/getting-started-2/example-form-folder.JPG new file mode 100755 index 00000000..27eb55b1 Binary files /dev/null and b/src/img/getting-started-2/example-form-folder.JPG differ diff --git a/odkx-src/img/getting-started-2/file-manager-delete-folder.png b/src/img/getting-started-2/file-manager-delete-folder.png similarity index 100% rename from odkx-src/img/getting-started-2/file-manager-delete-folder.png rename to src/img/getting-started-2/file-manager-delete-folder.png diff --git a/odkx-src/img/getting-started-2/geo-demo-home.png b/src/img/getting-started-2/geo-demo-home.png similarity index 100% rename from odkx-src/img/getting-started-2/geo-demo-home.png rename to src/img/getting-started-2/geo-demo-home.png diff --git a/odkx-src/img/getting-started-2/geotagger-chrome-window.png b/src/img/getting-started-2/geotagger-chrome-window.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-chrome-window.png rename to src/img/getting-started-2/geotagger-chrome-window.png diff --git a/odkx-src/img/getting-started-2/geotagger-cmd-gruntpush.png b/src/img/getting-started-2/geotagger-cmd-gruntpush.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-cmd-gruntpush.png rename to src/img/getting-started-2/geotagger-cmd-gruntpush.png diff --git a/odkx-src/img/getting-started-2/geotagger-cmd-window.png b/src/img/getting-started-2/geotagger-cmd-window.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-cmd-window.png rename to src/img/getting-started-2/geotagger-cmd-window.png diff --git a/odkx-src/img/getting-started-2/geotagger-image-dir.png b/src/img/getting-started-2/geotagger-image-dir.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-image-dir.png rename to src/img/getting-started-2/geotagger-image-dir.png diff --git a/odkx-src/img/getting-started-2/geotagger-new-location.png b/src/img/getting-started-2/geotagger-new-location.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-new-location.png rename to src/img/getting-started-2/geotagger-new-location.png diff --git a/odkx-src/img/getting-started-2/geotagger-odk-laboratory.png b/src/img/getting-started-2/geotagger-odk-laboratory.png similarity index 100% rename from odkx-src/img/getting-started-2/geotagger-odk-laboratory.png rename to src/img/getting-started-2/geotagger-odk-laboratory.png diff --git a/src/img/getting-started-2/getting-started-building-chrome.JPG b/src/img/getting-started-2/getting-started-building-chrome.JPG new file mode 100755 index 00000000..77f8f6ee Binary files /dev/null and b/src/img/getting-started-2/getting-started-building-chrome.JPG differ diff --git a/src/img/getting-started-2/getting-started-building-dir.JPG b/src/img/getting-started-2/getting-started-building-dir.JPG new file mode 100755 index 00000000..5a6bb9a7 Binary files /dev/null and b/src/img/getting-started-2/getting-started-building-dir.JPG differ diff --git a/src/img/getting-started-2/new-question-example-form.JPG b/src/img/getting-started-2/new-question-example-form.JPG new file mode 100755 index 00000000..10821df3 Binary files /dev/null and b/src/img/getting-started-2/new-question-example-form.JPG differ diff --git a/odkx-src/img/getting-started-2/phinney-ridge.png b/src/img/getting-started-2/phinney-ridge.png similarity index 100% rename from odkx-src/img/getting-started-2/phinney-ridge.png rename to src/img/getting-started-2/phinney-ridge.png diff --git a/odkx-src/img/getting-started-2/settings-apps.png b/src/img/getting-started-2/settings-apps.png similarity index 100% rename from odkx-src/img/getting-started-2/settings-apps.png rename to src/img/getting-started-2/settings-apps.png diff --git a/odkx-src/img/getting-started-2/settings-odkx-apps.png b/src/img/getting-started-2/settings-odkx-apps.png similarity index 100% rename from odkx-src/img/getting-started-2/settings-odkx-apps.png rename to src/img/getting-started-2/settings-odkx-apps.png diff --git a/odkx-src/img/getting-started-2/view-type.png b/src/img/getting-started-2/view-type.png similarity index 100% rename from odkx-src/img/getting-started-2/view-type.png rename to src/img/getting-started-2/view-type.png diff --git a/odkx-src/img/hope-study-intro/hope-study-home.png b/src/img/hope-study-intro/hope-study-home.png similarity index 100% rename from odkx-src/img/hope-study-intro/hope-study-home.png rename to src/img/hope-study-intro/hope-study-home.png diff --git a/odkx-src/img/hope-study-tour/hope-study-client-details.png b/src/img/hope-study-tour/hope-study-client-details.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-client-details.png rename to src/img/hope-study-tour/hope-study-client-details.png diff --git a/odkx-src/img/hope-study-tour/hope-study-existing-client-search.png b/src/img/hope-study-tour/hope-study-existing-client-search.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-existing-client-search.png rename to src/img/hope-study-tour/hope-study-existing-client-search.png diff --git a/odkx-src/img/hope-study-tour/hope-study-existing-client.png b/src/img/hope-study-tour/hope-study-existing-client.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-existing-client.png rename to src/img/hope-study-tour/hope-study-existing-client.png diff --git a/odkx-src/img/hope-study-tour/hope-study-follow-up-forms.png b/src/img/hope-study-tour/hope-study-follow-up-forms.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-follow-up-forms.png rename to src/img/hope-study-tour/hope-study-follow-up-forms.png diff --git a/odkx-src/img/hope-study-tour/hope-study-graph-view.png b/src/img/hope-study-tour/hope-study-graph-view.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-graph-view.png rename to src/img/hope-study-tour/hope-study-graph-view.png diff --git a/odkx-src/img/hope-study-tour/hope-study-home-locator-map.png b/src/img/hope-study-tour/hope-study-home-locator-map.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-home-locator-map.png rename to src/img/hope-study-tour/hope-study-home-locator-map.png diff --git a/odkx-src/img/hope-study-tour/hope-study-home-locator.png b/src/img/hope-study-tour/hope-study-home-locator.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-home-locator.png rename to src/img/hope-study-tour/hope-study-home-locator.png diff --git a/odkx-src/img/hope-study-tour/hope-study-main-menu.png b/src/img/hope-study-tour/hope-study-main-menu.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-main-menu.png rename to src/img/hope-study-tour/hope-study-main-menu.png diff --git a/odkx-src/img/hope-study-tour/hope-study-screen-client.png b/src/img/hope-study-tour/hope-study-screen-client.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-screen-client.png rename to src/img/hope-study-tour/hope-study-screen-client.png diff --git a/odkx-src/img/hope-study-tour/hope-study-send-data.png b/src/img/hope-study-tour/hope-study-send-data.png similarity index 100% rename from odkx-src/img/hope-study-tour/hope-study-send-data.png rename to src/img/hope-study-tour/hope-study-send-data.png diff --git a/odkx-src/img/notify-setup/notify-setup.png b/src/img/notify-setup/notify-setup.png similarity index 100% rename from odkx-src/img/notify-setup/notify-setup.png rename to src/img/notify-setup/notify-setup.png diff --git a/odkx-src/img/notify-using/notify-create-group.png b/src/img/notify-using/notify-create-group.png similarity index 100% rename from odkx-src/img/notify-using/notify-create-group.png rename to src/img/notify-using/notify-create-group.png diff --git a/odkx-src/img/notify-using/notify-create-notification.png b/src/img/notify-using/notify-create-notification.png similarity index 100% rename from odkx-src/img/notify-using/notify-create-notification.png rename to src/img/notify-using/notify-create-notification.png diff --git a/odkx-src/img/notify-using/notify-group-link.png b/src/img/notify-using/notify-group-link.png similarity index 100% rename from odkx-src/img/notify-using/notify-group-link.png rename to src/img/notify-using/notify-group-link.png diff --git a/odkx-src/img/notify-using/notify-login.png b/src/img/notify-using/notify-login.png similarity index 100% rename from odkx-src/img/notify-using/notify-login.png rename to src/img/notify-using/notify-login.png diff --git a/odkx-src/img/notify-using/notify-qrcode.jpg b/src/img/notify-using/notify-qrcode.jpg similarity index 100% rename from odkx-src/img/notify-using/notify-qrcode.jpg rename to src/img/notify-using/notify-qrcode.jpg diff --git a/odkx-src/img/notify-using/notify-sync-data.jpg b/src/img/notify-using/notify-sync-data.jpg similarity index 100% rename from odkx-src/img/notify-using/notify-sync-data.jpg rename to src/img/notify-using/notify-sync-data.jpg diff --git a/odkx-src/img/notify-using/notify-view-messages.png b/src/img/notify-using/notify-view-messages.png similarity index 100% rename from odkx-src/img/notify-using/notify-view-messages.png rename to src/img/notify-using/notify-view-messages.png diff --git a/odkx-src/img/notify-using/notify-view-responses.png b/src/img/notify-using/notify-view-responses.png similarity index 100% rename from odkx-src/img/notify-using/notify-view-responses.png rename to src/img/notify-using/notify-view-responses.png diff --git a/odkx-src/img/scan-data/suitcase-scan.png b/src/img/scan-data/suitcase-scan.png similarity index 100% rename from odkx-src/img/scan-data/suitcase-scan.png rename to src/img/scan-data/suitcase-scan.png diff --git a/odkx-src/img/scan-form-designer/create-bubbles-menu.png b/src/img/scan-form-designer/create-bubbles-menu.png similarity index 100% rename from odkx-src/img/scan-form-designer/create-bubbles-menu.png rename to src/img/scan-form-designer/create-bubbles-menu.png diff --git a/odkx-src/img/scan-form-designer/create-checkbox-menu.png b/src/img/scan-form-designer/create-checkbox-menu.png similarity index 100% rename from odkx-src/img/scan-form-designer/create-checkbox-menu.png rename to src/img/scan-form-designer/create-checkbox-menu.png diff --git a/odkx-src/img/scan-form-designer/edit-fields-menu.png b/src/img/scan-form-designer/edit-fields-menu.png similarity index 100% rename from odkx-src/img/scan-form-designer/edit-fields-menu.png rename to src/img/scan-form-designer/edit-fields-menu.png diff --git a/odkx-src/img/scan-form-designer/print-file-select.png b/src/img/scan-form-designer/print-file-select.png similarity index 100% rename from odkx-src/img/scan-form-designer/print-file-select.png rename to src/img/scan-form-designer/print-file-select.png diff --git a/odkx-src/img/scan-form-designer/scan-form-add-image.png b/src/img/scan-form-designer/scan-form-add-image.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-add-image.png rename to src/img/scan-form-designer/scan-form-add-image.png diff --git a/odkx-src/img/scan-form-designer/scan-form-apply-image.png b/src/img/scan-form-designer/scan-form-apply-image.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-apply-image.png rename to src/img/scan-form-designer/scan-form-apply-image.png diff --git a/odkx-src/img/scan-form-designer/scan-form-blank.png b/src/img/scan-form-designer/scan-form-blank.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-blank.png rename to src/img/scan-form-designer/scan-form-blank.png diff --git a/odkx-src/img/scan-form-designer/scan-form-export.png b/src/img/scan-form-designer/scan-form-export.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-export.png rename to src/img/scan-form-designer/scan-form-export.png diff --git a/odkx-src/img/scan-form-designer/scan-form-file-system.png b/src/img/scan-form-designer/scan-form-file-system.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-file-system.png rename to src/img/scan-form-designer/scan-form-file-system.png diff --git a/odkx-src/img/scan-form-designer/scan-form-load.png b/src/img/scan-form-designer/scan-form-load.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-load.png rename to src/img/scan-form-designer/scan-form-load.png diff --git a/odkx-src/img/scan-form-designer/scan-form-save.png b/src/img/scan-form-designer/scan-form-save.png similarity index 100% rename from odkx-src/img/scan-form-designer/scan-form-save.png rename to src/img/scan-form-designer/scan-form-save.png diff --git a/odkx-src/img/scan-form-designer/set-page-style.png b/src/img/scan-form-designer/set-page-style.png similarity index 100% rename from odkx-src/img/scan-form-designer/set-page-style.png rename to src/img/scan-form-designer/set-page-style.png diff --git a/odkx-src/img/scan-form-designer/written-numbers.png b/src/img/scan-form-designer/written-numbers.png similarity index 100% rename from odkx-src/img/scan-form-designer/written-numbers.png rename to src/img/scan-form-designer/written-numbers.png diff --git a/odkx-src/img/scan-intro/scan-process.png b/src/img/scan-intro/scan-process.png similarity index 100% rename from odkx-src/img/scan-intro/scan-process.png rename to src/img/scan-intro/scan-process.png diff --git a/odkx-src/img/scan-managing/scan-template-list.png b/src/img/scan-managing/scan-template-list.png similarity index 100% rename from odkx-src/img/scan-managing/scan-template-list.png rename to src/img/scan-managing/scan-template-list.png diff --git a/odkx-src/img/scan-using/scan-camera.png b/src/img/scan-using/scan-camera.png similarity index 100% rename from odkx-src/img/scan-using/scan-camera.png rename to src/img/scan-using/scan-camera.png diff --git a/odkx-src/img/scan-using/scan-finalize.png b/src/img/scan-using/scan-finalize.png similarity index 100% rename from odkx-src/img/scan-using/scan-finalize.png rename to src/img/scan-using/scan-finalize.png diff --git a/odkx-src/img/scan-using/scan-image-markup.png b/src/img/scan-using/scan-image-markup.png similarity index 100% rename from odkx-src/img/scan-using/scan-image-markup.png rename to src/img/scan-using/scan-image-markup.png diff --git a/odkx-src/img/scan-using/scan-review-data.png b/src/img/scan-using/scan-review-data.png similarity index 100% rename from odkx-src/img/scan-using/scan-review-data.png rename to src/img/scan-using/scan-review-data.png diff --git a/odkx-src/img/scan-using/scan-single-template.png b/src/img/scan-using/scan-single-template.png similarity index 100% rename from odkx-src/img/scan-using/scan-single-template.png rename to src/img/scan-using/scan-single-template.png diff --git a/odkx-src/img/scan-using/scan-stand.png b/src/img/scan-using/scan-stand.png similarity index 100% rename from odkx-src/img/scan-using/scan-stand.png rename to src/img/scan-using/scan-stand.png diff --git a/odkx-src/img/scan-using/scan-tables-view.png b/src/img/scan-using/scan-tables-view.png similarity index 100% rename from odkx-src/img/scan-using/scan-tables-view.png rename to src/img/scan-using/scan-tables-view.png diff --git a/odkx-src/img/scan-using/scan-transcribe-text.png b/src/img/scan-using/scan-transcribe-text.png similarity index 100% rename from odkx-src/img/scan-using/scan-transcribe-text.png rename to src/img/scan-using/scan-transcribe-text.png diff --git a/odkx-src/img/scan-using/scan-verify-bubble.png b/src/img/scan-using/scan-verify-bubble.png similarity index 100% rename from odkx-src/img/scan-using/scan-verify-bubble.png rename to src/img/scan-using/scan-verify-bubble.png diff --git a/odkx-src/img/scan-using/scan-verify-number.png b/src/img/scan-using/scan-verify-number.png similarity index 100% rename from odkx-src/img/scan-using/scan-verify-number.png rename to src/img/scan-using/scan-verify-number.png diff --git a/odkx-src/img/services-managing/services-admin-device.png b/src/img/services-managing/services-admin-device.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-device.png rename to src/img/services-managing/services-admin-device.png diff --git a/odkx-src/img/services-managing/services-admin-pass-disabled.png b/src/img/services-managing/services-admin-pass-disabled.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-pass-disabled.png rename to src/img/services-managing/services-admin-pass-disabled.png diff --git a/odkx-src/img/services-managing/services-admin-pass-enabled.png b/src/img/services-managing/services-admin-pass-enabled.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-pass-enabled.png rename to src/img/services-managing/services-admin-pass-enabled.png diff --git a/odkx-src/img/services-managing/services-admin-pass-prompt.png b/src/img/services-managing/services-admin-pass-prompt.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-pass-prompt.png rename to src/img/services-managing/services-admin-pass-prompt.png diff --git a/odkx-src/img/services-managing/services-admin-server.png b/src/img/services-managing/services-admin-server.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-server.png rename to src/img/services-managing/services-admin-server.png diff --git a/odkx-src/img/services-managing/services-admin-settings-available.png b/src/img/services-managing/services-admin-settings-available.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-settings-available.png rename to src/img/services-managing/services-admin-settings-available.png diff --git a/odkx-src/img/services-managing/services-admin-settings.png b/src/img/services-managing/services-admin-settings.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-settings.png rename to src/img/services-managing/services-admin-settings.png diff --git a/odkx-src/img/services-managing/services-admin-tables.png b/src/img/services-managing/services-admin-tables.png similarity index 100% rename from odkx-src/img/services-managing/services-admin-tables.png rename to src/img/services-managing/services-admin-tables.png diff --git a/odkx-src/img/services-managing/services-enter-admin-pass.png b/src/img/services-managing/services-enter-admin-pass.png similarity index 100% rename from odkx-src/img/services-managing/services-enter-admin-pass.png rename to src/img/services-managing/services-enter-admin-pass.png diff --git a/odkx-src/img/services-managing/services-homescreen-sync.png b/src/img/services-managing/services-homescreen-sync.png similarity index 100% rename from odkx-src/img/services-managing/services-homescreen-sync.png rename to src/img/services-managing/services-homescreen-sync.png diff --git a/odkx-src/img/services-managing/services-login-qr.png b/src/img/services-managing/services-login-qr.png similarity index 100% rename from odkx-src/img/services-managing/services-login-qr.png rename to src/img/services-managing/services-login-qr.png diff --git a/odkx-src/img/services-managing/services-options-settings.png b/src/img/services-managing/services-options-settings.png similarity index 100% rename from odkx-src/img/services-managing/services-options-settings.png rename to src/img/services-managing/services-options-settings.png diff --git a/odkx-src/img/services-managing/services-prompt-credentials.png b/src/img/services-managing/services-prompt-credentials.png similarity index 100% rename from odkx-src/img/services-managing/services-prompt-credentials.png rename to src/img/services-managing/services-prompt-credentials.png diff --git a/odkx-src/img/services-managing/services-reset-config-prompt.png b/src/img/services-managing/services-reset-config-prompt.png similarity index 100% rename from odkx-src/img/services-managing/services-reset-config-prompt.png rename to src/img/services-managing/services-reset-config-prompt.png diff --git a/odkx-src/img/services-managing/services-server-settings.png b/src/img/services-managing/services-server-settings.png similarity index 100% rename from odkx-src/img/services-managing/services-server-settings.png rename to src/img/services-managing/services-server-settings.png diff --git a/odkx-src/img/services-managing/services-settings.png b/src/img/services-managing/services-settings.png similarity index 100% rename from odkx-src/img/services-managing/services-settings.png rename to src/img/services-managing/services-settings.png diff --git a/odkx-src/img/services-managing/services-sync-admin.png b/src/img/services-managing/services-sync-admin.png similarity index 100% rename from odkx-src/img/services-managing/services-sync-admin.png rename to src/img/services-managing/services-sync-admin.png diff --git a/odkx-src/img/services-managing/services-verify-credentials.png b/src/img/services-managing/services-verify-credentials.png similarity index 100% rename from odkx-src/img/services-managing/services-verify-credentials.png rename to src/img/services-managing/services-verify-credentials.png diff --git a/odkx-src/img/services-using/checkpoint-detail.png b/src/img/services-using/checkpoint-detail.png similarity index 100% rename from odkx-src/img/services-using/checkpoint-detail.png rename to src/img/services-using/checkpoint-detail.png diff --git a/odkx-src/img/services-using/checkpoint-list.png b/src/img/services-using/checkpoint-list.png similarity index 100% rename from odkx-src/img/services-using/checkpoint-list.png rename to src/img/services-using/checkpoint-list.png diff --git a/odkx-src/img/services-using/checkpoint-resolution.png b/src/img/services-using/checkpoint-resolution.png similarity index 100% rename from odkx-src/img/services-using/checkpoint-resolution.png rename to src/img/services-using/checkpoint-resolution.png diff --git a/odkx-src/img/services-using/conflict-detail.png b/src/img/services-using/conflict-detail.png similarity index 100% rename from odkx-src/img/services-using/conflict-detail.png rename to src/img/services-using/conflict-detail.png diff --git a/odkx-src/img/services-using/conflict-list.png b/src/img/services-using/conflict-list.png similarity index 100% rename from odkx-src/img/services-using/conflict-list.png rename to src/img/services-using/conflict-list.png diff --git a/odkx-src/img/services-using/conflict-resolution.png b/src/img/services-using/conflict-resolution.png similarity index 100% rename from odkx-src/img/services-using/conflict-resolution.png rename to src/img/services-using/conflict-resolution.png diff --git a/odkx-src/img/services-using/server-setting-qr-scanner.jpg b/src/img/services-using/server-setting-qr-scanner.jpg similarity index 100% rename from odkx-src/img/services-using/server-setting-qr-scanner.jpg rename to src/img/services-using/server-setting-qr-scanner.jpg diff --git a/odkx-src/img/services-using/services-device-settings.png b/src/img/services-using/services-device-settings.png similarity index 100% rename from odkx-src/img/services-using/services-device-settings.png rename to src/img/services-using/services-device-settings.png diff --git a/odkx-src/img/services-using/services-homescreen-sync.png b/src/img/services-using/services-homescreen-sync.png similarity index 100% rename from odkx-src/img/services-using/services-homescreen-sync.png rename to src/img/services-using/services-homescreen-sync.png diff --git a/odkx-src/img/services-using/services-options-change.png b/src/img/services-using/services-options-change.png similarity index 100% rename from odkx-src/img/services-using/services-options-change.png rename to src/img/services-using/services-options-change.png diff --git a/odkx-src/img/services-using/services-options-settings.png b/src/img/services-using/services-options-settings.png similarity index 100% rename from odkx-src/img/services-using/services-options-settings.png rename to src/img/services-using/services-options-settings.png diff --git a/odkx-src/img/services-using/services-settings.png b/src/img/services-using/services-settings.png similarity index 100% rename from odkx-src/img/services-using/services-settings.png rename to src/img/services-using/services-settings.png diff --git a/odkx-src/img/services-using/services-sync.png b/src/img/services-using/services-sync.png similarity index 100% rename from odkx-src/img/services-using/services-sync.png rename to src/img/services-using/services-sync.png diff --git a/odkx-src/img/services-using/services-syncing.png b/src/img/services-using/services-syncing.png similarity index 100% rename from odkx-src/img/services-using/services-syncing.png rename to src/img/services-using/services-syncing.png diff --git a/odkx-src/img/services-using/services-tables-settings.png b/src/img/services-using/services-tables-settings.png similarity index 100% rename from odkx-src/img/services-using/services-tables-settings.png rename to src/img/services-using/services-tables-settings.png diff --git a/odkx-src/img/services-using/services-user-auth.png b/src/img/services-using/services-user-auth.png similarity index 100% rename from odkx-src/img/services-using/services-user-auth.png rename to src/img/services-using/services-user-auth.png diff --git a/odkx-src/img/services-using/survey-homescreen-sync.png b/src/img/services-using/survey-homescreen-sync.png similarity index 100% rename from odkx-src/img/services-using/survey-homescreen-sync.png rename to src/img/services-using/survey-homescreen-sync.png diff --git a/odkx-src/img/setup-aws/aws1.png b/src/img/setup-aws/aws1.png similarity index 100% rename from odkx-src/img/setup-aws/aws1.png rename to src/img/setup-aws/aws1.png diff --git a/odkx-src/img/setup-aws/aws10.png b/src/img/setup-aws/aws10.png similarity index 100% rename from odkx-src/img/setup-aws/aws10.png rename to src/img/setup-aws/aws10.png diff --git a/odkx-src/img/setup-aws/aws11.png b/src/img/setup-aws/aws11.png similarity index 100% rename from odkx-src/img/setup-aws/aws11.png rename to src/img/setup-aws/aws11.png diff --git a/odkx-src/img/setup-aws/aws12.png b/src/img/setup-aws/aws12.png similarity index 100% rename from odkx-src/img/setup-aws/aws12.png rename to src/img/setup-aws/aws12.png diff --git a/odkx-src/img/setup-aws/aws2.png b/src/img/setup-aws/aws2.png similarity index 100% rename from odkx-src/img/setup-aws/aws2.png rename to src/img/setup-aws/aws2.png diff --git a/odkx-src/img/setup-aws/aws3.png b/src/img/setup-aws/aws3.png similarity index 100% rename from odkx-src/img/setup-aws/aws3.png rename to src/img/setup-aws/aws3.png diff --git a/odkx-src/img/setup-aws/aws4.png b/src/img/setup-aws/aws4.png similarity index 100% rename from odkx-src/img/setup-aws/aws4.png rename to src/img/setup-aws/aws4.png diff --git a/odkx-src/img/setup-aws/aws5.png b/src/img/setup-aws/aws5.png similarity index 100% rename from odkx-src/img/setup-aws/aws5.png rename to src/img/setup-aws/aws5.png diff --git a/odkx-src/img/setup-aws/aws6.png b/src/img/setup-aws/aws6.png similarity index 100% rename from odkx-src/img/setup-aws/aws6.png rename to src/img/setup-aws/aws6.png diff --git a/odkx-src/img/setup-aws/aws7.png b/src/img/setup-aws/aws7.png similarity index 100% rename from odkx-src/img/setup-aws/aws7.png rename to src/img/setup-aws/aws7.png diff --git a/odkx-src/img/setup-aws/aws8.png b/src/img/setup-aws/aws8.png similarity index 100% rename from odkx-src/img/setup-aws/aws8.png rename to src/img/setup-aws/aws8.png diff --git a/odkx-src/img/setup-aws/aws9.png b/src/img/setup-aws/aws9.png similarity index 100% rename from odkx-src/img/setup-aws/aws9.png rename to src/img/setup-aws/aws9.png diff --git a/odkx-src/img/setup-azure/azure-connecting-to-virtual-machine1.png b/src/img/setup-azure/azure-connecting-to-virtual-machine1.png similarity index 100% rename from odkx-src/img/setup-azure/azure-connecting-to-virtual-machine1.png rename to src/img/setup-azure/azure-connecting-to-virtual-machine1.png diff --git a/odkx-src/img/setup-azure/azure-connecting-to-virtual-machine2.png b/src/img/setup-azure/azure-connecting-to-virtual-machine2.png similarity index 100% rename from odkx-src/img/setup-azure/azure-connecting-to-virtual-machine2.png rename to src/img/setup-azure/azure-connecting-to-virtual-machine2.png diff --git a/odkx-src/img/setup-azure/azure-connecting-to-virtual-machine3.png b/src/img/setup-azure/azure-connecting-to-virtual-machine3.png similarity index 100% rename from odkx-src/img/setup-azure/azure-connecting-to-virtual-machine3.png rename to src/img/setup-azure/azure-connecting-to-virtual-machine3.png diff --git a/odkx-src/img/setup-azure/azure1.png b/src/img/setup-azure/azure1.png similarity index 100% rename from odkx-src/img/setup-azure/azure1.png rename to src/img/setup-azure/azure1.png diff --git a/odkx-src/img/setup-azure/azure10.png b/src/img/setup-azure/azure10.png similarity index 100% rename from odkx-src/img/setup-azure/azure10.png rename to src/img/setup-azure/azure10.png diff --git a/odkx-src/img/setup-azure/azure11.png b/src/img/setup-azure/azure11.png similarity index 100% rename from odkx-src/img/setup-azure/azure11.png rename to src/img/setup-azure/azure11.png diff --git a/odkx-src/img/setup-azure/azure12.png b/src/img/setup-azure/azure12.png similarity index 100% rename from odkx-src/img/setup-azure/azure12.png rename to src/img/setup-azure/azure12.png diff --git a/odkx-src/img/setup-azure/azure2.png b/src/img/setup-azure/azure2.png similarity index 100% rename from odkx-src/img/setup-azure/azure2.png rename to src/img/setup-azure/azure2.png diff --git a/odkx-src/img/setup-azure/azure3.png b/src/img/setup-azure/azure3.png similarity index 100% rename from odkx-src/img/setup-azure/azure3.png rename to src/img/setup-azure/azure3.png diff --git a/odkx-src/img/setup-azure/azure4.png b/src/img/setup-azure/azure4.png similarity index 100% rename from odkx-src/img/setup-azure/azure4.png rename to src/img/setup-azure/azure4.png diff --git a/odkx-src/img/setup-azure/azure5.png b/src/img/setup-azure/azure5.png similarity index 100% rename from odkx-src/img/setup-azure/azure5.png rename to src/img/setup-azure/azure5.png diff --git a/odkx-src/img/setup-azure/azure6.png b/src/img/setup-azure/azure6.png similarity index 100% rename from odkx-src/img/setup-azure/azure6.png rename to src/img/setup-azure/azure6.png diff --git a/odkx-src/img/setup-azure/azure7.png b/src/img/setup-azure/azure7.png similarity index 100% rename from odkx-src/img/setup-azure/azure7.png rename to src/img/setup-azure/azure7.png diff --git a/odkx-src/img/setup-azure/azure8.png b/src/img/setup-azure/azure8.png similarity index 100% rename from odkx-src/img/setup-azure/azure8.png rename to src/img/setup-azure/azure8.png diff --git a/odkx-src/img/setup-azure/azure9.png b/src/img/setup-azure/azure9.png similarity index 100% rename from odkx-src/img/setup-azure/azure9.png rename to src/img/setup-azure/azure9.png diff --git a/odkx-src/img/setup-create-user/setup-user1.png b/src/img/setup-create-user/setup-user1.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user1.png rename to src/img/setup-create-user/setup-user1.png diff --git a/odkx-src/img/setup-create-user/setup-user2.png b/src/img/setup-create-user/setup-user2.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user2.png rename to src/img/setup-create-user/setup-user2.png diff --git a/odkx-src/img/setup-create-user/setup-user3.png b/src/img/setup-create-user/setup-user3.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user3.png rename to src/img/setup-create-user/setup-user3.png diff --git a/odkx-src/img/setup-create-user/setup-user4.png b/src/img/setup-create-user/setup-user4.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user4.png rename to src/img/setup-create-user/setup-user4.png diff --git a/odkx-src/img/setup-create-user/setup-user5.png b/src/img/setup-create-user/setup-user5.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user5.png rename to src/img/setup-create-user/setup-user5.png diff --git a/odkx-src/img/setup-create-user/setup-user6.png b/src/img/setup-create-user/setup-user6.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user6.png rename to src/img/setup-create-user/setup-user6.png diff --git a/odkx-src/img/setup-create-user/setup-user7.png b/src/img/setup-create-user/setup-user7.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user7.png rename to src/img/setup-create-user/setup-user7.png diff --git a/odkx-src/img/setup-create-user/setup-user8.png b/src/img/setup-create-user/setup-user8.png similarity index 100% rename from odkx-src/img/setup-create-user/setup-user8.png rename to src/img/setup-create-user/setup-user8.png diff --git a/odkx-src/img/setup-digital-ocean/create-droplet.png b/src/img/setup-digital-ocean/create-droplet.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/create-droplet.png rename to src/img/setup-digital-ocean/create-droplet.png diff --git a/odkx-src/img/setup-digital-ocean/do-authentication.png b/src/img/setup-digital-ocean/do-authentication.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-authentication.png rename to src/img/setup-digital-ocean/do-authentication.png diff --git a/odkx-src/img/setup-digital-ocean/do-console-terminal.png b/src/img/setup-digital-ocean/do-console-terminal.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-console-terminal.png rename to src/img/setup-digital-ocean/do-console-terminal.png diff --git a/odkx-src/img/setup-digital-ocean/do-console.png b/src/img/setup-digital-ocean/do-console.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-console.png rename to src/img/setup-digital-ocean/do-console.png diff --git a/odkx-src/img/setup-digital-ocean/do-datacenter.png b/src/img/setup-digital-ocean/do-datacenter.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-datacenter.png rename to src/img/setup-digital-ocean/do-datacenter.png diff --git a/odkx-src/img/setup-digital-ocean/do-distribution.png b/src/img/setup-digital-ocean/do-distribution.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-distribution.png rename to src/img/setup-digital-ocean/do-distribution.png diff --git a/odkx-src/img/setup-digital-ocean/do-droplets.png b/src/img/setup-digital-ocean/do-droplets.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-droplets.png rename to src/img/setup-digital-ocean/do-droplets.png diff --git a/odkx-src/img/setup-digital-ocean/do-networking.png b/src/img/setup-digital-ocean/do-networking.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-networking.png rename to src/img/setup-digital-ocean/do-networking.png diff --git a/odkx-src/img/setup-digital-ocean/do-plan.png b/src/img/setup-digital-ocean/do-plan.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-plan.png rename to src/img/setup-digital-ocean/do-plan.png diff --git a/odkx-src/img/setup-digital-ocean/do-userdata.png b/src/img/setup-digital-ocean/do-userdata.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-userdata.png rename to src/img/setup-digital-ocean/do-userdata.png diff --git a/odkx-src/img/setup-digital-ocean/do-userdata2.png b/src/img/setup-digital-ocean/do-userdata2.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do-userdata2.png rename to src/img/setup-digital-ocean/do-userdata2.png diff --git a/odkx-src/img/setup-digital-ocean/do10.png b/src/img/setup-digital-ocean/do10.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do10.png rename to src/img/setup-digital-ocean/do10.png diff --git a/odkx-src/img/setup-digital-ocean/do11.png b/src/img/setup-digital-ocean/do11.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do11.png rename to src/img/setup-digital-ocean/do11.png diff --git a/odkx-src/img/setup-digital-ocean/do12.png b/src/img/setup-digital-ocean/do12.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do12.png rename to src/img/setup-digital-ocean/do12.png diff --git a/odkx-src/img/setup-digital-ocean/do13.png b/src/img/setup-digital-ocean/do13.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do13.png rename to src/img/setup-digital-ocean/do13.png diff --git a/odkx-src/img/setup-digital-ocean/do5.png b/src/img/setup-digital-ocean/do5.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do5.png rename to src/img/setup-digital-ocean/do5.png diff --git a/odkx-src/img/setup-digital-ocean/do6.png b/src/img/setup-digital-ocean/do6.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do6.png rename to src/img/setup-digital-ocean/do6.png diff --git a/odkx-src/img/setup-digital-ocean/do7.png b/src/img/setup-digital-ocean/do7.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do7.png rename to src/img/setup-digital-ocean/do7.png diff --git a/odkx-src/img/setup-digital-ocean/do8.png b/src/img/setup-digital-ocean/do8.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do8.png rename to src/img/setup-digital-ocean/do8.png diff --git a/odkx-src/img/setup-digital-ocean/do9.png b/src/img/setup-digital-ocean/do9.png similarity index 100% rename from odkx-src/img/setup-digital-ocean/do9.png rename to src/img/setup-digital-ocean/do9.png diff --git a/odkx-src/img/suitcase-intro/clear_tab.png b/src/img/suitcase-intro/clear_tab.png similarity index 100% rename from odkx-src/img/suitcase-intro/clear_tab.png rename to src/img/suitcase-intro/clear_tab.png diff --git a/odkx-src/img/suitcase-intro/download_tab.png b/src/img/suitcase-intro/download_tab.png similarity index 100% rename from odkx-src/img/suitcase-intro/download_tab.png rename to src/img/suitcase-intro/download_tab.png diff --git a/odkx-src/img/suitcase-intro/login_screen.png b/src/img/suitcase-intro/login_screen.png similarity index 100% rename from odkx-src/img/suitcase-intro/login_screen.png rename to src/img/suitcase-intro/login_screen.png diff --git a/odkx-src/img/suitcase-intro/update_tab.png b/src/img/suitcase-intro/update_tab.png similarity index 100% rename from odkx-src/img/suitcase-intro/update_tab.png rename to src/img/suitcase-intro/update_tab.png diff --git a/odkx-src/img/suitcase-intro/upload_tab.png b/src/img/suitcase-intro/upload_tab.png similarity index 100% rename from odkx-src/img/suitcase-intro/upload_tab.png rename to src/img/suitcase-intro/upload_tab.png diff --git a/odkx-src/img/survey-sample-app/survey-demo-server-credential.png b/src/img/survey-sample-app/survey-demo-server-credential.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-demo-server-credential.png rename to src/img/survey-sample-app/survey-demo-server-credential.png diff --git a/odkx-src/img/survey-sample-app/survey-demo-services-sync.png b/src/img/survey-sample-app/survey-demo-services-sync.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-demo-services-sync.png rename to src/img/survey-sample-app/survey-demo-services-sync.png diff --git a/odkx-src/img/survey-sample-app/survey-demo-sync.png b/src/img/survey-sample-app/survey-demo-sync.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-demo-sync.png rename to src/img/survey-sample-app/survey-demo-sync.png diff --git a/odkx-src/img/survey-sample-app/survey-example-coffee-autofill.png b/src/img/survey-sample-app/survey-example-coffee-autofill.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-coffee-autofill.png rename to src/img/survey-sample-app/survey-example-coffee-autofill.png diff --git a/odkx-src/img/survey-sample-app/survey-example-coffee-prompt.png b/src/img/survey-sample-app/survey-example-coffee-prompt.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-coffee-prompt.png rename to src/img/survey-sample-app/survey-example-coffee-prompt.png diff --git a/odkx-src/img/survey-sample-app/survey-example-finish.png b/src/img/survey-sample-app/survey-example-finish.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-finish.png rename to src/img/survey-sample-app/survey-example-finish.png diff --git a/odkx-src/img/survey-sample-app/survey-example-graph-prompt.png b/src/img/survey-sample-app/survey-example-graph-prompt.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-graph-prompt.png rename to src/img/survey-sample-app/survey-example-graph-prompt.png diff --git a/odkx-src/img/survey-sample-app/survey-example-graph-render.png b/src/img/survey-sample-app/survey-example-graph-render.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-graph-render.png rename to src/img/survey-sample-app/survey-example-graph-render.png diff --git a/odkx-src/img/survey-sample-app/survey-example-graph-validate.png b/src/img/survey-sample-app/survey-example-graph-validate.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-graph-validate.png rename to src/img/survey-sample-app/survey-example-graph-validate.png diff --git a/odkx-src/img/survey-sample-app/survey-example-home.png b/src/img/survey-sample-app/survey-example-home.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-home.png rename to src/img/survey-sample-app/survey-example-home.png diff --git a/odkx-src/img/survey-sample-app/survey-example-initial-rating.png b/src/img/survey-sample-app/survey-example-initial-rating.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-initial-rating.png rename to src/img/survey-sample-app/survey-example-initial-rating.png diff --git a/odkx-src/img/survey-sample-app/survey-example-label-html.png b/src/img/survey-sample-app/survey-example-label-html.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-label-html.png rename to src/img/survey-sample-app/survey-example-label-html.png diff --git a/odkx-src/img/survey-sample-app/survey-example-label-media.png b/src/img/survey-sample-app/survey-example-label-media.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-label-media.png rename to src/img/survey-sample-app/survey-example-label-media.png diff --git a/odkx-src/img/survey-sample-app/survey-example-name-prompt.png b/src/img/survey-sample-app/survey-example-name-prompt.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-name-prompt.png rename to src/img/survey-sample-app/survey-example-name-prompt.png diff --git a/odkx-src/img/survey-sample-app/survey-example-name-use.png b/src/img/survey-sample-app/survey-example-name-use.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-name-use.png rename to src/img/survey-sample-app/survey-example-name-use.png diff --git a/odkx-src/img/survey-sample-app/survey-example-prompt-selection.png b/src/img/survey-sample-app/survey-example-prompt-selection.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-prompt-selection.png rename to src/img/survey-sample-app/survey-example-prompt-selection.png diff --git a/odkx-src/img/survey-sample-app/survey-example-start.png b/src/img/survey-sample-app/survey-example-start.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-start.png rename to src/img/survey-sample-app/survey-example-start.png diff --git a/odkx-src/img/survey-sample-app/survey-example-update-value.png b/src/img/survey-sample-app/survey-example-update-value.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-example-update-value.png rename to src/img/survey-sample-app/survey-example-update-value.png diff --git a/odkx-src/img/survey-sample-app/survey-password-settings.png b/src/img/survey-sample-app/survey-password-settings.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-password-settings.png rename to src/img/survey-sample-app/survey-password-settings.png diff --git a/odkx-src/img/survey-sample-app/survey-sample-form-list.png b/src/img/survey-sample-app/survey-sample-form-list.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-sample-form-list.png rename to src/img/survey-sample-app/survey-sample-form-list.png diff --git a/odkx-src/img/survey-sample-app/survey-scanning.png b/src/img/survey-sample-app/survey-scanning.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-scanning.png rename to src/img/survey-sample-app/survey-scanning.png diff --git a/odkx-src/img/survey-sample-app/survey-server-settings.png b/src/img/survey-sample-app/survey-server-settings.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-server-settings.png rename to src/img/survey-sample-app/survey-server-settings.png diff --git a/odkx-src/img/survey-sample-app/survey-server-url.png b/src/img/survey-sample-app/survey-server-url.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-server-url.png rename to src/img/survey-sample-app/survey-server-url.png diff --git a/odkx-src/img/survey-sample-app/survey-settings-button.png b/src/img/survey-sample-app/survey-settings-button.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-settings-button.png rename to src/img/survey-sample-app/survey-settings-button.png diff --git a/odkx-src/img/survey-sample-app/survey-signon-credential.png b/src/img/survey-sample-app/survey-signon-credential.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-signon-credential.png rename to src/img/survey-sample-app/survey-signon-credential.png diff --git a/odkx-src/img/survey-sample-app/survey-successful-authentication.png b/src/img/survey-sample-app/survey-successful-authentication.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-successful-authentication.png rename to src/img/survey-sample-app/survey-successful-authentication.png diff --git a/odkx-src/img/survey-sample-app/survey-sync-success.png b/src/img/survey-sample-app/survey-sync-success.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-sync-success.png rename to src/img/survey-sample-app/survey-sync-success.png diff --git a/odkx-src/img/survey-sample-app/survey-username-settings.png b/src/img/survey-sample-app/survey-username-settings.png similarity index 100% rename from odkx-src/img/survey-sample-app/survey-username-settings.png rename to src/img/survey-sample-app/survey-username-settings.png diff --git a/odkx-src/img/survey-using/Name.jpg b/src/img/survey-using/Name.jpg similarity index 100% rename from odkx-src/img/survey-using/Name.jpg rename to src/img/survey-using/Name.jpg diff --git a/odkx-src/img/survey-using/TableID.jpg b/src/img/survey-using/TableID.jpg similarity index 100% rename from odkx-src/img/survey-using/TableID.jpg rename to src/img/survey-using/TableID.jpg diff --git a/odkx-src/img/survey-using/build-variants.png b/src/img/survey-using/build-variants.png similarity index 100% rename from odkx-src/img/survey-using/build-variants.png rename to src/img/survey-using/build-variants.png diff --git a/odkx-src/img/survey-using/survey-example-start.png b/src/img/survey-using/survey-example-start.png similarity index 100% rename from odkx-src/img/survey-using/survey-example-start.png rename to src/img/survey-using/survey-example-start.png diff --git a/odkx-src/img/survey-using/survey-home-screen.png b/src/img/survey-using/survey-home-screen.png similarity index 100% rename from odkx-src/img/survey-using/survey-home-screen.png rename to src/img/survey-using/survey-home-screen.png diff --git a/odkx-src/img/survey-using/survey-household-member.png b/src/img/survey-using/survey-household-member.png similarity index 100% rename from odkx-src/img/survey-using/survey-household-member.png rename to src/img/survey-using/survey-household-member.png diff --git a/odkx-src/img/survey-using/survey-household-subform-launch.png b/src/img/survey-using/survey-household-subform-launch.png similarity index 100% rename from odkx-src/img/survey-using/survey-household-subform-launch.png rename to src/img/survey-using/survey-household-subform-launch.png diff --git a/odkx-src/img/survey-using/survey-household-subform-one.png b/src/img/survey-using/survey-household-subform-one.png similarity index 100% rename from odkx-src/img/survey-using/survey-household-subform-one.png rename to src/img/survey-using/survey-household-subform-one.png diff --git a/odkx-src/img/survey-using/survey-household-subform-two.png b/src/img/survey-using/survey-household-subform-two.png similarity index 100% rename from odkx-src/img/survey-using/survey-household-subform-two.png rename to src/img/survey-using/survey-household-subform-two.png diff --git a/odkx-src/img/survey-using/survey-instance-list-delete.png b/src/img/survey-using/survey-instance-list-delete.png similarity index 100% rename from odkx-src/img/survey-using/survey-instance-list-delete.png rename to src/img/survey-using/survey-instance-list-delete.png diff --git a/odkx-src/img/survey-using/survey-instance-list-edit.png b/src/img/survey-using/survey-instance-list-edit.png similarity index 100% rename from odkx-src/img/survey-using/survey-instance-list-edit.png rename to src/img/survey-using/survey-instance-list-edit.png diff --git a/odkx-src/img/survey-using/survey-instance-list.png b/src/img/survey-using/survey-instance-list.png similarity index 100% rename from odkx-src/img/survey-using/survey-instance-list.png rename to src/img/survey-using/survey-instance-list.png diff --git a/odkx-src/img/survey-using/survey-navigate-back.png b/src/img/survey-using/survey-navigate-back.png similarity index 100% rename from odkx-src/img/survey-using/survey-navigate-back.png rename to src/img/survey-using/survey-navigate-back.png diff --git a/odkx-src/img/survey-using/survey-navigate-forward.png b/src/img/survey-using/survey-navigate-forward.png similarity index 100% rename from odkx-src/img/survey-using/survey-navigate-forward.png rename to src/img/survey-using/survey-navigate-forward.png diff --git a/odkx-src/img/survey-using/survey-navigate-menu-list.png b/src/img/survey-using/survey-navigate-menu-list.png similarity index 100% rename from odkx-src/img/survey-using/survey-navigate-menu-list.png rename to src/img/survey-using/survey-navigate-menu-list.png diff --git a/odkx-src/img/survey-using/survey-navigate-menu.png b/src/img/survey-using/survey-navigate-menu.png similarity index 100% rename from odkx-src/img/survey-using/survey-navigate-menu.png rename to src/img/survey-using/survey-navigate-menu.png diff --git a/odkx-src/img/survey-using/survey-save-back.png b/src/img/survey-using/survey-save-back.png similarity index 100% rename from odkx-src/img/survey-using/survey-save-back.png rename to src/img/survey-using/survey-save-back.png diff --git a/odkx-src/img/survey-using/survey-save-end.png b/src/img/survey-using/survey-save-end.png similarity index 100% rename from odkx-src/img/survey-using/survey-save-end.png rename to src/img/survey-using/survey-save-end.png diff --git a/odkx-src/img/survey-using/survey-save-menu.png b/src/img/survey-using/survey-save-menu.png similarity index 100% rename from odkx-src/img/survey-using/survey-save-menu.png rename to src/img/survey-using/survey-save-menu.png diff --git a/odkx-src/img/sync-endpoint/endpoint-docker-swarm.png b/src/img/sync-endpoint/endpoint-docker-swarm.png similarity index 100% rename from odkx-src/img/sync-endpoint/endpoint-docker-swarm.png rename to src/img/sync-endpoint/endpoint-docker-swarm.png diff --git a/odkx-src/img/tables-managing/table-manager-delete.png b/src/img/tables-managing/table-manager-delete.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-delete.png rename to src/img/tables-managing/table-manager-delete.png diff --git a/odkx-src/img/tables-managing/table-manager-export-button.png b/src/img/tables-managing/table-manager-export-button.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-export-button.png rename to src/img/tables-managing/table-manager-export-button.png diff --git a/odkx-src/img/tables-managing/table-manager-export-finish.png b/src/img/tables-managing/table-manager-export-finish.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-export-finish.png rename to src/img/tables-managing/table-manager-export-finish.png diff --git a/odkx-src/img/tables-managing/table-manager-export-screen.png b/src/img/tables-managing/table-manager-export-screen.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-export-screen.png rename to src/img/tables-managing/table-manager-export-screen.png diff --git a/odkx-src/img/tables-managing/table-manager-export-select.png b/src/img/tables-managing/table-manager-export-select.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-export-select.png rename to src/img/tables-managing/table-manager-export-select.png diff --git a/odkx-src/img/tables-managing/table-manager-import-append.png b/src/img/tables-managing/table-manager-import-append.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-import-append.png rename to src/img/tables-managing/table-manager-import-append.png diff --git a/odkx-src/img/tables-managing/table-manager-import-button.png b/src/img/tables-managing/table-manager-import-button.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-import-button.png rename to src/img/tables-managing/table-manager-import-button.png diff --git a/odkx-src/img/tables-managing/table-manager-import-select-csv.png b/src/img/tables-managing/table-manager-import-select-csv.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager-import-select-csv.png rename to src/img/tables-managing/table-manager-import-select-csv.png diff --git a/odkx-src/img/tables-managing/table-manager.png b/src/img/tables-managing/table-manager.png similarity index 100% rename from odkx-src/img/tables-managing/table-manager.png rename to src/img/tables-managing/table-manager.png diff --git a/odkx-src/img/tables-managing/table-properties-add-color-rules.png b/src/img/tables-managing/table-properties-add-color-rules.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-add-color-rules.png rename to src/img/tables-managing/table-properties-add-color-rules.png diff --git a/odkx-src/img/tables-managing/table-properties-column-list.png b/src/img/tables-managing/table-properties-column-list.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-column-list.png rename to src/img/tables-managing/table-properties-column-list.png diff --git a/odkx-src/img/tables-managing/table-properties-column-properties.png b/src/img/tables-managing/table-properties-column-properties.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-column-properties.png rename to src/img/tables-managing/table-properties-column-properties.png diff --git a/odkx-src/img/tables-managing/table-properties-column-width.png b/src/img/tables-managing/table-properties-column-width.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-column-width.png rename to src/img/tables-managing/table-properties-column-width.png diff --git a/odkx-src/img/tables-managing/table-properties-edit-color-rules.png b/src/img/tables-managing/table-properties-edit-color-rules.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-edit-color-rules.png rename to src/img/tables-managing/table-properties-edit-color-rules.png diff --git a/odkx-src/img/tables-managing/table-properties-gear.png b/src/img/tables-managing/table-properties-gear.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-gear.png rename to src/img/tables-managing/table-properties-gear.png diff --git a/odkx-src/img/tables-managing/table-properties-home.png b/src/img/tables-managing/table-properties-home.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-home.png rename to src/img/tables-managing/table-properties-home.png diff --git a/odkx-src/img/tables-managing/table-properties-open.png b/src/img/tables-managing/table-properties-open.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-open.png rename to src/img/tables-managing/table-properties-open.png diff --git a/odkx-src/img/tables-managing/table-properties-spreadsheet-skinny-col.png b/src/img/tables-managing/table-properties-spreadsheet-skinny-col.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-spreadsheet-skinny-col.png rename to src/img/tables-managing/table-properties-spreadsheet-skinny-col.png diff --git a/odkx-src/img/tables-managing/table-properties-spreadsheet-wide-col.png b/src/img/tables-managing/table-properties-spreadsheet-wide-col.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-spreadsheet-wide-col.png rename to src/img/tables-managing/table-properties-spreadsheet-wide-col.png diff --git a/odkx-src/img/tables-managing/table-properties-status-color-rules.png b/src/img/tables-managing/table-properties-status-color-rules.png similarity index 100% rename from odkx-src/img/tables-managing/table-properties-status-color-rules.png rename to src/img/tables-managing/table-properties-status-color-rules.png diff --git a/odkx-src/img/tables-sample-app/tables-barcode-button.png b/src/img/tables-sample-app/tables-barcode-button.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-barcode-button.png rename to src/img/tables-sample-app/tables-barcode-button.png diff --git a/odkx-src/img/tables-sample-app/tables-barcode-results.png b/src/img/tables-sample-app/tables-barcode-results.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-barcode-results.png rename to src/img/tables-sample-app/tables-barcode-results.png diff --git a/odkx-src/img/tables-sample-app/tables-menu-prefs.png b/src/img/tables-sample-app/tables-menu-prefs.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-menu-prefs.png rename to src/img/tables-sample-app/tables-menu-prefs.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-home.png b/src/img/tables-sample-app/tables-sample-home.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-home.png rename to src/img/tables-sample-app/tables-sample-home.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-hope-detail.png b/src/img/tables-sample-app/tables-sample-hope-detail.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-hope-detail.png rename to src/img/tables-sample-app/tables-sample-hope-detail.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-hope-list.png b/src/img/tables-sample-app/tables-sample-hope-list.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-hope-list.png rename to src/img/tables-sample-app/tables-sample-hope-list.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-hope-nav.png b/src/img/tables-sample-app/tables-sample-hope-nav.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-hope-nav.png rename to src/img/tables-sample-app/tables-sample-hope-nav.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-hope-search.png b/src/img/tables-sample-app/tables-sample-hope-search.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-hope-search.png rename to src/img/tables-sample-app/tables-sample-hope-search.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-hope-six-weeks.png b/src/img/tables-sample-app/tables-sample-hope-six-weeks.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-hope-six-weeks.png rename to src/img/tables-sample-app/tables-sample-hope-six-weeks.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-jgi-follow.png b/src/img/tables-sample-app/tables-sample-jgi-follow.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-jgi-follow.png rename to src/img/tables-sample-app/tables-sample-jgi-follow.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-jgi-metadata.png b/src/img/tables-sample-app/tables-sample-jgi-metadata.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-jgi-metadata.png rename to src/img/tables-sample-app/tables-sample-jgi-metadata.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-jgi-nav.png b/src/img/tables-sample-app/tables-sample-jgi-nav.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-jgi-nav.png rename to src/img/tables-sample-app/tables-sample-jgi-nav.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-geo.png b/src/img/tables-sample-app/tables-sample-launch-geo.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-geo.png rename to src/img/tables-sample-app/tables-sample-launch-geo.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-hope.png b/src/img/tables-sample-app/tables-sample-launch-hope.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-hope.png rename to src/img/tables-sample-app/tables-sample-launch-hope.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-jgi.png b/src/img/tables-sample-app/tables-sample-launch-jgi.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-jgi.png rename to src/img/tables-sample-app/tables-sample-launch-jgi.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-navigate.png b/src/img/tables-sample-app/tables-sample-launch-navigate.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-navigate.png rename to src/img/tables-sample-app/tables-sample-launch-navigate.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-plot.png b/src/img/tables-sample-app/tables-sample-launch-plot.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-plot.png rename to src/img/tables-sample-app/tables-sample-launch-plot.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-spreadsheet.png b/src/img/tables-sample-app/tables-sample-launch-spreadsheet.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-spreadsheet.png rename to src/img/tables-sample-app/tables-sample-launch-spreadsheet.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-launch-tea.png b/src/img/tables-sample-app/tables-sample-launch-tea.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-launch-tea.png rename to src/img/tables-sample-app/tables-sample-launch-tea.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-map-launch.png b/src/img/tables-sample-app/tables-sample-map-launch.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-map-launch.png rename to src/img/tables-sample-app/tables-sample-map-launch.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-map.png b/src/img/tables-sample-app/tables-sample-map.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-map.png rename to src/img/tables-sample-app/tables-sample-map.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-navigate-no-point.png b/src/img/tables-sample-app/tables-sample-navigate-no-point.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-navigate-no-point.png rename to src/img/tables-sample-app/tables-sample-navigate-no-point.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-navigate-point.png b/src/img/tables-sample-app/tables-sample-navigate-point.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-navigate-point.png rename to src/img/tables-sample-app/tables-sample-navigate-point.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-chooser.png b/src/img/tables-sample-app/tables-sample-plot-chooser.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-chooser.png rename to src/img/tables-sample-app/tables-sample-plot-chooser.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-graph-new-visit.png b/src/img/tables-sample-app/tables-sample-plot-graph-new-visit.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-graph-new-visit.png rename to src/img/tables-sample-app/tables-sample-plot-graph-new-visit.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-graph-original.png b/src/img/tables-sample-app/tables-sample-plot-graph-original.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-graph-original.png rename to src/img/tables-sample-app/tables-sample-plot-graph-original.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-map.png b/src/img/tables-sample-app/tables-sample-plot-map.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-map.png rename to src/img/tables-sample-app/tables-sample-plot-map.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-survey.png b/src/img/tables-sample-app/tables-sample-plot-survey.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-survey.png rename to src/img/tables-sample-app/tables-sample-plot-survey.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-plot-updated.png b/src/img/tables-sample-app/tables-sample-plot-updated.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-plot-updated.png rename to src/img/tables-sample-app/tables-sample-plot-updated.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-scan.png b/src/img/tables-sample-app/tables-sample-scan.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-scan.png rename to src/img/tables-sample-app/tables-sample-scan.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-spreadsheet.png b/src/img/tables-sample-app/tables-sample-spreadsheet.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-spreadsheet.png rename to src/img/tables-sample-app/tables-sample-spreadsheet.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-survey-edit.png b/src/img/tables-sample-app/tables-sample-survey-edit.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-survey-edit.png rename to src/img/tables-sample-app/tables-sample-survey-edit.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-survey-launch.png b/src/img/tables-sample-app/tables-sample-survey-launch.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-survey-launch.png rename to src/img/tables-sample-app/tables-sample-survey-launch.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-custom.png b/src/img/tables-sample-app/tables-sample-tea-custom.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-custom.png rename to src/img/tables-sample-app/tables-sample-tea-custom.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-detail-sublist-edit.png b/src/img/tables-sample-app/tables-sample-tea-detail-sublist-edit.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-detail-sublist-edit.png rename to src/img/tables-sample-app/tables-sample-tea-detail-sublist-edit.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-detail-sublist.png b/src/img/tables-sample-app/tables-sample-tea-detail-sublist.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-detail-sublist.png rename to src/img/tables-sample-app/tables-sample-tea-detail-sublist.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-detail.png b/src/img/tables-sample-app/tables-sample-tea-detail.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-detail.png rename to src/img/tables-sample-app/tables-sample-tea-detail.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-houses-list.png b/src/img/tables-sample-app/tables-sample-tea-houses-list.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-houses-list.png rename to src/img/tables-sample-app/tables-sample-tea-houses-list.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-tea-list.png b/src/img/tables-sample-app/tables-sample-tea-list.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-tea-list.png rename to src/img/tables-sample-app/tables-sample-tea-list.png diff --git a/odkx-src/img/tables-sample-app/tables-sample-update-value.png b/src/img/tables-sample-app/tables-sample-update-value.png similarity index 100% rename from odkx-src/img/tables-sample-app/tables-sample-update-value.png rename to src/img/tables-sample-app/tables-sample-update-value.png diff --git a/odkx-src/img/tables-using/tables-change-view-button.png b/src/img/tables-using/tables-change-view-button.png similarity index 100% rename from odkx-src/img/tables-using/tables-change-view-button.png rename to src/img/tables-using/tables-change-view-button.png diff --git a/odkx-src/img/tables-using/tables-change-view-menu-full.png b/src/img/tables-using/tables-change-view-menu-full.png similarity index 100% rename from odkx-src/img/tables-using/tables-change-view-menu-full.png rename to src/img/tables-using/tables-change-view-menu-full.png diff --git a/odkx-src/img/tables-using/tables-change-view-menu-no-map.png b/src/img/tables-using/tables-change-view-menu-no-map.png similarity index 100% rename from odkx-src/img/tables-using/tables-change-view-menu-no-map.png rename to src/img/tables-using/tables-change-view-menu-no-map.png diff --git a/odkx-src/img/tables-using/tables-custom-view-jgi.png b/src/img/tables-using/tables-custom-view-jgi.png similarity index 100% rename from odkx-src/img/tables-using/tables-custom-view-jgi.png rename to src/img/tables-using/tables-custom-view-jgi.png diff --git a/odkx-src/img/tables-using/tables-custom-view-tea.png b/src/img/tables-using/tables-custom-view-tea.png similarity index 100% rename from odkx-src/img/tables-using/tables-custom-view-tea.png rename to src/img/tables-using/tables-custom-view-tea.png diff --git a/odkx-src/img/tables-using/tables-detail-view-edit-record.png b/src/img/tables-using/tables-detail-view-edit-record.png similarity index 100% rename from odkx-src/img/tables-using/tables-detail-view-edit-record.png rename to src/img/tables-using/tables-detail-view-edit-record.png diff --git a/odkx-src/img/tables-using/tables-detail-view-geo.png b/src/img/tables-using/tables-detail-view-geo.png similarity index 100% rename from odkx-src/img/tables-using/tables-detail-view-geo.png rename to src/img/tables-using/tables-detail-view-geo.png diff --git a/odkx-src/img/tables-using/tables-detail-view-tea.png b/src/img/tables-using/tables-detail-view-tea.png similarity index 100% rename from odkx-src/img/tables-using/tables-detail-view-tea.png rename to src/img/tables-using/tables-detail-view-tea.png diff --git a/odkx-src/img/tables-using/tables-detail-with-sublist-view.png b/src/img/tables-using/tables-detail-with-sublist-view.png similarity index 100% rename from odkx-src/img/tables-using/tables-detail-with-sublist-view.png rename to src/img/tables-using/tables-detail-with-sublist-view.png diff --git a/odkx-src/img/tables-using/tables-graph-view-hope.png b/src/img/tables-using/tables-graph-view-hope.png similarity index 100% rename from odkx-src/img/tables-using/tables-graph-view-hope.png rename to src/img/tables-using/tables-graph-view-hope.png diff --git a/odkx-src/img/tables-using/tables-graph-view-plot.png b/src/img/tables-using/tables-graph-view-plot.png similarity index 100% rename from odkx-src/img/tables-using/tables-graph-view-plot.png rename to src/img/tables-using/tables-graph-view-plot.png diff --git a/odkx-src/img/tables-using/tables-home-launch-manager.png b/src/img/tables-using/tables-home-launch-manager.png similarity index 100% rename from odkx-src/img/tables-using/tables-home-launch-manager.png rename to src/img/tables-using/tables-home-launch-manager.png diff --git a/odkx-src/img/tables-using/tables-home-table-manager.png b/src/img/tables-using/tables-home-table-manager.png similarity index 100% rename from odkx-src/img/tables-using/tables-home-table-manager.png rename to src/img/tables-using/tables-home-table-manager.png diff --git a/odkx-src/img/tables-using/tables-list-view-hope.png b/src/img/tables-using/tables-list-view-hope.png similarity index 100% rename from odkx-src/img/tables-using/tables-list-view-hope.png rename to src/img/tables-using/tables-list-view-hope.png diff --git a/odkx-src/img/tables-using/tables-list-view-new-record.png b/src/img/tables-using/tables-list-view-new-record.png similarity index 100% rename from odkx-src/img/tables-using/tables-list-view-new-record.png rename to src/img/tables-using/tables-list-view-new-record.png diff --git a/odkx-src/img/tables-using/tables-list-view-tea.png b/src/img/tables-using/tables-list-view-tea.png similarity index 100% rename from odkx-src/img/tables-using/tables-list-view-tea.png rename to src/img/tables-using/tables-list-view-tea.png diff --git a/odkx-src/img/tables-using/tables-map-view-geo.png b/src/img/tables-using/tables-map-view-geo.png similarity index 100% rename from odkx-src/img/tables-using/tables-map-view-geo.png rename to src/img/tables-using/tables-map-view-geo.png diff --git a/odkx-src/img/tables-using/tables-map-view-tea.png b/src/img/tables-using/tables-map-view-tea.png similarity index 100% rename from odkx-src/img/tables-using/tables-map-view-tea.png rename to src/img/tables-using/tables-map-view-tea.png diff --git a/odkx-src/img/tables-using/tables-navigate-view.png b/src/img/tables-using/tables-navigate-view.png similarity index 100% rename from odkx-src/img/tables-using/tables-navigate-view.png rename to src/img/tables-using/tables-navigate-view.png diff --git a/odkx-src/img/tables-using/tables-spreadsheet-edit-record.png b/src/img/tables-using/tables-spreadsheet-edit-record.png similarity index 100% rename from odkx-src/img/tables-using/tables-spreadsheet-edit-record.png rename to src/img/tables-using/tables-spreadsheet-edit-record.png diff --git a/odkx-src/img/tables-using/tables-spreadsheet-view.png b/src/img/tables-using/tables-spreadsheet-view.png similarity index 100% rename from odkx-src/img/tables-using/tables-spreadsheet-view.png rename to src/img/tables-using/tables-spreadsheet-view.png diff --git a/odkx-src/img/xlsxconverter/survey-screen.png b/src/img/xlsxconverter/survey-screen.png similarity index 100% rename from odkx-src/img/xlsxconverter/survey-screen.png rename to src/img/xlsxconverter/survey-screen.png diff --git a/odkx-src/index.rst b/src/index.rst similarity index 86% rename from odkx-src/index.rst rename to src/index.rst index 2a65ce4d..85161b47 100644 --- a/odkx-src/index.rst +++ b/src/index.rst @@ -1,23 +1,25 @@ -.. spelling:: +.. spelling:word-list:: geotagging -ODK-X documentation +ODK-X Documentation ================================================ -.. _odk-2-introduction: +.. _odk-x-introduction: The ODK-X Tool Suite is free and open-source software for collecting, managing, and using data in resource-constrained environments. -In ODK-X, developers and data managers can create data management applications that consist of survey forms as well as Javascript-based apps. These allow you to render a fully customizable user interface to gather, manage, and visualize data on an Android device. +In ODK-X developers and data managers can create data management applications that consist of survey forms as well as Javascript-based apps. These allow you to render a fully customizable user interface to gather, manage, and visualize data on an Android device. -A major goal of these ODK-X tools was to eliminate the need for any software engineering skills (for example: Java programming, Android software development environment, source code version control systems) when designing data management applications. The skills required to build a data management application range from scripting a form definition in XLSX (similar to constructing ODK Collect forms using XLSX files processed by the XLSForm tool), to simple web programming -- modifying boilerplate HTML and JavaScript for custom presentations of the collected data. Advanced web programmers can also easily implement entirely custom web pages. +A major goal of these ODK-X tools was to eliminate the need for any software engineering skills (for example: Java programming, Android software development environment, source code version control systems) when designing data management applications. The skills required to build a data management application range from scripting a form definition in XLSX (similar to constructing ODK Collect forms using XLSX files processed by the XLSForm tool), to simple web programming -- modifying boilerplate HTML and JavaScript for custom presentations of the collected data. Advanced web programmers can implement entirely custom web pages. -.. _odk-2-intro-key-features: +.. _odk-x-intro-key-features: Key features ------------ +.. _odk-x-two-way-data: + Two-way data sync """"""""""""""""" A two-way synchronization protocol allows you to create data management applications with: @@ -28,27 +30,37 @@ A two-way synchronization protocol allows you to create data management applicat - Data can be synced to all devices from the server through manual trigger by the user, by clicking the sync button. +.. _odk-x-offline-data: + Offline data collection """"""""""""""""""""""" Allows users to collect data without an internet connection. Form data can be synced to the server when the user has internet access. +.. _odk-x-linked-surveys: + Linked and embedded surveys """"""""""""""""""""""""""" ODK-X tools enable you to open and edit other surveys with links back to the originating survey. Create a sub-form (nested) relationship among surveys (for example: household and household-member) or relational links across your data (for example: tea-houses and tea-types). +.. _odk-x-view-on-device: + View data on device """"""""""""""""""" Investigate and visualize entire datasets directly on the device through graphical, map, tabular displays, and filtered views. +.. _odk-x-uac: + User access control """""""""""""""""""" -Control data viewing, editing and deleting privileges for different users and groups. +Control data viewing, editing, and deleting privileges for different users and groups. + +.. _customize-flows-and-appearance: Customizable survey flows and appearance """""""""""""""""""""""""""""""""""""""" Use basic web development (HTML, JavaScript, and CSS) to specify the layout of nearly all the screens viewed by the data collectors. -.. _odk-2-intro-list-of-tools: +.. _odk-x-intro-list-of-tools: List of Tools -------------- @@ -64,13 +76,15 @@ The ODK-X Tool Suite consists of: .. note:: ODK-X mobile applications are available for Android devices only. -.. _odk-2-intro-selecting-the-right-tools: +.. _odk-x-intro-selecting-the-right-tools: Selecting the Right Tools to Use -------------------------------- The ODK-X tools can operate independently – you are not required to use all the tools, or even install them on your device. Some example tool combinations are: +.. _odk-x-data-collection: + Field data collection """"""""""""""""""""" @@ -79,6 +93,8 @@ Field data collection - ODK-X Services: data sync and database access - ODK-X Cloud Endpoints: data and application files cloud server +.. _data-sharing-and-visualization: + Data sharing and visualization """""""""""""""""""""""""""""" @@ -88,7 +104,7 @@ Data sharing and visualization See :doc:`reference-apps` for examples of ODK-X tools in use. -.. _odk-2-intro-trying-it-out: +.. _odk-x-intro-trying-it-out: Trying It Out ------------- diff --git a/odkx-src/injected-interfaces.rst b/src/injected-interfaces.rst similarity index 99% rename from odkx-src/injected-interfaces.rst rename to src/injected-interfaces.rst index b9c7022d..50711b75 100644 --- a/odkx-src/injected-interfaces.rst +++ b/src/injected-interfaces.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: odkCommon odkData diff --git a/odkx-src/internationalization.rst b/src/internationalization.rst similarity index 99% rename from odkx-src/internationalization.rst rename to src/internationalization.rst index b360d523..2c2ed8a0 100644 --- a/odkx-src/internationalization.rst +++ b/src/internationalization.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: formIds tableId diff --git a/odkx-src/logging-capabilities-of-apps.rst b/src/logging-capabilities-of-apps.rst similarity index 100% rename from odkx-src/logging-capabilities-of-apps.rst rename to src/logging-capabilities-of-apps.rst diff --git a/odkx-src/notify-install.rst b/src/notify-install.rst similarity index 100% rename from odkx-src/notify-install.rst rename to src/notify-install.rst diff --git a/odkx-src/notify-using.rst b/src/notify-using.rst similarity index 100% rename from odkx-src/notify-using.rst rename to src/notify-using.rst diff --git a/odkx-src/odk-2-sync-protocol.rst b/src/odk-x-sync-protocol.rst similarity index 99% rename from odkx-src/odk-2-sync-protocol.rst rename to src/odk-x-sync-protocol.rst index 73244ea9..060acf36 100644 --- a/odkx-src/odk-2-sync-protocol.rst +++ b/src/odk-x-sync-protocol.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: tableId rowPath diff --git a/odkx-src/reference-apps.rst b/src/reference-apps.rst similarity index 100% rename from odkx-src/reference-apps.rst rename to src/reference-apps.rst diff --git a/odkx-src/scan-data.rst b/src/scan-data.rst similarity index 100% rename from odkx-src/scan-data.rst rename to src/scan-data.rst diff --git a/odkx-src/scan-form-designer-intro.rst b/src/scan-form-designer-intro.rst similarity index 100% rename from odkx-src/scan-form-designer-intro.rst rename to src/scan-form-designer-intro.rst diff --git a/odkx-src/scan-form-designer-using.rst b/src/scan-form-designer-using.rst similarity index 100% rename from odkx-src/scan-form-designer-using.rst rename to src/scan-form-designer-using.rst diff --git a/odkx-src/scan-install.rst b/src/scan-install.rst similarity index 100% rename from odkx-src/scan-install.rst rename to src/scan-install.rst diff --git a/odkx-src/scan-intro.rst b/src/scan-intro.rst similarity index 100% rename from odkx-src/scan-intro.rst rename to src/scan-intro.rst diff --git a/odkx-src/scan-managing.rst b/src/scan-managing.rst similarity index 100% rename from odkx-src/scan-managing.rst rename to src/scan-managing.rst diff --git a/odkx-src/scan-using.rst b/src/scan-using.rst similarity index 99% rename from odkx-src/scan-using.rst rename to src/scan-using.rst index 8210b428..e76f8a61 100644 --- a/odkx-src/scan-using.rst +++ b/src/scan-using.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Plexiglass Using ODK-X Scan diff --git a/odkx-src/select-tool-suite.rst b/src/select-tool-suite.rst similarity index 100% rename from odkx-src/select-tool-suite.rst rename to src/select-tool-suite.rst diff --git a/odkx-src/services-internals.rst b/src/services-internals.rst similarity index 100% rename from odkx-src/services-internals.rst rename to src/services-internals.rst diff --git a/odkx-src/services-managing.rst b/src/services-managing.rst similarity index 100% rename from odkx-src/services-managing.rst rename to src/services-managing.rst diff --git a/odkx-src/services-using.rst b/src/services-using.rst similarity index 100% rename from odkx-src/services-using.rst rename to src/services-using.rst diff --git a/odkx-src/services.rst b/src/services.rst similarity index 100% rename from odkx-src/services.rst rename to src/services.rst diff --git a/odkx-src/spelling_wordlist.txt b/src/spelling_wordlist.txt similarity index 100% rename from odkx-src/spelling_wordlist.txt rename to src/spelling_wordlist.txt diff --git a/odkx-src/suitcase-intro.rst b/src/suitcase-intro.rst similarity index 100% rename from odkx-src/suitcase-intro.rst rename to src/suitcase-intro.rst diff --git a/odkx-src/survey-controller-actions.rst b/src/survey-controller-actions.rst similarity index 99% rename from odkx-src/survey-controller-actions.rst rename to src/survey-controller-actions.rst index 1531b8d8..06834869 100644 --- a/odkx-src/survey-controller-actions.rst +++ b/src/survey-controller-actions.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: advanceOnReturn popHistoryOnExit diff --git a/odkx-src/survey-form-processing.rst b/src/survey-form-processing.rst similarity index 99% rename from odkx-src/survey-form-processing.rst rename to src/survey-form-processing.rst index f2468245..68460a7f 100644 --- a/odkx-src/survey-form-processing.rst +++ b/src/survey-form-processing.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: ctxt requirejs diff --git a/odkx-src/survey-sample-app-end.rst b/src/survey-sample-app-end.rst similarity index 100% rename from odkx-src/survey-sample-app-end.rst rename to src/survey-sample-app-end.rst diff --git a/odkx-src/survey-sample-app-install.rst b/src/survey-sample-app-install.rst similarity index 100% rename from odkx-src/survey-sample-app-install.rst rename to src/survey-sample-app-install.rst diff --git a/odkx-src/survey-sample-app-navigate-form.rst b/src/survey-sample-app-navigate-form.rst similarity index 99% rename from odkx-src/survey-sample-app-navigate-form.rst rename to src/survey-sample-app-navigate-form.rst index 088edc49..c45d0c50 100644 --- a/odkx-src/survey-sample-app-navigate-form.rst +++ b/src/survey-sample-app-navigate-form.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulate prepopulated diff --git a/odkx-src/survey-sample-app-open-form.rst b/src/survey-sample-app-open-form.rst similarity index 100% rename from odkx-src/survey-sample-app-open-form.rst rename to src/survey-sample-app-open-form.rst diff --git a/odkx-src/survey-sample-app-overview.rst b/src/survey-sample-app-overview.rst similarity index 100% rename from odkx-src/survey-sample-app-overview.rst rename to src/survey-sample-app-overview.rst diff --git a/odkx-src/survey-sample-app.rst b/src/survey-sample-app.rst similarity index 100% rename from odkx-src/survey-sample-app.rst rename to src/survey-sample-app.rst diff --git a/odkx-src/survey-using.rst b/src/survey-using.rst similarity index 99% rename from odkx-src/survey-using.rst rename to src/survey-using.rst index 6a747cb1..b47b0893 100644 --- a/odkx-src/survey-using.rst +++ b/src/survey-using.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulated myapp diff --git a/odkx-src/sync-endpoint-cloud-setup.rst b/src/sync-endpoint-cloud-setup.rst similarity index 99% rename from odkx-src/sync-endpoint-cloud-setup.rst rename to src/sync-endpoint-cloud-setup.rst index d1600349..2ef25a95 100644 --- a/odkx-src/sync-endpoint-cloud-setup.rst +++ b/src/sync-endpoint-cloud-setup.rst @@ -1,9 +1,10 @@ -.. spelling:: +.. spelling:word-list:: phpLDAPadmin readonly dns letsencrypt subdomain + ps .. _sync-endpoint-cloud-setup: @@ -378,7 +379,7 @@ Connecting to your virtual machine If there are 9 (or 7 without https) services running under the name `syncldap`, everything is running properly. - There should be 9 services (or 7 without https) as shown by docker stack ls while 7 services (or 6 without https) actively running as shown by the command docker ps. + There should be 9 services (or 7 without https) as shown by docker stack ls while 7 services (or 6 without https) actively running as shown by the command ``docker ps``. 5. After obtaining the IP address of the virtual machine you created, navigate to https://[IP_ADDRESS]:40000 within your browser in order to access the services screen. It will warn you about your connection not being private but should give you the option to proceed at the bottom. diff --git a/odkx-src/sync-endpoint-manual-setup.rst b/src/sync-endpoint-manual-setup.rst similarity index 99% rename from odkx-src/sync-endpoint-manual-setup.rst rename to src/sync-endpoint-manual-setup.rst index e3124bac..0f725309 100644 --- a/odkx-src/sync-endpoint-manual-setup.rst +++ b/src/sync-endpoint-manual-setup.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: phpLDAPadmin readonly ldapUrl diff --git a/src/sync-endpoint-pla-webaccess.md b/src/sync-endpoint-pla-webaccess.md new file mode 100644 index 00000000..37ef37cc --- /dev/null +++ b/src/sync-endpoint-pla-webaccess.md @@ -0,0 +1,66 @@ +```{spelling} + yml + phpLDAPAdmin + pla + PLA + env + CVE +``` +```{toctree} + :maxdepth: 0 + :hidden: +``` + +# LDAP Web administration +The sync-endpoint default setup [(available at GitHub)](https://github.com/odk-x/sync-endpoint-default-setup) comes with a web based LDAP administration utility called phpLDAPAdmin. +However, by default it is not exposed directly outside of the docker stack since it is not relevant in all installation scenarios. + +----------------------------------------------------------------- +**Enabling web access to phpLDAPAdmin** +In some scenarios it can be helpful to add remote web access to the user administration interface (PhpLdapAdmin) in order to facilitate user creation etc. This section will guide you to enabling access to the web administration interface at the web address _https://\/pla_ + +> __Warning:__ Remember to change the default password for phpLDAPAdmin _before_ enabling public access - this can preferably be changed as part of the setup wizard, or done manually in the file ```ldap.env``` (remember to restart/clear caches after modifying manually) + +_Note: While we consider PLA reasonably safe, exposing an extra public https endpoint always introduces security risks. Consider enabling the access only when it is needed and then leave it disabled the rest of the time (e.g. by #commenting the lines out in ```sync-endpoint-locations.conf```). Also make sure to stay up to date on relevant security updates on e.g. [CVE Details](https://www.cvedetails.com/vulnerability-list/vendor_id-20973/product_id-61907/Phpldapadmin-Project-Phpldapadmin.html) or the [phpLdapAdmin project site](https://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page)_ + + +----------------------------------------------------------------- +**Customized files**: +- __config/nginx/sync-endpoint-locations.conf__: This file controls what locations Nginx serves. To add access to https://_your server_/pla add a section like + ```{code-block} nginx + location ^~ /pla/ { + proxy_pass https://phpldapadmin/; + + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header Host $host:$server_port; + + proxy_redirect default; + } + ``` +- __docker-compose.yml__: The ```phpldapadmin``` container needs access to the sync-network, and let's give it a hostname while we're at it (the added lines are marked with '\<--- MODIFIED HERE' - the marker itself should not be included in the yml file): + ```{code-block} yaml + phpldapadmin: + image: odk/phpldapadmin + deploy: + replicas: 1 + ports: + - "${PHP_LDAPADMIN_PORT:-40000}:443" + networks: + - ldap-network + - sync-network <--- MODIFIED HERE + hostname: phpldapadmin <--- MODIFIED HERE + env_file: + - ldap.env + ``` + +----------------------------------------------------------------- +**Closing remarks** +When all is said and done, a ```git status``` on the odk-x folder should reveal the following file changes +- config/https.env: (updated by the python setup wizard) updated domain and e-mail address (used to create the lets-encrypt SSL certs) +- __config/nginx/sync-endpoint-locations.conf__: (see above) +- __docker-compose.yml__: (see above) +- __ldap.env__: This file contains the admin password for PLA (only modified if it was selected during the setup wizard) + diff --git a/odkx-src/sync-endpoint-user-instructions.rst b/src/sync-endpoint-user-instructions.rst similarity index 87% rename from odkx-src/sync-endpoint-user-instructions.rst rename to src/sync-endpoint-user-instructions.rst index a0ae59ad..3ca21a30 100644 --- a/odkx-src/sync-endpoint-user-instructions.rst +++ b/src/sync-endpoint-user-instructions.rst @@ -1,12 +1,11 @@ -.. spelling:: +.. spelling:word-list:: ldap - phpLDAPadmin + phpLDAPAdmin readonly dns letsencrypt subdomain - - + .. _sync-endpoint-setup-create-user: Users and Groups @@ -14,7 +13,12 @@ Users and Groups .. _sync-endpoint-ldap-users: -A user needs to be assigned to a group within ODK-X Sync Endpoint to set their permissions and roles for ODK-X apps. More information about groups and roles is available in :ref:`Data Permission Filters` section. +A user needs to be assigned to a group within ODK-X Sync Endpoint to set their permissions and roles for ODK-X apps. +More information about groups and roles is available in :ref:`Data Permission Filters` section. + +The instructions below assumes you have access to the phpLDAPAdmin web administration interface. Note that this is not enabled by default, +so you may want to enable it by following the instructions in the :doc:`sync-endpoint-pla-webaccess` documentation. + Creating users @@ -23,7 +27,7 @@ Creating users 1. Click: :guilabel:`login` on the left and login as *admin*. | Start by logging into the ldap-service. Copy the login below. | - login DN: :guilabel:`cn=admin,dc=example,dc=org` - | - password: :guilabel:`admin` + | - password: :guilabel:`admin` (or the password you chose in the setup wizard) .. image:: /img/setup-create-user/setup-user1.png :width: 600 diff --git a/odkx-src/sync-endpoint.rst b/src/sync-endpoint.rst similarity index 95% rename from odkx-src/sync-endpoint.rst rename to src/sync-endpoint.rst index 353accb0..ef38dd9a 100644 --- a/odkx-src/sync-endpoint.rst +++ b/src/sync-endpoint.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: microservice phpLDAPadmin readonly @@ -6,6 +6,7 @@ Certbot OpenLDAP ldif + microservices utils ldap env @@ -21,7 +22,7 @@ ODK-X Sync Endpoint .. _sync-endpoint-intro: -:dfn:`ODK-X Sync Endpoint` is an implementation of :doc:`cloud-endpoints-intro`. It runs a server inside a :program:`Docker` container that implements the `ODK-X REST Protocol `_. +:dfn:`ODK-X Sync Endpoint` is an implementation of :doc:`cloud-endpoints-intro`. It runs a server inside a :program:`Docker` container that implements the `ODK-X REST Protocol `_. It communicates with your ODK-X Android applications to synchronize your data and application files. @@ -72,7 +73,7 @@ By keeping conflict detection at the row-level, multiple users can make updates A conflict is defined as two users with different updates to the same row. ODK-X uses table locks on the server to ensure only a single change to a data row can occur at any time. When the :dfn:`runner-up` client finally obtains the lock and attempts to alter the same row, the update will be rejected as a conflict. Once a conflict is detected, the user manually determines which version of data is correct between their pending changes on the local client and the updated data row on the server. The rationale for having the user who caused the conflict also resolve the conflict is that the user was recently working with data and is likely to have the necessary information and context on how best to resolve the conflict. -You can learn more here: :doc:`odk-2-sync-protocol` +You can learn more here: :doc:`odk-x-sync-protocol` .. _sync-endpoint-auth: @@ -137,12 +138,20 @@ If you'd prefer to use the :program:`OpenLDAP` command line utilities, they're i .. note:: - The phpLDAPadmin server listens on port 40000, it is important that you do not expose this port to the internet. + The phpLDAPadmin server listens on port 40000, it is important that you do not expose this port to the internet or that you take steps to secure the web administration interface. -The following guides assume that you're using :program:`phpLDAPadmin`. In order to perform the following operation, please go to `https://127.0.0.1:40000` in your browser. +The following guides assume that you're using :program:`phpLDAPadmin`. In order to perform the following operation, please go to `https://127.0.0.1:40000` in your browser. + +If you do not have access to the localhost (e.g. if you are installing the sync endpoint as a docker stack at a cloud provider) may want to enable web access by following the instructions in the :doc:`sync-endpoint-pla-webaccess` documentation. Recommended :ref:`Creating a Sample User ` tutorial with images. +.. toctree:: + :maxdepth: 2 + :hidden: + :caption: Enable web access to phpLDAPAdmin + + sync-endpoint-pla-webaccess .. _sync-endpoint-advanced: diff --git a/odkx-src/tables-intents.rst b/src/tables-intents.rst similarity index 99% rename from odkx-src/tables-intents.rst rename to src/tables-intents.rst index 9c534902..da14556d 100644 --- a/odkx-src/tables-intents.rst +++ b/src/tables-intents.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: extras dispatchStruct zxing diff --git a/odkx-src/tables-internals.rst b/src/tables-internals.rst similarity index 100% rename from odkx-src/tables-internals.rst rename to src/tables-internals.rst diff --git a/odkx-src/tables-managing.rst b/src/tables-managing.rst similarity index 99% rename from odkx-src/tables-managing.rst rename to src/tables-managing.rst index 437ce3f3..87bb1c6c 100644 --- a/odkx-src/tables-managing.rst +++ b/src/tables-managing.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Goodall allfields teahouse diff --git a/odkx-src/tables-sample-app-custom-home.rst b/src/tables-sample-app-custom-home.rst similarity index 100% rename from odkx-src/tables-sample-app-custom-home.rst rename to src/tables-sample-app-custom-home.rst diff --git a/odkx-src/tables-sample-app-end.rst b/src/tables-sample-app-end.rst similarity index 100% rename from odkx-src/tables-sample-app-end.rst rename to src/tables-sample-app-end.rst diff --git a/odkx-src/tables-sample-app-geotagger.rst b/src/tables-sample-app-geotagger.rst similarity index 99% rename from odkx-src/tables-sample-app-geotagger.rst rename to src/tables-sample-app-geotagger.rst index 593fe909..922fa0d6 100644 --- a/odkx-src/tables-sample-app-geotagger.rst +++ b/src/tables-sample-app-geotagger.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: geotagging diff --git a/odkx-src/tables-sample-app-hope.rst b/src/tables-sample-app-hope.rst similarity index 100% rename from odkx-src/tables-sample-app-hope.rst rename to src/tables-sample-app-hope.rst diff --git a/odkx-src/tables-sample-app-install.rst b/src/tables-sample-app-install.rst similarity index 100% rename from odkx-src/tables-sample-app-install.rst rename to src/tables-sample-app-install.rst diff --git a/odkx-src/tables-sample-app-jgi.rst b/src/tables-sample-app-jgi.rst similarity index 100% rename from odkx-src/tables-sample-app-jgi.rst rename to src/tables-sample-app-jgi.rst diff --git a/odkx-src/tables-sample-app-overview.rst b/src/tables-sample-app-overview.rst similarity index 98% rename from odkx-src/tables-sample-app-overview.rst rename to src/tables-sample-app-overview.rst index 384c685d..55051de9 100644 --- a/odkx-src/tables-sample-app-overview.rst +++ b/src/tables-sample-app-overview.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: geotagging Teahouse diff --git a/odkx-src/tables-sample-app-plot.rst b/src/tables-sample-app-plot.rst similarity index 99% rename from odkx-src/tables-sample-app-plot.rst rename to src/tables-sample-app-plot.rst index 0080072c..abf0ceb5 100644 --- a/odkx-src/tables-sample-app-plot.rst +++ b/src/tables-sample-app-plot.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: prepopulated diff --git a/odkx-src/tables-sample-app-tea-houses.rst b/src/tables-sample-app-tea-houses.rst similarity index 99% rename from odkx-src/tables-sample-app-tea-houses.rst rename to src/tables-sample-app-tea-houses.rst index a6ce59eb..ca53d42d 100644 --- a/odkx-src/tables-sample-app-tea-houses.rst +++ b/src/tables-sample-app-tea-houses.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: teahouse diff --git a/odkx-src/tables-sample-app.rst b/src/tables-sample-app.rst similarity index 100% rename from odkx-src/tables-sample-app.rst rename to src/tables-sample-app.rst diff --git a/odkx-src/tables-using.rst b/src/tables-using.rst similarity index 100% rename from odkx-src/tables-using.rst rename to src/tables-using.rst diff --git a/odkx-src/tables-web-pages.rst b/src/tables-web-pages.rst similarity index 99% rename from odkx-src/tables-web-pages.rst rename to src/tables-web-pages.rst index dc57f9a5..af2901c6 100644 --- a/odkx-src/tables-web-pages.rst +++ b/src/tables-web-pages.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: viewport diff --git a/odkx-src/tables.rst b/src/tables.rst similarity index 100% rename from odkx-src/tables.rst rename to src/tables.rst diff --git a/odkx-src/trouble-shooting.rst b/src/trouble-shooting.rst similarity index 96% rename from odkx-src/trouble-shooting.rst rename to src/trouble-shooting.rst index e658aa85..4cbbf5ea 100644 --- a/odkx-src/trouble-shooting.rst +++ b/src/trouble-shooting.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: Tecno Infinix diff --git a/odkx-src/xlsx-converter-intro.rst b/src/xlsx-converter-intro.rst similarity index 100% rename from odkx-src/xlsx-converter-intro.rst rename to src/xlsx-converter-intro.rst diff --git a/odkx-src/xlsx-converter-reference.rst b/src/xlsx-converter-reference.rst similarity index 99% rename from odkx-src/xlsx-converter-reference.rst rename to src/xlsx-converter-reference.rst index 594c5963..8d8d3432 100644 --- a/odkx-src/xlsx-converter-reference.rst +++ b/src/xlsx-converter-reference.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: openRowInitialElementKeyToValueMap newRowInitialElementKeyToValueMap exampleForm diff --git a/odkx-src/xlsx-converter-using.rst b/src/xlsx-converter-using.rst similarity index 99% rename from odkx-src/xlsx-converter-using.rst rename to src/xlsx-converter-using.rst index 692a12b4..30384c3b 100644 --- a/odkx-src/xlsx-converter-using.rst +++ b/src/xlsx-converter-using.rst @@ -1,4 +1,4 @@ -.. spelling:: +.. spelling:word-list:: getHashString getCurrentInstanceId tienes diff --git a/style-test-requirements.txt b/style-test-requirements.txt new file mode 100644 index 00000000..63972c3e --- /dev/null +++ b/style-test-requirements.txt @@ -0,0 +1,3 @@ +blessings==1.7 +GitPython==3.1.30 +proselint==0.10.2 \ No newline at end of file diff --git a/style-test.py b/style-test.py index b6325aa4..8882e43d 100644 --- a/style-test.py +++ b/style-test.py @@ -49,7 +49,7 @@ def is_extra_code_block(node): and 'python' in node.attributes['classes'] and 'extra-checks' in node.attributes['classes']) - style_guide = open(dir_path + "/odkx-src/docs-style-guide.rst", "r") + style_guide = open(dir_path + "/src/docs-style-guide.rst", "r") # publish doctree, report only severe errors doctree = publish_doctree(style_guide.read(), @@ -138,7 +138,7 @@ def remove_lines(text): """Remove ignored lines and directive blocks from text.""" directive_list = [".. image::", ".. figure::", ".. video::", ".. code::", ".. code-block::", ".. csv-table::", ".. toctree::", - ".. py:", ".. math::", ".. spelling::"] + ".. py:", ".. math::", ".. spelling:word-list::"] index = 0 length = len(text) @@ -418,7 +418,7 @@ def disp_checks(errors, filename, shortname): line4 = "%s | %s" %(e[0], severity) print(t.blue(line1)) print(line2) - if severity is "warning": + if severity == "warning": print(t.yellow(line3)) warn_cnt += 1 else: diff --git a/tests/test_style_guide.py b/tests/test_style_guide.py deleted file mode 100644 index b60f4f90..00000000 --- a/tests/test_style_guide.py +++ /dev/null @@ -1,10 +0,0 @@ -from hypothesis import given, example - -from hypothesis import strategies as st - -HELLO_MSG = 'Hello Hypothesis' - - -@given(st.just(HELLO_MSG)) -def test_framework(s): - assert s == HELLO_MSG diff --git a/util/check-spelling-output.py b/util/check-spelling-output.py index 0ebbfdd6..db866703 100644 --- a/util/check-spelling-output.py +++ b/util/check-spelling-output.py @@ -1,25 +1,15 @@ -# sphinx-spellcheck raises a warning because it conflicts with sphinx-tabs -# so we have to suppress warnings in circleci -# but that suppresses warnings related to misspellings. -# So this script checks the spellcheck output -# and raises an exception if there are any. +#!/env/python3 import os import sys - - -class SpellingError(ValueError): - pass - +import glob if len(sys.argv) < 2: - raise ValueError("The parent directory of the spelling directory is a required argument") - -build_dir = sys.argv[1] -spelling_dir = "spelling" - -output_path = os.path.join(build_dir, spelling_dir) - -for each in os.listdir(output_path): - if each.endswith('.spelling'): - raise SpellingError("You have spelling errors.") - break + exit(0) + +path = str(sys.argv[1]) +spellings = glob.glob(path + '/**/*.spelling', recursive=True) +if spellings: + print("Spell check failed") + for spelling in spellings: + os.system("cat " + spelling) + exit(1) \ No newline at end of file diff --git a/util/resize.py b/util/resize.py index 69213625..b3814e15 100644 --- a/util/resize.py +++ b/util/resize.py @@ -6,13 +6,13 @@ def single_resize(imagedir, filename): """Resize a single image.""" - print("Resizing %s ..." %filename) filepath = os.path.join(imagedir, filename) + print("Resizing (overwriting) %s ..." %filepath) image = Image.open(filepath) old_w, old_h = image.size h = min(old_h, 300) w = (int)(old_w * h / old_h) - image = image.resize((w,h), Image.ANTIALIAS) + image = image.resize((w,h), Image.Resampling.LANCZOS) image.save(filepath, quality=95) def bulk_resize(imagedir): @@ -24,7 +24,6 @@ def bulk_resize(imagedir): ext_j = filename[-4:].lower() if ext not in imgexts and ext_j not in imgexts: continue - single_resize(path, filename) file_path = os.path.realpath(__file__) diff --git a/video.py b/video.py index 529db46e..0e326441 100644 --- a/video.py +++ b/video.py @@ -32,12 +32,12 @@ def visit_video_html(self, node): spth = srcPath % vsrc - if os.path.exists("./odkx-build/_videos"): + if os.path.exists("./build/_videos"): pass else: - os.makedirs("./odkx-build/_videos/") + os.makedirs("./build/_videos/") - dpth = "./odkx-build/_videos/%s" %vsrc[vsrc.rfind('/')+1:] + dpth = "./build/_videos/%s" %vsrc[vsrc.rfind('/')+1:] shutil.copyfile(spth, dpth)