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

[GSoC Project Proposal]: Update ERDDAP™ page rendering to use a template framework #73

Open
ChrisJohnNOAA opened this issue Jan 31, 2025 · 2 comments
Labels
GSoC25 project idea Designates a proposed project idea

Comments

@ChrisJohnNOAA
Copy link

Project Description

Currently ERDDAP™ pages are rendered using StringBuilder to concatenate the HTML. This is done for all of the pages ERDDAP™ renders. The project is to migrate existing ERDDAP™ pages to use a templating framework. The plan is for ERDDAP™ developers to select the framework and migrate an example page to the framework before the project starts.

Once the existing pages are migrated, new features can be built including things like:
Personal "hyperwall"
Improved graphics/graphing

Expected Outcomes

Adopting a templating framework for the HTML generation will help by allowing easier shared components across pages, standardizing headers and footers, and more. It will also make it easier to update and maintain the existing pages.

Skills Required

Java, HTML, CSS, JavaScript

Additional Background/Issues

The main ERDDAP™ repo is here.

Mentor(s)

Chris John (@ChrisJohnNOAA)

Expected Project Size

175 hours

Project Difficulty

Intermediate

@ChrisJohnNOAA ChrisJohnNOAA added GSoC25 project idea Designates a proposed project idea labels Jan 31, 2025
@MathewBiddle
Copy link
Contributor

You're probably not looking for adding dependencies, but I have become quite enamored with the Python template engine Jinja https://jinja.palletsprojects.com/en/stable/. It makes quick work of html pages. Just sharing an option.

@ChrisJohnNOAA
Copy link
Author

Since the pages are rendered from Java currently, I'm planning to use something (TBD what, there are a number of options) that will integrate into Java well (or be Java native).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GSoC25 project idea Designates a proposed project idea
Projects
None yet
Development

No branches or pull requests

2 participants