Meta
- 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
- Notes 10/5
- Directory structure\
- Task: research ways to better documents code
- Export Questions:
- How can we know what is exported in a file?
- IntelliJ Support?
- Flow?
- Better JS Docs?
- How can we know what is exported in a file?
- Review of existing packages
- Stuff to remove:
- alt
- flummox
- flux
- react-modal
- es6-promise
- change underscrore to lodash
- Evaluation:
- react-grid-layout
- History
- Stuff to remove:
Application State
- Application initialization
- 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?
- Big Question: How do we update dependent state across different branches of the state tree?
- Notes 10/8 -
- Look at http://blog.javascripting.com/2015/08/12/reduce-your-side-effects/
- Use reducer with side effects approach
- Must guarantee reducer (table data first) order
- Other reducers with the original action if they can
- App Data (state of applications, what is showing, etc)
- Search Data (image meta data, catalogs, etc)
- Image Data
- XYPlot/Histogram Data
- Table meta data
- Notes 10/5 -
- Application data layout
- How add new Component?
- How are Actions and Reducers organized?
- In GWT we started with commands, how do we start now?
Components - how they might work in React/Flux world
- App core
- Fits Viewer
- Tables
- XY Plots
- Histogram plots
Dialogs & input forms
- 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
- note 10/7 -
- Control panels
- Missing Widgets
- Tab Panel
- disclosure panel
- suggestion text box
Outstanding Issues? What we missing?
How do we start???
Misc
- 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
- Notes 10/8
- 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
- We might use 'less' or
- Notes 10/5
Network
- Network Protocol - Json
- State of Json with current Firefly
- JS Package for network
- 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