Created under - DM-19765Getting issue details... STATUS at the request of the Architecture team to enable a larger discuss about release management for the whole LSP.
Repositories directly developed as part of Portal Aspect implementation
Repository | Purpose | Origin Org | LSST fork? | Principal Language(s) | Standard LSST build? | pip installable? | npm installable? | Deployment | Needed in users' Python/C++ coding environment? |
---|---|---|---|---|---|---|---|---|---|
firefly | Core code for Firefly, shared with IRSA, NED, etc. | Caltech-IPAC | No | JavaScript (ES6), Java | No; uses Gradle | n/a | n/a, but see firefly-api-access | Used in the construction of Docker images for server-side operations, layered on top of third-part Apache Tomcat docker images. | No |
firefly-api-access | Provides hooks to allow Firefly's Javascript code to be loaded starting from npm -style package loading | Caltech-IPAC | No | JavaScript | n/a | Yes | Used in the implementation of Jupyter widgets and JupyterLab extensions, in order to conform to requirements of expressing code dependencies via npm . | No | |
firefly_client | Core Python library for user interaction with a Firefly server | Caltech-IPAC | Yes | Python | Yes | Yes | n/a | Required in LSST Stack deployments in which afw.display 's Firefly back end is to be usable. Also used on the server side as part of implementing the Firefly JupyterLab extensions. | Yes |
jupyter_firefly_extensions | JupyterLab extensions that support Firefly integration with the JupyterLab environment, including the command menu and file-opening interactions | Caltech-IPAC | No | Python, JavaScript | Yes | Yes | Preloaded part of the LSP's JupyterLab environment and therefore required in the construction of the Docker images for the Nublado spawner. Depends on firefly_client . | No; Python code is used to extend the JupyterLab server process, not the user's Python environment. | |
display_firefly | Implements afw.display back end supporting image displays in Firefly. | lsst | n/a | Python | Yes | No (loaded via LSST packaging mechanisms) | n/a | Not useful outside LSST Stack context. Not used on the server side of the Science Platform. Depends on firefly_client . | Yes; generally obtained via lsst_distrib . |
suit | Implements LSST Portal Aspect-specific behaviors added to the core Firefly library. Defines the Portal web application. Primarily JavaScript but also contains Java extensions (search processors) to the Firefly server side. | lsst | n/a | JavaScript, Java | n/a | No | Used in the construction of server-side container images. Not useful in a user context. | No | |
suit-onlinehelp | Contains help content, as HTML, and a small amount of GWT GUI code to implement a help application that provides a navigation sidebar for the HTML content. | lsst | n/a | HTML, Java | No | No | Used to construct a container image with a Web server, the thin onlinehelp Web application, and the HTML pages of help content. | No | |
firefly_widgets | Implements Jupyter (Notebook) widgets derived from Firefly capabilities. Not actively maintained since the pause in Portal development. | Caltech-IPAC | No | JavaScript, Python | Yes (but not actively updated) | ? | Not updated to 2019 standards for Jupyter(Lab) extensibility frameworks. Not intended for release in the foreseeable future unless IPAC resumes development. | Yes (but only if it were updated / maintained) |
Artifacts needed for deployment and normal utilization
Designation | Artifact Type | Description | Build notes | Server-side relevance | User-environment relevance |
---|---|---|---|---|---|
firefly-client PyPI project | PyPI project release (wheel and tarball) | Installable package built from firefly_client repository. Note the change from "_" in the repo name to "-" in the PyPI name. | Needed in order to provide the JupyterLab Firefly extensions. Explicitly included in the Nublado Dockerfile script. | Supports user Python interaction with the Portal Aspect or the JupyterLab Firefly extension. Included in lsst-distrib via display_firefly , however, so few LSST users need to actually "pip install" it. | |
firefly-api-access npm release | npm module | Installable JavaScript package to allow loading the main Firefly JavaScript code in a browser context. | Loaded, transitively, by jupyter_firefly_extensions. | Essentially none (though it runs in the user's browser, the user is not involved in making that happen). | |
jupyter-firefly-extensions PyPI project | PyPI project release (wheel and tarball) | Installable package built from Python part of jupyter_firefly_extensions repository. Note the change from "_" in the repo name to "-" in the PyPI name. | Needed in order to provide the JupyterLab Firefly extensions. "pip install" of this is explicitly included in the Nublado Dockerfile script. | Not needed or useful in the LSP environment. Might be of interest to remote users trying to reproduce the LSP capabilities. | |
jupyter_firefly_extensions npm release | npm module | Installable package built from JavaScript part of jupyter_firefly_extensions repository. | Required in JupyterLab in order to implement the UI of the Firefly extensions. | Essentially none (though it runs in the user's browser, the user is not involved in making that happen). | |
Unified Portal application | Docker image | Provides the "interim Portal" application that represents the operational closeout of the SUIT effort in 2019. Includes TAP search capabilities, ObsCore handling, the full set of "generic Firefly" display and exploratory data analysis facilities, IRSA search capabilities inherited from IPAC, and some generic FITS-file-opening functionality. Includes the Initially will continue to present the "legacy PDAC" search capabilities as well; these will be retired eventually. Contains Tomcat 9 server and Java 10 runtime. To be upgraded to Java 11 for long-term support. | To be deployed at the "{instance}/portal/app" endpoint of LSP instances in the May/June 2019 time frame. | Basically not useful outside the specific LSST server context. | |
lsst-demo application | Docker image | Provides a "generic Firefly" capability including the Contains Tomcat 9 server and Java 10 runtime. To be upgraded to Java 11 for long-term support. | Deployed as a "bare Docker" application on the lsst-demo server. Required to be preserved for the time being as the performance of Firefly under Kubernetes at NCSA is still unexpectedly slow for large files and this is being investigated. While that is the case, lsst-demo is used, via an override in the Nublado configuration, as the target for afw.display interactions and the Firefly JupyterLab extensions from the Notebook Aspect. | Of interest to users wanting to experiment with running a local "generic" Firefly server. Not intended to be a functional part of the LSP in normal use. | |
Online help application | Docker image | Contains the help content for the Firefly online help system - which is integrated with the way Firefly applications provide contextual, deep-link, help from help icons in the UI - as well as a small amount of JavaScript (built from Java with GWT) and a Web server to support it. | Intended to be deployed within LSP Kubernetes. Needs to be released in tandem with the Portal/Firefly application in order to match versions. Not available yet (as of mid-May 2019). | None, essentially. | |
Legacy deployments | |||||
Firefly / Slate application | Docker image | Provides a "generic Firefly" capability including the Contains Tomcat 9 server and Java 10 runtime. To be upgraded to Java 11 for long-term support. Closely related, but not identical, to the | Deployed at the "{instance}/firefly" endpoint of LSP instances to support afw.display interactions and the Firefly JupyterLab extensions. Soon (May/June 2019) to be superseded by the "unified application" above. | Of interest to users wanting to experiment with running a local "generic" Firefly server. Not intended to be a functional part of the LSP in normal use. | |
Legacy Portal application | Docker image | Provides the legacy "PDAC" portal functionality and the initial deployment of the TAP search capability as a fully configured Firefly web application. Contains Tomcat 9 server and Java 10 runtime. To be upgraded to Java 11 for long-term support. | Deployed at the "{instance}/portal/suit" endpoint of LSP instances. Soon (May/June 2019) to be superseded by the "unified application" above. | Basically not useful outside the specific LSST server context. |
Approximate sketch of build flow
This sketch includes both SUIT-specific elements and elements of the LSST Stack and Nublado flows.