SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
Drupal 8 simple page
Y otras historias
• Y otras historias
Y este soy yo… @estoyausente
• Y otras historias
Y este soy yo… @estoyausente
Gasolina vital
• Y otras historias
Y este soy yo… @estoyausente
Gasolina vital
Drupal 7
Drupal 8
Un pequeño paso para el hombre …
Esta presentación contiene
ejemplos que funcionan
basados sólo en mi experiencia
para más información consulte
las APIs
Vamos a ver
1. Configuration manager

2. Routing

3. Formularios

4. Servicios

5. Theming
Configuration manager
Impresiones
1. ¡Funciona!

2. ¡Funciona bien!

3. …

4. Aún no lo veo para algunas cosas.
Configuration manager
Configuration manager
Configuration manager
Configuration manager
Configuration manager
Configuration manager
Para explorar
1. https://www.drupal.org/project/config_tools

2. https://www.drupal.org/project/config_update

3. https://www.drupal.org/project/config_sync

4. https://www.drupal.org/project/config_devel

5. https://www.drupal.org/project/features ????
Mi primer módulo
Drupal
generate:module
Routing
example_dyb_landing_content:

path: '/landing-my-awsome-path'

defaults:

_controller: 'Drupalexample_dyb_landing
ControllerLandingContentController::pageContent'

requirements:

_access: 'TRUE'
example_dyb_landing/example_dyb_landing.routing.yml
Controller
namespace Drupalexample_dyb_landingController;



use DrupalCoreControllerControllerBase;

use DrupalCoreUrl;



class LandingContentController extends
ControllerBase {

public function pageContent() {
$content = []; //Render array
return $content;

}

}
example_dyb_landing/src/Controllers/LandingContentController.php
Pausa para gato
Forms
namespace Drupalexample_dyb_landingForm;



use DrupalCoreFormFormBase;

use DrupalCoreFormFormStateInterface;



