Sunday, April 8, 2012

AppFlower Tutorial Done

Following up on yesterday's post, I've completed the tutorial for AppFlower in which one builds a customer relationship management (CRM) system (or at least the framework for one). Along the way, I bumped into a few "gotchas" which I'll document here. I don't think we'll end up using AppFlower Studio, but not because of the few bugs I encountered (all of which seem to have work-arounds).  AppFlower is based on Symfony, and I think our target applications would require a deeper understanding of Symfony than I'm willing to invest in (especially since our developers prefer to use Microsoft's ASP.net).

Anyway, herewith my notes on the AppFlower CRM tutorial (in somewhat random order).
  • There are minor discrepancies between the text (including images) and what you see in AppFlower Studio, possibly due to updates in Studio since the tutorial was written. They're harmless.
  • The tutorial states that you can preview a form and use the preview to enter data into the database. I found the previews to be non-functional (neither the submit nor the reset button did anything).
  • In fact, even when running the application, the reset buttons on forms did nothing (in particular, did not clear the form). I have no idea why.
  • Some of the List views (in particular, listDeals) caused database errors when used, and prevented the dashboard from displaying. I'm not 100% certain, but I'm pretty sure this is tied to the presence of foreign keys in the models. The tutorial creates the foreign key relationship first (while building the model), then creates the form using the drag-and-drop interface to select fields. I found two work-arounds for the database errors. One is to create the model, including the foreign key fields, but not specify the relationships until after the list views are created. The other is to specify the relationship early (as in the tutorial), use drag-and-drop to create a list view containing everything but the foreign key fields, then add those fields manually in the widget inspector (right hand panel).  I have no idea why the work-arounds worked, but they did. Curiously, edit views for models with foreign keys worked just fine with no tweaking.
  • I discovered that if you return to an existing model containing foreign keys and delete a relation (not the entire field, just the relation), save the model, go elsewhere, then return to the model, the relation is back. The only cure for zombie relations that I found was to delete the entire field, then recreate the field without the relation.
  • The tutorial has you create links to forms on the desktop (which work), and to specify "icon-plus" as the icon. No icon was displayed on the desktop for any of those links (nor is there one in the screenshot in the tutorial).

No comments:

Post a Comment

Due to intermittent spamming, comments are being moderated. If this is your first time commenting on the blog, please read the Ground Rules for Comments. In particular, if you want to ask an operations research-related question not relevant to this post, consider asking it on Operations Research Stack Exchange.