diff --git a/.gitignore b/.gitignore index 628db98..1da7788 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ ~* !.github + +__pycache__ diff --git a/README.md b/README.md new file mode 100644 index 0000000..02a58c9 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +HOPE Documentation +================== + +This Repo is used to manage the official HOPE documentation + +## Install + + $ pdm install + $ pdm venv activate in-project + +#### Using .envrc + +add in your .envrc + + eval $(pdm venv activate in-project) + +#### Start + $ mkdocs build + $ mkdocs serve diff --git a/docs/components/.pages b/docs/components/.pages index 7869613..262ad8b 100644 --- a/docs/components/.pages +++ b/docs/components/.pages @@ -2,8 +2,9 @@ nav: - index.md - Aurora: aurora - - kobo.md - - hde.md + - Kobo: kobo + - Deduplication: hde - Country Report: reporting - Payment Gateway: pg + - RapidPro: rapidpro # - workspace.md diff --git a/docs/components/aurora/.pages b/docs/components/aurora/.pages index f596b17..bde1d32 100644 --- a/docs/components/aurora/.pages +++ b/docs/components/aurora/.pages @@ -1,4 +1,3 @@ nav: - index.md - - Contributing: setup - - Usage: usage.md + - setup.md diff --git a/docs/components/aurora/index.md b/docs/components/aurora/index.md index 004546b..874949b 100644 --- a/docs/components/aurora/index.md +++ b/docs/components/aurora/index.md @@ -1,5 +1,6 @@ # Aurora + Aurora is the official online registration tool for HOPE. Developed in 2022 for the Ukraine emergency, it quickly became the de-facto standard for online registration in almost all the countries served online by UNICEF. The strengths of Aurora are: @@ -15,5 +16,6 @@ The strengths of Aurora are: - Custom form page (partner logos, header, footer, colors...) +## Repository diff --git a/docs/components/aurora/setup.md b/docs/components/aurora/setup.md index 3e31300..e3a54a4 100644 --- a/docs/components/aurora/setup.md +++ b/docs/components/aurora/setup.md @@ -1,4 +1,4 @@ -# Contributing +# Setup Prerequisites: @@ -83,3 +83,28 @@ echo "unset PS1" >> .envrc The first time after you have created or modified the _.envrc_ file you will have to authorize it using: direnv allow + +# Run + +To start working with Aurora you can: + + +### Build and use your docker + +After you have cloned the repo, be sure to have a Reddis and PostgreSQL server running on your machine + + export ADMIN_EMAIL=admin@example.com + export ADMIN_PASSWORD=password + export DATABASE_URL=postgres://postgres:@127.0.0.1:5432/aurora + export CACHE_URL=redis://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient + + cd docker + + make build run + + +### Use provided compose.yml + + docker compose up + +navigate to http://localhost:8000/admin/ and login using `admin@example.com/password` diff --git a/docs/components/aurora/usage.md b/docs/components/aurora/usage.md deleted file mode 100644 index f92c781..0000000 --- a/docs/components/aurora/usage.md +++ /dev/null @@ -1,24 +0,0 @@ -# Run - -To start working with Aurora you can: - - -### Build and use your docker - -After you have cloned the repo, be sure to have a Reddis and PostgreSQL server running on your machine - - export ADMIN_EMAIL=admin@example.com - export ADMIN_PASSWORD=password - export DATABASE_URL=postgres://postgres:@127.0.0.1:5432/aurora - export CACHE_URL=redis://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient - - cd docker - - make build run - - -### Use provided compose.yml - - docker compose up - -navigate to http://localhost:8000/admin/ and login using `admin@example.com/password` diff --git a/docs/components/hde/.pages b/docs/components/hde/.pages new file mode 100644 index 0000000..a069e49 --- /dev/null +++ b/docs/components/hde/.pages @@ -0,0 +1,5 @@ +nav: + - index.md + - setup.md + - tmp.md + - tmp2.md diff --git a/docs/components/hde.md b/docs/components/hde/index.md similarity index 82% rename from docs/components/hde.md rename to docs/components/hde/index.md index 3eb08a8..8950193 100644 --- a/docs/components/hde.md +++ b/docs/components/hde/index.md @@ -1,3 +1,5 @@ # Deduplication Engine +## Repository + diff --git a/docs/components/hde/setup.md b/docs/components/hde/setup.md new file mode 100644 index 0000000..feae8cb --- /dev/null +++ b/docs/components/hde/setup.md @@ -0,0 +1 @@ +# Setup diff --git a/docs/components/hde/tmp.md b/docs/components/hde/tmp.md new file mode 100644 index 0000000..f8ff698 --- /dev/null +++ b/docs/components/hde/tmp.md @@ -0,0 +1,259 @@ +Deduplication + + + + + + + +RDI + +Fuzzy + +Threshold by BA + + + + + + + +Programme based deduplication. + + + + + + + +Check on documents happen after merge. + + + + + + + + + + +CHANGE REQUEST 168410 + + + + +Customizable deduplication + + + + + + + +Real cases: + +Need adjudication: same "Bank Statement" number + + + + + + + +Duplicate + +Not Duplicate + +Withdrawn + + + + + + + +Not Withdrawn + + + + + + + + + + +Deduplication + +what is the flag "Postpone deduplication”? + +status pending + +Document type flags + +is_identity_document + +valid_for_deduplication (change the signature ==> 2 valid document with same ID) + +document number + + + + + + + + + + +Batch + + + + +Golden Records + + + + +Threashold -> need adjudication + + + + +deduplication_batch_results + +deduplication_golden_record_results + + + + + + + +Questions + + + + +A) what is the flag "Postpone deduplication" + +what would it stop? + +fuzzy match + +bank account + +document number + + + + +Disable ES + + + + + + + +B) document type - valid_for_deduplication flag has it used? + + + + + + + +ok so deduplication works on all documents with: + +status pending + +flag is_identity_document set to true + + + + + + + +flag valid_for_deduplication only change the signature ==> 2 valid document with same ID + + + + + + + + + + +DEDUPLICATION + +Name, gender, date of birth + + + + + + +Flexible de-duplications checks (decide from user side which fields should be used to deduplicate) + +No, depends on filters, index + +Requires redesign of flex fields + +Redesign deduplication (?) + + + + + + + +Instructions: + +List: subset (aka sessions) + + + + + + + + + + + + + +is identity document + +if this is set to true, we use this document to deduplicate and create ticket + + + + +unique for individual + +you cannot create more than one document of this type for individual + + + + +valid for deduplication + +ignores the type of the document during deduplication and deduplicate between different types with this flag set to true + + + + + + +There are two different rules for documents uniqueness: + +"unique for individual" flag indicates whether we should validate uniqueness of document type per individual - so that Individual can only have 1 VALID document of this document_type+country. + +document data uniqueness inside a Program - so that there cannot be more than 1 VALID document with the same set of values: document_number+type+country in a Program + + \ No newline at end of file diff --git a/docs/components/hde/tmp2.md b/docs/components/hde/tmp2.md new file mode 100644 index 0000000..9a646f8 --- /dev/null +++ b/docs/components/hde/tmp2.md @@ -0,0 +1,79 @@ + + +Create Deduplication Set: deduplication_set (POST) + + + + +deduplication_set//images (POST) + +deduplication_set//image_bulk (POST) + + + + +deduplication_set//process (POST) + + + +------ + + + + + +Deduplication Engine App + + + +Celery + + + +Neural Network Model (DNN) + + + + + +Blob Stob Storages + + + +1) HOPEAzureStorage: Read only storage for hope pictures + + + +2) HDEAzureStorage + +static-dde: + +enconding-dde: Storage for encoding? Numpy vectors + +models-dde: + +Coffee model + +Prototext file + + + + + +Service use 3 azure containers: + +AZURE_CONTAINER_HDE - writable container for encodings data + +AZURE_CONTAINER_HOPE - read-only container for images from HOPE + +AZURE_CONTAINER_DNN - read-only container for DNN files (deploy.prototxt and res10_300x300_ssd_iter_140000.caffemodel) + +Depending on constance.config.DNN_FILES_SOURCE, the service fetches DNN files from GitHub or AZURE_CONTAINER_DNN using celery task. + +At startup, the absence of local DNN files triggers an automatic download. + +For manual interventions, access the admin panel at: Home › Faces › DNN files. + +We drop downloaded files into the settings.CV2DNN_DIR folder.CV2DNN_DIR. This folder must be reached by our backend and Celery workers. + +At the future the files within the AZURE_CONTAINER_DNN can be automatically updated with new versions of our trained model via a dedicated pipeline. \ No newline at end of file diff --git a/docs/components/index.md b/docs/components/index.md index 06c5096..5da26b9 100644 --- a/docs/components/index.md +++ b/docs/components/index.md @@ -12,18 +12,20 @@ systems and platforms, ensuring smooth workflows and easy expansion as your need - [Aurora](aurora/index.md) -- [Kobo](kobo.md) +- [Kobo](kobo/index.md) -- [DeduplicationEngine](hde.md) +- [DeduplicationEngine](hde/index.md) - [Country Report](reporting/index.md) - [Payment Gateway](pg/index.md) -- Country Workspace _(not yet released)_ +- [Country Workspace](workspace/index.md) - User Management Module _(not yet released)_ +- [RapidPro](rapidpro/index.md) + ## Hope supporting libraries @@ -33,3 +35,5 @@ These are some of the libraries developed to support HOPE that are released unde - Flex Fields - Django SmartEnv +- Smart Import +- Smart Export diff --git a/docs/components/kobo/.pages b/docs/components/kobo/.pages new file mode 100644 index 0000000..f78c29d --- /dev/null +++ b/docs/components/kobo/.pages @@ -0,0 +1,4 @@ +nav: + - index.md + - transfer.md + - setup.md \ No newline at end of file diff --git a/docs/components/kobo.md b/docs/components/kobo/index.md similarity index 71% rename from docs/components/kobo.md rename to docs/components/kobo/index.md index e325510..11623ce 100644 --- a/docs/components/kobo.md +++ b/docs/components/kobo/index.md @@ -1,9 +1,9 @@ ---- +# Kobo ---- +KoboToolbox is a Powerful +and intuitive data collection tools used for the offline -# KoboToolbox +## Repository + -KoboToolbox is a Powerful -and intuitive data collection tools used for the offline diff --git a/docs/components/kobo/setup.md b/docs/components/kobo/setup.md new file mode 100644 index 0000000..9ec485f --- /dev/null +++ b/docs/components/kobo/setup.md @@ -0,0 +1,7 @@ +# Setup + +TODO + +## Health Check + + https://kc-hope.unitst.org/service_health/ diff --git a/docs/components/kobo/transfer.md b/docs/components/kobo/transfer.md new file mode 100644 index 0000000..e724449 --- /dev/null +++ b/docs/components/kobo/transfer.md @@ -0,0 +1,33 @@ +# Transfer data from different instances + +Sometimes, partners collect real data using Kobo but forget to use the correct(production) instance of Kobo and instead use the training instance. Hope admin can transfer data from one instance to another using an open source python script available here at this link https://github.com/kobotoolbox/kobo-transfer + +The process is self-explanatory : + + + +From the source Kobo form with data on training, download the excel template of the project and recreate it on the destination production instance. Take notice of the uid of the two forms in the url. + + Git clone the repo on your local machine and cd into it + +Install the required libraries with pip install -r requirements.txt + +Edit the config.json file where the source and destination where the token is from the user authentication settings. The asset_uid is obtained by reading the +``` +{ + "src": { + "kc_url": "https://kc-hope.unitst.org", + "kf_url": "https://kf-hope.unitst.org", + "token": "bf084e1cpa56901d5za939c0764044c1ad11fcac", + "asset_uid": "a3SHPv3xGyGLL26Ujqn8jQ" + }, + "dest": { + "kc_url": "https://kc.hope.unicef.org", + "kf_url": "https://kf.hope.unicef.org", + "token": "51610683d430960e5bb065d30907470e697a968", + "asset_uid": "aTAzgN9e5NeizA24py4976" + } +} +``` + +Run python3 run.py, it should be Ok until the whole process is finished with successful messages. diff --git a/docs/components/pg/.pages b/docs/components/pg/.pages index b853ab4..fdc9bf4 100644 --- a/docs/components/pg/.pages +++ b/docs/components/pg/.pages @@ -1,3 +1,4 @@ nav: - index.md - - wu.md + - setup.md + - Western Union: wu diff --git a/docs/components/pg/index.md b/docs/components/pg/index.md index 8901488..6240c4b 100644 --- a/docs/components/pg/index.md +++ b/docs/components/pg/index.md @@ -1,13 +1,14 @@ # Payment Gateway +The Integration between HOPE and any FSP is performed through a middleware service called Payment Gateway (PG). +HOPE sends to the PG information regarding Payments through web API. +Each FSP can have a different way to interact with the payment gateway with though strategy pattern. - -Component to integrate with external FSP: e.g. Western Union +## Repository + +Repo: -The Integration between HOPE and any FSP (we are starting with Western Union) is performed through a middleware service called Payment Gateway (PG). -HOPE sends to the PG informations regarding Payment Plan and related payments through web API. -Each FSP can have a different way to interact with the payment gateway with though strategy pattern. ## HOPE / PG Integration API @@ -40,11 +41,9 @@ PG expose endpoint to accept: - Purged - Error -## Western Union - -Once HOPE confirms that Payment Plan is ready, PG starts sending data to Western Union though SOAP Requests. +### Financial Service Providers -Transactions support: +At the moment the Payment Gateway is integrated with: -- Money in Minutes (aka Cash over the counter) -- Wallets (aka Mobile Money) +- Western Union +- Moneygram diff --git a/docs/components/pg/setup.md b/docs/components/pg/setup.md new file mode 100644 index 0000000..feae8cb --- /dev/null +++ b/docs/components/pg/setup.md @@ -0,0 +1 @@ +# Setup diff --git a/docs/components/pg/wu/.pages b/docs/components/pg/wu/.pages new file mode 100644 index 0000000..4098fd4 --- /dev/null +++ b/docs/components/pg/wu/.pages @@ -0,0 +1,4 @@ +nav: + - index.md + - statuses.md + - actions.md diff --git a/docs/components/pg/wu/actions.md b/docs/components/pg/wu/actions.md new file mode 100644 index 0000000..314a5d3 --- /dev/null +++ b/docs/components/pg/wu/actions.md @@ -0,0 +1,29 @@ +# Actions + +## CANCELLATIONS + +These are UNICEF initiated via the Cancel api call. They can only occur BEFORE settlement. +This means UNICEF gets notified that an MTCN generated was suspended before it settled. +No funds whatsoever are exchanged between the organizations +CSC or our Compliance systems can also initiate a cancellation. UNICEF should get notified regardless + + +## REFUNDS + +These are WESTERN UNION initiated via CSC action. They only occur AFTER settlement. They are not available for UNICEF trigger. +This means UNICEF gets notified that an MTCN generated was suspended AFTER it settled. +As per newly implemented WU policy Full refund (principal and fee) is reversed to UNICEF +CSC or our Compliance systems can also initiate a refund. UNICEF should get notified and corresponding reversal should follow. + + +## PURGED + +These are WESTERN UNION SYSTEM initiated automatically and are set for UNICEF to occur at Day 30 after MTCN has been generated, if funds have not been collected. +This means UNICEF gets notified that an MTCN generated was purged AFTER 30 Days and AFTER it settled. +It is WU policy to do PARTIAL refund (principal ONLY) which is reversed to UNICEF +There is an exception scenario whereby a transaction that falls in a compliance queue and is never picked up is excluded from the purge process. The Accounting team should have a process to look at any available MTCNs from UNICEF accounts that are in “will call (this means available in Western Union terminology) and manually take any required action (for example if the transaction falls in OFAC, funds are held, reported etc) + + +## PAID + +This refers to the MTCN that have been picked up or deposited to the wallets (pls refer to the APN Refund project for details on what can occur here if a bank rejects a payment after it has been initially marked as PAID and notification has been sent) diff --git a/docs/components/pg/wu.md b/docs/components/pg/wu/index.md similarity index 84% rename from docs/components/pg/wu.md rename to docs/components/pg/wu/index.md index 715bcb7..796d037 100644 --- a/docs/components/pg/wu.md +++ b/docs/components/pg/wu/index.md @@ -37,3 +37,10 @@ Western Union calls PG endpoint in order to notify that money has been received - REFUND - CANCEL - REJECT + +Once HOPE confirms that Payment Plan is ready, PG starts sending data to Western Union though SOAP Requests. + +Transactions support: + +- Money in Minutes (aka Cash over the counter) +- Wallets (aka Mobile Money) diff --git a/docs/components/pg/wu/statuses.md b/docs/components/pg/wu/statuses.md new file mode 100644 index 0000000..bc18f72 --- /dev/null +++ b/docs/components/pg/wu/statuses.md @@ -0,0 +1,42 @@ +# Statuses + +## BIS003 = PAID -CASH ONLY + +This refers to the MTCNs that have been picked up at a location in Cash. +It does not apply to APN. + + +## BIS005 = CANCEL + +BIS005 occurs when: Partner performs a cancellation via API, CSC receives a call to cancel or compliance cancels BEFORE settlement. No funds whatsoever are exchanged between the organizations and transaction appears in the settlement file, not in the recap report. +CSC receives a call to cancel after settlement has occurred. This results in a BIS005 Cancel notification. Principal and fees are returned. Transaction appears both in settlement file and recap report. + + +## BIS006 with reason code any other than AGE = REFUND + +It is not expected that UNICEF receives BIS006 notifications with reason code other than AGE. +BIS006 with reason code AGE (refunded due to aging) = PURGED +This refers to Wester Union system-initiated cancellations or refunds (depending on partner settlement) of unpaid cash MTCNs. +Purge time is set up per client id/account level from 1 to 999 days. A standard purge time is 30 days. +It is WU policy to do a partial refund (we keep fee) on purged payments. This means: +Settle on Send clients get principal only back +Settle on Pay clients are charged a fee upon purge. +There is an exception scenario whereby a transaction that falls in a compliance queue and is never picked up is excluded from the purge process. The Accounting team should have a process to look at any available MTCNs from Quick Cash accounts that are in “will call (this means available in Western Union terminology) and manually take any required action (for example if the transaction falls in OFAC, funds are held, reported etc) + + +## BIS0011 = APN REJECT + +This refers to APN MTCNs that are either: +immediately rejected (prior to settlement) by the mobile wallet partner. This results in no funds being exchanged. +delayed-rejected (after settlement) by the mobile wallet partner. This results in a full refund to the partner. +From a notification perspective, partner will get the same notification “APN REJECT BIS0011” for both immediate and delay, even though settlement action may be different. +If BIS0011 (APN REJECT) is received after BIS0012 (APN DELIVED) for the same MTCN, after settlement, the partner gets a refund +If BIS0011 (APN REJECT) is received after BIS0012 (APN DELIVED) for the same MTCN, before settlement, no funds are exchanged +If BIS0011 (APN REJECT) is received by itself – not after BIS0012 - after settlement, the partner gets a refund +If BIS0011 (APN REJECT) is received by itself – not after BIS0012- , before settlement, no funds are exchanged. + + +## BIS0012 = APN DELIVERED + +This refers to APN MTCNs that are marked PAID in the system +It does not automatically implied funds have been delivered / settled with Wallet. diff --git a/docs/components/rapidpro/.pages b/docs/components/rapidpro/.pages new file mode 100644 index 0000000..367bdee --- /dev/null +++ b/docs/components/rapidpro/.pages @@ -0,0 +1,3 @@ +nav: + - index.md + - setup.md \ No newline at end of file diff --git a/docs/components/rapidpro/index.md b/docs/components/rapidpro/index.md new file mode 100644 index 0000000..a45f717 --- /dev/null +++ b/docs/components/rapidpro/index.md @@ -0,0 +1,12 @@ +# RapidPro + +RapidPro is an Open Source platform that allows anyone to build interactive messaging systems using an easy visual interface. A video is worth a thousand words and this brief video introduction will give you an idea of what is possible + +Docs: + +App: + + +## Use cases + +- Payment Verification diff --git a/docs/components/rapidpro/setup.md b/docs/components/rapidpro/setup.md new file mode 100644 index 0000000..e8f3add --- /dev/null +++ b/docs/components/rapidpro/setup.md @@ -0,0 +1,7 @@ +# Setup + + +Get API token from RAPIDPRO +Set token in Business Area + +TODO \ No newline at end of file diff --git a/docs/components/reporting/.pages b/docs/components/reporting/.pages new file mode 100644 index 0000000..f07fa19 --- /dev/null +++ b/docs/components/reporting/.pages @@ -0,0 +1,4 @@ +nav: + - index.md + - glossary.md + - tmp.md diff --git a/docs/components/reporting/index.md b/docs/components/reporting/index.md index b489714..d35f854 100644 --- a/docs/components/reporting/index.md +++ b/docs/components/reporting/index.md @@ -9,6 +9,11 @@ tags: Reporting component of the HOPE ecosystem. This components allows user to produce reports and keep them updated customizing filters and refreshing schedule. +## Repository + + + + ## Features - Custom Queries @@ -19,8 +24,4 @@ This components allows user to produce reports and keep them updated customizing - xls - txt - csv - - -## Repository - diff --git a/docs/components/reporting/setup.md b/docs/components/reporting/setup.md new file mode 100644 index 0000000..feae8cb --- /dev/null +++ b/docs/components/reporting/setup.md @@ -0,0 +1 @@ +# Setup diff --git a/docs/components/reporting/tmp.md b/docs/components/reporting/tmp.md new file mode 100644 index 0000000..c28b5f6 --- /dev/null +++ b/docs/components/reporting/tmp.md @@ -0,0 +1,149 @@ +python manage.py inspect_hope + +Login in develop: +Anypassword login +user -> +admin -> + +# Sections + +## Home + +[future] Overview of country dashboard + +## Settings (Report Configuration) + +Query + +Target model + +Active + +Parametrized + +Refresh Date + +Restrict Access to * + owner + +Compress + +Protect + +Tags + +Formatters * + +## Reports (Dataset) + +Inside you can see all document generated in different formats +Query Parametrized (for each report, parameter, format) + +### Preferences: + +Report Preferences for country office + +### Settings: UI settings for the user + +# Technical Components + +Parametrizer/Arguments 12 +Query 1 +Report Configuration 1 +Dataset 12 +Formatters 4 +Report Document 48 + +## Parametrizer + +Source or value from query + +## Formatter + +Template file + +Processor + +Code (use processor Render Code) + +To Word + +Type + +List + +Detail + +## Query + +Target model + +Parametrized + +Active: refreshable + +Visible list in the list + +Explain: tune the power query + +Time + +Index + +## Dataset + +result of query +It’s a file + +## Report Configuration + +Owner + +Query + +Formatters * + +Limit access to * + +Scheduling + +Notify to * + +Tags + +Compress + +Protect + +## Report Documents + +File + +Report + +Dataset + +Content type + +Formatter + +Info + +## Report Template + +File usable as formatters + +### Improvements + +Show Active tenants only + +### Technical + +Tenant = Country Office = Business Area + +Django Flags to enable Menu items + +Queue > Celery +Execute > Synchronous + +New work item + diff --git a/docs/components/workspace/.pages b/docs/components/workspace/.pages new file mode 100644 index 0000000..bde1d32 --- /dev/null +++ b/docs/components/workspace/.pages @@ -0,0 +1,3 @@ +nav: + - index.md + - setup.md diff --git a/docs/components/workspace.md b/docs/components/workspace/index.md similarity index 72% rename from docs/components/workspace.md rename to docs/components/workspace/index.md index 05ecd78..41a3d13 100644 --- a/docs/components/workspace.md +++ b/docs/components/workspace/index.md @@ -1,3 +1,3 @@ -# Country Vorkspace +# Country Workspace diff --git a/docs/components/workspace/setup.md b/docs/components/workspace/setup.md new file mode 100644 index 0000000..feae8cb --- /dev/null +++ b/docs/components/workspace/setup.md @@ -0,0 +1 @@ +# Setup diff --git a/docs/glossary/terms/process.md b/docs/glossary/terms/process.md index 0d67e46..23e0b75 100644 --- a/docs/glossary/terms/process.md +++ b/docs/glossary/terms/process.md @@ -15,7 +15,7 @@ Act of recording of unique households and individuals by data collection. The registration data can be shared by other organizations that have done this activity. -It can happen on-line using [Aurora](../../components/aurora/index.md) or offline using [Kobo](../../components/kobo.md) or importing XLSX files. +It can happen on-line using [Aurora](../../components/aurora/index.md) or offline using [Kobo](../../components/kobo/index.md) or importing XLSX files. ## Targeting diff --git a/docs/glossary/terms/rdi.md b/docs/glossary/terms/rdi.md index ce9f3bc..c2aeab2 100644 --- a/docs/glossary/terms/rdi.md +++ b/docs/glossary/terms/rdi.md @@ -9,7 +9,7 @@ terms: ## Registration Data Import -File containing beneficiary data, or [Kobo](../../components/kobo.md) import dataset +File containing beneficiary data, or [Kobo](../../components/kobo/index.md) import dataset ## Enumerator diff --git a/docs/guide-dev/.pages b/docs/guide-dev/.pages index 6a02437..5304cdd 100644 --- a/docs/guide-dev/.pages +++ b/docs/guide-dev/.pages @@ -1,7 +1,7 @@ nav: - index.md - setup.md - - pr.md + - contributing.md - lint.md - stack.md - ... diff --git a/docs/guide-dev/pr.md b/docs/guide-dev/contributing.md similarity index 90% rename from docs/guide-dev/pr.md rename to docs/guide-dev/contributing.md index 0ae7f57..0ca91c4 100644 --- a/docs/guide-dev/pr.md +++ b/docs/guide-dev/contributing.md @@ -1,5 +1,8 @@ -# Pull Requests +# Contributing + + +## Pull Requests Every pull request should contain tests to coverage the functionality, only PR following below rules will be considered for merging: