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

Create demo TOM app repo and include existing integration points #1100

Open
4 tasks done
jchate6 opened this issue Nov 8, 2024 · 1 comment
Open
4 tasks done

Create demo TOM app repo and include existing integration points #1100

jchate6 opened this issue Nov 8, 2024 · 1 comment
Assignees
Labels
toolkit customization Would enhance the user customization experience

Comments

@jchate6
Copy link
Contributor

jchate6 commented Nov 8, 2024

We should make a repo with a demo app built to provide an example for all of the customization features that should be available for a tom admin/developer.

This should have a well documented readme and include all of the available integration points.

  • Initialize repo
  • incorporate target button integration points from TOM TNS
  • Incorporate nav bar Integration Points from TOM-Alerts
  • Incorporate example of extended target model
@github-project-automation github-project-automation bot moved this to Triage in TOM Toolkit Nov 8, 2024
@jchate6 jchate6 added the toolkit customization Would enhance the user customization experience label Nov 8, 2024
@jchate6 jchate6 moved this from Triage to Backlog in TOM Toolkit Nov 8, 2024
@jchate6 jchate6 self-assigned this Nov 9, 2024
@jchate6 jchate6 moved this from Backlog to In progress in TOM Toolkit Nov 13, 2024
@phycodurus
Copy link
Contributor

Some things we've talked about wrt to the Demo App:

  • the app demonstrates the integration points INSTALLED_APPS can use to interact with the base TOMToolkit (tom_base).
  • will at some point provide a template that TOM developers can use when developing INSTALLED_APPS for their science use cases
  • should exemplify an architecture that separates Astronomy "business logic" from Django-y web framework code. So,
    • View methods and management command run methods should be largely free of business logic and call out to Astronomy specific modules.
    • For example, View classes should keep to the responsibility of receiving HTTP requests and returning HTTP responses by constructing a context dictionary and rendering it into a template. (Astronomy-specific code should be refactored out).
    • Likewise, management commands mainly parse args and call out to Astronomy-specific code (that has perhaps been refactored out of a View method or run() method.
    • By keeping business logic out of View (and management command) methods, it
      • can be invoked from both Views and management commands, etc
      • is more testable than code buried in View methods
      • allows TOM developers to focus more on science use cases and less on web frameworks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
toolkit customization Would enhance the user customization experience
Projects
Status: In progress
Development

No branches or pull requests

2 participants