1. Data Sync / Population
1.1. Import/Export tool
1.2. Data Sync (DST)
1.3. Liquibase
1.4. Change Sets
1.5. Staging (Authoring) to Production (Live)
1.6. Inserting Complex Data Sets (From Dev course)
2. Integrations
2.1. JMS
2.2. New: General guidelines on how to integrate EP with other enterprise systems
2.3. New: Initial Catalog data-loading from a PIM
2.4. New: Integration on checkout (Cortex and Integration servers)
2.5. New: Integrations on cart operations in Cortex
2.6. New: Integrations on pricing operations in Cortex
2.7. New: Integrations on customer creation (Cortex and Integration server
3. Consuming Cortex
3.1. javascript
3.2. Consuming Cortex
3.3. SDK
3.4. ReferenceStorefront
4. Database
4.1. Tables / Schema
4.2. Editing a Table
4.3. Extending a Table
5. Cortex
5.1. Studio
5.1.1. usingStudio
5.1.2. ExtendingStudio
5.2. Zoom
5.2.1. Studio Zoom Exericse
5.2.2. New: Zoom Best-practices for performance
5.3. Cortex & Helix Resources
5.3.1. Defining The API
5.3.2. Adding Resources
5.3.3. ExtendingResources
5.3.4. Generate Resource Module
5.3.5. Map of available API Resources
5.3.6. Implementing Prototypes
5.3.7. Permissions & Wiring
5.3.8. Repositories in Helix
5.4. Traits (GD)
5.4.1. OOTB Traits
5.4.2. Adding Custom Traits
5.4.2.1. From Tag Values
5.4.2.2. From Customer Fields
5.4.2.3. From Shopper or Cart Order
5.5. Cortex API Features (links, forms, selectors, followLocation
5.6. Structured Messages
5.7. NEW: Using AWS API gateway with Cortex API
5.8. What is it?
5.9. Hypermedia REST Level 3
5.10. Cortex Design
5.10.1. Architecture
5.10.2. APIDesign
5.11. Servlet Filters (GD)
6. NEW:TestingDev
6.1. NEW:TestSuite
6.2. NEW:ExtendExistingTests
6.3. NEW:TestSuiteExtensionForCustomizations
7. Quality Assurance
7.1. Running the test suite
7.1.1. Cortex/Cucumber
7.1.2. CM/Selenium
7.2. Extending the Test Suite
7.2.1. Cortex
7.2.2. CM
7.2.3. Instrumenting Elastic Path for testing / Cucumber Test Support Accelerator (added by J.V.)
8. Discovery
8.1. CatalogModelling
8.2. ObjectRelationships
8.3. Pricing (TA)
8.4. Promotions (TA)
8.5. CheckoutFlow
8.5.1. UI / wireframe stepthrough (TA)
8.5.2. Payment Methods (TA)
8.5.2.1. Credit Cards (TA)
8.5.2.2. Gift Cards (TA)
8.5.2.3. Loyalty Programme (TA)
8.6. OrderManagement
8.7. OrderStates
8.8. Returns, exchanges & refunds (TA)
8.9. StoreComponents
8.10. Customer Account (TA)
8.11. Customer Services (TA)
8.12. Integrations & Failure Handling (TA)
8.13. Stock / Inventory (TA)
8.14. Reporting (TA)
8.15. Discovery Process
8.15.1. Pre-discovery (TA)
8.15.2. Discovery preparations (TA)
8.15.3. In-discovery (TA)
8.15.3.1. Workshops (TA)
8.15.3.1.1. Roles (TA)
8.15.3.1.2. Requirement gathering, playback and prioritization (TA)
8.15.3.1.3. Parking lot (TA)
8.15.3.2. Interviews (TA)
8.15.3.3. Shadowing (TA)
8.15.4. Compiling a backlog (TA)
8.15.5. MVP & Release planning (TA)
8.15.6. Discovery playback (TA)
8.16. Capacity Planning (DK)
9. Starting Construction (GD)
9.1. Setting up Team Environment with CloudOps
9.2. Setting up Team Environment on Prem
9.2.1. Setting up Nexus
9.2.2. Setting up Jenkins
9.2.3. Setting up a Source Repository
9.2.4. Setting up Continuous Integration
9.3. POC Infrastructure Setup
9.4. Developer Environment Setup
9.5. Upgrading Elastic Path
9.5.1. How to estimate an upgrade project (added by J.V.)
10. Everyday Tools (DK)
10.1. IntelliJ Idea (DK)
10.2. JIRA (DK)
10.3. github & gitlab (DK)
10.4. Confluence Wiki & Difference between externally exposed and internal content.(DK)
10.5. Jenkins(DK)
11. Concept
11.1. Overview
11.2. ExampleCodeWalkThru
11.3. Domain Model
11.3.1. Extension
11.3.2. Architecture
12. Extending Core Commerce
12.1. Implementation
12.1.1. Extending the Commerce Engine Schema
12.1.1.1. Adding/Altering a Table
12.1.1.2. Adding a Service
12.1.1.3. Adding a JPQL Query (GD)
12.1.1.4. Data Population (GD)
12.1.2. Beans
12.1.2.1. Adding a Bean
12.1.2.2. Overriding a Bean (GD)
12.1.3. Extending Admin Console
12.1.4. Plugins (GD)
12.1.4.1. Payment Plugins (GD)
12.1.4.1.1. Creating a New Plugin
12.1.4.1.2. Configuring an Existing Plugin
12.1.4.2. Tax Calculation Plugins (GD)
12.1.4.2.1. Creating a New Plugin
12.1.4.2.2. Configuring an Existing Plugin
12.1.4.3. Shipping Calculation Plugins (GD)
12.1.4.3.1. Adding a New Plugin
12.1.4.3.2. Configuring an Existing Plugin
12.1.5. Extensible Validations (GD)
12.1.5.1. Adding New Validations
12.1.5.2. Removing Existing Validations
12.1.6. Customizing Promotions (GD)
12.1.6.1. Adding new Conditions
12.1.6.2. Adding new Actions
12.1.6.3. Adding new Parameter Types
12.1.7. Tagsets (GD)
12.1.7.1. OOTB Tags
12.1.7.2. Adding Custom Tags
12.1.8. Integrations (GD)
12.1.8.1. Front-End
12.1.8.1.1. Catalog Syndication
12.1.8.1.2. Cortex
12.1.8.2. Back-End
12.1.8.2.1. Receiving Event Messages
12.1.8.2.2. Sending Event Messages
12.1.8.2.3. Exposing Endpoints
12.1.8.2.4. Calling Endpoints Synchronously
12.1.8.2.5. Calling Endpoints Asynchronously
12.1.8.2.6. Transport Scenarios
12.1.8.2.7. Authentication
12.1.9. Configuration (GD)
12.1.9.1. Database Setting Definition
12.1.9.2. Property Files
12.1.9.3. JVM Parameters
12.1.9.4. Secrets
12.1.10. Import/Export (GD)
12.1.10.1. Customizing existing Import/Export definitions
12.1.10.2. Adding custom Import/Export definitions
12.1.11. DST (GD)
12.1.11.1. Changeset enabling domain objects
12.1.11.2. Changing merge boundaries
12.1.12. Scheduled Tasks (GD)
12.1.12.1. Adding a custom quartz job
12.1.13. Search (GD)
12.1.13.1. Adding a new search schema
12.1.13.2. Customizing existing search schemas
12.1.14. Caching (GD)
12.1.14.1. Adding a new cache
12.1.15. Email (GD)
12.1.15.1. Adding a new transactional email
12.1.15.2. Customizing existing emails
12.1.16. Logging (GD)
12.1.17. Testing (DK)
12.1.17.1. Cucumber Tests (DK)
12.1.17.2. Commerce Engine FIT Tests (DK)
12.1.17.3. Performance Tests (DK)
12.2. BestPractices
12.2.1. Coding Guidelines & Standards (DK)
12.2.2. Code Review Guidelines (DK)
13. Business setup
13.1. catalog
13.1.1. concept
13.1.2. setup
13.1.3. best practices
13.1.3.1. Master vs Virtual
13.2. Categories
13.2.1. concept
13.2.2. setup
13.2.3. best practices
13.3. products
13.3.1. concept
13.3.2. setup
13.3.3. best practices
13.4. bundles
13.4.1. concept
13.4.2. setup
13.4.3. best practices
13.5. promotions
13.5.1. concept
13.5.2. setup
13.5.3. best practices
13.5.4. Stacking
13.5.4.1. Promotion Stacking (TA)
13.5.4.2. Promotion Stacking: Cart Line Item (TA)
13.6. pricing
13.6.1. concept
13.6.2. setup
13.6.3. best practices
13.6.4. Stacking
13.7. campaigns
13.7.1. concept
13.7.2. setup
13.7.3. best practices
14. Operations Setup
14.1. Store
14.1.1. Faceted Search
14.2. Users
14.2.1. Users
14.2.2. Permissions
14.3. AccountManagement
14.4. Taxes
14.4.1. NEW? Configuring EP with Avalara Tax Account
14.5. Payment Gateway
14.5.1. NEW? Configuring EP with Cybersource Payments
14.6. Shipping
14.7. Warehouse (TA)
14.8. Reporting (DK)
14.9. Localization (DK)
15. Accelerators
15.1. Overview
15.2. Consumption Model
15.3. Contributing (new Accelerators, bug fixes / enhancements) (J.V)
16. Reference Experiences
16.1. Reference Store
16.1.1. New: Re-Branding
16.1.2. New: Design and Architecture of the Reference Storefront
16.1.3. Extending the Storefront to add new pages or widgets
16.2. NEW:chatbot
16.3. NEW:Program
16.3.1. whatIsIt
16.3.2. documentation
16.3.3. howToParticipate
17. Deployment
17.1. EP Cloud Commerce
17.1.1. NEW: Services and support provided by the EPCC managed-hosted team
17.1.2. NEW: Introduction to the build system and source control
17.1.3. NEW: Introduction to pushing data changes
17.1.4. NEW: Pushing code changes to the “CI” site testing environment
17.1.5. NEW: Pushing code changes to the “Stage” site testing environment
17.1.6. NEW: Pushing code changes to the “Production” environment
17.1.7. NEW: How to monitor the status of your ecommerce services in the cloud
17.1.8. NEW: How to request infrastructure changes for integrations
17.1.9. NEW: How to request infrastructure changes for performance or scalability
17.2. Azure
17.2.1. Standard Architecture in AWS Context
17.2.2. Components and High Availability
17.2.3. Configuration and Logging
17.2.4. Overview of Technologies used in CloudOps for Azure
17.2.5. Introduction to external Technologies (Azure, Kubernetes)
17.2.6. CloudOps For Azure workflow
17.2.7. Code Walkthrough
17.2.8. Best Practices
17.2.9. Hands-on Exercises
17.2.9.1. Verify prerequisites for CloudOps for Azure
17.2.9.2. Bootstrap
17.2.9.3. Build
17.2.9.4. Deploy
17.2.9.5. Verify and cleanup
17.3. Autobahn
17.4. AWS
17.4.1. Standard Architecture in AWS Context
17.4.2. Components and High Availability
17.4.3. Configuration and Logging
17.4.4. Overview of AWS Services used in CloudOps AWS
17.4.5. Introduction to external Technologies (Docker, AWS)
17.4.6. Capacity and Sizing Guide
17.4.7. CloudOps For AWS components and roles
17.4.8. Code Walkthrough
17.4.9. Best Practices
17.4.10. Hands-on Exercises
17.4.10.1. Verify prerequisites for CloudOps for AWS
17.4.10.2. Initialize CloudCore
17.4.10.3. Initialize CloudTeam
17.4.10.4. Initialize CloudDeploy
17.4.10.5. Deploy EP Environment
17.4.10.6. Verify and cleanup
18. Architecture
18.1. High-level architecture diagram
18.2. Development Architecture
18.3. Deployment Architecture
18.4. Micro-services
18.5. SolutionDesign
19. Key Technology
19.1. Open Source Tools
19.1.1. ehCache
19.1.2. Maven
19.1.3. Spring
19.1.4. SOLR
19.1.5. openJPA
19.1.6. Quartz
19.1.7. Spring Security
19.1.8. JMS Active MQ
19.1.9. Log4
19.1.10. Cucumber
19.1.11. Liquibase
19.1.12. Unit Testing
19.1.12.1. JUnit
19.1.12.2. JMock
19.1.12.3. Mockito
19.1.12.4. AssertJ
19.1.13. OSGI
19.1.14. Git (J.V.)
19.1.15. Docker (J.V.)
19.1.16. Apache Tomcat (DK)
19.1.17. MySql (DK)
19.1.18. Apache Camel (DK)