flexypepo (17) [Avatar] Offline
misplaced paragraph:
page 179, paragraph just after the function setTerm, you write about SelectedMovieModel including function setSelectedMovie. This does not seem te belong in this section.

Sometimes you refer to ".... the context..." or "... application context...", which sounds as general terms (p.162, p.169). However, I assumed you mean class RottenTomatoesContext. It was not quite clear where to place the code.

6.2.2 using metadata [Inject] gives compiler warning of unrecognized metadata. However, the application seems to run fine. Maybe the warning should be mentioned in the text as a pre-caution not to worry. By the way, is there a solution to get rid of the warning?

Joel Hook has written in 2010 three very nice articles about RobotLegs (An introduction to RobotLegs AS3 part 1, part 2 en part 3). Maybe you can mention it as reference in your short overview of RobotLegs (p.6.1). They helped me to understand the basic architecture and Dependency Injection.
Articles were published on DevelopRIA which is deprecated. Maybe they can be found in the archives.

I'll like it to see you using RobotLegs, so I can see what must be done to get it up and running. The bottom-up way of building the classes is good for implementing the application. I do miss an overview of the used classes and the communications between the various objects. The figures "You are Here" do help on a global level, but could maybe refined. RobotLegs is new to me, and a lot of code seems to be involved. Good strategy to use only one scenario (Search)... still trying to understand the essence of it.

page 164: "which come first the implementation or the interface"
Using SourceMate supports your best practice: with a simple menu-option an interface is generated from the implementation class (http://www.elementriver.com/sourcemate)

listing 6.16:
At first, "event.serviceType" was an undefined property. However, it turned out that the SWC you refer to on p.160, is the correct one to use. After some investigations in the sourcecode (file: jonbcampos-RottenTomatoesAS3-607da67.tar.gz) a serviceType property is missing from the class RottenTomatoesResultEvent.

Still plunging through chapter 6...
jonathan.campos (16) [Avatar] Offline
Re: chapter 6 -some remarks
All good points. I am keeping editing points like these together for the next round of edits that I will be doing very soon.

flexypepo (17) [Avatar] Offline
Re: chapter 6 -some remarks

Finished chapter 6 - at last. Expected to have a working app (Search only) made with RobotLegs framework classes. However that didn't happen.

I noticed that following issues prevents me to have a working app:

1. missing code in book, such as MainMenuView at the end. Maybe other code snippets, I don't know.

2. order of steps to build the app: do I have to start from scratch (which I did), or, do I have to change the app of chapter 2/3? Missing guidelines.

3. a lot of code is mentioned, which has nothing to do with the search-scenario, but with the completion of the complete app. Difficult to see what needs to be done to get the Search-scenario working with RobotLegs. At the end I didn't know how to proceed.

4. I'm trying to learn to apply RobotLegs at the same time. I understand the global architecture, but I do still not understand how the important classes ty together based upon the application workflow of your app in chapter 6.

May I try to suggest a few things?

1. divide chapter 6 in at least two sections. One section explains RobotLegs (as you did) and how to build only the "Search A Movie/Dvd" scenario. No other code or explanation is involved. Clear starting point of the app to-be-develop. Result: a working app (Search only).
Then, a second section, which describes what and how to extend the Search-only app with other (user)scenarios towards a complete app with tips, snippets, hints, and particular pointing to and explaining difficulties.

2. structure each section according to best practices workflows for Robotlegs (my only example I know come from O'Reilly - Hooks), or, according to major parts of RobotLeg architecture (combinations of Views/Mediators, Model/Services, and Commands).

Some details:

1. listing 6.36 - codeline xmlns:views:"com.unitedmindset,views,*" should be xmlns:views:"views,*", I think, where the Flex view components are stored (ch2 and 3). Second, initially it was not clear te me how to make a SearchView component as a subclass of ListBaseView with Flash Builder. It might be me.

2. listing 6.42: MainMenuView is referenced, but code is missing from book. I wanted to see the Callout component, helas.

3. code on page 200 - just below figure 6.44: specifications of states ("<s:states>..</s:states>") must be outside the declaration-section, else a compiler error occurs (".. could not resolve..."). When I the follow the book text to implement the view.homeButton-clickhandlers, I could not place these in SearchMediator, due to undefined property view.homeButton. That was clear, but how to proceed?

I've also read and coded some snippets of chapter 4 and 5. Overall, I'm pretty pleased with your book. It's focusses on subjects I was a looking for.

Looking forward to see your next round of edits...

jonathan.campos (16) [Avatar] Offline
Re: chapter 6 -some remarks

Good feedback as we are trying to make sure the explanations work for everyone. The plan was to have you continue/refactor the code you've been working with up until chapter 6. I'll answer your other points point by point.

Part I.

1. Yes MainMenuView is missing though available for download. I've also considered making it available in the appendix, however there isn't anything special in those sections.

2. Continue from earlier chapters.

3. Technically I talk about every bit of code necessary, more than just search. But we will need to see what isn't very obvious.

4. What questions do you have exactly here?

Part II.

1, Probably not going to break things up more, but will be looking to explain the difficult points more.

2. Technically this isn't a book about Robotlegs, so we can only give so much information. I want to get enough information across but can't get into every caveat of RL.

Part III.

1. In chapter 7 I show images of the folder structure. I will do that here so you understand the packages. Technically I moved them around, not a big deal but need to give a visual explaination.

2. Yes, in section 6.5 I explain that we will be skipping the MainMenuView.

3. I'll add more code around here to explain where the states go.
flexypepo (17) [Avatar] Offline
Re: chapter 6 -some remarks

Thanks for the clarification.

"... refactoring the mobile app through the book...", yes, that was also my impression. Good, I'll like that. However, I only didn't know how to start in the beginning of chapter 6 - missing guidelines from the book, as said in previous post.

Part I - 1: is source code available of the end of chapter 6? I'll like to have a (working) app to start with for chapter 7.

Part I - 4: ok, bad English, sorry, its not my native language.
What I mean is, that I want to understand how the message flow is to build the search facility with all the classes, including Robotlegs framework classes. In UML terms: how should an UML Sequence diagram looks like, which shows how the Search is made with all the classes, like SearchMediator, SearchModel, SearchService and so on? I think, I should made the figure myself, because -technically- the book is not about UML.

Part III - 1: I've looked in chapter 7, but I could not find the picture of the Flex package structure including the components in "view"; pictures are about the AS3 classes package structure. I'll re-check.

I'll hope I can download source code to have a good starting point of the app for chapter 7... (Search only is alright). Is that possible?

jonathan.campos (16) [Avatar] Offline
Re: chapter 6 -some remarks
For the most part I definitely want you to keep posting your thoughts on this forum so that our discussions can help others.

For now, as I don't know if the code is released with the MEAP or which "version" of the book is currently in the MEAP. Please ping me off list and I'll get you the chap6 code.

jonbcampos [ a t ] g m a i l.com
jonathan.campos (16) [Avatar] Offline
Re: chapter 6 -some remarks
I am working to make sure the starting instructions to chapter 6 are clear and visible. Good point.

Part I - 4: I'll work and add something to diagram out the flow here. Good idea.

Part III - 1: I added it to chapter 6 now. That should help.