Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎉 New Source - KoboToolbox #24138

Closed

Conversation

Ishankoradia
Copy link

@Ishankoradia Ishankoradia commented Mar 16, 2023

What

Describe what the change is solving

KoboToolbox is a free and open source platform for the collection, management, and visualization of data. As the most widely used primary data collection tool in the nonprofit sector, it is the tool of choice for over 14,000 social impact organizations worldwide. The KoboToolbox connector will help these organizations streamline their data ingestion process without the need to write any custom scripts or manual download data from KoboToolbox account.

It helps to add screenshots if it affects the frontend. - doesn't affect the frontend

How

Describe the solution

The current version of the connector works with the KoboToolbox APIs to provide data ingestion of all forms in an organization's KoboToolbox account. The implemented version of the connector currently allows for all modes - full refresh and incremental including de-duped mode.

Pre-merge Checklist

Expand the relevant checklist and delete the others.

New Connector : KoboToolbox

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
    • docs/integrations/README.md
    • airbyte-integrations/builds.md
  • PR name follows PR naming conventions

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • If new credentials are required for use in CI, add them to GSM. Instructions.
  • /test connector=connectors/<name> command is passing
  • New Connector version released on Dockerhub by running the /publish command described here
  • After the connector is published, connector added to connector index as described here
  • Seed specs have been re-generated by building the platform and committing the changes to the seed spec files, as described here

Tests

Unit Tests unit_tests/test_source.py Screenshot 2023-03-16 at 3 31 44 PM

unit_tests/test_stream.py
Screenshot 2023-03-16 at 3 34 39 PM

Acceptance Tests Screenshot 2023-03-16 at 3 40 18 PM

@CLAassistant
Copy link

CLAassistant commented Mar 16, 2023

CLA assistant check
All committers have signed the CLA.

@octavia-squidington-iii octavia-squidington-iii added area/connectors Connector related issues area/documentation Improvements or additions to documentation labels Mar 16, 2023
@Ishankoradia Ishankoradia changed the title 🎉 Source KoboToolbox 🎉 New Source KoboToolbox Mar 16, 2023
@Ishankoradia Ishankoradia changed the title 🎉 New Source KoboToolbox 🎉 New Source - KoboToolbox Mar 16, 2023
@marcosmarxm
Copy link
Member

Thanks for the contribution @lshrinivas do you have a sandbox/test account to share and speed up tests?

Copy link
Member

@marcosmarxm marcosmarxm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments.

Copy link
Member

@marcosmarxm marcosmarxm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ishankoradia please check my comments and fix them.

@Ishankoradia
Copy link
Author

Ishankoradia commented Mar 22, 2023

@Ishankoradia please check my comments and fix them.

@marcosmarxm resolved all your comments and have also added the incremental sync for the connector.

@Ishankoradia
Copy link
Author

@marcosmarxm can you please review this PR and let me know if there are any changes required.

@marcosmarxm
Copy link
Member

Hello @Ishankoradia and thanks for the contribution and spending time building this connector. I'm declining it because today I can't find Kobotoolbox API documentation and for this reason it will make very hard to maintain the connector.

You can use the connector for your project following instructions here: https://docs.airbyte.com/operator-guides/using-custom-connectors

@Ishankoradia
Copy link
Author

@marcosmarxm is this not enough - https://kf.kobotoolbox.org/api/v2/ ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

None yet

5 participants