class ContactForm extends FormBase {



public function getFormId() {

return 'contact_form';

}
example_dyb_landing/src/Form/ContactForm.php
Forms
public function buildForm(array $form,
FormStateInterface $form_state) {
$form['mail'] = array(

'#type' => 'email',

'#title' => $this->t('Email'),

'#required' => TRUE,

'#attributes' => ['class' => ['formcontrol']],

);
return $form;

}
example_dyb_landing/src/Form/ContactForm.php
Forms
public function validateForm(array &$form,
FormStateInterface $form_state) {

$values = $form_state->getValues();



if(!Drupal::service('email.validator')-
>isValid($values['mail'])) {

$form_state->setErrorByName('mail', $this-
>t('The email address %mail is not valid.',
array('%mail' => $values['mail'])));

}
}
example_dyb_landing/src/Form/ContactForm.php
Forms


public function submitForm(array &$form, FormStateInterface
$form_state) {



$values = $form_state->getValues();

$to = Drupal::config('system.site')->get('mail');

$language_interface = Drupal::languageManager()-
>getCurrentLanguage();



Drupal::service('plugin.manager.mail')-
>mail('example_dyb_landing', 'contact_message', $to,
$language_interface, $values, 'no-replyđ@mail.com');

drupal_set_message($this->t('Thank for contact us. Your
message has been sent correctly.'));

}
example_dyb_landing/src/Form/ContactForm.php
Forms
$output['bottom']['form'] = [

'#type' => 'container',

'#attributes' => ['class' => ['left']],

'form' => Drupal::formBuilder()-
>getForm('Drupalexample_dyb_landingForm
ContactForm'),

];
example_dyb_landing/src/Form/ContactForm.php
Forms
$output['bottom']['form'] = [

'#type' => 'container',

'#attributes' => ['class' => ['left']],

'form' => Drupal::formBuilder()-
>getForm('Drupalexample_dyb_landingForm
ContactForm'),

];
example_dyb_landing/src/Form/ContactForm.php
Servicios
services:

rest_client.client:

class: Drupalrest_clientRestClient
example_dyb_landing/rest_client.services.yml
Servicios
namespace Drupalrest_client;



/**

* Class RestClient

* @package Drupalrest_client

*/

class RestClient{
protected $url;
public function __construct() {

$this->url = 'myserver.com';

}
example_dyb_landing/src/RestClient.php
Servicios
public function getSpecialities($country = 'ES') {



$cid = 'rest_client_getSpecialities_' . $country;

if ($cache = Drupal::cache()->get($cid)) {

return $cache->data;

}

//$output = getSomeStuff();
Drupal::cache()->set($cid, $output);

return $output;

}



return [];

}
example_dyb_landing/src/RestClient.php
Servicios
public function getSpecialities($country = 'ES') {



$cid = 'rest_client_getSpecialities_' . $country;

if ($cache = Drupal::cache()->get($cid)) {

return $cache->data;

}

//$output = getSomeStuff();
Drupal::cache()->set($cid, $output);

return $output;

}



return [];

}
example_dyb_landing/src/RestClient.php
Inyección de dependencias
dependencies:

- rest_client
example_dyb_landing/example_dyb_landing.info.yml
Inyección de dependencias
namespace Drupalregister_formForm;

use Drupalrest_clientRestClient;
class RegisterForm extends FormBase{



protected $client;





public function __construct(RestClient $client) {

$this->client = $client;

}


public static function create(ContainerInterface $container) {

return new static(

$container->get('rest_client.client'),

);
}
example_dyb_landing/src/Form/RegisterForm.php
Inyección de dependencias


public function buildForm(array $form,
FormStateInterface $form_state) {

$form['speciality'] = [

'#type' => 'select',

'#options' => $this->client->getSpecialities(),

'#title' => $this->t('Speciality'),

'#required' => TRUE,

'#attributes' => ['class' => ['formcontrol']],

];
return $form;
}
example_dyb_landing/src/Form/RegisterForm.php
Pausa para meme
Mi primer theme
Drupal
generate:theme
name: public

type: theme

description: Public theme.

package: Other

core: 8.x

libraries:

- public/global-styling



base theme: classy



regions:

content: Content

header: Header

footer: Footer
public/public.info.yml
Mi primer theme
global-styling:

version: 1.x

css:

theme:

css/style.css: {}

js:

js/public.js: {}

dependencies:

- core/jquery

- core/drupal

- core/drupalSettings
public/public.libraries.yml
Añadir css/js
function public_preprocess_breadcrumb(&$variables){



//Add current page to breadcrumb.

$request = Drupal::request();

$route_match = Drupal::routeMatch();

$page_title = Drupal::service('title_resolver')-
>getTitle($request, $route_match->getRouteObject());

$variables['breadcrumb'][] = array(

'text' => $page_title,

);

}
public/public.theme
Preprocess
{% if breadcrumb %}

<nav class="breadcrumbs" role="navigation" aria-labelledby="system-
breadcrumb">

<h2 class="visually-hidden">{{ 'Breadcrumb'|t }}</h2>

<ol class="itemlistbread">

{% for item in breadcrumb %}

<li class="itembread">

{% if item.url %}

<a href="{{ item.url }}" class="itembread__link">{{ item.text }}</a>

{% else %}

<span>{{ item.text }}</span>

{% endif %}

</li>

{% endfor %}

</ol>

</nav>

{% endif %}
public/templates/elements/breadcrumb.html.twig
Twig
<?php
db_query('DROP TABLE {users}’);
?>
<?php
db_query('DROP TABLE {users}’);
?>
twig.config:

debug: true
sites/default/default.services.yml
Twig debug
Pausa para chiste
Deberes
• Caché

• Composer

• REST

• Migrate

• … Infinitas cosas.
Drupalcamp 2016
Granada del 19 al 24 de Abril
¿Preguntas?
Buenas gracias
y muchas tardes
@estoyausenteSamuel Solís

Más contenido relacionado

La actualidad más candente

Pourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSPourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSThomas Gasc
 
16. CodeIgniter stergerea inregistrarilor
16. CodeIgniter stergerea inregistrarilor16. CodeIgniter stergerea inregistrarilor
16. CodeIgniter stergerea inregistrarilorRazvan Raducanu, PhD
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesLaurie M. Rauch
 
Gravity Forms Hooks & Filters
Gravity Forms Hooks & FiltersGravity Forms Hooks & Filters
Gravity Forms Hooks & Filtersiamdangavin
 
Drupal 8 版型開發變革
Drupal 8 版型開發變革Drupal 8 版型開發變革
Drupal 8 版型開發變革Chris Wu
 
Form API Intro
Form API IntroForm API Intro
Form API IntroJeff Eaton
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax pluginsInbal Geffen
 
AngularJS Compile Process
AngularJS Compile ProcessAngularJS Compile Process
AngularJS Compile ProcessEyal Vardi
 
WordPress overloading Gravityforms using hooks, filters and extending classes
WordPress overloading Gravityforms using hooks, filters and extending classes WordPress overloading Gravityforms using hooks, filters and extending classes
WordPress overloading Gravityforms using hooks, filters and extending classes Paul Bearne
 
FLOW3, Extbase & Fluid cook book
FLOW3, Extbase & Fluid cook bookFLOW3, Extbase & Fluid cook book
FLOW3, Extbase & Fluid cook bookBastian Waidelich
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!Balázs Tatár
 

La actualidad más candente (19)

Pourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSPourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMS
 
20. CodeIgniter edit images
20. CodeIgniter edit images20. CodeIgniter edit images
20. CodeIgniter edit images
 
16. CodeIgniter stergerea inregistrarilor
16. CodeIgniter stergerea inregistrarilor16. CodeIgniter stergerea inregistrarilor
16. CodeIgniter stergerea inregistrarilor
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child Themes
 
Gravity Forms Hooks & Filters
Gravity Forms Hooks & FiltersGravity Forms Hooks & Filters
Gravity Forms Hooks & Filters
 
Drupal 8 版型開發變革
Drupal 8 版型開發變革Drupal 8 版型開發變革
Drupal 8 版型開發變革
 
Form API Intro
Form API IntroForm API Intro
Form API Intro
 
TICT #13
TICT #13TICT #13
TICT #13
 
12. edit record
12. edit record12. edit record
12. edit record
 
Jqeury ajax plugins
Jqeury ajax pluginsJqeury ajax plugins
Jqeury ajax plugins
 
TICT #11
TICT #11 TICT #11
TICT #11
 
AngularJS Compile Process
AngularJS Compile ProcessAngularJS Compile Process
AngularJS Compile Process
 
WordPress overloading Gravityforms using hooks, filters and extending classes
WordPress overloading Gravityforms using hooks, filters and extending classes WordPress overloading Gravityforms using hooks, filters and extending classes
WordPress overloading Gravityforms using hooks, filters and extending classes
 
8. vederea inregistrarilor
8. vederea inregistrarilor8. vederea inregistrarilor
8. vederea inregistrarilor
 
Borrados
BorradosBorrados
Borrados
 
FLOW3, Extbase & Fluid cook book
FLOW3, Extbase & Fluid cook bookFLOW3, Extbase & Fluid cook book
FLOW3, Extbase & Fluid cook book
 
Lecture n
Lecture nLecture n
Lecture n
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!
 
10. view one record
10. view one record10. view one record
10. view one record
 

Destacado

Destacado (20)

50 упражнений, чтобы выучить язык жестов
50 упражнений, чтобы выучить язык жестов50 упражнений, чтобы выучить язык жестов
50 упражнений, чтобы выучить язык жестов
 
Portfolio
PortfolioPortfolio
Portfolio
 
Las meninas
Las meninasLas meninas
Las meninas
 
Evaluation Question 4
Evaluation Question 4Evaluation Question 4
Evaluation Question 4
 
Portfolio Task Evaluation
Portfolio Task EvaluationPortfolio Task Evaluation
Portfolio Task Evaluation
 
Asistencia junio 26 2014
Asistencia junio 26 2014Asistencia junio 26 2014
Asistencia junio 26 2014
 
ACHIEVING SUPERIOR SERVCES GROUP PHOT
ACHIEVING SUPERIOR SERVCES GROUP PHOTACHIEVING SUPERIOR SERVCES GROUP PHOT
ACHIEVING SUPERIOR SERVCES GROUP PHOT
 
VIH ESCLEROSIS MULTIPLE WILSON
VIH ESCLEROSIS MULTIPLE WILSONVIH ESCLEROSIS MULTIPLE WILSON
VIH ESCLEROSIS MULTIPLE WILSON
 
2
22
2
 
1.GHLR.GuatemalaAssessment.Narrative
1.GHLR.GuatemalaAssessment.Narrative1.GHLR.GuatemalaAssessment.Narrative
1.GHLR.GuatemalaAssessment.Narrative
 
Health Magazine Construction
Health Magazine ConstructionHealth Magazine Construction
Health Magazine Construction
 
Snow Plow
Snow PlowSnow Plow
Snow Plow
 
Dinero Inteligente
Dinero InteligenteDinero Inteligente
Dinero Inteligente
 
Be watter with Spark
Be watter with SparkBe watter with Spark
Be watter with Spark
 
FSIG Expert Fabry Conference - 14 February 2014
FSIG Expert Fabry Conference - 14 February 2014FSIG Expert Fabry Conference - 14 February 2014
FSIG Expert Fabry Conference - 14 February 2014
 
shopper marketing 4.0
 shopper marketing 4.0 shopper marketing 4.0
shopper marketing 4.0
 
Production diary day 3
Production diary day 3Production diary day 3
Production diary day 3
 
Vencer é preciso daniel e samuel
Vencer é preciso   daniel e samuelVencer é preciso   daniel e samuel
Vencer é preciso daniel e samuel
 
Vontade de adorar eyshila
Vontade de adorar   eyshilaVontade de adorar   eyshila
Vontade de adorar eyshila
 
Presentation_Sahil Singh_26.11.15
Presentation_Sahil Singh_26.11.15Presentation_Sahil Singh_26.11.15
Presentation_Sahil Singh_26.11.15
 

Similar a Drupal 8 simple page: Mi primer proyecto en Drupal 8.

Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.xJoão Ventura
 
Drupal Development
Drupal DevelopmentDrupal Development
Drupal DevelopmentJeff Eaton
 
Drupal 8 Every Day: An Intro to Developing With Drupal 8
Drupal 8 Every Day: An Intro to Developing With Drupal 8Drupal 8 Every Day: An Intro to Developing With Drupal 8
Drupal 8 Every Day: An Intro to Developing With Drupal 8Acquia
 
Drupal 8 Services And Dependency Injection
Drupal 8 Services And Dependency InjectionDrupal 8 Services And Dependency Injection
Drupal 8 Services And Dependency InjectionPhilip Norton
 
Symfony CMF - PHP Conference Brazil 2011
Symfony CMF - PHP Conference Brazil 2011Symfony CMF - PHP Conference Brazil 2011
Symfony CMF - PHP Conference Brazil 2011Jacopo Romei
 
Drupalcon 2023 - How Drupal builds your pages.pdf
Drupalcon 2023 - How Drupal builds your pages.pdfDrupalcon 2023 - How Drupal builds your pages.pdf
Drupalcon 2023 - How Drupal builds your pages.pdfLuca Lusso
 
2023 - Drupalcon - How Drupal builds your pages
2023 - Drupalcon - How Drupal builds your pages2023 - Drupalcon - How Drupal builds your pages
2023 - Drupalcon - How Drupal builds your pagessparkfabrik
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)arcware
 
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
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...LEDC 2016
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindValentine Matsveiko
 
Learning the basics of the Drupal API
Learning the basics of the Drupal APILearning the basics of the Drupal API
Learning the basics of the Drupal APIAlexandru Badiu
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоGeeksLab Odessa
 
OOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsOOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsChris Tankersley
 

Similar a Drupal 8 simple page: Mi primer proyecto en Drupal 8. (20)

Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.x
 
Drupal Development
Drupal DevelopmentDrupal Development
Drupal Development
 
Drupal 8 Every Day: An Intro to Developing With Drupal 8
Drupal 8 Every Day: An Intro to Developing With Drupal 8Drupal 8 Every Day: An Intro to Developing With Drupal 8
Drupal 8 Every Day: An Intro to Developing With Drupal 8
 
Drupal 8 Services And Dependency Injection
Drupal 8 Services And Dependency InjectionDrupal 8 Services And Dependency Injection
Drupal 8 Services And Dependency Injection
 
Symfony CMF - PHP Conference Brazil 2011
Symfony CMF - PHP Conference Brazil 2011Symfony CMF - PHP Conference Brazil 2011
Symfony CMF - PHP Conference Brazil 2011
 
Drupalcon 2023 - How Drupal builds your pages.pdf
Drupalcon 2023 - How Drupal builds your pages.pdfDrupalcon 2023 - How Drupal builds your pages.pdf
Drupalcon 2023 - How Drupal builds your pages.pdf
 
2023 - Drupalcon - How Drupal builds your pages
2023 - Drupalcon - How Drupal builds your pages2023 - Drupalcon - How Drupal builds your pages
2023 - Drupalcon - How Drupal builds your pages
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
 
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?
 
Drupal Render API
Drupal Render APIDrupal Render API
Drupal Render API
 
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
Валентин Мацвейко та Владислав Мойсеєнко — D8: Migrate Yourself: code->module...
 
Migrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mindMigrate yourself. code -> module -> mind
Migrate yourself. code -> module -> mind
 
Learning the basics of the Drupal API
Learning the basics of the Drupal APILearning the basics of the Drupal API
Learning the basics of the Drupal API
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
 
Drupal 8 migrate!
Drupal 8 migrate!Drupal 8 migrate!
Drupal 8 migrate!
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Fapi
FapiFapi
Fapi
 
OOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsOOP Is More Than Cars and Dogs
OOP Is More Than Cars and Dogs
 
Complex Sites with Silex
Complex Sites with SilexComplex Sites with Silex
Complex Sites with Silex
 

Más de Samuel Solís Fuentes

Más de Samuel Solís Fuentes (16)

De managers y developers
De managers y developersDe managers y developers
De managers y developers
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
Querying solr
Querying solrQuerying solr
Querying solr
 
Las tripas de un sistema solr
Las tripas de un sistema solrLas tripas de un sistema solr
Las tripas de un sistema solr
 
D8 Form api
D8 Form apiD8 Form api
D8 Form api
 
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
 
Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
 
Drupal para desarrolladores
Drupal para desarrolladoresDrupal para desarrolladores
Drupal para desarrolladores
 

Último

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Último (20)

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Drupal 8 simple page: Mi primer proyecto en Drupal 8.