Commit Graph
20 Commits
Author SHA1 Message Date
guerler d3eb5a6b76 Fix linting 2025-03-21 12:29:58 -04:00
guerler 750915f3e5 Adjust unit tests 2025-03-21 12:27:07 -04:00
guerler 8c40e3f933 Add another test case for invocation id replacement 2025-03-21 10:13:39 -04:00
guerler 3dec0e3df0 Add test cases and enable cell based markdown editor in workflow reports 2025-03-21 10:13:39 -04:00
guerler dd6fda14da Amend description of resolve_invocation_markdown 2025-03-07 08:08:42 -05:00
guerler fec24a7e3a Fix test comment 2025-03-07 08:06:23 -05:00
guerler 8caaa6bc27 Remove duplicate test case 2025-03-07 08:04:40 -05:00
guerler 8d0fd266f2 Expand unit tests to conversion from populated state to resolved state for pdf export 2025-03-06 22:09:36 -05:00
guerler 09d69e4fb6 Adjust test case 2025-03-06 22:09:36 -05:00
guerler 80ecc6a717 Adjust markdown manager test 2025-03-06 22:09:15 -05:00
guerler 1548b8f10c Fix failing unit test 2025-03-06 22:09:15 -05:00
guerler 018aec937c Fix import in unit test 2025-03-06 22:09:15 -05:00
guerler 4b140606d7 Modify backend such that invocation ids and labels are preserved as equivalent alternative to resource ids 2025-03-06 22:09:14 -05:00
John Chilton 7e515a6504 Fix workflow report to target right workflow version.
There was a past jmchilton todo in the code base about it. Directives that might target particular versions of a workflow (so workflow_display and workflow_image) now can take a workflow_version attribute and when these things are auto-populated for workflow invocations - they are populated with the right version for the invocation.
2023-11-17 13:09:09 -05:00
John Chilton 427847bcc4 Fix up some import "issues". 2022-03-16 14:22:50 -04:00
Dannon Baker 623a5e165a Apply black formatting.
Apply isort.
2022-02-03 07:42:20 -05:00
Dannon Baker 16d750be13 Add test for invocation_time 2021-05-28 12:34:18 -04:00
John Chilton fa637518e8 Implement yet another syntax for Galaxy Markdown.
The community took a vote (https://github.com/galaxyproject/galaxy/pull/8511#issuecomment-525886525) and the overwhelming favorite was this programming style declaration of a vaguely C-ish language embedded in quote fenced blocks.
2019-08-30 09:46:14 -04:00
John Chilton 664ab71653 Rework toward more RMarkdown-y syntax for Galaxy Markdown. 2019-08-30 09:43:15 -04:00
John Chilton ad650897d6 Implement workflow invocation reports.
Implement markdown backend and frontend components as well generator plugin framework to allow customizable workflow invocation reports.

Architectural Choices on the Client

Old-style embedded objects vs components

In theory, this could make really nice use of excellent VueJS components for dataset display, dataset collection display, workflow display, etc.. These aren't available yet, we don't even really have Backbone stuff that exist very well outside history panels, so this re-uses "components" from Galaxy Pages for datasets and reuses the collection display for history panels as a stand-alone display for collections (I got this trick from DIsplayStructured.vue). This isn't ideal and I know that but at least reusing things this way will provide a path forward for migrating both pages and this new Markdown language (which could easily replace or co-exist with pages HTML someday) together seamlessly as the real modern components become available and doesn't increase the overall work needed to integrate newer style components. In fact, this might even be the impetus for creating and polishing more of these components.

markdown-it vs markdown-it-vue

I tried this with markdown-it-vue also but it added very little in terms of reducing client code, obscured entirely how to attach plugins to the markdown rendering process, and brought in many, many more extra packages that we don't need or want.

Given there is no representation of invocations in the GUI and not editor for reports config this is a bit challenging still. But here is goes:

- Source Galaxy's virtualenv.
- Login to a user and grab an API key, set in the following command:
- ``GALAXY_TEST_EXTERNAL=http://localhost:8080 GALAXY_TEST_USER_API_KEY=38175dfc69d9009992b69efcca8b209b pytest test/api/test_workflows.py::WorkflowsApiTestCase::test_workflow_invocation_report_custom``
- In the web browser go to http://localhost:8080/api/invocations and grab the latest invocation ID. Replace it in the follow query string.
- Navigate to http://localhost:8080/workflows/invocations/report?id=c887f1d0da42bdfe
2019-08-30 09:43:01 -04:00