Meta

  1. Development Environment
    • Notes 10/5
      • remove ipac-firefly directory
      • builds will do a 'npm run build'
      • 'npm install' will be part of the standard gradle build, this will upgrade any npm
  2. Directory structure\
  3. Task: research ways to better documents code
  4. Export Questions:
    • How can we know what is exported in a file?
      • IntelliJ Support?
      • Flow?
      • Better JS Docs?

  5. Review of existing packages
    • Stuff to remove:
      • alt
      • flummox
      • flux
      • react-modal
      • es6-promise
    • change underscrore to lodash
    • Evaluation:
      • react-grid-layout
      • History

 

Application State

  1. Application initialization
  2. Data organization
    • Notes 10/5 -
      • Big Question: How do we update dependent state across different branches of the state tree?
        • do we  generate more actions?
        • does one action update all the state?
        • how do you update multiple parts of the state tree when you are required to bring more async data?
    • Notes 10/8 -
    • App Data (state of applications, what is showing, etc)
    • Search Data (image meta data, catalogs, etc)
    • Image Data
    • XYPlot/Histogram Data
    • Table meta data
  3. Application data layout
  4. How add new Component?
  5. How are Actions and Reducers organized?
  6. In GWT we started with commands, how do we start now?

 

Components - how they might work in React/Flux world

  1. App core
  2. Fits Viewer
  3. Tables
  4. XY Plots
  5. Histogram plots
  6. Dialogs & input forms

  7. Toolbars
    • note 10/7 - 
      • vis toolbar bar will render enabled buttons in the store, will support generating pulldowns
      • Need to write toolbar button (support tags), pulldown, that are reusable
  8. Control panels
  9. Missing Widgets
    1. Tab Panel
    2. disclosure panel
    3. suggestion text box


Outstanding Issues? What we missing?

How do we start???

 

Misc

  1. Images 
    • Notes 10/8
      • We need to look at  using import to bring in images
      • Therefore webpack will replace GWT in handling small images
      • Using url-loader or file-loader will allow you to inline your images.  url-loader also has optional limit parameter to determine when to inline it.  i.e. url-loader?limit=100000
  2. CSS style imports
    • Notes 10/5
      • Will have a /style import
      • globals files are in the /style dir
      • local css files are in next to the component jsx file
    • Notes 10/8
      • We might use 'less' or 'sass' to replace gwt bundles
      • We have to decide by the time we unhook gwt from the js app
      • We are currently dependent on the gwt css bundle 

Network

  1. Network Protocol - Json
  2. State of Json with current Firefly
  3. JS Package for network
  4. Web Sockets

Testing

  • Notes on Testing 10/9
    • js test code will be kept same directory
    • __test__/{testname}_test.js
    • Starting Point: test any exported function or class
    • Emmanuel & Loi will work on setting up mocha
    • Emmanuel will write first test
    • Then Trey and Tatiana will each write one
    • Then we will revisit, if everything is fine we will go forward
    • After that we will look at integration testing

Github

  • Notes on branching 10/9
    • We will move to Github week of 10/19
    • New branching starts week of 10/12
    • branching is now as follows from less stable to more stable:
      • dev
      • master
      • rc
      • ops 
    • We will work in dev instead of master
    • Feature branch will merge into dev (not master)
    • Promotion to master will happen by LSST or IRSA need, daily to monthly
    • branches managers (Loi,Trey,Emmanuel) will promote out of dev
    • Any one working in a more stable branch (example - rc) will be responsible for backward merging up the chain.

 

 

GWT Interface Plan Ideas

October/November Tasks

  • Notes 10/9, Task:
    • Loi: Rearrange branches
    • Loi: Framework
    • Loi: Initial state from server
    • Loi: Menu
    • Emmanuel: Testing Framework
    • Trey: Move to Github as primary
    • Trey: Port Alt to Redux, remove Alt
    • Trey: Port Flummox to Redux, remove Flummox
    • Trey: Finish color dialog, with more advance features
    • Trey: Start Fits Viewer
    • Trey: Some Input form
    • Loi: Round Trip
    • Trey: Think about json thing, meeting to discuss plan of action
    • Tatiana: remove es6-promise, react-modal, other cleanup
    • Tatiana: convert underscrore to lodash
    • Tatiana: finish ESLint 
    • Tatiana: Options for histogram
    • Tatiana: tab bar
  • Later Task:
    • Toolbar
    • Suggestion Text box