rally-modern-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

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)

Readme

Keywords

none

Package Sidebar

Install

npm i rally-modern-sdk

Weekly Downloads

2

Version

0.5.1

License

BSD-3-Clause

Unpacked Size

649 kB

Total Files

128

Last publish

Collaborators

  • am283721