Date: Thu, 28 Mar 2024 10:40:48 +0000 (UTC)
Message-ID: <875813669.29.1711622448162@8177c8800060>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_28_189705917.1711622448162"
------=_Part_28_189705917.1711622448162
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
Goals
- get hot FTL pages working again (fast turnaround when working on fronte=
nd)=20
- eclipse: need to add resources dir containing FTL to build path and set=
preferFileSystemAccess to true. run mvn war:war in application
- convert client savings account creation area to Spring/FTL=20
- service facades in place so all data/behaviour should be available, if =
not we will need to tweak and happy to help/collaborate on this with stanle=
y/whoever.
- (Reached from Clients&Accounts tab, Create Savings account link on =
left side)
- Create Pages:=20
- Create Savings Account - Select a customer;
- Create Savings account - Enter Savings account information (2 pages) ;<=
/li>
- Create Savings account - Preview Savings account information
- Edit Savings account information button from preview page
- testing=20
- unit tests (in memory) for Spring controllers (for significant function=
ality)
- UI level acceptance tests - functional UI test in place - CreateSavings=
AccountTest
- schedule manual walk through of CSS with PM/QA/Dev.
- manual UI test by QA on multiple browsers
- use and document FTL templates
- use and document code patterns
- identify addition templates/patterns that are needed to accelerate work=
- identify whatever ways we can to accelerate Spring/FTL conversion
- re-estimate total effort for conversion accross mifos based on single c=
onversion from spike
- faster testing?=20
- Create API for createSavingsAccount - different spike assigned to Kojo:=
- functional UI test in place - CreateSavingsAccountTest - any rework inv=
olved with that test due to spike?
- conversion of complete "vertical slices": front-end, services, tests, b=
ack-end
- many devs working together, sharing knowledge, moving quickly
Stories
- document eclipse FTL configuration for hot FTL pages
- Proposal - One timeboxed story on FTL spike - MI=
FOS-4409=E2=80=89 (to be completed in MIFOS-45=
73=E2=80=89)
- Measure speed of migration of another area of Mifos. Compare establishe=
d baseline (12 or so data points of historical LOC counts from git) with th=
ese new measurements.
Results
- speeding up ui conversion=20
- hot Freemarker and Java reloading enabled via Michael Vorburger's Workspace 2.0 (see also MIFOS-4099=E2=80=89)
- unit tests of [spring] webflow
- new, reusable Freemarker macros/widgets, such as the "progress tracker"=
- new, reusable datatables-based display of search results in cre=
ate savings flow
- better css classes (TODO: provide example)
- improved ci configuration: faster feedback when builds fail
Measuring=
our speed improvements
"Speed of migration" will be rate of change of LOC of select source file=
s (.jsp, *Action.java, *Controller.java, etc.) - comparing only jsp to jsp,=
ftl to ftl etc., over time (since we might expect, for instance, less LOC =
in ftl than jsp).
Measuring in this way will allow us to track a rough "burndown" of remai=
ning UI code to convert (jsp and *Action.java LOC remaining).
Measuring testin=
g effort
For testing related goals, we will measure on creating Center workflow:<=
/p>
- time spent modifying CreateCenterTest. For previous FTL efforts (ie: on=
e "flow" (aka "wizard" or multi-step form), ensuring test verified all face=
ts of page was not addressed. New Measurement: __________
- Number of issues (regressions) caught during CSS walk through. For prev=
ious FTL effort, number was zero since now walk through occurred. New Measu=
rement: __________
- Number of layout or functional bugs logged during testing phase (missed=
during walk through). For previous FTL efforts, this was typically 5-10 is=
sues. New Measurement: ___________
- Time spent by QA manually testing the feature, including logging issues=
and retesting bugs fixes. For previous FTL effort, similar sized FTL conve=
rsion would be approximately 20 hours. New Measurement: _____________
More potential de=
v tasks
- technical improvements=20
- enable instant reloading of Freemarker templates=20
- (Stanley was saying he was able to hook it up to WTP and hot
deployments?)
- Michael Vorburger is also working on dev setup improvements, which
includes the promise of instant FTL reloads
- have early UI walkthrough on dev box with PM and QA
- use JRebel
- spend time summarizing and adding transparency to off-list work by
Stanley Kwok & Michael Vorburger
- could we use Spring Roo on top of Services/ServiceFacades?
- better templates=20
- reusable css pieces (use Compass?)
- reusable ftl widgets
- do pagination on client side with jQuery plugins such as http://www=
.datatables.net. Right now pagination is handled by TableTag class.=20
- Looks nice, what paginates the query to the database in this case? see =
SavingsDaoHibernate.searchNotes and the NotesSearchResultsDto class,
- standardize the location of web resources (css, js ...)
- use SASS or Compass to manage CSS? for example, define the hex value of=
mifos orange in one place
- construct breadcrumb automatically? some ideas:=20
- measuring/managing the effort=20
- as a control to measure against: estimate of how fast it's been going
in the past e.g. Product Mix page took x days and had 23 bugs logged on
new implementation
- measures: what is the time required to build new FTL; how many bugs
found by QA during manual testing; number of automated tests and time
to write new automated tests
- may need to measure twice - once on first try where we have trial
and error, then second time with better defined
- show how are new ideas are speeding up the process
- team for sprint=20
- multiple devs
- fast feedback: tight integration w/testers=20
- some testing happening every day
- QA effort includes=20
- new acceptance test for page (or fix/improve old test)
- manual test pass to see if any bugs can be found in new FTL
- seperate but associated spike on building API test for create Savings
account
- logistical/infrastructure improvements=20
- make sure all devs have fast hardware / fast internet
Spri=
ng Web flow examples in application
Frontend develo=
pment aids
See also
------=_Part_28_189705917.1711622448162--