SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Power Developing
     Extras
   For MODx Revolution
Coming to Terms with
   Terminology
• “Extra” - Anything coded for MODx. Also
  called ‘Component’, ‘3PC’, or 3rd Party
  Component
• “Add-On” - Anything that doesn’t extend
  core but ‘adds’ functionality
• “Core Extension” - Anything that extends
  the core
Coming to Terms with
   Terminology
• ‘CMP’ - Custom Manager Page
• ‘Lexicon’ - A collection of translation
  entries, or strings
• ‘Namespace’ - A unique name identifying
  your Component
The Power of Extras
•   Develop custom web applications

•   Courseware, amazon gallery systems, web service
    integrations, ecommerce tools

•   Create Transport Packages to deploy anywhere and to
    anyone

•   Internationalization support readily available

•   Use the power of xPDO to access custom tables

•   Custom Manager Pages to have your own rich, ExtJS (or
    other library) powered manager UIs
Two Methods of Dev
• Method One: Develop for myself
• Easy - same way as Evolution
• Can use new API, no need to add build
  script
• Cannot be distributed with Package
  Management
Two Methods of Dev

• Method Two: Building a Transport Package
• Makes for easy point-click installs
• Can be distributed via Package
  Management
• Allows others to use it easily
The Namespace

• A unique identifier of your Component
• Related to Settings, Lexicons, CMPs
• Namespace path tells MODx where CMP is
• Think of it like the house your Component
  is built in
Lexicons for
   Internationalization
• Lexicons allow your components to
  translate
• $modx->lexicon(‘entry_name’);
• Separated into topics. Loaded by: $modx-
  >lexicon->load(‘namespace:topic’);
• Tied to Namespaces
Custom Settings

• Settings can be dynamically added
• You can package in settings
• System -> Context -> User
Custom Manager Pages

• Also called ‘CMPs’
• Replaces Modules
• Access to MODx API
• Can either embed your script in a MODx
  page or load it completely alone
CMPs: Actions and
        Menus
• An Action is a controller - a database
  representation of a php file
• A Menu is a menu item for the top nav
• Menus attach to an action
• Menus can use lexicon entries
Properties and
       Property Sets
• Any tag can now have properties
• Tags can be nested with properties
• Common Properties can be grouped into
  Property Sets
• Default properties can be set for any
  Element
Case Studies:
     The Wine Guide
• by Digital Butter Limited
• Custom Manager Pages
• Custom DB tables
• Language-specific Contexts
• CSV imports/exports
Case Studies:
     The License Coach
•   by Collabpad

•   Dynamic Courseware System

•   Enrollments, Courses, Chapters, Modules, Quizzes, Dynamic
    Questions

•   Enrollments/Courses can be restricted to Branches

•   Signup via website, tracking, heavy reporting, time tracking,
    etc

•   Course Plans to assess risk/progress of students throughout
    course

•   Heavy CMP usage - trees, grids, TinyMCE integration
Example Component:
      Doodles
• Objectives: Display a list of Doodles that
  are loaded from an external DB table
• Have a backend mgr UI in ExtJS to edit
  them with
• Make it translated via Lexicons
• Have a Transport Package (TP) to distribute
  with

Weitere ähnliche Inhalte

Was ist angesagt?

Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for MicroservicesVõ Duy Tuấn
 
Mule compatible technologies
Mule compatible technologiesMule compatible technologies
Mule compatible technologieshimajareddys
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMAlfresco Software
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browserSabin Buraga
 
Server virtualization 8
Server virtualization   8Server virtualization   8
Server virtualization 8kausu1
 
Microservices Architecture and Containers.
Microservices Architecture and Containers.Microservices Architecture and Containers.
Microservices Architecture and Containers.imjacobclark
 
Firefox Architecture Overview
Firefox Architecture OverviewFirefox Architecture Overview
Firefox Architecture OverviewAnant Narayanan
 
Serve like a boss (part one)
Serve like a boss (part one)Serve like a boss (part one)
Serve like a boss (part one)Hamed Nemati
 
Resume_vaibhav _MQ-3Yr
Resume_vaibhav _MQ-3YrResume_vaibhav _MQ-3Yr
Resume_vaibhav _MQ-3YrVaibhav Birla
 
Introdcution to Adobe CQ
Introdcution to Adobe CQIntrodcution to Adobe CQ
Introdcution to Adobe CQRest West
 
Advanced php code igniter framework
Advanced php code igniter frameworkAdvanced php code igniter framework
Advanced php code igniter frameworkFahim Faysal Kabir
 
How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon WSO2
 

Was ist angesagt? (20)

Log management system for Microservices
Log management system for MicroservicesLog management system for Microservices
Log management system for Microservices
 
Mule compatible technologies
Mule compatible technologiesMule compatible technologies
Mule compatible technologies
 
Web server
Web serverWeb server
Web server
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
Mule technologies
Mule technologiesMule technologies
Mule technologies
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
Appache1
Appache1Appache1
Appache1
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Server virtualization 8
Server virtualization   8Server virtualization   8
Server virtualization 8
 
Microservices Architecture and Containers.
Microservices Architecture and Containers.Microservices Architecture and Containers.
Microservices Architecture and Containers.
 
Firefox vs. chrome
Firefox vs. chromeFirefox vs. chrome
Firefox vs. chrome
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Firefox Architecture Overview
Firefox Architecture OverviewFirefox Architecture Overview
Firefox Architecture Overview
 
Webservices ingo
Webservices ingoWebservices ingo
Webservices ingo
 
Serve like a boss (part one)
Serve like a boss (part one)Serve like a boss (part one)
Serve like a boss (part one)
 
Resume_vaibhav _MQ-3Yr
Resume_vaibhav _MQ-3YrResume_vaibhav _MQ-3Yr
Resume_vaibhav _MQ-3Yr
 
Introdcution to Adobe CQ
Introdcution to Adobe CQIntrodcution to Adobe CQ
Introdcution to Adobe CQ
 
Advanced php code igniter framework
Advanced php code igniter frameworkAdvanced php code igniter framework
Advanced php code igniter framework
 
How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon
 
Codeigniter framework
Codeigniter framework Codeigniter framework
Codeigniter framework
 

Andere mochten auch

Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)Mark Hamstra
 
myonlinedocuments presentation
myonlinedocuments presentationmyonlinedocuments presentation
myonlinedocuments presentationStephHargreaves
 
Arla's use of blogging and social media
Arla's use of blogging and social mediaArla's use of blogging and social media
Arla's use of blogging and social mediaTanja Udengaard
 
Arlas brug af blogs og sociale medier
Arlas brug af blogs og sociale medierArlas brug af blogs og sociale medier
Arlas brug af blogs og sociale medierTanja Udengaard
 
КРИ 2009: Будущее онлайн игр
КРИ 2009: Будущее онлайн игрКРИ 2009: Будущее онлайн игр
КРИ 2009: Будущее онлайн игрDenis Rysev
 
myonlinedocuments presentation
myonlinedocuments presentationmyonlinedocuments presentation
myonlinedocuments presentationStephHargreaves
 
КРИ 2010: Социальные игры: вирусный маркетинг
КРИ 2010: Социальные игры: вирусный маркетингКРИ 2010: Социальные игры: вирусный маркетинг
КРИ 2010: Социальные игры: вирусный маркетингDenis Rysev
 
Como itunes cambio la cadena de distribucion de
Como itunes cambio la cadena de distribucion deComo itunes cambio la cadena de distribucion de
Como itunes cambio la cadena de distribucion deLuis Aguirre Lopez /Coach
 
Website Security
Website SecurityWebsite Security
Website SecurityMODxpo
 
Globalvillage12 1
Globalvillage12 1Globalvillage12 1
Globalvillage12 1dibalfour
 
Beverage Warehousing Capabilities
Beverage Warehousing CapabilitiesBeverage Warehousing Capabilities
Beverage Warehousing CapabilitiesbwaitsGA
 
Hello meet MODx Revolution
Hello meet MODx RevolutionHello meet MODx Revolution
Hello meet MODx RevolutionMODxpo
 
Time Management
Time ManagementTime Management
Time Managementochursina
 

Andere mochten auch (16)

Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
 
myonlinedocuments presentation
myonlinedocuments presentationmyonlinedocuments presentation
myonlinedocuments presentation
 
Arla's use of blogging and social media
Arla's use of blogging and social mediaArla's use of blogging and social media
Arla's use of blogging and social media
 
Refactoring
RefactoringRefactoring
Refactoring
 
Arlas brug af blogs og sociale medier
Arlas brug af blogs og sociale medierArlas brug af blogs og sociale medier
Arlas brug af blogs og sociale medier
 
КРИ 2009: Будущее онлайн игр
КРИ 2009: Будущее онлайн игрКРИ 2009: Будущее онлайн игр
КРИ 2009: Будущее онлайн игр
 
myonlinedocuments presentation
myonlinedocuments presentationmyonlinedocuments presentation
myonlinedocuments presentation
 
КРИ 2010: Социальные игры: вирусный маркетинг
КРИ 2010: Социальные игры: вирусный маркетингКРИ 2010: Социальные игры: вирусный маркетинг
КРИ 2010: Социальные игры: вирусный маркетинг
 
Como itunes cambio la cadena de distribucion de
Como itunes cambio la cadena de distribucion deComo itunes cambio la cadena de distribucion de
Como itunes cambio la cadena de distribucion de
 
Website Security
Website SecurityWebsite Security
Website Security
 
Globalvillage12 1
Globalvillage12 1Globalvillage12 1
Globalvillage12 1
 
Lição o2 a necessidade dos gentios
Lição o2  a necessidade dos gentiosLição o2  a necessidade dos gentios
Lição o2 a necessidade dos gentios
 
Beverage Warehousing Capabilities
Beverage Warehousing CapabilitiesBeverage Warehousing Capabilities
Beverage Warehousing Capabilities
 
0225 2003
0225 20030225 2003
0225 2003
 
Hello meet MODx Revolution
Hello meet MODx RevolutionHello meet MODx Revolution
Hello meet MODx Revolution
 
Time Management
Time ManagementTime Management
Time Management
 

Ähnlich wie Developing in MODx

Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentDave Wallace
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011camp_drupal_ua
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionPatrick Chanezon
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterpriseBert Poller
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Dave Wallace
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013dotCloud
 
Leveraging the Chaos tool suite for module development
Leveraging the Chaos tool suite  for module developmentLeveraging the Chaos tool suite  for module development
Leveraging the Chaos tool suite for module developmentzroger
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankPiergiorgio Lucidi
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfOrtus Solutions, Corp
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDavid Mann
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Anupam Ranku
 
Headless cms architecture
Headless cms architectureHeadless cms architecture
Headless cms architectureKevin Wenger
 
Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsPatrick Chanezon
 

Ähnlich wie Developing in MODx (20)

DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
Content Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme developmentContent Management Systems (CMS) & Wordpress theme development
Content Management Systems (CMS) & Wordpress theme development
 
72d5drupal
72d5drupal72d5drupal
72d5drupal
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Cms & wordpress theme development 2011
Cms & wordpress theme development 2011Cms & wordpress theme development 2011
Cms & wordpress theme development 2011
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
Leveraging the Chaos tool suite for module development
Leveraging the Chaos tool suite  for module developmentLeveraging the Chaos tool suite  for module development
Leveraging the Chaos tool suite for module development
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme Customization
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
Headless cms architecture
Headless cms architectureHeadless cms architecture
Headless cms architecture
 
Miami2015
Miami2015Miami2015
Miami2015
 
Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and Bolts
 

Kürzlich hochgeladen

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Developing in MODx

  • 1. Power Developing Extras For MODx Revolution
  • 2. Coming to Terms with Terminology • “Extra” - Anything coded for MODx. Also called ‘Component’, ‘3PC’, or 3rd Party Component • “Add-On” - Anything that doesn’t extend core but ‘adds’ functionality • “Core Extension” - Anything that extends the core
  • 3. Coming to Terms with Terminology • ‘CMP’ - Custom Manager Page • ‘Lexicon’ - A collection of translation entries, or strings • ‘Namespace’ - A unique name identifying your Component
  • 4. The Power of Extras • Develop custom web applications • Courseware, amazon gallery systems, web service integrations, ecommerce tools • Create Transport Packages to deploy anywhere and to anyone • Internationalization support readily available • Use the power of xPDO to access custom tables • Custom Manager Pages to have your own rich, ExtJS (or other library) powered manager UIs
  • 5. Two Methods of Dev • Method One: Develop for myself • Easy - same way as Evolution • Can use new API, no need to add build script • Cannot be distributed with Package Management
  • 6. Two Methods of Dev • Method Two: Building a Transport Package • Makes for easy point-click installs • Can be distributed via Package Management • Allows others to use it easily
  • 7. The Namespace • A unique identifier of your Component • Related to Settings, Lexicons, CMPs • Namespace path tells MODx where CMP is • Think of it like the house your Component is built in
  • 8. Lexicons for Internationalization • Lexicons allow your components to translate • $modx->lexicon(‘entry_name’); • Separated into topics. Loaded by: $modx- >lexicon->load(‘namespace:topic’); • Tied to Namespaces
  • 9. Custom Settings • Settings can be dynamically added • You can package in settings • System -> Context -> User
  • 10. Custom Manager Pages • Also called ‘CMPs’ • Replaces Modules • Access to MODx API • Can either embed your script in a MODx page or load it completely alone
  • 11. CMPs: Actions and Menus • An Action is a controller - a database representation of a php file • A Menu is a menu item for the top nav • Menus attach to an action • Menus can use lexicon entries
  • 12. Properties and Property Sets • Any tag can now have properties • Tags can be nested with properties • Common Properties can be grouped into Property Sets • Default properties can be set for any Element
  • 13. Case Studies: The Wine Guide • by Digital Butter Limited • Custom Manager Pages • Custom DB tables • Language-specific Contexts • CSV imports/exports
  • 14. Case Studies: The License Coach • by Collabpad • Dynamic Courseware System • Enrollments, Courses, Chapters, Modules, Quizzes, Dynamic Questions • Enrollments/Courses can be restricted to Branches • Signup via website, tracking, heavy reporting, time tracking, etc • Course Plans to assess risk/progress of students throughout course • Heavy CMP usage - trees, grids, TinyMCE integration
  • 15. Example Component: Doodles • Objectives: Display a list of Doodles that are loaded from an external DB table • Have a backend mgr UI in ExtJS to edit them with • Make it translated via Lexicons • Have a Transport Package (TP) to distribute with