Add OOD embedding, custom templates, a script browser and a Nodes page - #33
Add OOD embedding, custom templates, a script browser and a Nodes page#33geoffreyweal wants to merge 1 commit into
Conversation
Recorded under [Unreleased] in CHANGELOG.md. No version number is assigned and VERSION stays at 2.0.2, since the release number is the maintainer's call. Adds Open OnDemand embedding, a custom template system, a script browser, a Nodes page, module-aware form widgets and a substantially extended history page. Open OnDemand integration - OOD-integrated (embedded) mode: Open Composer renders inside OOD's own chrome (live OOD navbar and footer) via a reverse-proxy dashboard initializer under ood_integration/, with no iframe. Home page, templates and the script browser - All Templates page (/all_templates): every template as one flat list, including applications hidden from the index page. - Custom templates: save the current form values as a reusable template, with inline rename/re-describe, delete, and drag-and-drop ordering. - Load or Create a Script from Disk: a full-page file browser that opens .sl/.sh/.bash/.sbatch/.batch/.slurm files in the generic scheduler form with script location and name pre-filled. - New Script and New Custom Template pickers. - home_format: small (compact letter-grouped listing), per-category badge colors, and automatic GPU badges via the tags manifest key. Application forms - module_load widget: a dropdown of every available version of an environment module, rewriting the existing module load line in place so surrounding hand-written script lines survive. - dependent_module_select widget: a module list that follows the value of another (driver) widget. - remember_last on select widgets. - Script-to-form parsing: editing the script pane updates the widgets, and opening a job from the history page reconstructs the whole form. - Empty-script submission warning. History page - sacct is now the source of truth, so jobs submitted outside Open Composer appear too, with their script fetched live. - Job Efficiency panel: wall time, CPU, memory, and GPU utilization and memory for GPU jobs. - Live job details modal, with disclosure of the exact command run. - Output/Error columns with an in-page file viewer. - Cancel All Jobs, Delete All History and Refresh, plus per-job cancellation with a progress bar. - Per-column sorting and Cancelled/Unknown status filters. Nodes page - A new page listing the cluster's compute nodes with state, CPU, memory and generic resources, built from sinfo, with one dynamically discovered column per GRES type. Job submission - Automatic SSH key provisioning on Submit (opt-in, off by default). - Configurable modules_list_url for the site module catalog. Configuration and theming - The accent palette, GPU memory capacities and navbar/footer branding are now configuration rather than hard-coded values, so a site can be restyled without editing a view. - conf.yml.erb.sample reorganized into ten numbered sections, matching the installation documentation. Also extends the form.yml smoke tests under misc/tests/ to cover the new widgets, falling back to macOS's bundled jsc when node is unavailable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Hey RIKEN team Thanks so much for this app. We are trialling it here at the moment. I thought to push what we have done upstream, however we have made quite a few additiions to help us use this app with our users with our system. So this is a big push. Hopefully the additions we have made help enhance this great app that you guys have made. I am happy to discuss the additions we have made with you in person over video-call if you would like to chat more about these additions. Thanks Geoffrey |
|
Also. I have updated the docs pages with these additions, which is why the images will look different to your original. I have made sure that the manuals in the english docs are up-to-date and reflect the changes made correctly, but I needed claude's help to translate the updates into Japanese. Apologies if the additions to the Japanese version does not make sense. |
|
I obviously wrote this with the help of AI (Claude). I have read over much of the code and and changes that have been made. All the features have tested this as much as I can on our OnDemand system. |
Hey RIKEN team
Thanks so much for this app. We are trialling it here at the moment.
I thought to push what we have done upstream, however we have made quite a few additiions to help us use this app with our users with our system. So this is a big push. Hopefully the additions we have made help enhance this great app that you guys have made.
I am happy to discuss the additions we have made with you in person over video-call if you would like to chat more about these additions.
Thanks
Geoffrey
-----------------------------------------------------------------------------------------------------------------------
Recorded under [Unreleased] in CHANGELOG.md
Adds Open OnDemand embedding, a custom template system, a script browser, a Nodes page, module-aware form widgets and a substantially extended history page.
Open OnDemand integration
Home page, templates and the script browser
Application forms
History page
Nodes page
Job submission
Configuration and theming
Also extends the form.yml smoke tests under misc/tests/ to cover the new widgets.