CINXE.COM
Web Omelette
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# "> <head> <meta charset="utf-8" /> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-36988727-1"></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("config", "UA-36988727-1", {"groups":"default","anonymize_ip":true});</script> <link rel="canonical" href="https://www.webomelette.com" /> <link rel="shortlink" href="https://www.webomelette.com/" /> <meta name="description" content="We build Drupal websites from the ground up." /> <meta property="og:site_name" content="Web Omelette" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.webomelette.com" /> <meta property="og:title" content="Web Omelette" /> <meta property="og:description" content="We build Drupal websites from the ground up." /> <meta property="og:image" content="https://www.webomelette.com/themes/custom/wo_theme/images/web_omlette_orange_icon.png" /> <meta name="google-site-verification" content="google-site-verification: googled6f0804cdbeecdd2.html" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:description" content="We build Drupal websites from the ground up." /> <meta name="twitter:title" content="Web Omelette" /> <meta name="twitter:url" content="https://www.webomelette.com" /> <meta name="twitter:image" content="https://www.webomelette.com/themes/custom/wo_theme/images/web_omlette_orange_icon.png" /> <meta name="Generator" content="Drupal 9 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <script>var ct_check_js_val = 'af42328c2ba959f4d95889185c1c68a0';var drupal_ac_antibot_cookie_value = 'b82756f9dd1f53f2b0136042461e64a0652c2a2564cc2a611eff30f4b80ce46e';var ct_use_cookies = 0;var ct_capture_buffer = 0;</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "@id": "https://www.webomelette.com", "description": "We build Drupal websites from the ground up.", "name": "Web Omelette", "sameAs": "https://www.linkedin.com/company/webomelette", "url": "https://www.webomelette.com", "logo": { "@type": "ImageObject", "representativeOfPage": "False", "url": "https://www.webomelette.com/themes/custom/wo_theme/images/web_omelette_light.svg" } }, { "@type": "WebSite", "@id": "https://www.webomelette.com", "name": "Web Omelette", "url": "https://www.webomelette.com", "publisher": { "@type": "Organization", "@id": "https://www.webomelette.com", "name": "Web Omelette", "url": "https://www.webomelette.com", "sameAs": "https://www.linkedin.com/company/webomelette", "logo": { "@type": "ImageObject", "representativeOfPage": "False", "url": "https://www.webomelette.com/themes/custom/wo_theme/images/web_omelette_light.svg" } } } ] }</script> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <link rel="icon" href="/themes/custom/wo_theme/images/web_omlette_orange_icon.png" type="image/png" /> <script src="https://kit.fontawesome.com/161df150fe.js" crossorigin="anonymous"></script> <title>Web Omelette</title> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_kcpJl2G6pY5K3VUDCOc-bNWZUn5aisTSW0wP2rqcOn8.css" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_S5WNUDGqkPGbaj1jt7R1gHgScze7PeB3vCAe_7r-_rI.css" /> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="manifest" href="/site.webmanifest"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="theme-color" content="#ffffff"> </head> <body class="layout-no-sidebars has-featured-top path-frontpage"> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="page-wrapper"> <div id="page"> <header id="header" class="header orange" role="banner" aria-label="Site header"> <nav class="navbar sticky-top navbar-expand-lg" id="navbar-main"> <div class="container"> <a href="/"><span class="site-logo-span"></span></a> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#CollapsingNavbar" aria-controls="CollapsingNavbar" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button> <div class="collapse navbar-collapse justify-content-end" id="CollapsingNavbar"> <nav role="navigation" aria-labelledby="block-mainnavigation-menu" id="block-mainnavigation" class="block block-menu navigation menu--main"> <h2 class="sr-only" id="block-mainnavigation-menu">Main navigation</h2> <ul block="block-mainnavigation" class="clearfix nav navbar-nav"> <li class="nav-item"> <a href="/blog" class="nav-link nav-link--blog" data-drupal-link-system-path="blog">Blog</a> </li> <li class="nav-item"> <a href="/book" class="nav-link nav-link--book" data-drupal-link-system-path="node/2">Book</a> </li> <li class="nav-item"> <a href="/training" class="nav-link nav-link--training" data-drupal-link-system-path="node/5">Training</a> </li> <li class="nav-item"> <a href="/contact" class="nav-link nav-link--contact" data-drupal-link-system-path="contact">Contact</a> </li> </ul> </nav> </div> </div> </nav> <div id="block-headercta" class="block block-wo-common block-wo-common-header-cta"> <div class="content"> <div class="cta-header-wrapper homepage orange"> <div class="cta-header-container container"> <article class="cta-header row"> <div class="col-xs-12 col-md-6"> <div class="cta-header-left"> <h1 class="has-dot orange">We build Drupal websites from the ground up</h1> </div> </div> <div class="col-xs-12 col-md-6 d-none d-md-block"> <img src="/themes/custom/wo_theme/images/rocket.svg" alt="drupal web agency"> </div> </article> </div> </div> </div> </div> </header> <div id="block-homepage" class="block block-wo-common block-wo-common-homepage"> <div class="content"> <div class="container"> <div class="homepage-section homepage-services"> <div class="homepage-section-title"> What we do </div> <h2 class="homepage-section-main-title">Services from zero to launch</h2> <div class="d-md-flex flex-wrap justify-content-between services"> <div class="service"> <div class="d-md-flex"> <div class="left-side"> <img src="/themes/custom/wo_theme/images/services/strategy.svg" alt="Strategy"> </div> <div class="right-side"> <h3>Strategy</h3> <p>Understanding what your goals are helps us build the right application for your business.</p> </div> </div> </div> <div class="service"> <div class="d-md-flex"> <div class="left-side"> <img src="/themes/custom/wo_theme/images/services/design.svg" alt="Design"> </div> <div class="right-side"> <h3>Design</h3> <p>Removing friction and offering a streamlined experience is priceless for a digital product.</p> </div> </div> </div> <div class="service"> <div class="d-md-flex"> <div class="left-side"> <img src="/themes/custom/wo_theme/images/services/development.svg" alt="Development"> </div> <div class="right-side"> <h3>Development</h3> <p>Migration, integrations & API development, eCommerce, we have them all.</p> </div> </div> </div> <div class="service"> <div class="d-md-flex"> <div class="left-side"> <img src="/themes/custom/wo_theme/images/services/training.svg" alt="Training"> </div> <div class="right-side"> <h3>Training</h3> <p>Drupal training for your developers / teams, in person or online.</p> </div> </div> </div> </div> <a href="/contact" class="wo-button">Get in touch</a> </div> </div> <div class="cta-header-wrapper background-color--dark homepage-section homepage-book"> <div class="cta-header-container container"> <article class="cta-header row"> <div class="col-xs-12 col-md-6"> <div class="cta-header-left"><a href="/book"><img src="/themes/custom/wo_theme/images/book/drupal_10_module_development_3d.png" alt="drupal 10 module development daniel sipos" typeof="foaf:Image" /> </a></div> </div> <div class="col-xs-12 col-md-6 d-flex align-items-center"> <div class="cta-header-right"> <h2 class="homepage-section-main-title has-dot light">We even wrote a book</h2> <p>That's how much we love Drupal. We don't kid around and we try to pass on the knowledge.</p> <a href="/book" class="wo-button">Learn more</a> </div> </div> </article> </div> </div> <div class="homepage-section homepage-testimonials"> <div class=""> <div class="homepage-section-title"> What other people say about us </div> <h2 class="homepage-section-main-title">Here's what our friends say</h2> <div class="testimonials"> <div class="slick-carousel"> <div id="homepage-testimonials" class="slick-main"> <div> <article data-history-node-id="387" role="article" about="/node/387" class="node node--type-testimonial node--view-mode-full clearfix container"> <div class="d-md-flex"> <div class="left-side"> <div class="field field--name-field-media field--type-entity-reference field--label-hidden field__item"><div> <div class="field field--name-field-media-image field--type-image field--label-visually_hidden"> <div class="field__label visually-hidden">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/images/Philippe_Coanet.png" alt="Philippe Coanet" typeof="foaf:Image" /> </div> </div> </div> </div> </div> <div class="d-flex align-items-center"> <div class="right-side"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>We have collaborated with Web Omelette on two projects, the last being the multi-phase rebuild of our Sciforma Customer Success Center. Our expectations have been more than met and Danny has been always available to offer up ways we can improve things.</p></div> <span class="testimonial-name">Philippe Coanet</span><span class="testimonial-occupation"> - IT Responsible, Sciforma</span> </div> </div> </div> </article> </div> <div> <article data-history-node-id="6" role="article" about="/node/6" class="node node--type-testimonial node--view-mode-full clearfix container"> <div class="d-md-flex"> <div class="left-side"> <div class="field field--name-field-media field--type-entity-reference field--label-hidden field__item"><div> <div class="field field--name-field-media-image field--type-image field--label-visually_hidden"> <div class="field__label visually-hidden">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/images/cosmina_gantner.png" alt="cosmina gantner" typeof="foaf:Image" /> </div> </div> </div> </div> </div> <div class="d-flex align-items-center"> <div class="right-side"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Web Omelette has taken over the build and maintenance of our Drupal-based web presence and we could not be more satisfied. They have provided everything we need and offered valuable suggestions on how to improve things.</p></div> <span class="testimonial-name">Cosmina Gantner</span><span class="testimonial-occupation"> - Communications Manager, European Social Network</span> </div> </div> </div> </article> </div> <div> <article data-history-node-id="8" role="article" about="/node/8" class="node node--type-testimonial node--view-mode-full clearfix container"> <div class="d-md-flex"> <div class="left-side"> <div class="field field--name-field-media field--type-entity-reference field--label-hidden field__item"><div> <div class="field field--name-field-media-image field--type-image field--label-visually_hidden"> <div class="field__label visually-hidden">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/images/jp_vidos_0.png" alt="jp vidos" typeof="foaf:Image" /> </div> </div> </div> </div> </div> <div class="d-flex align-items-center"> <div class="right-side"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Web Omelette has been our go-to Drupal partner for the last few years and together we have successfully built and delivered many websites and eCommerce applications. I cannot see us starting such projects without involving them from the start.</p></div> <span class="testimonial-name">JP Vidos</span><span class="testimonial-occupation"> - CEO, Tostaky</span> </div> </div> </div> </article> </div> <div> <article data-history-node-id="7" role="article" about="/node/7" class="node node--type-testimonial node--view-mode-full clearfix container"> <div class="d-md-flex"> <div class="left-side"> <div class="field field--name-field-media field--type-entity-reference field--label-hidden field__item"><div> <div class="field field--name-field-media-image field--type-image field--label-visually_hidden"> <div class="field__label visually-hidden">Image</div> <div class="field__item"> <img loading="lazy" src="/sites/default/files/images/antonio_de_marco.png" alt="antonio de marco" typeof="foaf:Image" /> </div> </div> </div> </div> </div> <div class="d-flex align-items-center"> <div class="right-side"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>What I can say is that Web Omelette is synonimous with professionalism, Drupal experience and technical expertise. They helped us both with development work as well as Drupal training. This is why I was glad to write the foreword to Danny's book: Drupal 9 Module Development.</p></div> <span class="testimonial-name">Antonio de Marco</span><span class="testimonial-occupation"> - Director, Nuvole</span> </div> </div> </div> </article> </div> </div> </div> </div> </div> </div> <div class="background-color--accent"> <div class="homepage-section homepage-blog text-center"> <div class="container"> <div class="homepage-section-title"> We like to write about Drupal </div> <h2 class="homepage-section-main-title">From the blog</h2> <div class="text-left"> <article data-history-node-id="396" role="article" about="/overriding-extending-configuration-schema-drupal" typeof="schema:Article" class="node node--type-article node--promoted node--view-mode-teaser clearfix"> <header class="mb-4"> <div class="node__meta d-flex justify-content-between align-items-center mb-4"> <div class="node__author"><article typeof="schema:Person" about="/user/1" class="profile user--compact"> <div class="d-flex align-items-center"> <div class="field field--name-user-picture field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/thumbnail/public/pictures/2021-03/3.png?itok=K-KnFD9U" alt="Profile picture for user admin" typeof="foaf:Image" class="image-style-thumbnail" /> </div> <div class="field field--name-field-name field--type-string field--label-hidden field__item">Daniel Sipos</div> </div> </article> </div> <div class="node__date">24 May 2023</div> </div> <h2 class="node__title"> <a href="/overriding-extending-configuration-schema-drupal" rel="bookmark">Overriding/extending configuration schema in Drupal</a> </h2> </header> <div class="node__content clearfix"> <div property="schema:text" class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>In this article we are looking at how we can override configuration schema that is already defined by a core or a contributed module.</p> </div> <div class="mt-4"><a href="/overriding-extending-configuration-schema-drupal" class="wo-button">Read article</a></div> </div> </article> </div> </div> </div> </div> <div class="cta-header-wrapper homepage-contact homepage-section text-center text-md-left"> <div class="cta-header-container container"> <article class="cta-header row"> <div class="col-xs-12 col-md-6"> <div class="cta-header-left"><a href="/contact"><img src="/themes/custom/wo_theme/images/contact_cta_on_white.svg" alt="" typeof="foaf:Image" /> </a></div> </div> <div class="col-xs-12 col-md-6 d-flex align-items-center"> <div class="cta-header-right"> <h2 class="homepage-section-main-title mb-5 has-dot light">Let's work together</h2> <p>Tell us about your product, your timeline, how you heard about us, and where you're located.</p> <p>We read every message. So, thanks in advance for making it a good one.</p> <a href="/contact" class="wo-button">Get in touch</a> </div> </div> </article> </div> </div> </div> </div> <div class="featured-top"> <aside class="featured-top__inner section container clearfix" role="complementary"> <section class="row region region-featured-top"> <div class="col"><div id="block-wopagetitle" class="block block-wo-common block-wo-page-title-block"> <div class="content"> </div> </div> </div> </section> </aside> </div> <div id="main-wrapper" class="layout-main-wrapper clearfix"> <div id="main" class="container"> <div class="row row-offcanvas row-offcanvas-left clearfix"> <main class="main-content col order-first col-md-8" id="content" role="main"> <section class="section"> <a id="main-content" tabindex="-1"></a> <div data-drupal-messages-fallback class="hidden"></div> </section> </main> </div> </div> </div> <footer class="site-footer background-color--accent"> <div class="container d-md-flex justify-content-between align-items-center text-center"> <a href="/"><img class="site-logo" src="/themes/custom/wo_theme/images/web_omelette_orange.svg" alt="webomelette drupal development agency"></a> <div class="footer-social-links social-links"> <a href="https://www.linkedin.com/company/webomelette" target="_blank" class="linkedin"></a> <a href="https://www.drupal.org/webomelette" target="_blank" class="drupal"></a> </div> </div> </footer> </div> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"home","currentPathIsAdmin":false,"isFront":true,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"google_analytics":{"account":"UA-36988727-1","trackOutbound":true,"trackMailto":true,"trackDownload":true,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip"},"slick":{"homepage-testimonials":{"slick_id":"homepage-testimonials","settings":{"slidesToShow":1,"slidesToScroll":1,"arrows":true}}},"user":{"uid":0,"permissionsHash":"3b8f22897fb149024a67bab3aaff0245683972868e88da8e19d2cc667a7a4735"}}</script> <script src="/sites/default/files/js/js_NScbCUIS1pEdFoVySjtwcy3vMNIH6nA2CD_QUNDiBTQ.js"></script> </body> </html>