With millions of lines of code, an unconventional approach to MVC framework architecture, and unique concepts such as layout XML, Magento can be intimidating for the new developer and even difficult for experienced Magento developers. This talk aims to help developers find answers in the codebase by breaking down the technologies, design patterns, and module structure into intuitive chunks. Starting with a high level view of Magento's MVC implementation, a pre-developed module is dissected in order to demonstrate various areas of the framework as well as the application-level settings and features which can thwart (or aide!) developers.
Topics covered include the following:
* MVC theory as implemented by Magento, especially the thin-controller, fat-view concept
* Overall module architecture * Finding method definitions when grep won't work, aka "when __call() strikes"
* Identifying poor-performing code using native code profiling tools
* An infallible (well, nearly-infallible) flowchart for finding problematic code
* Essential developer preparations
This presentation is about real examples of Design Patterns usage in Magento 2. There are 2 major architectural goals set for Magento 2 project:
1. Enable streamline customisations.
2. Simplify external integrations.
There are much more Design Patterns used in Magento 2, some of them are discussed in the deck.
Fundamentals of Extending Magento 2 - php[world] 2015David Alger
Magento 2.0 GA was released this past Tuesday. This new major release of the well-known Magento eCommerce platform incorporates modern design practices, breathing new life into a steadily growing platform. Whether you’ve been working with Magento 1 for the last few years or are completely new to Magento, come and learn about the new and exciting aspects of Magento 2. You will be presented with an overview of the system architecture, shown some of the various ways to extend the system, and walk away ready to use Magento for your next eCommerce project.
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Joshua Warren
Magento 2 introduces dependency injection and interceptors, two approaches to creating a more flexible, extendable architecture. These concepts are new to many PHP developers, but they are critical to understanding and taking advantage of the power and flexibility of Magento 2. Let's take a high-level look at these concepts, and then dive into some real examples of how to utilize these techniques in your development work with Magento 2.
MidwestPHP - Getting Started with Magento 2Mathew Beane
Magento 2 is a fresh take on a modern eCommerce platform rich in features and community. We will go over common best practices and toolsets, and to introduce popular community resources. Then we will take a dive into setting up a Magento 2 site to illustrate the effort required to get a project off the ground, and to find a better understand of what Magento 2 offers.
Covers the following Topics:
the following topics:
Best Practices: Keeping core clean, how to modify Magento the right way.
Community Resources: How to join the Magento Community
Certification: How to get Magento Certified
Migrating from Magento 1: A look at the tools and methods.
Setting up a Magento site: Covering the basic design and development choices.
How To Create Theme in Magento 2 - Part 1Magestore
How to create theme on Magento 2. A useful tutorial for any Magento developers.
Other updates & tutorial are on Magestore Blog: http://blog.magestore.com/magento-2/
This presentation is about real examples of Design Patterns usage in Magento 2. There are 2 major architectural goals set for Magento 2 project:
1. Enable streamline customisations.
2. Simplify external integrations.
There are much more Design Patterns used in Magento 2, some of them are discussed in the deck.
Fundamentals of Extending Magento 2 - php[world] 2015David Alger
Magento 2.0 GA was released this past Tuesday. This new major release of the well-known Magento eCommerce platform incorporates modern design practices, breathing new life into a steadily growing platform. Whether you’ve been working with Magento 1 for the last few years or are completely new to Magento, come and learn about the new and exciting aspects of Magento 2. You will be presented with an overview of the system architecture, shown some of the various ways to extend the system, and walk away ready to use Magento for your next eCommerce project.
Magento 2 Dependency Injection, Interceptors, and You - php[world] 2015Joshua Warren
Magento 2 introduces dependency injection and interceptors, two approaches to creating a more flexible, extendable architecture. These concepts are new to many PHP developers, but they are critical to understanding and taking advantage of the power and flexibility of Magento 2. Let's take a high-level look at these concepts, and then dive into some real examples of how to utilize these techniques in your development work with Magento 2.
MidwestPHP - Getting Started with Magento 2Mathew Beane
Magento 2 is a fresh take on a modern eCommerce platform rich in features and community. We will go over common best practices and toolsets, and to introduce popular community resources. Then we will take a dive into setting up a Magento 2 site to illustrate the effort required to get a project off the ground, and to find a better understand of what Magento 2 offers.
Covers the following Topics:
the following topics:
Best Practices: Keeping core clean, how to modify Magento the right way.
Community Resources: How to join the Magento Community
Certification: How to get Magento Certified
Migrating from Magento 1: A look at the tools and methods.
Setting up a Magento site: Covering the basic design and development choices.
How To Create Theme in Magento 2 - Part 1Magestore
How to create theme on Magento 2. A useful tutorial for any Magento developers.
Other updates & tutorial are on Magestore Blog: http://blog.magestore.com/magento-2/
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Joshua Warren
Over 200,000 companies use the Magento 1 platform to power their eCommerce needs. So when they set out to build a major new version, the Magento team had significant pressure to deliver a modern, well-designed PHP-based system. Pulling in some of the best of the PHP world through tools like Composer, phpunit and more, I believe they met that goal. In this talk, we’ll take a look at the design and architecture of Magento 2, including it’s use of dependency injections, interceptors and service contracts to provide numerous ways for developers to extend and customize the system.
Presented at Northeast PHP 2015
Find step by step tutorial on how to install Magento 2 beta/alpha version and what are the system requirements to install Magento 2. And stay with us to learn more on Magento 2.
Magento 2: New and Innovative? - php[world] 2015David Alger
Since the early days of Magento, the PHP eCommerce platform has taken the world by storm. As with any new platform, there were growing pains. Five years later, we see the age of Magento 2 dawning upon us. Although not rewritten from the ground up, the architects behind the beast went back to the drawing board to create something innovative. This led to a system with configurable dependency injection, PSR compliance, decoupled modules, native composer support, and a modern tech stack. This talk looks at some ways Magento has improved. You will also learn how to create a plugin in Magento 2.
How I Learned to Stop Worrying and Love Composer - php[world] 2015Joshua Warren
WordPress extensions, Drupal modules, Magento extensions — developers are building amazing features for each platform. But what if, instead of building platform-specific features, we built reusable packages? All of our platforms can be used with Composer — Magento 2 is even fully installable via Composer & developers can pull in specific Magento components to non-Magento projects, as well. However, we still write extensions for our platform & don't write reusable PHP packages. Let's look at how we all benefit by changing this mindset and how to start writing reusable cross-platform packages.
12 Amazing Features of Magento 2
1 Backup / Rollback System in Magento 2
2 Upgrading in Magento 2
3 Maintenance Mode and Restricting IP Addresses
4 Three Modes in Magento 2 Developer, Production and Default
5 Module Installation and Management
6 PSR Compliance
7 Performance
8 Magento 2 Admin Backend UI
9 Theme Developer's Delight : Blank Theme
10 Migration Tool
11 Scalability
12 Last but not the least: The Magento 2 Testing Framework
For more Updates on Magento 2, visit us @
http://schogini.biz/magento/
Magento 2 Theme Trainning for Beginners | MagenestMagenest
Whoever you are an extension or theme developer, you should spend time reading this slide post because you’ll understand more about theme and template structure in Magento 2.
Magento 2 Performance: Every Second CountsJoshua Warren
On the web, every second counts. Studies have shown that a 1 second delay in load time can cost a mid-sized eCommerce company $2.5 million per year in lost revenue. Let’s look at what Magento 2 has done to improve performance and how we can take things a step further to ensure the Magento 2 sites we build and maintain are well designed, well written and very, very fast.
Presented at php[world] 2016.
If you already worked with the e-commerce software Magento you know it's the same as with folk music or Bayern Munich: you either love it or you hate it. The reason for this is that Magento is both flexible and complex, resource intensive and very capable. Plus it's about 7 years old now and still it's one of the (if not the) most popular cart softwares. But behold! Finally, Magento 2 is on the horizon and should be available by the end of the year. Let's have a look at the foundation of Magento 2, its current state and when you may want to use it.
Magento has long been the core system connecting and integrating various business systems. With Magento 2, we have even more tools at our disposal for these integrations – APIs, webhooks & RabbitMQ are all available to us. In this talk, we’ll cover how to determine which integration method to use for your project and work through a sample ERP integration utilizing Magento 2 Enterprise.
MageTitans USA 2016 edition.
Rapid application development for the Joomla! CMS using FOF (Framework on Framework), the RAD framework by Akeeba Ltd. Presentation given in Joomla! Day Bosnia and Herzegovina 2013.
Oleh Kobchenko - Configure Magento 2 to get maximum performanceMeet Magento Italy
Magento 2 is qualitatively new product in world of e-commerce. Providing new opportunities for extensibility, configurability and scalability of your store M2 also brings list of performance improvements.
This presentation is devoted to main performance features available in product, their activation and usage.
Speaker dives into details on how to setup environment and Magento itself to get the best result in terms of page response and throughput.
A lot of companies use the Magento 1 platform to power their eCommerce needs. So when they set out to build a major new version, the Magento team had significant pressure to deliver a modern, well-designed PHP-based system. This include a new architecture and a new database model.
In other versions of Magento (1.9) we were able to upgrade core files and with a few lines of code we were able to upgrade modules and admin accesses.
The migration process to Magento 2 it’s a complex process that includes migration of database data and migration of modules.
I want share mi experience to know what is the better way and tools to arrive our goal.
These slides were shared first at Meet-Magento Romania 2021.
Developers starting to build Hyvä based Magento stores often ask "How do I use an extension that was built for a Luma theme in Hyvä?"
The answer is through compatibility modules.
Many modules already have been made compatible with Hyvä, but there are many extensions, and there will always be some that need work.
This presentation will cover the process of creating a Hyvä compatibility module and share some concrete examples from real projects.
The Holidays Are Coming (Again!): 4 Ecommerce PPC Tricks to Master for SuccessKissmetrics on SlideShare
Each year a completely unexpected and startling phenomenon occurs... the holidays. Of course, each year we digital marketers are told that we should be getting ready extra early, and each year we tend to put it off longer than we intended.
Well, let this year be different as in this webinar, we tackle 4 ways to take your ecommerce PPC account to the next level in time for the holidays!
In this webinar we will discuss:
The best way to set up your Shopping account, and why this is so important to master
How Remarketing for Shopping and DSA can give you that additional conversion boost
How to completely change out your account ads with countdown customizer ads in 15 minutes
We’ll unveil three H2H (human to human) marketing best practices you can use in 2017, with examples of H2H marketing successes, and most importantly how to measure that success.
You'll learn:
-The Power of H2H and its role in today’s marketing
-H2H and Influence
-H2H and Loyalty
-Intersection of loyalty, influence, and growth marketing
-Best practices
Magento 2 - An Intro to a Modern PHP-Based System - Northeast PHP 2015Joshua Warren
Over 200,000 companies use the Magento 1 platform to power their eCommerce needs. So when they set out to build a major new version, the Magento team had significant pressure to deliver a modern, well-designed PHP-based system. Pulling in some of the best of the PHP world through tools like Composer, phpunit and more, I believe they met that goal. In this talk, we’ll take a look at the design and architecture of Magento 2, including it’s use of dependency injections, interceptors and service contracts to provide numerous ways for developers to extend and customize the system.
Presented at Northeast PHP 2015
Find step by step tutorial on how to install Magento 2 beta/alpha version and what are the system requirements to install Magento 2. And stay with us to learn more on Magento 2.
Magento 2: New and Innovative? - php[world] 2015David Alger
Since the early days of Magento, the PHP eCommerce platform has taken the world by storm. As with any new platform, there were growing pains. Five years later, we see the age of Magento 2 dawning upon us. Although not rewritten from the ground up, the architects behind the beast went back to the drawing board to create something innovative. This led to a system with configurable dependency injection, PSR compliance, decoupled modules, native composer support, and a modern tech stack. This talk looks at some ways Magento has improved. You will also learn how to create a plugin in Magento 2.
How I Learned to Stop Worrying and Love Composer - php[world] 2015Joshua Warren
WordPress extensions, Drupal modules, Magento extensions — developers are building amazing features for each platform. But what if, instead of building platform-specific features, we built reusable packages? All of our platforms can be used with Composer — Magento 2 is even fully installable via Composer & developers can pull in specific Magento components to non-Magento projects, as well. However, we still write extensions for our platform & don't write reusable PHP packages. Let's look at how we all benefit by changing this mindset and how to start writing reusable cross-platform packages.
12 Amazing Features of Magento 2
1 Backup / Rollback System in Magento 2
2 Upgrading in Magento 2
3 Maintenance Mode and Restricting IP Addresses
4 Three Modes in Magento 2 Developer, Production and Default
5 Module Installation and Management
6 PSR Compliance
7 Performance
8 Magento 2 Admin Backend UI
9 Theme Developer's Delight : Blank Theme
10 Migration Tool
11 Scalability
12 Last but not the least: The Magento 2 Testing Framework
For more Updates on Magento 2, visit us @
http://schogini.biz/magento/
Magento 2 Theme Trainning for Beginners | MagenestMagenest
Whoever you are an extension or theme developer, you should spend time reading this slide post because you’ll understand more about theme and template structure in Magento 2.
Magento 2 Performance: Every Second CountsJoshua Warren
On the web, every second counts. Studies have shown that a 1 second delay in load time can cost a mid-sized eCommerce company $2.5 million per year in lost revenue. Let’s look at what Magento 2 has done to improve performance and how we can take things a step further to ensure the Magento 2 sites we build and maintain are well designed, well written and very, very fast.
Presented at php[world] 2016.
If you already worked with the e-commerce software Magento you know it's the same as with folk music or Bayern Munich: you either love it or you hate it. The reason for this is that Magento is both flexible and complex, resource intensive and very capable. Plus it's about 7 years old now and still it's one of the (if not the) most popular cart softwares. But behold! Finally, Magento 2 is on the horizon and should be available by the end of the year. Let's have a look at the foundation of Magento 2, its current state and when you may want to use it.
Magento has long been the core system connecting and integrating various business systems. With Magento 2, we have even more tools at our disposal for these integrations – APIs, webhooks & RabbitMQ are all available to us. In this talk, we’ll cover how to determine which integration method to use for your project and work through a sample ERP integration utilizing Magento 2 Enterprise.
MageTitans USA 2016 edition.
Rapid application development for the Joomla! CMS using FOF (Framework on Framework), the RAD framework by Akeeba Ltd. Presentation given in Joomla! Day Bosnia and Herzegovina 2013.
Oleh Kobchenko - Configure Magento 2 to get maximum performanceMeet Magento Italy
Magento 2 is qualitatively new product in world of e-commerce. Providing new opportunities for extensibility, configurability and scalability of your store M2 also brings list of performance improvements.
This presentation is devoted to main performance features available in product, their activation and usage.
Speaker dives into details on how to setup environment and Magento itself to get the best result in terms of page response and throughput.
A lot of companies use the Magento 1 platform to power their eCommerce needs. So when they set out to build a major new version, the Magento team had significant pressure to deliver a modern, well-designed PHP-based system. This include a new architecture and a new database model.
In other versions of Magento (1.9) we were able to upgrade core files and with a few lines of code we were able to upgrade modules and admin accesses.
The migration process to Magento 2 it’s a complex process that includes migration of database data and migration of modules.
I want share mi experience to know what is the better way and tools to arrive our goal.
These slides were shared first at Meet-Magento Romania 2021.
Developers starting to build Hyvä based Magento stores often ask "How do I use an extension that was built for a Luma theme in Hyvä?"
The answer is through compatibility modules.
Many modules already have been made compatible with Hyvä, but there are many extensions, and there will always be some that need work.
This presentation will cover the process of creating a Hyvä compatibility module and share some concrete examples from real projects.
The Holidays Are Coming (Again!): 4 Ecommerce PPC Tricks to Master for SuccessKissmetrics on SlideShare
Each year a completely unexpected and startling phenomenon occurs... the holidays. Of course, each year we digital marketers are told that we should be getting ready extra early, and each year we tend to put it off longer than we intended.
Well, let this year be different as in this webinar, we tackle 4 ways to take your ecommerce PPC account to the next level in time for the holidays!
In this webinar we will discuss:
The best way to set up your Shopping account, and why this is so important to master
How Remarketing for Shopping and DSA can give you that additional conversion boost
How to completely change out your account ads with countdown customizer ads in 15 minutes
We’ll unveil three H2H (human to human) marketing best practices you can use in 2017, with examples of H2H marketing successes, and most importantly how to measure that success.
You'll learn:
-The Power of H2H and its role in today’s marketing
-H2H and Influence
-H2H and Loyalty
-Intersection of loyalty, influence, and growth marketing
-Best practices
Magento 2: Modernizing an eCommerce PowerhouseBen Marks
Magento 2 is almost here. This talk presents the goals driving its development as well as highlighting changes and new technology. Delivered at PNWPHP 2015
Features and downsides of the Magento 2 Import Export format. Showcasing the new format and use cases to import different product informations. Summary of our hackathon project #mhpad16
In this post I will show you how to install Magento on WAMP server in your local computer.
Installing Magento on WAMP can be pretty painful for beginners, as magento requires a lot of server configurations which are not set by default.
*For those who are wondering, Why a server ? Well, for running a website you have to host the site in any server so that people in the internet can find it. In this case you will be turning your computer into a server and will host your website in it, so that you can see how your website behaves. But in this case your website will open only from the server i.e. your local computer.
In order to have a successful CRO program, you need to focus in on the data behind your landing pages. However, you might find yourself logging into Google Analytics with your heart rate at 250 because you know there are a million metrics you could be analyzing. Which ones do you need to spend your time on?
In this new live webinar, Hanapin Marketing’s CRO Manager Samantha Kerr will help you narrow down your focus. She’ll walk you through the key metrics she analyzes when creating landing page optimizations.
You’ll learn tips like:
Why bounce rate is important to analyze and what it means for your site
Why it’s important to look at the engagement metrics for specific users
On which areas of your site you should focus your optimizations
Ever wonder why your new PPC campaigns aren't working as you had hoped? Could it be your targeting, your messaging, or your offer?
The truth is, it comes to a combination of the temperature of your PPC traffic and whether or not your landing page offer matches that temperature.
At KlientBoost, Johnathan Dane measures that as conversion intent, and with over 100 clients in different verticals, Johnathan had been able to test his way to a formula of PPC success that works for search, social, display, and video.
Join this webinar and you'll learn the equations that will help you:
Launch any PPC campaign and immediately get conversion success
Understand the offer sequence that you can create for any industry
Tie it all back to revenue generated so it becomes predictable
Shipping Table Rates for Magento 2 by Amasty | User GuideAmasty
Create an unlimited number of flexible shipping methods with individual rates. Use combinations of a destination address, cart weight, order subtotal and price to accurately calculate shipping.
Surprising failure factors when implementing eCommerce and Omnichannel eBusinessDivante
We work on the large Omnichannel and eCommerce projects in Europe. Therefore, we can see from the inside how many companies approach this topic. Comparing it with the obtained results, we can determine positive and negative factors influencing success with great certainty. In this presentation we share stories of companies that are not mentioned in our case studies. These are the stories of bad choices, leading to failure.
Omnichannel Customer Experience. Companies such as Amazon, Facebook, Google, Apple already know that the future of user experience is automated interface creation depending on customer needs.
Let’s be honest: for most content strategists and other people working with online content, SEO is The Worst Part Of The Job.
It’s hugely technical, it’s shrouded in mystery, it seems to be focused on robots instead of people, there are unspoken rules, everything can turn on a dime, and it never, ever seems to end.
But SEO doesn't have to be this way. It’s time to begin a conversation between these two disciplines – they’re far more alike than you might think. And when they work together on behalf of users and customers, amazing things can happen that will drive your organisation forward.
I can’t promise to change your mind about SEO, but you’ll leave this session understanding how to build the essentials into your work in ways that are simple, make sense, and are pain-free. You’ll see what business impacts and wins for the customer SEO and Content Strategy have had at REI, a major retailer in the US. And you’ll have the vocabulary, understanding and tools that you need to talk with your SEO... or to take it for yourself.
Drive traffic, amaze your visitors, and Win the Internet -- with SEO and Content Strategy working together.
Originally presented at the 2012 Content Strategy Forum in Cape Town, South Africa.
You can learn more about Jonathon Colman at http://www.jonathoncolman.org/
Also see 200+ free Content Strategy resources at http://www.jonathoncolman.org/2013/02/04/content-strategy-resources/
Intro to mobile web application developmentzonathen
Learn all the basics of web app development including bootstrap, handlebars templates, jquery and angularjs, as well as using hybrid app deployment on a phone.
Building Large Scale PHP Web Applications with Laravel 4Darwin Biler
Learn how Laravel 4 can be leveraged to its fullest by making use of its powerful design patterns, specifically IoC Container and Dependency Injection.
Progressive Web Apps are an emerging approach to solving the problem of having the Web, everywhere: different mobile devices, IoT devices, and areas with low bandwidth or poor connectivity. For developers accustomed to PHP and server-side rendering, there are several factors to consider.
Drawing on our experiences working with Google to build a PWA development experience for Magento, this talk introduces the elements of PWA, the challenges of providing online+offline functionality, and the limitations of this nascent approach.
While many things (Composer, PSR compliance, MVC, API layer, and test coverage) about Magento 2 will feel familiar to modern PHP developers, what better way to dig into how the framework works than by building a module? This live coding exercise demonstrates both Magento's modular architecture and its plugin system for customizing core behavior.
It's no doubt that when a website needs a commerce component, open source provides the most control - but how do you know which one is the best choice? While it's easy to go with a system built on your favorite framework, it may not be the best choice based on business needs. This talk takes an objective look at the open source commerce ecosystem and provides a set of questions and guidelines to use to find the right system for your application.
Imagine a world in which your career, the careers of your friends and coworkers, and the businesses and industries built on PHP vanished overnight, or never existed at all. No Facebook. No Wordpress. Billions of dollars in online commerce, all gone. Flickr, Tumblr, MailChimp: poof!
This talk presents a dystopian world in which we are stuck updating each other via SMS or (gasp!) MySpace, reading content on corporate portals, and buying everything from just a handful of online marketplaces.
Magento 2 is best known as the most successful open source commerce app but did you know that it is a full-fledged PHP framework underneath, complete with several tools to make a developer's life easier? In order to build and maintain a Magento 2 site, developers must adhere to certain framework conventions and use the tools that ship with the app. This talk presents these best practices and introduces some community-created tools as well.
Magento 2 is here, and it's time to dive in! Composer, PSRs, and a full test suite make Magento 2 easy and enjoyable to learn. The goal of this tutorial is to introduce the framework concepts of Magento 2 as a foundation for customizing and extending the application. There will also be plenty of commerce anecdotes to go around. Show up, participate, and walk out with both a working Magento 2 environment and module.
eCommerce and Open Source: Pot, PHP, and Unlimited PotentialBen Marks
The first commercial transaction on the Internet occurred between students at MIT and Stanford… for a bit of marijuana! eCommerce has come a long way since then, facilitated in no small part by open source PHP projects. osCommerce, Magento, WooCommerce, Drupal Commerce, PHP SaaS carts power much of eCommerce today. This session provides a brief retrospective of a decade of PHP eCommerce projects, where we are now, and a look to the future of eCommerce with PHP.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
2. Ben Marks
4.5 years doing Magento dev
2 years as a Magento U instructor
Happily employed at Blue Acorn in
Charleston, SC (we're hiring!)
Big fan of questions (ask away)
Who am I?
5. Who knows Magento?
Who hates Magento?
Who doesn't know Magento, but has been
told that they should hate it?
Who are you?
6. Who knows Magento?
Who hates Magento?
Who doesn't know Magento, but has been
told that they should hate it?
"Magento doesn't do anything very well" –
Harper Reed, php|tek, 2013
Who are you?
8. LOTS of business
LOTS of developer community members
LOTS of room for innovation
LOTS of flexibility
Layout XML
What makes Magento awesome?
9. LOTS of undocumented features &
conventions
LOTS of bad information out there
LOTS of architecture to scale
LOTS of flexibility
Layout XML
What makes Magento difficult?
10. Supressed error output (index.php):
Caching on by default (Admin Panel):
Disabled output (admin), disabled local code
pool (app/etc/local.xml)
Getting Started: Don't Forget!
13. Typical classname-to-path mapping, e.g.:
See app/Mage.php & lib/Varien/Autoload.php:
app/code/local/, app/code/community/, app/cod
e/core/, lib/
But... Magento is "all about options," so...
Typical Autoloading
Mage_Catalog_Model_Product_Type
Mage/Catalog/Model/Product/Type.php
14. Reading class group notation
Mage::getModel('catalog/product_type')
<config>
<global>
<models>
<catalog>
<class>Mage_Catalog_Model
Factory Methods & Class Groups
15. Allows for rewrites:
Mage::getModel('catalog/product_type')
<config>
<global>
<models>
<catalog>
<rewrite>
<product_type>New_Class
Factory Methods & Class Groups
16. Mage::getModel()
Mage::helper()*
Mage::app()->getLayout()->createBlock()
See Mage_Core_Model_Config
::getGroupedClassName()
That's the M, V, and H... but C works
differently
Factory Methods & Class Groups
20. Mage_Core_Model_Layout
Factory method for instantiating blocks
Global block registry
Effectively a singleton, accessed via:
$controller->getLayout()
Mage::app()->getLayout()
$block->getLayout()
The View: Layout Object
21. Blocks have two main workflows
Instantiation: _construct() & _prepareLayout()
Rendering:
toHtml(), _beforeToHtml(), _afterToHtml()
Blocks are generally responsible for
instantiating data models/collections –
important for view flexibility
The View: Blocks
22. Rendering is a waterfall down parent-child
relationships:
$parentBlock->getChildHtml('child');
$child->getChildHtml('etc');
//and so forth...
The View: Blocks
23. How do blocks get called in to scope for
rendering? In other words, how does stuff get
rendered?
The View: Blocks
24. Layout XML - up to the developer to use, not
use, mix as needed; keep controllers thin!
The View: Layout XML
25. Layout XML - up to the developer to use, not
use, mix as needed; keep controllers thin!
public function exampleAction()
{
$this->loadLayout()->renderLayout();
//$this->getResponse()->setBody('Hi!');
}
The View: Layout XML
26. Declared in module config.xml; all module
layout XML files are compiled always
Layout Update Handles are responsible for
limiting the directives for current scope
Full Action Name handle – the missing link
The View: Layout XML
27. <contacts_index_index />
<block /> - type, name, as, template
<reference /> - name
<remove /> - name
<update /> - handle
<action /> - method
action allows to call block public methods
The View: Layout XML
28. Layout update handles: applied via PHP;
top-level nodes in layout XML files
Block type is class group notation:
<block type="page/html_head">
<action method="addJs">
<file>example.js</file>
Mage_Page_Block_Html_Head->addJs('example.js');
The View: Layout XML
30. ...and this relationship is seen in templates as
well:
Required for rendering to work
The View: Layout XML
31. Parent-child block relationships can also be
set/unset using <action />:
<reference name="root">
<action method="unsetChild">
<child>content</child>
</action>
</reference>
Child exists, but "outside" of rendering flow
The View: Layout XML
32. Most important thing to understand:
Via layout XML any module can affect any view
through the full action name handle or other
applied handle (customer_logged_in, etc.)
Let's see some examples from catalog.xml
The View: Layout XML
33. Config XML is composed of the following:
app/etc/*.xml
app/etc/modules/*.xml
All active module config.xml
app/etc/local.xml
core_config_data table
Configuration XML
34. Confusingly accessed/evaluated/built; better
to learn it by application
Important top level nodes:
global
frontend & adminhtml
admin
default, websites, & stores; often, user-
configurable values here
Configuration XML
35. Website and store scopes are admin-
configurable, but affect config DOM
structure (System > Manage Stores)
Possible to declare same xpaths in multiple
files and in core_config_data table* (*for
default, websites, and stores)
Colliding xpath text values are overwritten
when merged
Configuration XML
36. Convenience method for reading correct
value for store scopes
Mage::getStoreConfig('foo/bar/baz');
//same as...
Mage::getConfig()->getNode(
'stores/[code]/foo/bar/baz'
);
Configuration XML
37. Sometimes it's the node name being
evaluated (e.g. module declaration); most of
the time it's the text node
Bottom line, it's all about the xpath and the
PHP which is evaluating it
Configuration XML
38. System XML is the quickest way to add user-
configurable fields to the admin panel
Default values can be set in files or added to
core_config_data via setup scripts
Let's look at Mage/Contacts/etc/system.xml
System XML
39. Magento CRUD:
Create & Update: save()
Read: load()
Delete: delete()
Data model CRUD works through resource
model (see Mage_Core_Model_Abstract)
The Model Layer: CRUD
40. Hybrid resource / data model classes
Filtering, sorting, etc. Lazy loaded.
Implement Countable &
IteratorAggregate, making it possible to do
this:
The Model Layer: Collections
41. Generally the best way to customize
Events are dispatched throughout core code
Allow to execute code uniformly (e.g. during
request dispatching) or during specific flow
of execution (catalog_product_load_after)
Observers
42. Varien_Object (lib/Varien/Object.php)
Basis of blocks and models; for
models, methods map to table columns or
attributes
get*, set*, uns*, & has*
$model->getFooBar()
reads from
$model->_data['foo_bar']
Missing code: when __call strikes
43. Caveat: nothing stops classes from defining
getters, setters, etc.
Don't var_dump() objects directly; use
Varien_Object->debug() to see
properties in _data
Missing code: when __call
strikes
44. The action and the template are the most
important aspects to deciphering layout
XML; not all blocks use template!
Find the block class via type
Check the definition to see if the method is
declared or not
A simple echo get_class($this) in the
template will suffice
Missing code: layout XML
45. Observer configuration can be found mainly
under the xpaths
global/events, frontend/events, and
adminhtml/events
Many events are dynamic
Multiple observers can be configured for the
same event
Missing code: Observers
46. When an install is not behaving as
expected, check for Mage, Varien, and Zend
namespaces outside of core or lib
Check for event observer configuration for
targeted CRUD and reques operations
Missing code: Miscellaneous
47. When content is being rendered with no
apparent source in template or entity
data, suspect translations, which can reside
in translate.csv, app/locale/, or core_translate
table; translate="" & __("Some String")
CMS pages, categories, and products all
have custom design settings (themes &
layout XML) which are stored in the
database
Missing code: Miscellaneous
48. Module code not executing.
Is config being merged? Enable developer
mode & clear cache. Error message indicates
everything is ok. 80% of all problems start
with config.*
Troubleshooting Process
49. Unexpected or missing theme-related content.
Reset the theme to default to rule out issues
from custom templates & layout XML; check
database for layout XML, template, and theme
settings. Check parent-child relationships.
Troubleshooting Process
50. Class XYZ is not behaving correctly.
Check for a config-based rewrite, an include
path override, or an event observer.
Collection class/view seems to be slow.
Ensure that the collection class is building
correct data and that models are not being
loaded iteratively.
Troubleshooting Process
51. Enable profiler in two places:
System > Configuration > Developer
index.php - uncomment Varien_Profiler::enable()
Rudimentary output; read from outside-in till
you get to the bottom-most entry with longest
execution time
Enable query profiler in config xml at
global/resources/default_setup/connection/profiler
Profiler
52. Enable TPH in admin:
System > Configuraration > Developer
Change scope from "Default"
Pretty ugly, and missing key info (such as
alias, name). Check out AOE_TemplateHints
v2.0 http://www.fabrizio-branca.de/magento-
advanced-template-hints-20.html
Template Path Hints