rally-modern-sdk
v0.5.1
Published
An exploration of what a more modern SDK for Broadcom's Rally ALM could look like.
Downloads
30
Readme
rally-modern-sdk
An exploration of what a more modern SDK for Broadcom's Rally ALM could look like.
Rally's public SDK uses ExtJS 4, which is very outdated - Especially as Rally has been updated with a new UI.
This is an attempt to make something in Svelte that looks comparable to their in-house React kit.
This is currently pre-beta software and may remain that way forever
Repo Structure
src/lib
houses all of the SDK code
src/routes
houses the testing app code
SDK Structure
Import the components and utilities you need like so:
import { Grid, createFilter } from 'rally-modern-sdk
Available components
- App
- Button
- Checkbox
- Combobox
- Dialog
- FieldChooser
- FilterControl
- Grid
- Input
- LoadingMask
- Popover
- ProgressBar
- SavedViewCombo
- Toast
Available utilities
- createArtifact
- createBatch
- createDetailLink
- createFilter
- createSorter
- decorateRallyObjects
- deleteWorkspacePreference
- getAllowedValues
- getChildProjects
- getCollection
- getCollectionStore
- getContext
- getCurrentProject
- getDataContext
- getEnvironmentConfig
- getFeatureToggle
- getFieldDisplayValue
- getFlowStates
- getHealthColorForObjective
- getHealthColorForPortfolioItem
- getModel
- getObjectiveTypes
- getOidFromRef
- getPortfolioItemStates
- getPortfolioItemTypes
- getProjectHierarchy
- getProjectTree
- getRecordType
- getScheduleStates
- getScopedStateId
- getState
- getTopLevelProjects
- getTypeAttributes
- getTypeDefinition
- getWorkspacePreference
- getWorkspaceTimeZone
- initRallyApp
- parseError
- promisify
- query
- queryLookback
- saveAs
- saveState
- setLoading
- showError
- showMessage
- showSuccess
- showWarning
- updateWorkspacePreference
- urlRequest
TODO
- Ability to pass data promise to components and show appropriate loading UI
- Need to manage pageSize, paging, fetching more data
- Factory for Combobox display values (e.g. Name should inlude formatted ID for artifacts)
- Grid default sorters if type is string or for standard fields (e.g. Formatted ID, sort numerically by unformatted id)
- Grid search component
- Grid toolbar component
- Grid row size parameter
- Combobox displayField can handle Rally Model data (aka item.get(displayField))
- Combobox add Generics to data paramater for typing
- Component validation
- Combobox improve keyboard navigation on pagination buttons
- Combobox fix page count text when searching with local data (remote data, value clearing on expanding)
- Charts?
- Add DatePicker component (see aging wip app)
- Combobox items aria-label isn't reactive when selecting/unselecting
- Grid: Resizing column width triggers sort
- Saved Views component
- Component setValue (added to Combobox, but now value doesn't react to 2-way binding)
- Review z-indexes in components
- Filter Component (for Grid but also generic)
- Combobox make bold item if it's current sprint or release
- Package components for use in non-svelte projects?
- Artifact details tooltip when hovering over FormattedID in grid
- Field Picker Component
- Keyboard accessibility on Buttons is broken
- Use workspace specific names for Project, Release, Iteration (found in WorkspaceConfiguration)