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

Provide sample build job that produces a download page for download.eclipse.org #347

Open
agafgfafa opened this issue Feb 9, 2024 · 5 comments

Comments

@agafgfafa
Copy link

Using the EF html templates, please provide a sample job that will build a static HTML web page suitable for hosting on download.eclipse.org (and archive.eclipse.org) from the contents of a directory.

@chrisguindon
Copy link
Member

chrisguindon commented Feb 9, 2024

The webdev team can provide an HTML/CSS/JS sample that utilise our latest look and feel and display the content of a folder.

To get this started, I think the build job would need to do the following to solve this issue:

  1. Generate a JSON file detailing the folder structure.
  2. Retrieve our header and footer components from eclipse.org.
  3. Dynamically generate an HTML file that incorporates our header and footer. This file should also include JavaScript logic to parse the file_structure.json data and display it within the main content area.
  4. Automate the deployment process through a cron job, tasked with copying or committing the generated content to the designated download area.

@chrisguindon
Copy link
Member

If we agree with this plan, my team can proceed with the development of a new widget that would display the folder/file structure into our solstice framework.

By implementing this solution in our framework, we can ensure a seamless process for future improvements and updates without requiring additional adjustments from our projects.

An example of how straightforward it would be to integrate the widget into a page, we would simply need to include the following div within the main content area:

<div class="eclipsefdn-directory-structure" data-folder-structure="file_structure.json"></div>

This approach is similar to how we currently display news and events across our various websites.

@ewillink
Copy link

ewillink commented Feb 9, 2024

https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1934 identifies that JustJ is already providing good download update sites; see https://eclipse.dev/justj/?page=tools. Since the underlying technology is Java in Eclipse plugins, the JustJ approach is much more familiar and debuggable.

Migrating to JustJ is simple but not trivial. It's documentation provides a useful example but since it is JustJ for JustJ, it is not obvious quite what needs tweaking.

A multi-stage example comprising

a) an Eclipse org.eclipse.justj.p2.manager application launch - generates for local review of customisation
b) a pom.xml launch - perhaps just local
c) a pom.xml invocation of the storage genie
d) a 'script' to convert all historical downloads (and archived downloads)

Each stage should be accompanied by a clear description of the mandatory and optional customisations.

@chrisguindon
Copy link
Member

chrisguindon commented Feb 9, 2024

@ewillink I am not familiar with Eclipse JustJ. Can you help me better understand what you are proposing?

Are you saying the Eclipse JustJ project made a PHP solution that all Eclipse projects can use to generate a download page?

Can it work for all Eclipse Projects or just projects written in Java? Is it a replacement for what I proposed earlier, or would we need both?

@merks
Copy link

merks commented Feb 9, 2024

I suggest not to hijack this topic with an orthogonal topic. If you have a question about the JustJ’s tools, ask on the discussions

https://github.com/eclipse-justj/justj.tools/discussions

There are plenty of examples. Please do not ask or expect the Foundation staff to learn this technology on your behalf. The JustJ technology is specifically for managing p2 update sites while this issue is more general.

I’m very interested to learn what the webdev folks have to teach us here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants