Integrated Developer Environment¶
The Integrated Developer Environment (IDE) is a place to view and edit resources together in order to develop analysis for AO.
This will be aimed at advanced users with some knowledge of analysis, programming, and the AO platform.
- It will attempt to be relatively simple
- Less focus on developing applications fully and more focused on integrating application into our system
- Currently no plans for direct ssh access to backend
- Everything runs through task system which is an async queue system.
Some examples of web based IDE's.
There are many resources that are involved in developing analysis for the platform.
The task system is the main link to our backend that is designed to be flexible and scalable.
workspace is a filesystem in the backend that can be mounted for running tasks. Anything done in a
workspace will be preserved after a run is completed so the
task system allows side effects to take place in addition to the primary output of
The workspace console is used to run command within a workspace. It is a special
task:docker that runs commands through bash by default.
file type resource is used to store and retrieve objects for users. This is the in between the user and the
workspace. Users can only access the
tasks. To get files onto a
workspace, it must first be put onto the filesystem, and then downloaded to the
workspace. To retrieve files from a
workspace, it must be copied to a
file and then downloaded from there.
Events are objects that are passed to a task to instatiate a task run. Events can be created from many sources, they can be mapped and validated according to configuration, and eventually will be able to saved and reused for testing and development purposes.
Here is a sketch of the potential layout.
You will be able to toggle between a
task view and a
Show file navigation.
- In task view, files will be displayed that relate to the task and are stored as references in the task object.
- allow users to sync up and down these files
- In workspace view, show file tree by using
lstask on backend to retrieve array of files and folders as user traverses tree
Show file editor
For specific file types, they will be displayed in editor and can be saved and synced with workspace.
Display/edit configuration for task or workspace depending on which view you are in. The notes for the resource will be displayed on the right.
Ability to run task (task view) or console commands (workspace view). Show output related to these commands.
Sync Files to Workspace¶
- Add existing file to file group associated with a task
- Add file from workspace to file system for download
- Easily sync files up and down to workspace.
- Add/create events
- Edit/inspect existing events
Test Run Tasks¶
- Run task with events
- View output from tasks
- Easily copy task and cross team copies