In payments land, we allow you to advertise from the detail page of a free app a link to a paid version of your app. On the detail page of my free app (https://marketplace-dev.allizom.org/app/carrier-info/), I advertise a paid version of my app: http://f.cl.ly/items/2a3b0w0U1U0F3E0K010n/Screen%20Shot%202013-05-01%20at%2010.46.43%20PM.png Michael, how should this look in the new designs?
To whomever implements this feature: make sure you do models('app').cast(upsell). It might have to be done at the view layer. If we don't do it, clicking on the upsell will cause an uncomfortable amount of waiting for no reason.
Since we're moving towards keeping data in elasticsearch to avoid hitting the database on consumer pages, let's consider what minimal fields we'll need for what the API returns and not a whole app resource object. For example, if we could simply store ID, icon, and name (and resource URI for the app detail API could be generated from the ID), that'd be perfect. Then we can keep that in ES along with the app and that's our upsell data.
API side is done. Fireplace may need a small update if we changed anything they're using. https://github.com/mozilla/zamboni/commit/b3ec3e3
Krupa: do you have any apps on -dev with upsells that we can test with?
Pushed unstyled upsells: https://github.com/mozilla/fireplace/commit/d7e6194fcaa0426da296a0df31ca5752388f0b30 You can test with the app slug "upsell" when using flue
As Basta mentions in comment 7, these are unstyled. Reopening for styles...
Making this the API side of the bug. Created bug 877892 for fireplace.