Use Azure CDN to Cache static assets (javascript, css, images, etc) in edge servers so that performance is improved in geographies where the application isn't deployed.
There are 4 await functions each re-sizing an image. The actual resizing happen synchronously. One way to solve it is to have the webjob resize only one image, and select the image size and blob path via the info in the Q message
We might want to leave the Azure CDN out of the initial template, as it's more of an advanced scenario. However, we should include an ARM template for creating/configuring Azure CDN with this solution.
There was a bug in the mobile client (in both Android and iOS) that prevented images from being uploaded to the public album, even if you were not using the default service. There just needs to be an new app store deployment with the latest from master.
The Facebook app shows this message when you first authorize: You are using a display type of 'page' in a small browser window or popup. For a better user experience, show this dialog with our JavaScript SDK without specifying an explicit display type. The SDK will choose the best display type for each environment. Alternatively, use display type 'popup' if you have special requirements precluding you from using the SDK. This message is only visible to developers of your application.
Provide a demonstration of the offline sync functionality in the Mobile Client App. Show the results of the files being uploaded once connectivity is regained on the device.
The 0.3 version of the Functions runtime requires a binding direction of InOut, but the Functions portal has a bug (https://github.com/projectkudu/AzureFunctionsPortal/issues/431) where it freezes the UI when it sees binding modes it doesn't understand. We should downgrade to ~0.2 so that it's possible to use the functions editor.
https://donnamcontosomoments.azurewebsites.net/app/js/services/AuthService.js Failed to load resource: the server responded with a status of 404 (Not Found)
angular.js:12477
ReferenceError: appConfig is not defined
at new (AlbumController.js:151)
at e (angular.js:4478)
at Object.instantiate (angular.js:4486)
at angular.js:9151
at ui-bootstrap-custom-tpls-0.14.3.min.js:8
at angular.js:14745
at n.$eval (angular.js:15989)
at n.$digest (angular.js:15800)
at n.$apply (angular.js:16097)
at h (angular.js:10546)
When the ability to capture video support is added (#6) we should push that video content to Media Services such that it is rendered for different devices similarly to how we resize the images currently.
Provide a configuration point for Azure CDN over Azure Storage in the Web Client application. This should be configurable via App Setting which is exposed to the Angular front-end.
Considering all of the files are being loaded directly from storage, we should add in a CDN endpoint to enable faster loading of content from around the world.
This will require an additional setting where the Azure CDN (azureedge.net) endpoint can be configured in the mobile client.
I'd like to hope this is pretty straight forward from the portal, but we should include a pointer to some documentation if it's available, if it isn't let's create a small wiki article on how this is configured.
Currently there is a need to call ResizeQueue from the client side. This is a function which is required to be called which means it should be triggered as part of the insert function for the database to ensure that the image is resized by the WebJob.
The delete function should stay as a queue trigger.
To get the files associated with a record, call GET tables/image/id/MobileServiceFiles. This endpoint returns all image sizes, so the web client should pull out just the size it wants for the view.