SlideShare a Scribd company logo
1 of 36
Download to read offline
Get on with Field API
Drupalcamp Spain - Cáceres 27/10/2013
What is Field API
• Included in Drupal 7 from CCK module
• The way to store and represent Entities properties
• Utilizes Form API to insert data
• Flexible and easily extensible
Terminology
• Entities
• Bundles
• Field Types
• Field Storage
• Field Instances
Structure
Semaphore bundle

Mug bundle

Semaphore color

Mug color

Entity

Instance

Field Type

Color
Field API components
• Field Types API
• Field Language API
• Field Info API
• Field attach API
• Field CRUD API
• Field Storage API
Field API components
• Field Types API
• Field Language API
• Field Info API
• Field Attach API
• Field CRUD API
• Field Storage API
Field Types API
• Field Type
• Widget
• Formatter
Field Type
• hook_field_info()
• hook_field_schema()
• hook_field_is_empty()
• Other hooks...
• hook_field_validate(), hook_field_presave(), hook_field_prepare_translation()...
Widget
• hook_field_widget_info()
• hook_field_widget_settings_form()
• hook_field_widget_form()
• Other hooks...
• hook_field_widget_form_alter(), hook_field_widget_WIDGET_TYPE_form_alter(),
hook_field_widget_properties_alter(), hook_field_widget_error()...
Formatter
• hook_field_formatter_info()
• hook_field_formatter_settings_form()
• hook_field_formatter_settings_summary()
• hook_field_formatter_prepare_view()
• hook_field_formatter_view()
• Field formatter settings module (D8 included)
... and all for what??
To make our life easier!!
Our boss need...
Show the sum of all field items
The easy way...
fnto m_ouend_iw$oe $iwmd,$agoe {
ucin ymdl_oeve(nd, ve_oe lncd)
i (nd-tp = 'ae){
f $oe>ye = pg'
i (se(nd-cnet'il_nee'[]){
f ist$oe>otn[feditgr]0)
$tm =$oe>il_nee[ud]
ies
nd-feditgr'n';
$eut=0
rsl
;
frah(iesa $tm {
oec $tm s ie)
$eut+ $tm'au';
rsl = ie[vle]
}
$oe>otn[feditgr]=
nd-cnet'il_nee'
aryary'mru'= $eut)
ra(ra(#akp > rsl);
}
}
}
Yes, you can
use Field API!!
hook_field_formatter_info()
fnto adto_omte_il_omte_no){
ucin diinfratrfedfratrif(
rtr ary
eun ra(
'diinfratrbsc = ary
adto_omte_ai' > ra(
'ae'= t'ai Adto Fratr)
lbl > (Bsc diin omte',
'ecito'= t'usaltefedies)
dsrpin > (Sm l h il tm',
'il tps = ary'ubritgr,'ubrdcml,
fed ye' > ra(nme_nee' nme_eia'
'ubrfot)
nme_la',
'etns = ary)
stig' > ra(,
)
,
)
;
}
hook_field_formatter_view()
fnto adto_omte_il_omte_iw$niytp,
ucin diinfratrfedfratrve(ett_ye
$niy $il,$ntne $agoe $tm,$ipa){
ett, fed isac, lncd, ies dsly
$lmn =ary)
eeet
ra(;
i (ies {
f $tm)
$diin=0
adto
;
frah(iesa $et = $tm {
oec $tm s dla > ie)
$diin+ $tm'au';
adto = ie[vle]
}
$lmn[]=ary'mru'= $diin;
eeet0
ra(#akp > adto)
}
rtr $lmn;
eun eeet
}
But now, what I need...
...is represent basic arithmetic
operations and store its results
How would I write it...
• Create our custom field type
• 4 DB columns (operand1, operand 2, operation and value)
• Create our custom widget
• Two text fields for each operand and select for operation
• Black magic to store operation result
• Create our custom formatter
• hook_field_formatter_info_alter()
• Reuse number module formatters
It's so easy
using Field API...
Field Language API
https://drupal.org/node/1500308
https://drupal.org/node/1500308
How to access to our fields
$aus=$niy>yfed'n'[]
vle
ett-m_il[ud]0
$agae=fedlnug(nd' $oe 'yfed)
lnug
il_agae'oe, nd, m_il';
$aus=$oe>yfed$agae[]
vle
nd-m_il[lnug]0;
How to access to our fields using Field API
fedgties
il_e_tm
(ett_ye $niy $il_ae $agoe=NL)
$niytp, ett, fednm, lncd
UL

fedve_il
il_iwfed
(ett_ye $niy $il_ae $ipa =ary) $agoe=NL)
$niytp, ett, fednm, dsly
ra(, lncd
UL

fedve_au
il_iwvle
(ett_ye $niy $il_ae $tm $ipa =ary) $agoe=NL)
$niytp, ett, fednm, ie, dsly
ra(, lncd
UL
Field API
do it for us...
...and Drupal 8??
http://www.flickr.com/photos/37765154@N04
Field API in D8
Field types are now plugins: https://drupal.org/node/2064123
Entity based storage: https://drupal.org/node/2078765
Form modes: https://drupal.org/node/2014821
Some others...
Goodbye hooks and procedural code!
Drupal 7: 85 hooks
Drupal 8: 21 hooks and counting down...
• hook_field_schema() -> ConfigFieldItemInterface::schema()
• hook_field_settings_form() -> ConfigFieldItemInterface::settingsForm()
• field_info_field_types() -> Drupal::service('plugin.manager.entity.field.field_type')
->getDefinitions();
still under
construction
...but show me
the code!
Addition formatter
modules/addition_formatter/lib/Drupal/addition_formatter/Plugin/Field/FieldFormatter/NumberFullAdditionFormatter.php
nmsaeDuadiinfratrPuiililFratr
aepc rpladto_omtelgnFedFedomte;
ueDuaoeFedFedtmitnefc;
s rplCrililIeLsItrae
ueDuaubrPuiililFratrNmeDcmlomte;
s rplnmelgnFedFedomteubreiaFratr
/*
*
*Pui ipeetto o te'ubrfl_diin fratr
lgn mlmnain f h nme_uladto' omte.
*
*@ilFratr
Fedomte(
* i ="ubrfl_diin,
d
nme_uladto"
* lbl=@rnlto(Nme Fl Adto",
ae
Tasain"ubr ul diin)
* fedtps={
il_ye
*
"ubritgr,
nme_nee"
*
"ubrdcml,
nme_eia"
*
"ubrfot
nme_la"
* }
,
* stig ={
etns
*
"huadsprtr =",
tosn_eaao"
"
*
"eia_eaao"=""
dcmlsprtr
.,
*
"cl"=""
sae
2,
*
"rfxsfi"="RE
p e i _ u fhttps://github.com/plopesc/drupalCampES2013/tree/8.x/addition_formatter
x
TU"
* }
Arithmetic field type
modules/arithmetic_field/lib/Drupal/arithmetic_field/Plugin/Field/FieldType/ArithmeticItem.php
nmsaeDuartmtcfedPuiililTp;
aepc rplaihei_illgnFedFedye
ueDuaoeFedCniFedtmae
s rplCrilofgilIeBs;
ueDuaililItrae
s rplfedFednefc;
/*
*
*Pui ipeetto o te'rtmtc fedtp.
lgn mlmnain f h aihei' il ye
*
*@ilTp(
Fedye
* i ="rtmtc,
d
aihei"
* lbl=@rnlto(Aihei",
ae
Tasain"rtmtc)
* dsrpin=@rnlto(Fedta rpeet aihei oeain.)
ecito
Tasain"il ht ersns rtmtc prtos",
* dfutwde ="rtmtc,
eal_igt
aihei"
* dfutfratr="rtmtc
eal_omte
aihei"
*)
*
/
casAiheiIe etnsCniFedtmae{
ls rtmtctm xed
ofgilIeBs
/*
*
*Dfntoso tecnandpoete.
eiiin f h otie rpris
https://github.com/plopesc/drupalCampES2013/tree/8.x/arithmetic_field
*
*@a ary
vr ra
Arithmetic widget
modules/arithmetic_field/lib/Drupal/arithmetic_field/Plugin/Field/fieldWidget/ArithmeticWidget.php
nmsaeDuartmtcfedPuiililWde;
aepc rplaihei_illgnFedfedigt
ueDuartmtcfedPuiililTprtmtctm
s rplaihei_illgnFedFedyeAiheiIe;
ueDuaoeFedFedtmitnefc;
s rplCrililIeLsItrae
ueDuaoeFedWdeBs;
s rplCriligtae
/*
*
*Pui ipeetto o te'rtmtc wde.
lgn mlmnain f h aihei' igt
*
*@ilWde(
Fedigt
* i ="rtmtc,
d
aihei"
* lbl=@rnlto(Aihei",
ae
Tasain"rtmtc)
* fedtps={
il_ye
*
"rtmtc
aihei"
* }
,
* stig ={
etns
*
"lchle"="
paeodr
"
* }
*)
*
/
c a s A i h e i W d e https://github.com/plopesc/drupalCampES2013/tree/8.x/arithmetic_field
ls rtmtcigtetnsWdeBs {
xed igtae
Code comparison
• Addition formatter module:
• Drupal 7: 2 files 1 folder 98 lines of code
• Drupal 8: 5 files 7 folders 61 lines of code
• Arithmetic field module:
• Drupal 7: 3 files 1 folder 128 lines of code
• Drupsl 8: 5 files 9 folders 187 lines of code

It’s good to have code organized.
Don't stop me now
using Field API
Thank you!
Drupal.org: plopesc
Twitter: @plopesc

Fresh fields are waiting for you!!

More Related Content

What's hot

Make your own wp cli command in 10min
Make your own wp cli command in 10minMake your own wp cli command in 10min
Make your own wp cli command in 10minIvelina Dimova
 
The Truth About Lambdas in PHP
The Truth About Lambdas in PHPThe Truth About Lambdas in PHP
The Truth About Lambdas in PHPSharon Levy
 
How to count money using PHP and not lose money
How to count money using PHP and not lose moneyHow to count money using PHP and not lose money
How to count money using PHP and not lose moneyPiotr Horzycki
 
News of the Symfony2 World
News of the Symfony2 WorldNews of the Symfony2 World
News of the Symfony2 WorldFabien Potencier
 
Apostrophe
ApostropheApostrophe
Apostrophetompunk
 
Fat Arrow (ES6)
Fat Arrow (ES6)Fat Arrow (ES6)
Fat Arrow (ES6)Ryan Ewing
 
Think Generic - Add API's To Your Custom Modules
Think Generic - Add API's To Your Custom ModulesThink Generic - Add API's To Your Custom Modules
Think Generic - Add API's To Your Custom ModulesJens Sørensen
 
Frege is a Haskell for the JVM
Frege is a Haskell for the JVMFrege is a Haskell for the JVM
Frege is a Haskell for the JVMjwausle
 
Artdm170 Week10 Arrays Math
Artdm170 Week10 Arrays MathArtdm170 Week10 Arrays Math
Artdm170 Week10 Arrays MathGilbert Guerrero
 
循環参照のはなし
循環参照のはなし循環参照のはなし
循環参照のはなしMasahiro Honma
 
Smarty Template
Smarty TemplateSmarty Template
Smarty Templatemussawir20
 
Smarty Template
Smarty TemplateSmarty Template
Smarty Templateguest48224
 
What's New in Perl? v5.10 - v5.16
What's New in Perl?  v5.10 - v5.16What's New in Perl?  v5.10 - v5.16
What's New in Perl? v5.10 - v5.16Ricardo Signes
 
Coding Horrors
Coding HorrorsCoding Horrors
Coding HorrorsMark Baker
 

What's hot (20)

Make your own wp cli command in 10min
Make your own wp cli command in 10minMake your own wp cli command in 10min
Make your own wp cli command in 10min
 
The Truth About Lambdas in PHP
The Truth About Lambdas in PHPThe Truth About Lambdas in PHP
The Truth About Lambdas in PHP
 
Symfony 2.0 on PHP 5.3
Symfony 2.0 on PHP 5.3Symfony 2.0 on PHP 5.3
Symfony 2.0 on PHP 5.3
 
Arrows in perl
Arrows in perlArrows in perl
Arrows in perl
 
How to count money using PHP and not lose money
How to count money using PHP and not lose moneyHow to count money using PHP and not lose money
How to count money using PHP and not lose money
 
News of the Symfony2 World
News of the Symfony2 WorldNews of the Symfony2 World
News of the Symfony2 World
 
Apostrophe
ApostropheApostrophe
Apostrophe
 
Functional programming with php7
Functional programming with php7Functional programming with php7
Functional programming with php7
 
Fat Arrow (ES6)
Fat Arrow (ES6)Fat Arrow (ES6)
Fat Arrow (ES6)
 
Think Generic - Add API's To Your Custom Modules
Think Generic - Add API's To Your Custom ModulesThink Generic - Add API's To Your Custom Modules
Think Generic - Add API's To Your Custom Modules
 
Enumerable.js
Enumerable.jsEnumerable.js
Enumerable.js
 
Frege is a Haskell for the JVM
Frege is a Haskell for the JVMFrege is a Haskell for the JVM
Frege is a Haskell for the JVM
 
Artdm170 Week10 Arrays Math
Artdm170 Week10 Arrays MathArtdm170 Week10 Arrays Math
Artdm170 Week10 Arrays Math
 
循環参照のはなし
循環参照のはなし循環参照のはなし
循環参照のはなし
 
画像Hacks
画像Hacks画像Hacks
画像Hacks
 
PHP 8.1: Enums
PHP 8.1: EnumsPHP 8.1: Enums
PHP 8.1: Enums
 
Smarty Template
Smarty TemplateSmarty Template
Smarty Template
 
Smarty Template
Smarty TemplateSmarty Template
Smarty Template
 
What's New in Perl? v5.10 - v5.16
What's New in Perl?  v5.10 - v5.16What's New in Perl?  v5.10 - v5.16
What's New in Perl? v5.10 - v5.16
 
Coding Horrors
Coding HorrorsCoding Horrors
Coding Horrors
 

Viewers also liked

MADs about Drupal: Programación de entities para D7
MADs about Drupal: Programación de entities para D7MADs about Drupal: Programación de entities para D7
MADs about Drupal: Programación de entities para D7Pablo López Escobés
 
1970 systematic of the lizards of the gekkonid genus phyllodactylus
1970 systematic of the lizards of the gekkonid genus phyllodactylus1970 systematic of the lizards of the gekkonid genus phyllodactylus
1970 systematic of the lizards of the gekkonid genus phyllodactylusFranklin Chirinos
 
Ejercicio numeración y viñetas
Ejercicio numeración y viñetasEjercicio numeración y viñetas
Ejercicio numeración y viñetasTryxie
 
Lin_Dennis observing
Lin_Dennis observingLin_Dennis observing
Lin_Dennis observingDennis Psl
 

Viewers also liked (6)

MADs about Drupal: Programación de entities para D7
MADs about Drupal: Programación de entities para D7MADs about Drupal: Programación de entities para D7
MADs about Drupal: Programación de entities para D7
 
725
725725
725
 
1970 systematic of the lizards of the gekkonid genus phyllodactylus
1970 systematic of the lizards of the gekkonid genus phyllodactylus1970 systematic of the lizards of the gekkonid genus phyllodactylus
1970 systematic of the lizards of the gekkonid genus phyllodactylus
 
Ejercicio numeración y viñetas
Ejercicio numeración y viñetasEjercicio numeración y viñetas
Ejercicio numeración y viñetas
 
Drupal 8: Fields reborn
Drupal 8: Fields rebornDrupal 8: Fields reborn
Drupal 8: Fields reborn
 
Lin_Dennis observing
Lin_Dennis observingLin_Dennis observing
Lin_Dennis observing
 

Similar to Get on with Field API

Fields in Core: How to create a custom field
Fields in Core: How to create a custom fieldFields in Core: How to create a custom field
Fields in Core: How to create a custom fieldIvan Zugec
 
Zend Framework Study@Tokyo #2
Zend Framework Study@Tokyo #2Zend Framework Study@Tokyo #2
Zend Framework Study@Tokyo #2Shinya Ohyanagi
 
Advanced symfony Techniques
Advanced symfony TechniquesAdvanced symfony Techniques
Advanced symfony TechniquesKris Wallsmith
 
Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)tompunk
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkJeremy Kendall
 
Keeping It Small with Slim
Keeping It Small with SlimKeeping It Small with Slim
Keeping It Small with SlimRaven Tools
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐいHisateru Tanaka
 
Internationalizing CakePHP Applications
Internationalizing CakePHP ApplicationsInternationalizing CakePHP Applications
Internationalizing CakePHP ApplicationsPierre MARTIN
 
Drupal Field API. Practical usage
Drupal Field API. Practical usageDrupal Field API. Practical usage
Drupal Field API. Practical usagePavel Makhrinsky
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 DatasourceKaz Watanabe
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkJeremy Kendall
 
What's new in the Drupal 7 API?
What's new in the Drupal 7 API?What's new in the Drupal 7 API?
What's new in the Drupal 7 API?Alexandru Badiu
 
Building Testable PHP Applications
Building Testable PHP ApplicationsBuilding Testable PHP Applications
Building Testable PHP Applicationschartjes
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web servicesMichelangelo van Dam
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolGordon Forsythe
 
Becoming a better WordPress Developer
Becoming a better WordPress DeveloperBecoming a better WordPress Developer
Becoming a better WordPress DeveloperJoey Kudish
 

Similar to Get on with Field API (20)

Fields in Core: How to create a custom field
Fields in Core: How to create a custom fieldFields in Core: How to create a custom field
Fields in Core: How to create a custom field
 
Zend Framework Study@Tokyo #2
Zend Framework Study@Tokyo #2Zend Framework Study@Tokyo #2
Zend Framework Study@Tokyo #2
 
Advanced symfony Techniques
Advanced symfony TechniquesAdvanced symfony Techniques
Advanced symfony Techniques
 
Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)Apostrophe (improved Paris edition)
Apostrophe (improved Paris edition)
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
 
Zend framework service
Zend framework serviceZend framework service
Zend framework service
 
Zend framework service
Zend framework serviceZend framework service
Zend framework service
 
Keeping It Small with Slim
Keeping It Small with SlimKeeping It Small with Slim
Keeping It Small with Slim
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
 
Internationalizing CakePHP Applications
Internationalizing CakePHP ApplicationsInternationalizing CakePHP Applications
Internationalizing CakePHP Applications
 
Drupal Field API. Practical usage
Drupal Field API. Practical usageDrupal Field API. Practical usage
Drupal Field API. Practical usage
 
第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource第49回Php勉強会@関東 Datasource
第49回Php勉強会@関東 Datasource
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro Framework
 
What's new in the Drupal 7 API?
What's new in the Drupal 7 API?What's new in the Drupal 7 API?
What's new in the Drupal 7 API?
 
Building Testable PHP Applications
Building Testable PHP ApplicationsBuilding Testable PHP Applications
Building Testable PHP Applications
 
SPL, not a bridge too far
SPL, not a bridge too farSPL, not a bridge too far
SPL, not a bridge too far
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web services
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
Becoming a better WordPress Developer
Becoming a better WordPress DeveloperBecoming a better WordPress Developer
Becoming a better WordPress Developer
 

More from Pablo López Escobés

Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...Pablo López Escobés
 
Definición e implementación de soluciones basadas en APIs universales para la...
Definición e implementación de soluciones basadas en APIs universales para la...Definición e implementación de soluciones basadas en APIs universales para la...
Definición e implementación de soluciones basadas en APIs universales para la...Pablo López Escobés
 
Geohabilitación de gestores contenidos: CMSMap
Geohabilitación de gestores contenidos: CMSMapGeohabilitación de gestores contenidos: CMSMap
Geohabilitación de gestores contenidos: CMSMapPablo López Escobés
 
IDELab MapstractionInteractive: API Universal y Políglota
IDELab MapstractionInteractive: API Universal y PolíglotaIDELab MapstractionInteractive: API Universal y Políglota
IDELab MapstractionInteractive: API Universal y PolíglotaPablo López Escobés
 
Drupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSDrupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSPablo López Escobés
 

More from Pablo López Escobés (9)

When Drupal met CARTO
When Drupal met CARTOWhen Drupal met CARTO
When Drupal met CARTO
 
D7 as D8
D7 as D8D7 as D8
D7 as D8
 
API como SaaS
API como SaaSAPI como SaaS
API como SaaS
 
Poniendo a drupal en el mapa
Poniendo a drupal en el mapaPoniendo a drupal en el mapa
Poniendo a drupal en el mapa
 
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
Integración de APIs políglotas de mapas en Google Web Toolkit: IDELabMapstrac...
 
Definición e implementación de soluciones basadas en APIs universales para la...
Definición e implementación de soluciones basadas en APIs universales para la...Definición e implementación de soluciones basadas en APIs universales para la...
Definición e implementación de soluciones basadas en APIs universales para la...
 
Geohabilitación de gestores contenidos: CMSMap
Geohabilitación de gestores contenidos: CMSMapGeohabilitación de gestores contenidos: CMSMap
Geohabilitación de gestores contenidos: CMSMap
 
IDELab MapstractionInteractive: API Universal y Políglota
IDELab MapstractionInteractive: API Universal y PolíglotaIDELab MapstractionInteractive: API Universal y Políglota
IDELab MapstractionInteractive: API Universal y Políglota
 
Drupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMSDrupal & GIS: Convirtiendo Drupal en un GeoCMS
Drupal & GIS: Convirtiendo Drupal en un GeoCMS
 

Recently uploaded

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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 RobisonAnna Loughnan Colquhoun
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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 AutomationSafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
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?Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Get on with Field API