SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Downloaden Sie, um offline zu lesen
Use WordPress as a CMSUse WordPress as a CMS
withwith
Pods CMSPods CMS
FrameworkFramework
by Tom Hermansby Tom Hermans
Tom HermansTom Hermans
I'm @tomhermans on Twitter
Designer/Developer/WP
Freelance & Contract
www.tomhermans.com
HanneHanne
& Kaat& Kaat
Is WP a CMS ?Is WP a CMS ?
ContentContent
ManagementManagement
SystemSystem
Yes, WP = CMSYes, WP = CMS
Good at PublishingGood at Publishing
Easy InterfaceEasy Interface
Powerful ThemingPowerful Theming
WYSIWYGWYSIWYG
Flexibility : Post MetaFlexibility : Post Meta
No CMSNo CMS
!Backend UI Customization!Backend UI Customization
Same Post TypesSame Post Types
Custom Fields ComplexityCustom Fields Complexity
““Just another WP Blog”Just another WP Blog”
WordPressWordPress
Content ?Content ?
ContentContent
Posts
Pages
Comments
Media
Links
Multiple PossibilitiesMultiple Possibilities
Custom FieldsCustom Fields
Custom Post TypesCustom Post Types
Plugins..Plugins..
PodsCMSPodsCMS
PODS ?PODS ?
WTF ?
SimpleSimple
ScalableScalable
CMSCMS
FlexibleFlexible
ConnectiveConnective
FrontEnd + BackEndFrontEnd + BackEnd
Customizable UICustomizable UI
POD =POD =
Piece Of DataPiece Of Data
Build Your OwnBuild Your Own
Content TypeContent Type
PodsCMSPodsCMS
Why ?Why ?
●
Sorting, Filtering,
Relating Data
●
Easier for Clients
● Better than Custom
Fields
●
More options than
Custom Post Type
Ski regionSki region
●
Ski Villages
●
Number of Slopes
●
Number of Lifts
●
Geo-Location
●
Hotels
●
Weather Info
●
Picture(s)
●
Etc.. etc...
PodsCMS InstallPodsCMS Install
Download plugin atDownload plugin at
podscms.org orpodscms.org or
wordpress.org/extend/wordpress.org/extend/
How does it workHow does it work
MVC-likeMVC-like
Controller : PodsCMSController : PodsCMS
Model : TemplatesModel : Templates
View : PagesView : Pages
Get StartedGet Started
1 Setup1 Setup
2 Manage Content2 Manage Content
3 Package Manager3 Package Manager
4 Menu Editor4 Menu Editor (deprecated)(deprecated)
5 Add Pod Item5 Add Pod Item
Setup : Start to PodSetup : Start to Pod
●
Pods
● Templates
●
Pages
●
Helpers
●
Roles
● Settings
1 Setup : Create Pod1 Setup : Create Pod
●
Add New Pod
● Name
●
Columns
●
Pod Labels
●
Helpers
1 Setup: POD1 Setup: POD
● Create DB Fields
●
Top Level Menu
●
site.tld/label
● site.tld/label/*
●
Helpers
Pod = Group of
Input Fields
Pod = Group of
Input Fields
Closer Look SetupCloser Look Setup
Pod ColumnsPod Columns
●
Machine name (db)
lowercase
●
Label
● Column type
●
Attributes
●
Helpers
● Comment
●
...
Field TypesField Types
●
Date (w/ datepicker)
● Number
● Boolean (checkbox)
●
Single Line Text
● Paragraph Text (Multiline,
HTML)
● Code (Multiline)
● File Upload (WP Lib)
●
Permalink (slug, auto)
● Relationship (pick)
Pick FieldsPick Fields
Relate a Pod
● to another Pod
●
to a Page
●
to a Post
●
to a User
● to a Taxonomy
= very powerful !
PagesPages
Retrieve Data ?
●
Pod Page
●
WP Page Template
●
Shortcode
Pod PagePod Page
● Edit in Pods Admin
●
Supports Wildcard URLs.
● Pod Page “events” = list of events
●
Pod Page “events/*” =
default handler for all pages
beginning with "events/".
● PHP
Pod Page CodePod Page Code
●
Define Pods Object
● findRecords (SQL)
●
showTemplate/loop
●
Pagination
●
Precode
● Link to Template
Pod Page Code Up ClosePod Page Code Up Close
WP Page TemplateWP Page Template
●
WP Theme file
● PHP
●
WP template tags
●
Pod Class
●
findRecords
● showTemplate or
custom loop
WP Page CloserWP Page Closer
Use Pods ShortcodeUse Pods Shortcode
●
Simple syntax to
include Pod Data
●
Display That Many
Pod-items in that
Order
●
Template
● Select * Where
●
Universally usable
TemplatesTemplates
●
Display Output
● HTML
●
Magic Tags
●
PHP
●
Loop-like
More Template CodeMore Template Code
●
$this->get_field('skidorp.name')
●
$this->get_field
('pickcolumn.columnname');
●
{@field.column}
●
{@field, helper}
ExamplesExamples
Detail PagesDetail Pages
// pull URL segment
$slug =
pods_url_variable('last');
// pass slug as parameter
when defining Pods object
$Record =
new Pod('podname', $slug);
echo $Record->
showTemplate('hotel_detail');
Example Detail PageExample Detail Page
Example Detail PageExample Detail Page
HelpersHelpers
Manipulate DB DataManipulate DB Data
at Inputat Input
at Displayat Display
at Saveat Save
Uses of HelpersUses of Helpers
●
Format Date (dd-mm-yy)
● Radio / Checkbox Fields
●
Rounding Numbers
●
Edit Value before Saving (http:// )
●
Send Mail after Update Pod
● ...
● Various Helpers for d/l on pods-site
Manage ContentManage Content
Browse/edit all the content inBrowse/edit all the content in
the Pods database tables.the Pods database tables.
Manage ContentManage Content
Edit ContentEdit Content
Example Pick FieldsExample Pick Fields
PackagesPackages
Built in import/export systemBuilt in import/export system
PackagesPackages
●
Import
● Export
●
Pods
●
Pages
●
Templates
● Helpers
PackagesPackages
●
Import/Export
● Pods
●
Templates
●
Pod Pages
●
Helpers
● Repository on
podscms.org
Pods UIPods UI
Develop pluginsDevelop plugins
that look like WP's ownthat look like WP's own
Pods UIPods UI
●
Develop Custom Backends
for Various Users
●
Extremely Powerful
with Role Managers
● PHP + WP Template Tags + Pods
●
More options in 2.0
Pods UIPods UI
Pods UI : ManagePods UI : Manage
Pods UI : EditPods UI : Edit
Pods UI PossibilitiesPods UI Possibilities
Which Fields Can They See ?Which Fields Can They See ?
Which Fields Are Editable ?Which Fields Are Editable ?
Which User Can Access ?Which User Can Access ?
Can the User Add Fields ?Can the User Add Fields ?
Can the User Delete Fields ?Can the User Delete Fields ?
Duplicate Fields ?Duplicate Fields ?
Pods UI + RolesPods UI + Roles
Combine this withCombine this with
A Role Manager Plugin*A Role Manager Plugin*
=> Mega Power <==> Mega Power <=
*e.g. Members by Justin Tadlock*e.g. Members by Justin Tadlock
Pods UI : Short HowtoPods UI : Short Howto
Fire Up PodFire Up Pod
Define Edit/Add FieldsDefine Edit/Add Fields
pods_ui_managepods_ui_manage
Next slide : code exampleNext slide : code example
BenefitsBenefits
●
Seperate Tables
● Performance
●
Ease of Use
Pro / ContraPro / Contra
●
Separate Tables >
No WP Functions
(comments/akismet)
● Smaller Community
●
UI (but wait for 2.0 ;) )
●
for Developers
● Seperate Tables
●
Performance
●
Ease of Use
Issues will be addressed in Pods 2.0
Pods 2.0 ?Pods 2.0 ?
●
More Functions
● Better Interface
●
Easier to Use
●
More Styling Options
●
Also for non-developers
● Integration with CPT & WP functions
● Expected end of 2010 / begin 2011
Pods AddonsPods Addons
●
Packages
● Helpers
●
CSV Importer
● C-Gen
●
PodsCMS Widgets
●
Pods SEO Titles
●
...
More ?More ?
PublicFormsPublicForms
PodsAPIPodsAPI
SQLSQL
Tutorials & HelpTutorials & Help
●
podscms.org
● ui.podscms.org
●
mondaybynoon.com
test
Tom HermansTom Hermans
●
www.tomhermans.com
● @tomhermans
●
tom@tomhermans.com
Thank you.Thank you.

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
Mohammed Safwat
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
bethanygfair
 
HTML5 Mullet: Forms & Input Validation
HTML5 Mullet: Forms & Input ValidationHTML5 Mullet: Forms & Input Validation
HTML5 Mullet: Forms & Input Validation
Todd Anglin
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
Varya Stepanova
 

Was ist angesagt? (20)

10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
 
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
 
lect9
lect9lect9
lect9
 
The Future of the Web: HTML5
The Future of the Web: HTML5The Future of the Web: HTML5
The Future of the Web: HTML5
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practices
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
 
Extending your blog
Extending your blogExtending your blog
Extending your blog
 
HTML5 & Friends
HTML5 & FriendsHTML5 & Friends
HTML5 & Friends
 
Blogging basics
Blogging basicsBlogging basics
Blogging basics
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Css, xhtml, javascript
Css, xhtml, javascriptCss, xhtml, javascript
Css, xhtml, javascript
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
Browser extension
Browser extensionBrowser extension
Browser extension
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
HTML5 Mullet: Forms & Input Validation
HTML5 Mullet: Forms & Input ValidationHTML5 Mullet: Forms & Input Validation
HTML5 Mullet: Forms & Input Validation
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
 

Andere mochten auch

WordCamp NL 2010: Plugin ontwikkeling
WordCamp NL 2010: Plugin ontwikkelingWordCamp NL 2010: Plugin ontwikkeling
WordCamp NL 2010: Plugin ontwikkeling
Coen Jacobs
 

Andere mochten auch (7)

A History of eBooks & eReaders (11/2011)
A History of eBooks & eReaders (11/2011)A History of eBooks & eReaders (11/2011)
A History of eBooks & eReaders (11/2011)
 
Wordcamp 2010: Hoe meet ik het succes van mijn WordPress site?
Wordcamp 2010: Hoe meet ik het succes van mijn WordPress site?Wordcamp 2010: Hoe meet ik het succes van mijn WordPress site?
Wordcamp 2010: Hoe meet ik het succes van mijn WordPress site?
 
WordCamp NL 2010: Plugin ontwikkeling
WordCamp NL 2010: Plugin ontwikkelingWordCamp NL 2010: Plugin ontwikkeling
WordCamp NL 2010: Plugin ontwikkeling
 
Shopp presentation - WordCampNL 2010
Shopp presentation - WordCampNL 2010Shopp presentation - WordCampNL 2010
Shopp presentation - WordCampNL 2010
 
WoM Ethics Slides
WoM Ethics SlidesWoM Ethics Slides
WoM Ethics Slides
 
1 vs 1000 by adii pienaar
1 vs 1000 by adii pienaar1 vs 1000 by adii pienaar
1 vs 1000 by adii pienaar
 
Zo maak je een WordPress site succesvol - WordCamp Nederland 2012
Zo maak je een WordPress site succesvol - WordCamp Nederland 2012Zo maak je een WordPress site succesvol - WordCamp Nederland 2012
Zo maak je een WordPress site succesvol - WordCamp Nederland 2012
 

Ähnlich wie PodsCMS Framework by Tom Hermans (WordCampNL)

Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
roguevoice
 
WordPress Custom Fields: Control your content presentation by breaking out of...
WordPress Custom Fields: Control your content presentation by breaking out of...WordPress Custom Fields: Control your content presentation by breaking out of...
WordPress Custom Fields: Control your content presentation by breaking out of...
Denise Williams
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovements
LiquidHub
 
Midgard Create and editing content via RDFa
Midgard Create and editing content via RDFaMidgard Create and editing content via RDFa
Midgard Create and editing content via RDFa
Henri Bergius
 

Ähnlich wie PodsCMS Framework by Tom Hermans (WordCampNL) (20)

CSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the GutsCSI: WordPress -- Getting Into the Guts
CSI: WordPress -- Getting Into the Guts
 
Wordpress as a CMS
Wordpress as a CMSWordpress as a CMS
Wordpress as a CMS
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Internet Librarian Slides
Internet Librarian SlidesInternet Librarian Slides
Internet Librarian Slides
 
PHP and Zend Framework on Windows
PHP and Zend Framework on WindowsPHP and Zend Framework on Windows
PHP and Zend Framework on Windows
 
Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.Tips and tricks for using wordpress as application platform.
Tips and tricks for using wordpress as application platform.
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
WordPress Custom Fields: Control your content presentation by breaking out of...
WordPress Custom Fields: Control your content presentation by breaking out of...WordPress Custom Fields: Control your content presentation by breaking out of...
WordPress Custom Fields: Control your content presentation by breaking out of...
 
WordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityWordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanity
 
Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08Wordpress Beyond A Blog Word Camp Toronto08
Wordpress Beyond A Blog Word Camp Toronto08
 
WordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute WorkshopWordPress Plugin Development- Rich Media Institute Workshop
WordPress Plugin Development- Rich Media Institute Workshop
 
Daniel Spiller's Wordpress Presentation
Daniel Spiller's Wordpress PresentationDaniel Spiller's Wordpress Presentation
Daniel Spiller's Wordpress Presentation
 
Wordpress
WordpressWordpress
Wordpress
 
Wordpress
WordpressWordpress
Wordpress
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovements
 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
 
Midgard Create and editing content via RDFa
Midgard Create and editing content via RDFaMidgard Create and editing content via RDFa
Midgard Create and editing content via RDFa
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

PodsCMS Framework by Tom Hermans (WordCampNL)