|
|
# ODK Aggregate dengan Modul Validasi Bertingkat
|
|
|
# ODK Collect dengan Modul Validasi Bertingkat
|
|
|
|
|
|
### Gambaran Umum
|
|
|
Modul validasi bertingkat merupakan salah satu bagian dari sistem CAPI-STIS. Aplikasi CAPI-STIS adalah aplikasi yang mengimplementasikan proyek Open Source Open Data Kit (ODK) untuk dapat digunakan untuk pencacaahan di BPS.
|
... | ... | @@ -11,49 +11,109 @@ Ada beberapa permasalahan pada ODK sehingga ODK belum bisa menerapkan validasi b |
|
|
- Pada ODK belum terdapat fungsi pembaruan data, berbeda dengan pada bisnis proses BPS dimana PML/ Kortim hanya dapat memperbarui isian dari PCL
|
|
|
- Belum ada sistem notifikasi/ pemberitahuan sebagai pendukung modul validasi bertingkat pada
|
|
|
|
|
|
### ODK Aggregate dengan Modul Validasi Bertingkat
|
|
|
Pada ODK Aggregate dengan Modul Validasi Bertingkat ditambahkan beberapa fungsi jika dibandingkan dengan ODK Aggregate sebelumnya :
|
|
|
- Penambahan atribut kelompok pengguna dan supervisor pada data pengguna
|
|
|
- Penambahan pilihan role 'Data Updater' untuk pengguna
|
|
|
- Penambahan fungsi pembaruan isian
|
|
|
- Penambahan batasan pengaksesan, penyetoran, dan pembaruan data pada ODK Aggregate
|
|
|
### ODK Collect dengan Modul Validasi Bertingkat
|
|
|
Pada ODK Collect dengan Modul Validasi Bertingkat ditambahkan beberapa fungsi jika dibandingkan dengan ODK Collect sebelumnya :
|
|
|
- Penambahan atribut kelompok pengguna pada data pengguna
|
|
|
- Penambahan fungsi unduh data
|
|
|
- Penambahan fungsi pembaruan data pada ODK Aggregate melalui ODK Collect
|
|
|
- Penambahan firebase cloud massaging untuk menerima notifikasi
|
|
|
|
|
|
### Environment/ lingkungan
|
|
|
- Java JRE 8
|
|
|
- Apache Tomcat 8
|
|
|
|
|
|
### Instalasai
|
|
|
Untuk Instalasi pengembangan lihat [CONFIGURE.txt](https://git.stis.ac.id/budi/aggregate-master-tomcat8/blob/master/CONFIGURE.txt)
|
|
|
|
|
|
### Dependensi ODK Aggregate dengan Modul Validasi Bertingkat
|
|
|
- Dapat dilihat [pom.xml](https://git.stis.ac.id/budi/aggregate-master-tomcat8/blob/master/pom.xml) pada tag `dependencies`
|
|
|
- Perbedaan dengan ODK Aggregate asli adalah pada dependency `org.apache.commons.lang3` dari versi 3,5 menjadi 3,6
|
|
|
### Dependensi ODK Collect dengan Modul Validasi Bertingkat
|
|
|
- Dapat dilihat [build.gradle](https://git.stis.ac.id/budi/collect/blob/master/collect_app/build.gradle) pada tag `dependencies`
|
|
|
- Perbedaan dengan ODK Collect asli adalah pada dependency `firebase messaging`
|
|
|
|
|
|
### Persentasi
|
|
|
|
|
|
[Modul_Revalidasi_2.pptx](/uploads/0240a9cdd90f55c5406a4612f345b6f1/Modul_Revalidasi_2.pptx)
|
|
|
[Modul_Revalidasi_2.pptx](/uploads/919a22b38a00348c6bb62dd858421c14/Modul_Revalidasi_2.pptx)
|
|
|
|
|
|
-------
|
|
|
### ODK Aggregate Development
|
|
|
# ODK Collect
|
|
|
![Platform](https://img.shields.io/badge/platform-Android-blue.svg)
|
|
|
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
|
|
|
|
|
|
ODK Collect is an Android app for filling out forms. It is designed to be used in resource-constrained environments with challenges such as unreliable connectivity or power infrastructure. ODK Collect is part of Open Data Kit (ODK), a free and open-source set of tools which help organizations author, field, and manage mobile data collection solutions. Learn more about the Open Data Kit project and its history [here](https://opendatakit.org/about/) and read about example ODK deployments [here](https://opendatakit.org/about/deployments/).
|
|
|
|
|
|
ODK Collect renders forms that are compliant with the [ODK XForms standard](http://opendatakit.github.io/xforms-spec/), a subset of the [XForms 1.1 standard](https://www.w3.org/TR/xforms/) with some extensions. The form parsing is done by the [JavaRosa library](https://github.com/opendatakit/javarosa) which Collect includes as a jar.
|
|
|
|
|
|
* ODK website: [https://opendatakit.org](https://opendatakit.org)
|
|
|
* ODK Collect usage instructions: [https://opendatakit.org/use/collect](https://opendatakit.org/use/collect/)
|
|
|
* ODK community mailing list: [http://groups.google.com/group/opendatakit](http://groups.google.com/group/opendatakit)
|
|
|
* ODK developer mailing list: [http://groups.google.com/group/opendatakit-developers](http://groups.google.com/group/opendatakit-developers)
|
|
|
* ODK developer Slack chat: [http://slack.opendatakit.org](http://slack.opendatakit.org)
|
|
|
* ODK developer Slack archive: [http://opendatakit.slackarchive.io](http://opendatakit.slackarchive.io)
|
|
|
* ODK developer wiki: [https://github.com/opendatakit/opendatakit/wiki](https://github.com/opendatakit/opendatakit/wiki)
|
|
|
|
|
|
## Release cycle
|
|
|
New versions of ODK Collect are released on the last Sunday of each month. We freeze commits to the master branch on the preceding Wednesday (except for bug fixes).
|
|
|
|
|
|
## Testing a form locally
|
|
|
|
|
|
1. [Make](https://xlsform.org) or get ([example forms](https://github.com/XLSForm/example-forms), [test forms](https://github.com/XLSForm/test-forms)) an XLSForm.
|
|
|
|
|
|
1. Convert the XLSForm (xlsx) to XForm (xml). Use the [ODK website](http://opendatakit.org/xiframe/) or [XLSForm Offline](https://gumroad.com/l/xlsform-offline) or [pyxform](https://github.com/XLSForm/pyxform).
|
|
|
|
|
|
1. Once you have the XForm, use [adb](https://developer.android.com/studio/command-line/adb.html) to push the form to your device (after [enabling USB debugging](https://www.kingoapp.com/root-tutorials/how-to-enable-usb-debugging-mode-on-android.htm)) or emulator.
|
|
|
```
|
|
|
adb push my_form.xml /sdcard/odk/forms/
|
|
|
```
|
|
|
|
|
|
1. Launch ODK Collect and tap `Fill Blank Form`. The new form will be there.
|
|
|
|
|
|
## Setting up your development environment
|
|
|
|
|
|
1. Download and install [Git](https://git-scm.com/downloads) and add it to your PATH
|
|
|
|
|
|
1. Download and install [Android Studio](https://developer.android.com/studio/index.html)
|
|
|
|
|
|
This project is __*actively maintained*__
|
|
|
1. Fork the collect project ([why and how to fork](https://help.github.com/articles/fork-a-repo/))
|
|
|
|
|
|
User documentation is [here](https://opendatakit.org/use/aggregate/)
|
|
|
1. Clone your fork of the project locally. At the command line:
|
|
|
|
|
|
The Google group for user questions is: [opendatakit@](https://groups.google.com/forum/#!forum/opendatakit)
|
|
|
git clone https://github.com/YOUR-GITHUB-USERNAME/collect
|
|
|
|
|
|
See [CONFIGURE.txt](https://github.com/opendatakit/aggregate/blob/master/CONFIGURE.txt) for build information
|
|
|
and [README.txt](https://github.com/opendatakit/aggregate/blob/master/README.txt) for upgrade information.
|
|
|
If you prefer not to use the command line, you can use Android Studio to create a new project from version control using `https://github.com/YOUR-GITHUB-USERNAME/collect`.
|
|
|
|
|
|
The developer [wiki](https://github.com/opendatakit/opendatakit/wiki) (including release notes) and
|
|
|
[issues tracker](https://github.com/opendatakit/opendatakit/issues) are located under
|
|
|
the [**opendatakit**](https://github.com/opendatakit/opendatakit) project.
|
|
|
1. Open the project in the folder of your clone from Android Studio. To run the project, click on the green arrow at the top of the screen. The emulator is very slow so we generally recommend using a physical device when possible.
|
|
|
|
|
|
The Google group for software engineering questions is: [opendatakit-developers@](https://groups.google.com/forum/#!forum/opendatakit-developers)
|
|
|
## Using APIs for local development
|
|
|
|
|
|
To run functionality that makes API calls from your debug-signed builds, you may need to get an API key or otherwise authorize your app.
|
|
|
|
|
|
**Google Drive and Sheets APIs** - Follow the instructions in the "Generate the signing certificate fingerprint and register your application" section from [here](https://developers.google.com/drive/android/auth). Enable the Google Drive API [here](https://console.developers.google.com/apis/api/drive/). Enable the Google Sheets API [here](https://console.developers.google.com/apis/api/sheets.googleapis.com).
|
|
|
|
|
|
**Google Maps API** - Follow the instructions [here](https://developers.google.com/maps/documentation/android-api/signup). Please be sure not to commit your personal API key to a branch that you will submit a pull request for.
|
|
|
|
|
|
## Contributing code
|
|
|
Any and all contributions to the project are welcome. ODK Collect is used across the world primarily by organizations with a social purpose so you can have real impact!
|
|
|
|
|
|
Issues tagged as [quick win](https://github.com/opendatakit/collect/labels/quick%20win) should be a good place to start. There are also currently many issues tagged as [needs reproduction](https://github.com/opendatakit/collect/labels/needs%20reproduction) which need someone to try to reproduce them with the current version of ODK Collect and comment on the issue with their findings.
|
|
|
|
|
|
If you're ready to contribute code, see [the contribution guide](CONTRIBUTING.md).
|
|
|
|
|
|
## Contributing in other ways
|
|
|
If you know a language other than English, consider contributing translations through [Transifex](https://www.transifex.com/opendatakit/odk-collect/).
|
|
|
|
|
|
You can also help by improving this documentation.
|
|
|
|
|
|
## Downloading builds
|
|
|
Per-commit debug builds can be found on [CircleCI](https://circleci.com/gh/opendatakit/collect). Login with your GitHub account, click the build you'd like, then find the APK in the Artifacts tab.
|
|
|
|
|
|
Current and previous production builds can be found on the [ODK website](https://opendatakit.org/downloads/download-info/odk-collect-apk).
|
|
|
|
|
|
## Troubleshooting
|
|
|
#### Error when running Robolectric tests from Android Studio on macOS: `build/intermediates/bundles/debug/AndroidManifest.xml (No such file or directory)`
|
|
|
> Configure the default JUnit test runner configuration in order to work around a bug where IntelliJ / Android Studio does not set the working directory to the module being tested. This can be accomplished by editing the run configurations, Defaults -> JUnit and changing the working directory value to $MODULE_DIR$.
|
|
|
|
|
|
> Source: [Robolectric Wiki](https://github.com/robolectric/robolectric/wiki/Running-tests-in-Android-Studio#notes-for-mac).
|
|
|
|
|
|
#### Android Studio Error: `SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.`
|
|
|
When cloning the project from Android Studio, click "No" when prompted to open the `build.gradle` file and then open project.
|
|
|
|
|
|
-------
|
|
|
License
|
|
|
|
|
|
This software is licensed under the [**Apache 2.0 license**](http://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
|
|
|
|
|
|