1. 2.1 BASIC CONCEPTS
1.1. MVC
1.1.1. MODEL - DATA
1.1.2. VIEW - HOW DATA IS PRESENTED
1.1.3. CONTROLLER - LINK BETWEEN M&V ; BUSINESS LOGIC
1.2. DATABASE SHARDING
1.2.1. Only for EE
1.2.2. SHARDING - splitting up DB into multiple shards (broken glass)
1.2.3. Allows better performance and scalability in diff configurations; DB can be split
1.2.3.1. SPLIT -> checkout orders
1.2.3.2. SPLIT-> products
1.3. VARNISH CACHE
1.3.1. Reverse proxy caching engine
1.3.2. sits in front of web server
1.4. TEMPLATES IN M2
1.4.1. Contain the HTML
1.4.2. PHP & HTML
1.4.3. Accepting PHP objects and render them as HTML
1.5. LAYOUTS IN M2
1.5.1. XML files containing instructions for what to show, where + how to show it
1.5.2. Layout XML files -> merged for specific pages
1.5.3. Customizing the page
1.6. EXTENDING MAGENTO 2 FUNCTIONALITY
1.6.1. determine what needs to be changed
1.7. ENABLING AN EXTENSION
1.7.1. Modules -> not big; Single Responsibility Principle
1.7.2. Files for extensions
1.7.2.1. REGISTRATION.PHP
1.7.2.2. ETC/MODULE.XML
1.7.2.2.1. Commands
1.7.3. AFTER COMMIT
1.7.3.1. PEER-REVIEW
1.7.3.2. QA
1.7.3.3. DEPLOY TO PRODUCTION
1.8. CONFIGURING SITE DESIGN TROUGH ADMIN PANEL (CONTENT>DESIGN>CONFIGURATION)
1.8.1. select store/theme combination that you wish to work with -> click EDIT
1.8.1.1. specific from theme to theme
1.8.1.2. adding config to this area is still not the easiest
1.9. INSTALLING AND ENABLING/DISABLING MAGENTO 2 EXTENSIONS
1.9.1. review code - possible security vulnerabilities
1.9.2. STEPS
1.9.2.1. SSH to server
1.9.2.2. copy files of new module
1.9.2.3. BIN/MAGENTO MODULE:ENABLE ((Module_name))
1.9.2.4. BIN/MAGENTO SETUP:UPGRADE
1.9.2.5. BIN/MAGENTO SETUP:DI:COMPILE
1.9.2.6. BIN/MAGENTO SETUP:STATIC-CONTENT:DEPLOY
1.9.2.7. BIN/MAGENTO CACHE:CLEAN
2. 2.2 MAGENTO API-S AND THIRD PARTY INTEGRATION
2.1. TYPES OF API
2.1.1. REST
2.1.1.1. URL and HTTP code based
2.1.2. SOAP
2.1.2.1. XML based
2.2. API AUTHENTICATION
2.2.1. Thir party app - OAuth 1.0a
2.2.2. For mobile - tokens
2.2.3. Administrators and customers - login credentials
2.3. API USERS
2.3.1. Same as a user if you're using token-based auth
2.4. Differences between M1 and M2 integration options
2.5. THIRD-PARTY INTEGRATION WITH MAGENTO 2 CE AND EE
2.5.1. EE additional API endpoints
2.5.1.1. Customer Balance
2.5.1.2. Gift card account
2.5.1.3. Gift registry
2.5.1.4. Gift wrapping
2.5.1.5. Reward
2.5.1.6. RMA
3. 2.3 MAGENTO WEBSITES, STORES AND STORE VIEWS
3.1. WEBSITE/STORE/STORE VIEW
3.1.1. WEBISTE - store_website table
3.1.1.1. Products are assigned to website
3.1.2. Store - store_group table
3.1.3. Store view - store table
3.1.3.1. To configure
3.1.3.1.1. Pricing
3.1.3.1.2. Attributes
3.1.3.1.3. +more for categories and products
3.2. THE APPLICATION OF SCOPE TO WEBSITES, STORES AND STORE VIEWS
3.2.1. Websites and store groups - similar in functionallity
3.2.2. Three scopes (STORE > CONFIGURATION)
3.2.2.1. Global scope
3.2.2.2. Website scope
3.2.2.2.1. Payment and shipping methods
3.2.2.3. Store view scope
3.2.3. You can switch language on one website
3.3. DISPLAY OF PRODUCT CATALOGS IN WEBSITES, STORES AND STORE VIEWS
3.3.1. NOT IN A SINGLE-STORE MODE (Stores > Configuration > General > Single-Store Mode)
3.3.1.1. Products > assigned to website - if not assigned to website, not visible
3.4. ADMINISTRATION OF WEBSITES, STORES AND STORE VIEWS
3.4.1. Stores > All stores
3.5. LOCALIZATION, TAXES AND PRICING IN WEBSITES, STORES AND STORE VIEWS
3.5.1. These are customized in websites and store views (not for a store)
3.6. PRODUCT ATTRIBUTE SCOPE
3.6.1. Applies to
3.6.1.1. Global
3.6.1.1.1. Store view will not be change the value
3.6.1.2. Store view
3.6.1.2.1. Depending on store's scope
4. 2.4 MAGENTO EDITION DIFFERENCES ENTERPRISE VS COMMUNITY
4.1. Advantages and disadvantages of each edition
4.1.1. ENTERPRISE EDITION ADVANTAGES
4.1.1.1. Has support
4.1.1.2. a lot of pre-built modules that will save dev time
4.1.1.3. DATABASE SCALABILITY
4.1.1.4. Advanced search
4.1.1.4.1. SOLR
4.1.1.5. JOB QUEUE opportunities Message Queues
4.1.1.5.1. Rabbit MQ
4.1.1.6. Google tag manager support
4.1.1.7. Extended admin rights management features / Additional admin logging
4.1.1.8. Ability to manage customer attributes and create custom customer attributes
4.1.1.9. Scheduled FTP/SFTP transfer via XML
4.2. CACHE, INDEXING, SEARCH AND OTHER FEATURE DIFFERENCES
4.2.1. No diff between CE and EE caching, other then the use of message queues(RabbitMQ)
4.2.2. Same with indexes
4.2.3. Solr available, will be changed to Elastic Search
5. 2.5 MAGENTO CLOUD
5.1. INTEGRATION - testing and development
5.2. STAGING - db, env variables, configurations and Fastly
5.3. PRODUCTION - a three node high-availability system
5.4. ADVANTAGE > Magento manages it
6. 2.6 MAGENTO SOLUTIONS
6.1. Bluefoot
6.1.1. CMS > integrated into EE
6.1.2. High quality WYSIWYG editor; drag and drop widgets
6.2. B2B
6.2.1. For B2B transactions
6.2.2. Provides
6.2.2.1. System for quoting
6.2.2.2. Managing groups of customers
6.2.2.3. Better inventory mgmt
6.3. Magento Business Intelligence
6.3.1. reports
7. 2.7 SEARCH ARCHITECTURE
7.1. SOLR
7.2. Elasticsearch
8. 2.8 INFRASTRUCTURE REQUIREMENTS
8.1. Can work with only
8.1.1. PHP
8.1.2. Apache/Nginx
8.1.3. MySQL
8.2. For better preformances
8.2.1. VARNISH
8.2.2. REDIS - for sessions and caching
8.2.3. Memcached
8.3. DB SHARDING
8.3.1. Cannot write directly to DB (usage of DB interface, better practice)
8.3.2. cannot use JOINs that affect sales or quote db
9. 1.1 ONLINE MERCHANDISING
9.1. MARKETING STRATEGIES
9.1.1. OMNICHANNEL
9.1.2. MULTICHANNEL
9.1.3. Affiliate marketing
9.1.4. Social marketing
9.1.5. Email marketing
9.1.6. Word of mouth marketing
9.1.7. social merchandising techniques
9.1.7.1. Wishlist /sharing buttons
9.1.7.2. Tailoring related products or suggestions of users
9.1.7.3. Reviews
9.1.8. SMART REQUIREMENTS
9.1.8.1. S - SPECIFIC
9.1.8.2. M - MANAGEABLE
9.1.8.3. A - ASSIGNABLE
9.1.8.4. R - RELEVANT
9.1.8.5. T - TIME RELATED
9.2. STEPS OF SETTING UP A NEW ONLINE STORE
9.2.1. STRATEGY(90%)
9.2.1.1. WHO IS YOUR COMPETITION?
9.2.1.2. WHAT WILL SET YOU APPART?
9.2.1.3. WHAT ARE YOU OFFERING THAT YOUR COMPETITORS WILL NOT OFFER?
9.2.1.4. WHY DO YOU WANT TO GET INTO THE BUSINESS?
9.2.2. TECHNOLOGY
9.2.2.1. DETERMINING THE PLATFORM TO START WITH
9.2.2.1.1. Small company (limited funds)
9.2.2.1.2. Bigger company (more funds)
9.2.2.2. HOSTING
9.2.2.2.1. recommendation
9.2.2.2.2. Talk to your hosting partner
9.2.2.3. DEPLOYMENT
9.2.2.3.1. Launching new site is easier then migrating the existing one
9.2.2.4. MAINTENANCE
9.2.2.4.1. Basic level
9.3. SEARCH STRATEGIES
9.3.1. Keyword search
9.3.1.1. Search bar needs to be visible
9.3.1.2. Include and, the, or
9.3.2. Auto-suggest
9.3.2.1. Based on the keywords and phrases, to be found by client
9.3.3. Guided navigation
9.3.3.1. Help customer reach the decision we want them to reach
9.3.3.2. The technology is still up/coming and expensive to do right
9.4. UPSELLING/CROSS-SELLING
9.4.1. UPSELL
9.4.1.1. Alternative/more expensive option; awareness of other options on website
9.4.2. CROSS-SELL
9.4.2.1. Don't show options already in cart (they might reconsider their options)
9.4.2.2. Show them complementary products
9.5. SEO IN ECOMMERCE
9.5.1. Quality URL structure
9.5.1.1. Don't use numbers/IDs
9.5.1.2. Use words (up to 75 characters)
9.5.2. Good information architecure
9.5.2.1. Questions
9.5.2.1.1. What are the paths to the categories?
9.5.2.1.2. How do they relate to the products?
9.5.2.1.3. Is there any correlation?
9.5.2.1.4. What about breadcrumbs?
9.5.2.1.5. How do you expect people to flow through your website?
9.5.2.1.6. Are there well-organized sections of content?
9.5.3. Duplicate content
9.5.3.1. Using rel="canonical" to avoid duplicate content flags
9.5.4. Sitemap
9.5.5. ATTRIBUTE WEIGHT IN MAGENTO
9.5.5.1. how likely Magento will return a match from that attribute
10. 1.2 SECURITY
10.1. USER DATA SECURITY STANDARDS IN DIFFERENT MARKETS
10.1.1. Different security standards for EU, USA and Canada
10.1.1.1. EU data privacy states - you cannot store most any customers data outside the EU
10.1.2. EU COOKIE LAW
10.2. PCI STANDARDS AND PROCESSES
10.2.1. PCI SAQ - a detailed piece of info to assess whether we and our website are following best security practices
10.2.2. Cardholder date must not ever be stored or transmitter unencrypted
10.2.3. Unencrypted data must not be seen by unqualified individuals
10.2.4. Encrypted cardholder data is still subject of safety measures
10.3. PA-DSS / PCI-DSS rules and practices
10.3.1. Every organization that handles credit cards needs to comply with PCI DSS
10.3.1.1. Build and maintain a security network
10.3.1.2. Protect cardholder data
10.3.1.3. Implement strong access control measures
10.3.1.4. Ensure the maintenance of information security policies
10.3.2. Vendors that make and sell payment applications need to meet PA DSS
10.3.3. PA-DSS VS PCI-DSS
10.3.3.1. PA-DSS -> VALIDATING COMPLIANCE OF A SYSTEM OR PROGRAM
10.3.3.2. PCI-DSS -> VALIDATING OF AN ORGANIZATION (PEOPLE+SYSTEMS+HARDWARE)
10.3.4. PROCESS OF GETING CERTIFIED AS PCI COMPLIANT
10.3.4.1. 1. Determine merchant level
10.3.4.1.1. Visa
10.3.4.1.2. MasterCard
10.3.4.2. 2. Determine the SAQ
10.3.4.3. 3. Complete the SAQ
10.4. SSL USAGE
10.4.1. When transmitting cardholder, SSL is a must
10.4.2. PREFERENCE - TLS1.2
10.4.3. Browser vendors - forcing all sites to switch to HTTPS
10.5. BEST PRACTICES
10.5.1. 1. Don't store cardholder/sensitive data -> option save credit card gone from M2
10.5.2. 2. Take care of who handles cardholder data
10.5.3. 3. Use HTTPS
11. 1.3 UX
11.1. GOOD UX
11.1.1. Max of 5 options
11.1.2. Important to give the user context of their position on the website
11.1.3. Clear header navigation (dropdowns if possible)
11.1.4. Breadcrumbs
11.1.5. Good detail in footer
11.1.6. CLEAR CALLS TO ACTION
11.1.7. ENOUGH WHITESPACE TO SET APART IMPORTANT ELEMENTS
11.1.8. CART LINK OBVIOUS
12. 1.4 LAWS AND REGULATIONS
12.1. DISABILITY COMPLIANCE ISSUES
12.2. PRIVACY
12.2.1. Privacy policy
13. 1.5 SYSTEM DEVELOPMENT
13.1. AGILE, SCRUM, WATERFALL
13.1.1. WATERFALL
13.1.2. AGILE
13.1.3. SCRUM
13.1.4. DIFFERENCE BETWEEN WATERFALL AND AGILE
13.1.4.1. WATERFALL - COMPLETELY FINALIZE THE PRODUCT BEFORE SHIPPING
13.1.4.2. AGILE - MORE SHIPPING, MORE DEPLOYMENTS, THE PRODUCT DOESN'T HAVE TO BE POLISHED
13.2. Basic terms and core constituents of system development life cycles
13.2.1. Identify Current Problems
13.2.2. Plan
13.2.3. Design
13.2.4. Build
13.2.5. Test
13.2.6. Deploy
13.2.7. Maintain
14. 1.6 OMNICHANNEL
14.1. Complex inventory management
14.2. Drop ship
14.3. Buy online / ship to store
15. 1.7 DATA ANALYTICS AND TESTING
15.1. Google universal analytics
15.2. A/B testing
15.2.1. Shows customers A(original) or B(updated) version - what users prefer
15.2.2. Next step - multivariate testing
15.3. Optimization
15.4. Personalization
15.4.1. Using customer's name
15.4.2. Showing product they are interested in
15.4.3. Adjusting sales emails
16. 1.8 TAXES
16.1. VAT (VALUE ADDED TAX)
16.2. DIGITAL VAT
16.3. IN-STATE AND OUT OF STATE
16.3.1. In-state ->from one state in the US to the same state (TX to TX)
16.3.2. Out-of-state -> form one state in the US to another state (TX to KS)
16.4. CROSS-BORDER
16.4.1. From one country to another (Italy to Serbia)