Hi Justin et al.
Thanks for your compliments and your prompt response to my request for
review. I addressed your first two email points in the two jira's listed
in the subject line and have checked in those changes.
I think you have a good point about the test data in builder.js but we
should discuss it further - Michelle and I also chatted about this data
structure, so it is worth bringing this question to her attention as well.
As I'm sure you recall, the aim of the customBuild component is to to
populate the custom build page from the live data from the
build.properties file. For the demo that we've created, we provide two
ways to populate the page. The first technique provides the data via a
hard coded data structure
fluid.customBuild.demo.completeFluidInfusionData (which I guess is only
complete today and will likely change considerably over time). The
second technique provides the data live via the build properties file.
You can see code to use the two different techniques in CustomBuild.html
and will recall that we have been commenting out the specific
builderInit lines depending on which technique we want to use - the
stand alone data structure works well for testing without dealing with
any of the php code.
<snip>
//to use test data use the following
builderInit("#customBuild",
fluid.customBuild.demo.completeFluidInfusionData);
//to use data from infusion json files use the following
// builderInit("#customBuild", fluid.customBuild.dependencies);
</snip>
As I was working with the tests, I noted that we reproduced the exact
same data in the tests. I refactored to use only one copy of the data,
but perhaps it was a case of "premature optimization".
Note though, since this is a piece of demo code, the
fluid.customBuild.demo.completeFluidInfusionData data does not need to
change - it could stay the same even as infusion expands, since the data
for the 'live customBuilder' will always come from the build.properties
file and not from this data structure. However, I'm thinking that people
will be tempted to change the data as the real infusion expands, in
which case they will have to change the tests to reflect those
changes...and some of the hard coding will be a pain to change.
I did try to address this somewhat by providing some constants for the
indexes of the specific modules in the data which you wrote tests
around. In customBuild-tests.js you can find:
var INLINE_EDIT_INDEX = 7;
var PAGER_INDEX = 8;
var PROGRESS_INDEX = 9;
var REORDERER_INDEX = 10;
var UIOPTIONS_INDEX = 12;
So, I think that outlines all of the details around this data
structure...what do you think...should it simply be duplicated in both
the tests and the demo to prevent people from breaking the tests
inadvertently? I'm not convinced, but honestly don't think it is
critical one way or the other.
Laurel
Justin wrote:
Hello,
I've looked over some of your commits, please see my comments below.
customBuild.js
============
* the code for checkElementArray and unCheckElementArray seem to
be very similar. You could probably abstract that out into a
general function that is called with different parameters
* This is one of those things I thought about a while ago, but
forgot about. The onModelChange event should probably be renamed
to afterModelChanged or something like that.
customBuild-tests.js
================
* What is the strategy going forward for
fluid.customBuild.demo.completeFluidInfusionData. It probably
shouldn't pull data in from builder.js but have some test data
within the tests directory, or will this be pulling in some live
data in the future.
* Depending on the above, you may want to look into not having the
module indexes hardcoded for your tests.
It's looking good. Hope the feedback helps.
- Justin
begin:vcard
fn:Laurel A. Williams
n:Williams;Laurel
org:Faculty of Information, University of Toronto;Adaptive Technology Resource Centre (ATRC)
email;internet:[email protected]
title:Accessibility Software Designer
x-mozilla-html:TRUE
version:2.1
end:vcard
_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://fluidproject.org/mailman/listinfo/fluid-work