Skip to content
New issue

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

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

Already on GitHub? # to your account

README: add goals and how we think about design #10

Closed
lognaturel opened this issue Sep 20, 2022 · 1 comment · Fixed by #75
Closed

README: add goals and how we think about design #10

lognaturel opened this issue Sep 20, 2022 · 1 comment · Fixed by #75
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@lognaturel
Copy link
Member

Some starting points: #2 (comment)

@lognaturel lognaturel self-assigned this Sep 20, 2022
@lognaturel lognaturel added the documentation Improvements or additions to documentation label Sep 21, 2022
@lognaturel
Copy link
Member Author

Notes on how I've been thinking about introducing new library methods:

  • Is it common enough to warrant a designed method or can we show examples using the HTTP methods if needed?
    • E.g. manipulating form drafts directly is out of scope (but client.forms.update implicitly creates and publishes a draft)
  • Do people take this action independently or is it always part of reaching some broader goal?
    • E.g. draft publish doesn’t need to be exposed on its own but it is part of updating a form
  • What class does it best fit in?
    • E.g. form versions are subresources on Central backend but in this library, methods that deal with form versions can be in the forms class directly since we’re not going to expose many of them
  • How do people talk about the action that’s being performed? How do ODK docs and Central frontend talk about it?
    • E.g. we have the concept of “submission edits” so use client.submissions.edit rather than update
  • Value expressiveness and consistency with ODK concepts over internal consistency
    • What actually needs to be commonly configured? Starting by exposing a subset of parameters and naming/typing them carefully is ideal.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant