-
The goal of the project is to build an optimised version of the Commerce Journey to improve the user experience and maximise conversion. Why? Because in the last 4 months, less than 6% of all visits to the pass pages resulted in a sale.
-
We will create a fully working interactive prototype of the desired Commerce Journey using mocked data on a production environment with production ready code.
-
We will use extensive usability research, purchase funnel and commercial requirements to build the prototype.
-
The prototype will consist of a single responsive web application alongside multiple variants.
| $ sudo npm install pm2 -g | |
| /opt/bitnami/nodejs/bin/pm2 -> /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2 | |
| /opt/bitnami/nodejs/bin/pm2-dev -> /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2-dev | |
| /opt/bitnami/nodejs/bin/pm2-runtime -> /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2-runtime | |
| /opt/bitnami/nodejs/bin/pm2-docker -> /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2-docker | |
| + [email protected] | |
| added 242 packages in 15.45s | |
| bitnami@~/www/commerce-api$ pm2 |
The purpose of the notification-feed-all collection is to allow the client to retrieve a list of manual and automatic collections, including:
notification-feed-info(manual)notification-feed-new-shows(automatic)- Sort: Shows - has new episodes
notification-feed-expiring-shows(automatic)
| /** | |
| * Checks the data type of property and throws a TypeError if it's invalid. | |
| * | |
| * Usage: | |
| * | |
| * function test(options = {}) { | |
| * checkObjectTypes(options, {'a':'String', 'b':'Number', 'c':'Array'}); | |
| * } | |
| * | |
| * @param {Object} obj |
https://github.com/Adobe-Marketing-Cloud/video-heartbeat-v2/releases/tag/js-v2.0.2
Paste the following code inside the Video Heartbeat Library SDK, before the copyright notice:
| const loadScript = (uri) => { | |
| return new Promise((resolve, reject) => { | |
| const el = document.createElement('script'); | |
| el.type = 'text/javascript'; | |
| el.src = uri; | |
| if (id) { | |
| const docEl = document.getElementById(id); | |
| if (docEl) { | |
| docEl.parentNode.removeChild(docEl); |
To allow digital products to flourish we must provide a strong architectural foundation that supports high product quality, cost effective and time effective delivery and operational simplicity.
Application architecture seeks to build a bridge between business requirements and technical requirements by understanding use cases, and then finding ways to implement those use cases in the software. Good architecture reduces the business risks associated with building a technical solution. A good design is sufficiently flexible to be able to handle the natural drift that will occur over time in hardware and software technology, as well as in user scenarios and requirements.
Modern tools and platforms help to simplify the task of building applications, but they do not replace the need to design your application carefully, based on your specific scenarios and requirements. The risks exposed by poor architecture include software that is unstable, is unable to sup
| import {assert} from 'chai'; | |
| import sinon from 'sinon'; | |
| import mockRequire from 'mock-require'; | |
| describe('My module', () => { | |
| let module; // module under test | |
| let mocks; |
| [ | |
| { | |
| "media":{ | |
| "externalId":"p0475dm9", | |
| "caption":"Rory Cellan-Jones asks if the iPhone 7 will return Apple's handset sales to growth", | |
| "entityType":"Clip", | |
| "id":{ | |
| "type":"videos", | |
| "key":"primary", | |
| "numericId":37303875 |
| # | |
| # How to update VirtualBox Guest Additions with vagrant | |
| # | |
| $ vagrant up | |
| # Check the guest additions version: | |
| $ vagrant vbguest --status | |
| # If there's a version mismatch, you should see this message: | |
| # [default] GuestAdditions versions on your host (x.x.x) and guest (x.x.x) do not match. |