aktuelle.kurse/m239/unterlagen/50 - Internetserver/05 - Groupware und CMS/45 - Drupal - Open Source CMS
Harald G. Mueller ece6212caa muh
2022-05-15 21:40:59 +02:00

884 lines
101 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" version="XHTML+RDFa 1.0" dir="ltr"
xmlns:fb="http://ogp.me/ns/fb#"
xmlns:og="http://ogp.me/ns#">
<head profile="http://www.w3.org/1999/xhtml/vocab">
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width" />
<meta name="MobileOptimized" content="width" />
<!--[if IE]><![endif]-->
<link rel="dns-prefetch" href="//fonts.gstatic.com" />
<link rel="preconnect" href="//fonts.gstatic.com" crossorigin="" />
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
<link rel="preconnect" href="//fonts.googleapis.com" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam-cell.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"XAcEV19XGwcCUldTDwg=",licenseKey:"e671e25255",applicationID:"4266189"};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var i=e[n]={exports:{}};t[n][0].call(i.exports,function(e){var i=t[n][1][e];return r(i||e)},i,i.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var i=0;i<n.length;i++)r(n[i]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var i,o=t("ee"),a=t(27),s={};try{i=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,i.indexOf("dev")!==-1&&(s.dev=!0),i.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&o.on("internal-error",function(t){r(t.stack)}),s.dev&&o.on("fn-err",function(t,e,n){r(n.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,s){try{p?p-=1:i(s||new UncaughtException(t,e,n),!0)}catch(f){try{o("ierr",[f,c.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function i(t,e){var n=e?null:c.now();o("err",[t,n])}var o=t("handle"),a=t(28),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!1,l="nr@seenError";if(!c.disabled){var p=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(h){"stack"in h&&(t(10),t(9),"addEventListener"in window&&t(6),c.xhrWrappable&&t(11),d=!0)}s.on("fn-start",function(t,e,n){d&&(p+=1)}),s.on("fn-err",function(t,e,n){d&&!n[l]&&(f(n,l,function(){return!0}),this.thrown=!0,i(n))}),s.on("fn-end",function(){d&&!this.thrown&&p>0&&(p-=1)}),s.on("internal-error",function(t){o("ierr",[t,c.now(),!0])})}},{}],3:[function(t,e,n){var r=t("loader");r.disabled||(r.features.ins=!0)},{}],4:[function(t,e,n){function r(){var t=new PerformanceObserver(function(t,e){var n=t.getEntries();s(v,[n])});try{t.observe({entryTypes:["resource"]})}catch(e){}}function i(t){if(s(v,[window.performance.getEntriesByType(w)]),window.performance["c"+l])try{window.performance[h](m,i,!1)}catch(t){}else try{window.performance[h]("webkit"+m,i,!1)}catch(t){}}function o(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var a=t("ee"),s=t("handle"),c=t(10),f=t(9),u=t(5),d=t(19),l="learResourceTimings",p="addEventListener",h="removeEventListener",m="resourcetimingbufferfull",v="bstResource",w="resource",g="-start",y="-end",x="fn"+g,b="fn"+y,E="bstTimer",R="pushState",S=t("loader");if(!S.disabled){S.features.stn=!0,t(8),"addEventListener"in window&&t(6);var O=NREUM.o.EV;a.on(x,function(t,e){var n=t[0];n instanceof O&&(this.bstStart=S.now())}),a.on(b,function(t,e){var n=t[0];n instanceof O&&s("bst",[n,e,this.bstStart,S.now()])}),c.on(x,function(t,e,n){this.bstStart=S.now(),this.bstType=n}),c.on(b,function(t,e){s(E,[e,this.bstStart,S.now(),this.bstType])}),f.on(x,function(){this.bstStart=S.now()}),f.on(b,function(t,e){s(E,[e,this.bstStart,S.now(),"requestAnimationFrame"])}),a.on(R+g,function(t){this.time=S.now(),this.startPath=location.pathname+location.hash}),a.on(R+y,function(t){s("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),u()?(s(v,[window.performance.getEntriesByType("resource")]),r()):p in window.performance&&(window.performance["c"+l]?window.performance[p](m,i,d(!1)):window.performance[p]("webkit"+m,i,d(!1))),document[p]("scroll",o,d(!1)),document[p]("keypress",o,d(!1)),document[p]("click",o,d(!1))}}},{}],5:[function(t,e,n){e.exports=function(){return"PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver}},{}],6:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&i(e)}function i(t){s.inPlace(t,[u,d],"-",o)}function o(t,e){return t[1]}var a=t("ee").get("events"),s=t("wrap-function")(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(i(window),i(f.prototype)),a.on(u+"-start",function(t,e){var n=t[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var r=c(n,"nr@wrapped",function(){function t(){if("function"==typeof n.handleEvent)return n.handleEvent.apply(n,arguments)}var e={object:t,"function":n}[typeof n];return e?s(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=t[1]=r}}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],7:[function(t,e,n){function r(t,e,n){var r=t[e];"function"==typeof r&&(t[e]=function(){var t=o(arguments),e={};i.emit(n+"before-start",[t],e);var a;e[m]&&e[m].dt&&(a=e[m].dt);var s=r.apply(this,t);return i.emit(n+"start",[t,a],s),s.then(function(t){return i.emit(n+"end",[null,t],s),t},function(t){throw i.emit(n+"end",[t],s),t})})}var i=t("ee").get("fetch"),o=t(28),a=t(27);e.exports=i;var s=window,c="fetch-",f=c+"body-",u=["arrayBuffer","blob","json","text","formData"],d=s.Request,l=s.Response,p=s.fetch,h="prototype",m="nr@context";d&&l&&p&&(a(u,function(t,e){r(d[h],e,f),r(l[h],e,f)}),r(s,"fetch",c),i.on(c+"end",function(t,e){var n=this;if(e){var r=e.headers.get("content-length");null!==r&&(n.rxSize=r),i.emit(c+"done",[null,e],n)}else i.emit(c+"done",[t],n)}))},{}],8:[function(t,e,n){var r=t("ee").get("history"),i=t("wrap-function")(r);e.exports=r;var o=window.history&&window.history.constructor&&window.history.constructor.prototype,a=window.history;o&&o.pushState&&o.replaceState&&(a=o),i.inPlace(a,["pushState","replaceState"],"-")},{}],9:[function(t,e,n){var r=t("ee").get("raf"),i=t("wrap-function")(r),o="equestAnimationFrame";e.exports=r,i.inPlace(window,["r"+o,"mozR"+o,"webkitR"+o,"msR"+o],"raf-"),r.on("raf-start",function(t){t[0]=i(t[0],"fn-")})},{}],10:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function i(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,n)}var o=t("ee").get("timer"),a=t("wrap-function")(o),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";e.exports=o,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),o.on(c+u,r),o.on(s+u,i)},{}],11:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",s)}function i(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",s)}function o(t){x.push(t),m&&(E?E.then(a):w?w(a):(R=-R,S.data=R))}function a(){for(var t=0;t<x.length;t++)r([],x[t]);x.length&&(x=[])}function s(t,e){return e}function c(t,e){for(var n in t)e[n]=t[n];return e}t(6);var f=t("ee"),u=f.get("xhr"),d=t("wrap-function")(u),l=t(19),p=NREUM.o,h=p.XHR,m=p.MO,v=p.PR,w=p.SI,g="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],x=[];e.exports=u;var b=window.XMLHttpRequest=function(t){var e=new h(t);try{u.emit("new-xhr",[e],e),e.addEventListener(g,i,l(!1))}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(c(h,b),b.prototype=h.prototype,d.inPlace(b.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,e){r(t,e),o(e)}),u.on("open-xhr-start",r),m){var E=v&&v.resolve();if(!w&&!v){var R=1,S=document.createTextNode(R);new m(a).observe(S,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===g||a()})},{}],12:[function(t,e,n){function r(t){if(!s(t))return null;var e=window.NREUM;if(!e.loader_config)return null;var n=(e.loader_config.accountID||"").toString()||null,r=(e.loader_config.agentID||"").toString()||null,f=(e.loader_config.trustKey||"").toString()||null;if(!n||!r)return null;var h=p.generateSpanId(),m=p.generateTraceId(),v=Date.now(),w={spanId:h,traceId:m,timestamp:v};return(t.sameOrigin||c(t)&&l())&&(w.traceContextParentHeader=i(h,m),w.traceContextStateHeader=o(h,v,n,r,f)),(t.sameOrigin&&!u()||!t.sameOrigin&&c(t)&&d())&&(w.newrelicHeader=a(h,m,v,n,r,f)),w}function i(t,e){return"00-"+e+"-"+t+"-01"}function o(t,e,n,r,i){var o=0,a="",s=1,c="",f="";return i+"@nr="+o+"-"+s+"-"+n+"-"+r+"-"+t+"-"+a+"-"+c+"-"+f+"-"+e}function a(t,e,n,r,i,o){var a="btoa"in window&&"function"==typeof window.btoa;if(!a)return null;var s={v:[0,1],d:{ty:"Browser",ac:r,ap:i,id:t,tr:e,ti:n}};return o&&r!==o&&(s.d.tk=o),btoa(JSON.stringify(s))}function s(t){return f()&&c(t)}function c(t){var e=!1,n={};if("init"in NREUM&&"distributed_tracing"in NREUM.init&&(n=NREUM.init.distributed_tracing),t.sameOrigin)e=!0;else if(n.allowed_origins instanceof Array)for(var r=0;r<n.allowed_origins.length;r++){var i=h(n.allowed_origins[r]);if(t.hostname===i.hostname&&t.protocol===i.protocol&&t.port===i.port){e=!0;break}}return e}function f(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.enabled}function u(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.exclude_newrelic_header}function d(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&NREUM.init.distributed_tracing.cors_use_newrelic_header!==!1}function l(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.cors_use_tracecontext_headers}var p=t(24),h=t(14);e.exports={generateTracePayload:r,shouldGenerateTrace:s}},{}],13:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<l;r++)t.removeEventListener(d[r],this.listener,!1);return e.protocol&&"data"===e.protocol?void g("Ajax/DataUrl/Excluded"):void(e.aborted||(n.duration=a.now()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==e.status&&(e.status=0):o(this,t),n.cbTime=this.cbTime,s("xhr",[e,n,this.startTime,this.endTime,"xhr"],this)))}}function i(t,e){var n=c(e),r=t.params;r.hostname=n.hostname,r.port=n.port,r.protocol=n.protocol,r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.parsedOrigin=n,t.sameOrigin=n.sameOrigin}function o(t,e){t.params.status=e.status;var n=v(e,t.lastSize);if(n&&(t.metrics.rxSize=n),t.sameOrigin){var r=e.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}t.loadCaptureCalled=!0}var a=t("loader");if(a.xhrWrappable&&!a.disabled){var s=t("handle"),c=t(14),f=t(12).generateTracePayload,u=t("ee"),d=["load","error","abort","timeout"],l=d.length,p=t("id"),h=t(20),m=t(18),v=t(15),w=t(19),g=t(21).recordSupportability,y=NREUM.o.REQ,x=window.XMLHttpRequest;a.features.xhr=!0,t(11),t(7),u.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,e.loadCaptureCalled=!1,e.params=this.params||{},e.metrics=this.metrics||{},t.addEventListener("load",function(n){o(e,t)},w(!1)),h&&(h>34||h<10)||t.addEventListener("progress",function(t){e.lastSize=t.loaded},w(!1))}),u.on("open-xhr-start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),u.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid);var n=f(this.parsedOrigin);if(n){var r=!1;n.newrelicHeader&&(e.setRequestHeader("newrelic",n.newrelicHeader),r=!0),n.traceContextParentHeader&&(e.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&e.setRequestHeader("tracestate",n.traceContextStateHeader),r=!0),r&&(this.dt=n)}}),u.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],i=this;if(n&&r){var o=m(r);o&&(n.txSize=o)}this.startTime=a.now(),this.listener=function(t){try{"abort"!==t.type||i.loadCaptureCalled||(i.params.aborted=!0),("load"!==t.type||i.called===i.totalCbs&&(i.onloadCalled||"function"!=typeof e.onload))&&i.end(e)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}};for(var s=0;s<l;s++)e.addEventListener(d[s],this.listener,w(!1))}),u.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),u.on("xhr-load-added",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),u.on("xhr-load-removed",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),u.on("xhr-resolved",function(){this.endTime=a.now()}),u.on("addEventListener-end",function(t,e){e instanceof x&&"load"===t[0]&&u.emit("xhr-load-added",[t[1],t[2]],e)}),u.on("removeEventListener-end",function(t,e){e instanceof x&&"load"===t[0]&&u.emit("xhr-load-removed",[t[1],t[2]],e)}),u.on("fn-start",function(t,e,n){e instanceof x&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),u.on("fn-end",function(t,e){this.xhrCbStart&&u.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,e],e)}),u.on("fetch-before-start",function(t){function e(t,e){var n=!1;return e.newrelicHeader&&(t.set("newrelic",e.newrelicHeader),n=!0),e.traceContextParentHeader&&(t.set("traceparent",e.traceContextParentHeader),e.traceContextStateHeader&&t.set("tracestate",e.traceContextStateHeader),n=!0),n}var n,r=t[1]||{};"string"==typeof t[0]?n=t[0]:t[0]&&t[0].url?n=t[0].url:window.URL&&t[0]&&t[0]instanceof URL&&(n=t[0].href),n&&(this.parsedOrigin=c(n),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=f(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if("string"==typeof t[0]||window.URL&&t[0]&&t[0]instanceof URL){var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),e(o.headers,i)&&(this.dt=i),t.length>1?t[1]=o:t.push(o)}else t[0]&&t[0].headers&&e(t[0].headers,i)&&(this.dt=i)}),u.on("fetch-start",function(t,e){this.params={},this.metrics={},this.startTime=a.now(),this.dt=e,t.length>=1&&(this.target=t[0]),t.length>=2&&(this.opts=t[1]);var n,r=this.opts||{},o=this.target;if("string"==typeof o?n=o:"object"==typeof o&&o instanceof y?n=o.url:window.URL&&"object"==typeof o&&o instanceof URL&&(n=o.href),i(this,n),"data"!==this.params.protocol){var s=(""+(o&&o instanceof y&&o.method||r.method||"GET")).toUpperCase();this.params.method=s,this.txSize=m(r.body)||0}}),u.on("fetch-done",function(t,e){if(this.endTime=a.now(),this.params||(this.params={}),"data"===this.params.protocol)return void g("Ajax/DataUrl/Excluded");this.params.status=e?e.status:0;var n;"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var r={txSize:this.txSize,rxSize:n,duration:a.now()-this.startTime};s("xhr",[this.params,r,this.startTime,this.endTime,"fetch"],this)})}},{}],14:[function(t,e,n){var r={};e.exports=function(t){if(t in r)return r[t];if(0===(t||"").indexOf("data:"))return{protocol:"data"};var e=document.createElement("a"),n=window.location,i={};e.href=t,i.port=e.port;var o=e.href.split("://");!i.port&&o[1]&&(i.port=o[1].split("/")[0].split("@").pop().split(":")[1]),i.port&&"0"!==i.port||(i.port="https"===o[0]?"443":"80"),i.hostname=e.hostname||n.hostname,i.pathname=e.pathname,i.protocol=o[0],"/"!==i.pathname.charAt(0)&&(i.pathname="/"+i.pathname);var a=!e.protocol||":"===e.protocol||e.protocol===n.protocol,s=e.hostname===document.domain&&e.port===n.port;return i.sameOrigin=a&&(!e.hostname||s),"/"===i.pathname&&(r[t]=i),i}},{}],15:[function(t,e,n){function r(t,e){var n=t.responseType;return"json"===n&&null!==e?e:"arraybuffer"===n||"blob"===n||"json"===n?i(t.response):"text"===n||""===n||void 0===n?i(t.responseText):void 0}var i=t(18);e.exports=r},{}],16:[function(t,e,n){function r(){}function i(t,e,n,r){return function(){return u.recordSupportability("API/"+e+"/called"),o(t+e,[f.now()].concat(s(arguments)),n?null:this,r),n?void 0:this}}var o=t("handle"),a=t(27),s=t(28),c=t("ee").get("tracer"),f=t("loader"),u=t(21),d=NREUM;"undefined"==typeof window.newrelic&&(newrelic=d);var l=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],p="api-",h=p+"ixn-";a(l,function(t,e){d[e]=i(p,e,!0,"api")}),d.addPageAction=i(p,"addPageAction",!0),d.setCurrentRouteName=i(p,"routeName",!0),e.exports=newrelic,d.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(t,e){var n={},r=this,i="function"==typeof e;return o(h+"tracer",[f.now(),t,n],r),function(){if(c.emit((i?"":"no-")+"fn-start",[f.now(),r,i],n),i)try{return e.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],n),t}finally{c.emit("fn-end",[f.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){m[e]=i(h,e)}),newrelic.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),u.recordSupportability("API/noticeError/called"),o("err",[t,f.now(),!1,e])}},{}],17:[function(t,e,n){function r(t){if(NREUM.init){for(var e=NREUM.init,n=t.split("."),r=0;r<n.length-1;r++)if(e=e[n[r]],"object"!=typeof e)return;return e=e[n[n.length-1]]}}e.exports={getConfiguration:r}},{}],18:[function(t,e,n){e.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}},{}],19:[function(t,e,n){var r=!1;try{var i=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(o){}e.exports=function(t){return r?{passive:!0,capture:!!t}:!!t}},{}],20:[function(t,e,n){var r=0,i=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);i&&(r=+i[1]),e.exports=r},{}],21:[function(t,e,n){function r(t,e){var n=[a,t,{name:t},e];return o("storeMetric",n,null,"api"),n}function i(t,e){var n=[s,t,{name:t},e];return o("storeEventMetrics",n,null,"api"),n}var o=t("handle"),a="sm",s="cm";e.exports={constants:{SUPPORTABILITY_METRIC:a,CUSTOM_METRIC:s},recordSupportability:r,recordCustom:i}},{}],22:[function(t,e,n){function r(){return s.exists&&performance.now?Math.round(performance.now()):(o=Math.max((new Date).getTime(),o))-a}function i(){return o}var o=(new Date).getTime(),a=o,s=t(29);e.exports=r,e.exports.offset=a,e.exports.getLastTimestamp=i},{}],23:[function(t,e,n){function r(t,e){var n=t.getEntries();n.forEach(function(t){"first-paint"===t.name?p("timing",["fp",Math.floor(t.startTime)]):"first-contentful-paint"===t.name&&p("timing",["fcp",Math.floor(t.startTime)])})}function i(t,e){var n=t.getEntries();if(n.length>0){var r=n[n.length-1];if(f&&f<r.startTime)return;var i=[r],o=a({});o&&i.push(o),p("lcp",i)}}function o(t){t.getEntries().forEach(function(t){t.hadRecentInput||p("cls",[t])})}function a(t){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(e)return e.type&&(t["net-type"]=e.type),e.effectiveType&&(t["net-etype"]=e.effectiveType),e.rtt&&(t["net-rtt"]=e.rtt),e.downlink&&(t["net-dlink"]=e.downlink),t}function s(t){if(t instanceof w&&!y){var e=Math.round(t.timeStamp),n={type:t.type};a(n),e<=h.now()?n.fid=h.now()-e:e>h.offset&&e<=Date.now()?(e-=h.offset,n.fid=h.now()-e):e=h.now(),y=!0,p("timing",["fi",e,n])}}function c(t){"hidden"===t&&(f=h.now(),p("pageHide",[f]))}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var f,u,d,l,p=t("handle"),h=t("loader"),m=t(26),v=t(19),w=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){u=new PerformanceObserver(r);try{u.observe({entryTypes:["paint"]})}catch(g){}d=new PerformanceObserver(i);try{d.observe({entryTypes:["largest-contentful-paint"]})}catch(g){}l=new PerformanceObserver(o);try{l.observe({type:"layout-shift",buffered:!0})}catch(g){}}if("addEventListener"in document){var y=!1,x=["click","keydown","mousedown","pointerdown","touchstart"];x.forEach(function(t){document.addEventListener(t,s,v(!1))})}m(c)}},{}],24:[function(t,e,n){function r(){function t(){return e?15&e[n++]:16*Math.random()|0}var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var i,o="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",s=0;s<o.length;s++)i=o[s],"x"===i?a+=t().toString(16):"y"===i?(i=3&t()|8,a+=i.toString(16)):a+=i;return a}function i(){return a(16)}function o(){return a(32)}function a(t){function e(){return n?15&n[r++]:16*Math.random()|0}var n=null,r=0,i=window.crypto||window.msCrypto;i&&i.getRandomValues&&Uint8Array&&(n=i.getRandomValues(new Uint8Array(t)));for(var o=[],a=0;a<t;a++)o.push(e().toString(16));return o.join("")}e.exports={generateUuid:r,generateSpanId:i,generateTraceId:o}},{}],25:[function(t,e,n){function r(t,e){if(!i)return!1;if(t!==i)return!1;if(!e)return!0;if(!o)return!1;for(var n=o.split("."),r=e.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var i=null,o=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chromium")===-1&&(i="Safari",o=c[1])}e.exports={agent:i,version:o,match:r}},{}],26:[function(t,e,n){function r(t){function e(){t(s&&document[s]?document[s]:document[o]?"hidden":"visible")}"addEventListener"in document&&a&&document.addEventListener(a,e,i(!1))}var i=t(19);e.exports=r;var o,a,s;"undefined"!=typeof document.hidden?(o="hidden",a="visibilitychange",s="visibilityState"):"undefined"!=typeof document.msHidden?(o="msHidden",a="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(o="webkitHidden",a="webkitvisibilitychange",s="webkitVisibilityState")},{}],27:[function(t,e,n){function r(t,e){var n=[],r="",o=0;for(r in t)i.call(t,r)&&(n[o]=e(r,t[r]),o+=1);return n}var i=Object.prototype.hasOwnProperty;e.exports=r},{}],28:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,i=n-e||0,o=Array(i<0?0:i);++r<i;)o[r]=t[e+r];return o}e.exports=r},{}],29:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(t,e,n){function r(){}function i(t){function e(t){return t&&t instanceof r?t:t?f(t,c,a):a()}function n(n,r,i,o,a){if(a!==!1&&(a=!0),!p.aborted||o){t&&a&&t(n,r,i);for(var s=e(i),c=m(n),f=c.length,u=0;u<f;u++)c[u].apply(s,r);var l=d[y[n]];return l&&l.push([x,n,r,s]),s}}function o(t,e){g[t]=m(t).concat(e)}function h(t,e){var n=g[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function m(t){return g[t]||[]}function v(t){return l[t]=l[t]||i(n)}function w(t,e){p.aborted||u(t,function(t,n){e=e||"feature",y[n]=e,e in d||(d[e]=[])})}var g={},y={},x={on:o,addEventListener:o,removeEventListener:h,emit:n,get:v,listeners:m,context:e,buffer:w,abort:s,aborted:!1};return x}function o(t){return f(t,c,a)}function a(){return new r}function s(){(d.api||d.feature)&&(p.aborted=!0,d=p.backlog={})}var c="nr@context",f=t("gos"),u=t(27),d={},l={},p=e.exports=i();e.exports.getOrSetContext=o,p.backlog=d},{}],gos:[function(t,e,n){function r(t,e,n){if(i.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(o){}return t[e]=r,r}var i=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){i.buffer([t],r),i.emit(t,e,n)}var i=t("ee").get("handle");e.exports=r,r.ee=i},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,o,function(){return i++})}var i=1,o="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!O++){var t=S.info=NREUM.info,e=m.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return f.abort();c(E,function(e,n){t[e]||(t[e]=n)});var n=a();s("mark",["onload",n+S.offset],null,"api"),s("timing",["load",n]);var r=m.createElement("script");0===t.agent.indexOf("http://")||0===t.agent.indexOf("https://")?r.src=t.agent:r.src=p+"://"+t.agent,e.parentNode.insertBefore(r,e)}}function i(){"complete"===m.readyState&&o()}function o(){s("mark",["domContent",a()+S.offset],null,"api")}var a=t(22),s=t("handle"),c=t(27),f=t("ee"),u=t(25),d=t(17),l=t(19),p=d.getConfiguration("ssl")===!1?"http":"https",h=window,m=h.document,v="addEventListener",w="attachEvent",g=h.XMLHttpRequest,y=g&&g.prototype,x=!1;NREUM.o={ST:setTimeout,SI:h.setImmediate,CT:clearTimeout,XHR:g,REQ:h.Request,EV:h.Event,PR:h.Promise,MO:h.MutationObserver};var b=""+location,E={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1216.min.js"},R=g&&y&&y[v]&&!/CriOS/.test(navigator.userAgent),S=e.exports={offset:a.getLastTimestamp(),now:a,origin:b,features:{},xhrWrappable:R,userAgent:u,disabled:x};if(!x){t(16),t(23),m[v]?(m[v]("DOMContentLoaded",o,l(!1)),h[v]("load",r,l(!1))):(m[w]("onreadystatechange",i),h[w]("onload",r)),s("mark",["firstbyte",a.getLastTimestamp()],null,"api");var O=0}},{}],"wrap-function":[function(t,e,n){function r(t,e){function n(e,n,r,c,f){function nrWrapper(){var o,a,u,l;try{a=this,o=d(arguments),u="function"==typeof r?r(o,a):r||{}}catch(p){i([p,"",[o,a,c],u],t)}s(n+"start",[o,a,c],u,f);try{return l=e.apply(a,o)}catch(h){throw s(n+"err",[o,a,h],u,f),h}finally{s(n+"end",[o,a,l],u,f)}}return a(e)?e:(n||(n=""),nrWrapper[l]=e,o(e,nrWrapper,t),nrWrapper)}function r(t,e,r,i,o){r||(r="");var s,c,f,u="-"===r.charAt(0);for(f=0;f<e.length;f++)c=e[f],s=t[c],a(s)||(t[c]=n(s,u?c+r:r,i,c,o))}function s(n,r,o,a){if(!h||e){var s=h;h=!0;try{t.emit(n,r,o,e,a)}catch(c){i([c,n,r,o],t)}h=s}}return t||(t=u),n.inPlace=r,n.flag=l,n}function i(t,e){e||(e=u);try{e.emit("internal-error",t)}catch(n){}}function o(t,e,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(t);return r.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(o){i([o],n)}for(var a in t)p.call(t,a)&&(e[a]=t[a]);return e}function a(t){return!(t&&t instanceof Function&&t.apply&&!t[l])}function s(t,e){var n=e(t);return n[l]=t,o(t,n,u),n}function c(t,e,n){var r=t[e];t[e]=s(r,n)}function f(){for(var t=arguments.length,e=new Array(t),n=0;n<t;++n)e[n]=arguments[n];return e}var u=t("ee"),d=t(28),l="nr@original",p=Object.prototype.hasOwnProperty,h=!1;e.exports=r,e.exports.wrapFunction=s,e.exports.wrapInPlace=c,e.exports.argsToArray=f},{}]},{},["loader",2,13,4,3]);</script>
<meta name="description" content="Drupal is an open source platform for building amazing digital experiences. It&#039;s made by a dedicated community. Anyone can use it, and it will always be free." />
<meta name="generator" content="Drupal 7 (https://www.drupal.org)" />
<link rel="canonical" href="https://www.drupal.org/home" />
<link rel="shortlink" href="https://www.drupal.org/node/2958929" />
<meta property="og:site_name" content="Drupal.org" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://www.drupal.org/home" />
<meta property="og:title" content="Drupal - Open Source CMS" />
<meta property="og:description" content="Drupal - the leading open-source CMS for ambitious digital experiences that reach your audience across multiple channels. Because we all have different needs, Drupal allows you to create a unique space in a world of cookie-cutter solutions." />
<meta property="og:updated_time" content="2022-05-05T19:47:18+00:00" />
<meta property="og:image" content="https://www.drupal.org/sites/all/themes/bluecheese/images/og.jpg" />
<meta property="article:published_time" content="2018-04-05T19:09:44+00:00" />
<meta property="article:modified_time" content="2022-05-05T19:47:18+00:00" />
<title>Drupal - Open Source CMS | Drupal.org</title>
<link type="text/css" rel="stylesheet" href="/files/advagg_css/css__jb6WvfQP17GX7XUNzdV0DvlcsHgC2lOReUrKCQiQ44g__s138pDQI10dTdwRh593Y5xyyWqCQAEErzK3MzoycVEU__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.css" media="all" />
<link type="text/css" rel="stylesheet" href="/files/advagg_css/css__eFKSCujfWyJYO8J-qSi6T_n29lROS8isvrxzANeHaAY__D_EUHDAfEQdxcLiSDY7hREUWkG1Ge56_h2z3Er8V188__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.css" media="all" />
<link type="text/css" rel="stylesheet" href="/files/advagg_css/css__WF0PRotZAhCcl0aJjY5W2LYj8UwiYuB2dZEFluOh3Tc__FviX13FUB-Ppa2XB29BUIJQZ1Wg-F5XiDE7XD5y7mjQ__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.css" media="all" />
<link type="text/css" rel="stylesheet" href="/files/advagg_css/css__tFc19jcNzsmmnDONCL_Ym_Vn9dLt2DJRC9_v21gG9WQ__vbzMkyHPAOdHNAkaP3NMfozF5EngReQvcUeCgPlIke0__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.css" media="all" />
<link type="text/css" rel="stylesheet" href="/files/advagg_css/css__QPp1snPjYt_xYr0c_V0IORcEElkIUBBBrvOB4ZE0Gnw__cAIz6pyb0G6l_ZGKDlqN1K1A7MVug50ukJfsCqogzMY__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.css" media="all" />
</head>
<body class="html front not-logged-in no-sidebars page-node page-node- page-node-2958929 node-type-page drupalorg-site-main panels-layout new-style" >
<div id="skip-link" tabindex="-1">
<a class="element-invisible element-focusable" href="#content">Skip to main content</a>
<a class="element-invisible element-focusable skip-link-search" href="#search-block-form">Skip to search</a>
</div>
<div class="region region-page-top">
<noscript aria-hidden="true"><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W36H8DW" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
</div>
<div id="nav-header">
<div class="menu-nav">
<a class="nav-btn" id="nav-open-btn" href="#block-system-main-menu"><img src="/sites/all/themes/bluecheese/images/icon-w-menu.svg" alt="Main menu"></a>
</div>
<nav id="navigation-inner" class="container-12" role="navigation">
<div class="region region-navigation">
<div id="block-system-main-menu" class="block block-system block-menu">
<div class="block-inner">
<div class="content">
<div class="menu-block"><ul class="menu button"><li class="first leaf active-trail"><a href="/home" title="Drupal.org home page" class="active-trail active">Drupal.org home</a></li>
<li class="expanded"><a href="/about" title="">Why Drupal?</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/developers" title="">For developers</a></li>
<li class="leaf"><a href="/marketers" title="Why marketers should choose Drupal for their ambitious digital experiences">For marketers</a></li>
<li class="leaf"><a href="/agencies" title="Learn why agencies are betting their future on Drupal">For agencies</a></li>
<li class="leaf"><a href="/case-studies" title="View case studies to see how your peers have built success on Drupal">Case studies</a></li>
<li class="leaf"><a href="/about" title="Learn about Drupal">About Drupal</a></li>
<li class="leaf"><a href="/about/9" title="Prepare for Drupal 9">Drupal 9</a></li>
<li class="last leaf"><a href="/about/in-the-news" title="">In the news</a></li>
</ul></div></li>
<li class="expanded"><a href="/download" title="Build your solution on Drupal">Build</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/download" title="Download and Extend Drupal">Download &amp; Extend</a></li>
<li class="leaf"><a href="https://git.drupalcode.org/project/drupal" title="">Browse Repository</a></li>
<li class="leaf"><a href="/documentation" title="">Documentation</a></li>
<li class="leaf"><a href="/project/modules" title="Find modules to extend Drupal to meet any need">Modules</a></li>
<li class="leaf"><a href="/project/themes" title="Browse themes as a starting point for making your Drupal site your own">Themes</a></li>
<li class="leaf"><a href="/project/distributions" title="Use a distribution to start with a version of Drupal customized to purpose">Distributions</a></li>
<li class="leaf"><a href="/project/project_general" title="General projects might include javascript libraries, development tools, or other non-module/non-theme Drupal components.">General</a></li>
<li class="last leaf"><a href="/project/issues" title="Dive into the issues queues and contribute back to Drupal">Issue queues</a></li>
</ul></div></li>
<li class="expanded"><a href="/industries" title="Examples of solutions built on Drupal">Solutions</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/industries" title="Learn why Drupal is the best solution for your industry">By industry</a></li>
<li class="leaf"><a href="/features" title="">By feature</a></li>
<li class="leaf"><a href="/case-studies" title="View Drupal success stories">Case studies</a></li>
<li class="last leaf"><a href="/hosting" title="Find a solution for hosting your Drupal application">For hosting</a></li>
</ul></div></li>
<li class="expanded"><a href="/drupal-services" title="Buy Drupal Products and Services">Services</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/drupal-services" title="View the Drupal service provider marketplace">Marketplace</a></li>
<li class="leaf"><a href="/hosting" title="Find trusted Drupal hosting providers">Hosting</a></li>
<li class="last leaf"><a href="/training" title="Find expert Drupal training">Training</a></li>
</ul></div></li>
<li class="expanded"><a href="/community" title="Drupal Community">Community</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/community" title="View the community portal and find all the ways you can contribute to Drupal">Portal</a></li>
<li class="leaf"><a href="/community/contributor-guide" title="">Contributor guide</a></li>
<li class="leaf"><a href="/organizations" title="Learn about the organizations that are part of the Drupal ecosystem">Organizations</a></li>
<li class="leaf"><a href="/forum" title="Find support or chat with the community on the forum">Forum</a></li>
<li class="leaf"><a href="/community/agency-marketing/promotedrupal" title="">Promote Drupal</a></li>
<li class="leaf"><a href="/case-studies/community" title="">Community Case Studies</a></li>
<li class="leaf"><a href="https://www.drupal.org/swag?utm_source=drupalorg&amp;utm_medium=banner&amp;utm_campaign=drupal_swag_shop_2020_09_17" title="Purchase Drupal merchandise and be the coolest kid on the block">Drupal Swag</a></li>
<li class="last leaf"><a href="/about/core" title="">Core Development &amp; Strategic Initiatives</a></li>
</ul></div></li>
<li class="expanded"><a href="/documentation" title="Resources to help you on your Drupal journey">Resources</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/docs/user_guide/en/index.html" title="The Drupal 8 user guide will get you up to speed in no time">User guide</a></li>
<li class="leaf"><a href="/documentation" title="Drupal Documentation">Documentation</a></li>
<li class="leaf"><a href="/support" title="Support for using Drupal">Support</a></li>
<li class="leaf"><a href="/security" title="Find information about security releases for Drupal">Security</a></li>
<li class="leaf"><a href="https://jobs.drupal.org/" title="Drupal Jobs">Jobs</a></li>
<li class="leaf"><a href="https://events.drupal.org" title="Learn about official Drupal Association events">Events</a></li>
<li class="leaf"><a href="/subscribe" title="">Newsletter</a></li>
<li class="leaf"><a href="/news" title="News about the Drupal ecosystem">Project News</a></li>
<li class="leaf"><a href="/association/supporters/press" title="News and press releases from Drupal Association supporting partners">Partner Press</a></li>
<li class="leaf"><a href="/about/9" title="Prepare for Drupal 9">Drupal 9</a></li>
<li class="last leaf"><a href="/drupalorg/docs/diversity-equity-and-inclusion-resources" title="">Diversity, Equity, and Inclusion Resources</a></li>
</ul></div></li>
<li class="expanded"><a href="/association" title="About the Drupal Association - the non-profit that supports the Drupal project">Give</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/association" title="Learn about the Drupal Association - the nonprofit that supports the Drupal project">Drupal Association</a></li>
<li class="leaf"><a href="/association/supporters" title="Learn more about the organizations that support the Drupal Association and our mission">Supporters</a></li>
<li class="leaf"><a href="/promotedrupal" title="">Promote Drupal</a></li>
<li class="leaf"><a href="/association/support" title="We depend on you to move the Drupal project forward">Join us</a></li>
<li class="leaf"><a href="/community/contributor-guide" title="">Contributor guide</a></li>
<li class="leaf"><a href="/drupalorg" title="">About Drupal.org</a></li>
<li class="last leaf"><a href="/association/discover-drupal" title="">Discover Drupal</a></li>
</ul></div></li>
<li class="expanded"><a href="/community/events" title="Find Drupal Events around the world, from the official DrupalCons, to community Camps and Meet-Ups">Events</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="http://events.drupal.org/portland2022" title="">DrupalCon Portland</a></li>
<li class="leaf"><a href="https://events.drupal.org/prague2022" title="DrupalCon Europe| 20-23 September 2022">DrupalCon Prague</a></li>
<li class="leaf"><a href="/community/events" title="">Community Events</a></li>
<li class="last leaf"><a href="https://www.drupical.com/" title="A calendar of Drupal events around the world.">Drupical</a></li>
</ul></div></li>
<li class="last expanded"><a href="/try-drupal" title="Try Drupal">Try Drupal</a><div class="menu-block"><ul class="menu button"><li class="first leaf"><a href="/try-drupal" title="Demo Drupal online with a Drupal platform partner">Demo online</a></li>
<li class="last leaf"><a href="/download" title="">Download</a></li>
</ul></div></li>
</ul></div><a class="close-btn" href="#top">Return to content</a> </div>
</div>
</div>
<div id="block-search-form" class="block block-search">
<div class="block-inner">
<div class="content">
<form action="/" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
<h2 class="element-invisible">Search form</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label class="element-invisible" for="edit-search-block-form--2">Search </label>
<input placeholder="Search…" type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input alt="Search" type="image" id="edit-submit" name="submit" value="Search" src="/sites/all/themes/bluecheese/images/icon-w-search.svg" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-Dd7en-3EiXhWdX_TmIcs4cxIXX0rdqJsIMikL4zg760" />
<input type="hidden" name="form_id" value="search_block_form" />
</div>
</div></form> </div>
</div>
</div>
<div id="block-system-user-menu" class="block block-system block-menu">
<div class="block-inner">
<div class="content">
<div class="menu-block"><ul class="menu"><li class="button default"><a href="#block-system-user-menu"><img src="https://www.drupal.org/sites/all/themes/bluecheese/images/icon-w-user.svg" alt="Log in, view profile, and more"></a><ul><li class="first leaf"><a href="/user/login?destination=node/2958929" title="">Log in</a></li>
<li class="last leaf"><a href="/user/register?destination=node/2958929" title="">Create account</a></li>
</ul></li></ul></div> </div>
</div>
</div>
</div>
</nav>
</div>
<div id="page" class="clearfix">
<div id="page-heading">
</div> <!-- /#page-heading -->
<div id="main" role="main">
<div id="content" class="clearfix">
<div id="content-inner" class="clearfix"> <div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="block-inner">
<div class="content">
<div class="panelizer-view-mode node node-full node-page node-2958929">
<div class="capricorn panel-layout clearfix " >
<div class="container primary clearfix">
<div class="container-inner primary-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-9577 d-hero pane-bundle-cta pane-fpid-417" >
<div class="pane-graphic">
<div id="animation_container">
<canvas id="canvas"></canvas>
<div id="dom_overlay_container"></div>
</div>
<div class="d-animations-settings">
<button type="button" aria-labelledby="d-animations-label" aria-checked="false" role="switch" class="d-animations-checkbox">
<div id="d-animations-label"><span>Stop</span> animations</div>
</button>
</div>
</div>
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full center pane-style-dark">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/Wordmark2_white_RGB.svg" alt="Drupal | The open source CMS for amibitious digital experiences" /></div></div></div> <div class="cta-text">
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>With robust content management tools, sophisticated APIs for multichannel publishing, and a track record of continuous innovation—Drupal is the best digital experience platform(DXP) on the web, <strong>proudly open source.</strong></p>
</div></div></div> <div class="field field-name-field-cta-body-2 field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><style>
<!--/*--><![CDATA[/* ><!--*/
.whitebg {
border-color: whitesmoke;
color: whitesmoke !important;
}
/*--><!]]>*/
</style><p><a class="button-link whitebg" href="/try-drupal">Try Drupal</a> <a class="button-link whitebg" href="/community">Get involved</a> <a class="button-link whitebg" href="/association/individual-membership">Give your support</a></p>
<!---<iframe width="336" height="189" src="https://www.youtube-nocookie.com/embed/1UOfExAusY8?controls=0" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>--></div></div></div> </div>
</div>
</div>
</div>
</div>
<div class="panel-separator"></div><div class="panel-pane pane-fieldable-panels-pane pane-vid-9615 pane-bundle-cta pane-fpid-1224" >
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-ribbon pane-style-white">
<div class="pane-style-ribbon-inner pane-content-inner">
<div class="cta-text">
<h2>We stand with Ukraine. 🇺🇦</h2>
<div class="field field-name-field-cta-link field-type-link-field field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/association/blog/drupal-association-statement-of-support-for-ukraine">You can help</a></div></div></div> </div>
</div>
</div>
</div>
</div>
<div class="panel-separator"></div><div class="panel-pane pane-fieldable-panels-pane pane-vid-9730 pane-bundle-cta pane-fpid-1215" >
<div class="pane-content">
<div style="background-image: url('https://www.drupal.org/files/cta/background/DrupalCon_NA_Bg_8-alt_7_1_2_4.png');" class="fieldable-panels-pane pane-style-full mirror pane-style-light with-background">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/dc-portland-200x180_0.png" width="200" height="180" alt="" /></div></div></div> <div class="cta-text">
<h2>DrupalCon Portland recap</h2>
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Thank you for contributing to the success of DrupalCon Portland 2022! The recording of the State of Drupal Keynote by Dries Buytaert is now live.</p></div></div></div> <div class="field field-name-field-cta-link field-type-link-field field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.youtube.com/watch?v=Ig676RzJbLo&amp;t=325s&amp;ab_channel=DrupalAssociation">View the recording</a></div></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container tertiary clearfix">
<div class="container-inner tertiary-inner">
<div class="tertiary-wrapper">
<div class="column-content-region tertiary-first">
<div class="column-content-region-inner tertiary-first-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-4476 d-persona d-persona-developers pane-bundle-cta pane-fpid-418" >
<div class="pane-graphic"><svg class="personas-morph" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200">
<path class="start" d="M43.82,32c-62.91,43.27,9.78,157.21,150.4,151.87,92.86-3.53,111-121.06,42.08-129.08C148.65,44.55,109.16-13,43.82,32Z" style="fill: #0464a5"/>
<path class="end" d="M35.27,54.16c-55,45,36.73,133.12,167.7,128.08,86.49-3.32,102.46-122.53,41-146C167.72,7.06,88,11,35.27,54.16Z" style="fill: #0464a5"/>
</svg>
</div>
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full center pane-style-light">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/builder.svg" alt="Drupal for developers" /></div></div></div> <div class="cta-text">
<h2><a href="/developers">Drupal for <strong>Developers</strong></a></h2>
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Download Drupal and<br />
<strong>build the open web</strong></p></div></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="column-content-region tertiary-second">
<div class="column-content-region-inner tertiary-second-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-4477 d-persona d-persona-marketeers pane-bundle-cta pane-fpid-419" >
<div class="pane-graphic"><svg class="personas-morph" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200">
<path class="start" d="M188.35,174.31c68.59-22.54,102.41-86.77,64.5-130.16C209.6-5.35,39.49,27,29.29,96.19,19.26,164.26,128.64,193.94,188.35,174.31Z" style="fill: #004482"/>
<path class="end" d="M179.56,183.67c68.43-9,119.66-68.41,93.47-117.92C243.15,9.27,47.77-8.71,23.81,56.37.24,120.37,90.17,195.48,179.56,183.67Z"/>
</svg>
</div>
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full center pane-style-light">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/C%26Dmark.svg" alt="Drupal for Marketers, Content Editors, and Business Users" /></div></div></div> <div class="cta-text">
<h2><a href="/marketers">Drupal for <strong>Marketers</strong></a></h2>
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>In a world full of templates,<br />
<strong>be original</strong></p></div></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="column-content-region tertiary-third">
<div class="column-content-region-inner tertiary-third-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-4478 d-persona d-persona-agencies pane-bundle-cta pane-fpid-420" >
<div class="pane-graphic"><svg class="personas-morph" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 200">
<path class="start" d="M11.45,124.67C19,175.7,85,148.35,140.57,157.48c49.91,8.2,117.53,56.82,144.31-21.87C304.41,78.2,251.24,29.9,168.78,20.78,85.68,11.6,4.93,80.9,11.45,124.67Z" style="fill: #045292"/>
<path class="end" d="M10.27,113.23c6.76,53,76,62.46,125.43,71.94,44.38,8.52,127.68,15.48,151.48-66.26C304.55,59.27,238.94,20.46,165.61,11,91.72,1.45,4.48,67.76,10.27,113.23Z"/>
</svg>
</div>
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full center pane-style-light">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/Agency.svg" alt="Drupal for Agencies, looking for success" /></div></div></div> <div class="cta-text">
<h2><a href="/agencies">Drupal for <strong>Agencies</strong></a></h2>
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Achieve your<br />
<strong>clients ambition</strong></p></div></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tertiary-footer">
<div class="tertiary-footer-inner">
</div>
</div>
</div>
</div>
<div class="container quaternary clearfix">
<div class="container-inner quaternary-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-9637 d-sponsor pane-bundle-cta pane-fpid-422" >
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full nographic pane-style-supporter">
<div class="pane-style-full-inner pane-content-inner">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta/graphic/Association_Member_Individual__Badge_0.png" width="430" height="337" alt="" /></div></div></div> <div class="cta-text">
<h2>I Support Drupal and Open Source</h2>
<div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Join the Drupal Association and be a champion for open source and<br />
the open web.</p></div></div></div> <div class="field field-name-field-cta-link field-type-link-field field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/association/campaign/become-a-member-2021">Become a member today</a></div></div></div> </div>
</div>
<small>Sponsored content</small></div>
</div>
</div>
</div>
</div>
<div class="container quinary clearfix">
<div class="container-inner quinary-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-current-446 d-4col pane-bundle-cta-multiple" id="by-industry" >
<h2 class="pane-title">
By Industry </h2>
<div class="pane-content">
<div class="fieldable-panels-pane">
<div class="field-collection-container clearfix"><div class="field field-name-field-infographics field-type-field-collection field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M166.44,216.62c92.75-7.43,142-65,109.88-136.06C251.09,24.63,164,1.42,108.78,45.56,56.3,87.48-4.36,230.31,166.44,216.62Z"/>
<path class="end" d="M186.44,219.62c92.75-7.43,144-84,111.88-155.06C273.09,8.63,134,1.42,78.78,45.56,26.3,87.48,15.64,233.31,186.44,219.62Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/retail-icon.svg" alt="Drupal for Retail" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/retail">Retail</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Provide robust retail that's adaptable to an ever-changing demand</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M202,35.31c-73.12-10-149.22,29.48-149,84.08.23,57.18,83,105.36,168.16,79.82C315.78,170.82,307.56,49.68,202,35.31Z"/>
<path class="end" d="M204,23C130.88,13.05,21.78,69.4,22,124c.23,57.18,138.86,116.54,224,91C340.63,186.61,309.56,37.37,204,23Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_FinTech_2084328.svg" alt="FinTech solutions built on Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/fintech">FinTech</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Empower &amp; protect account holders</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M156.83,30.5c-96,8-131.56,87-107,132,30,55,191,66,229,14C333.6,101.55,261.85,21.74,156.83,30.5Z"/>
<path class="end" d="M143,22C47,30,21.76,114.49,39.83,162.5,69,240,268,232,303.83,168.5,349.44,87.65,248,13.25,143,22Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_Online%20Football_1817542.svg" alt="Drupal for Sports and Entertainment" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/sports-and-entertainment">Sports &amp; Entertainment</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Bring fans to their feet</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M193.32,29.33c-65.7-8.94-172,20.26-155,98,18.16,83,124.82,101.69,198,71C298.32,172.33,367.1,53,193.32,29.33Z"/>
<path class="end" d="M203.32,23.33c-84.32-3.33-195,30.26-178,108,18.16,83,151.74,105.19,227,80C331,185,378.57,30.26,203.32,23.33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_internet%20of%20things_1631007_0678be.svg" alt="Decoupled Drupal solutions" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/decoupled">Decoupled</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Render any front-end experience built on a decoupled Drupal solution</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M219.75,39.18c-68.71-9.35-189,24-175,88,11.48,52.48,107,92,187,68C320.66,168.51,318.93,52.68,219.75,39.18Z"/>
<path class="end" d="M214,23C145.29,13.65,18,66,32,130c11.48,52.48,146,101,226,77C346.91,180.33,313.18,36.5,214,23Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_Travel_145570_0678be.svg" alt="Drupal for Travel &amp; Tourism" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/travel">Travel &amp; Tourism</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Entice and inspire</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M202,35.31c-73.12-10-149.22,29.48-149,84.08.23,57.18,83,105.36,168.16,79.82C315.78,170.82,307.56,49.68,202,35.31Z"/>
<path class="end" d="M204,23C130.88,13.05,21.78,69.4,22,124c.23,57.18,138.86,116.54,224,91C340.63,186.61,309.56,37.37,204,23Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_circuit_564150_51A7F9_white_bg.svg" alt="Drupal for High tech" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/hightech">High tech</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>A digital presence as advanced as you are</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M156.83,30.5c-96,8-131.56,87-107,132,30,55,191,66,229,14C333.6,101.55,261.85,21.74,156.83,30.5Z"/>
<path class="end" d="M143,22C47,30,21.76,114.49,39.83,162.5,69,240,268,232,303.83,168.5,349.44,87.65,248,13.25,143,22Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_ecommerce_1605788_0678be_0.svg" alt="Drupal for Ecommerce" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/ecommerce">Ecommerce</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Provide powerful and flexible solutions for your ecommerce workflows</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M193,216.65C99.56,219.53,22.51,154,54.19,82.69c24.91-56.08,115-79,182-40S335.06,212.28,193,216.65Z"/>
<path class="end" d="M192,224.65C98.56,227.53,4.51,144,36.19,72.69c24.91-56.08,163-69,230-30S334.06,220.28,192,224.65Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/icon-industry-nonprofit_1.svg" alt="Drupal for Nonprofit and NGOs" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/nonprofit">Nonprofit and NGOs</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Advance your mission</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M233.94,35.33C167.28,16.24,37.76,17.4,37.17,111.74c-.33,53.72,110.85,116.57,192.7,100C320.84,193.23,331.8,63.36,233.94,35.33Z"/>
<path class="end" d="M255,33C188.34,13.91,20.42,17.64,27.17,111.74,32,179,127,231,229.87,221.7,322.32,213.33,352.86,61,255,33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/icon-industry-healthcare_1.svg" alt="Drupal for Healthcare" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/healthcare">Healthcare</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Healing healthcare IT pain</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M146.53,218.19c69.17-8.07,175-77.22,141.8-144.29C261.12,18.91,156.8.79,87,48.8,9.4,102.15,46.67,229.85,146.53,218.19Z"/>
<path class="end" d="M161,219c109.47-5.19,165-79,137.33-145.1C274.14,16.12,132-.23,72,41-5.59,94.35,60.58,223.76,161,219Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/icon-industry-ed_1.svg" alt="Drupal for Higher Education" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/education">Higher Ed</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Empowering universities around the globe</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M233.94,35.33C167.28,16.24,37.76,17.4,37.17,111.74c-.33,53.72,110.85,116.57,192.7,100C320.84,193.23,331.8,63.36,233.94,35.33Z"/>
<path class="end" d="M255,33C188.34,13.91,20.42,17.64,27.17,111.74,32,179,127,231,229.87,221.7,322.32,213.33,352.86,61,255,33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/icon-industry-media_1.svg" alt="Drupal for Media &amp; Publishing" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/media-and-publishing">Media &amp; publishing</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Content at your audience's fingertips</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M233.94,35.33C167.28,16.24,37.76,17.4,37.17,111.74c-.33,53.72,110.85,116.57,192.7,100C320.84,193.23,331.8,63.36,233.94,35.33Z"/>
<path class="end" d="M255,33C188.34,13.91,20.42,17.64,27.17,111.74,32,179,127,231,229.87,221.7,322.32,213.33,352.86,61,255,33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/icon-industry-government_1.svg" alt="Drupal for Government" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/industries/government">Government</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Engage citizens around the globe</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full field-collection-view-final"><div class="entity entity-field-collection-item field-collection-item-field-infographics clearfix">
<div class="content">
</div>
</div>
</div></div></div></div></div></div>
</div>
</div>
<div class="panel-separator"></div><div class="panel-pane pane-fieldable-panels-pane pane-current-732 d-4col pane-bundle-cta-multiple" id="by-feature" >
<h2 class="pane-title">
By Feature </h2>
<div class="pane-content">
<div class="fieldable-panels-pane">
<div class="field-collection-container clearfix"><div class="field field-name-field-infographics field-type-field-collection field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M233.94,35.33C167.28,16.24,37.76,17.4,37.17,111.74c-.33,53.72,110.85,116.57,192.7,100C320.84,193.23,331.8,63.36,233.94,35.33Z"/>
<path class="end" d="M255,33C188.34,13.91,20.42,17.64,27.17,111.74,32,179,127,231,229.87,221.7,322.32,213.33,352.86,61,255,33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_Security_2119053-blue_0.svg" alt="Security | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/security">Security</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Secure &amp; protect your users</p>
</div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M96.87,194.17c65.09,23.9,189,18,196-55,5.33-55.54-38-114-147-105C53.36,41.81,2.91,159.66,96.87,194.17Z"/>
<path class="end" d="M94,211c65.09,23.9,211,3,218-70,5.33-55.54-57.13-125.83-166.13-116.83C53.36,31.81,0,176.49,94,211Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/performance%26scaling-blue.svg" alt="Performance &amp; Scaling | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/performance-and-scaling">Performance &amp; Scaling</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Perform under pressure</p>
</div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M146.53,218.19c69.17-8.07,175-77.22,141.8-144.29C261.12,18.91,156.8.79,87,48.8,9.4,102.15,46.67,229.85,146.53,218.19Z"/>
<path class="end" d="M161,219c109.47-5.19,165-79,137.33-145.1C274.14,16.12,132-.23,72,41-5.59,94.35,60.58,223.76,161,219Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/multilingual-blue.svg" alt="Multilingual | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/multilingual">Multilingual</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Allow seamless translation</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M221.72,27.52C147.48,17,10.19,75.72,39.52,144c25,58.2,108.72,86.39,195.17,59.34C330.76,173.3,328.89,42.74,221.72,27.52Z"/>
<path class="end" d="M234,30C159.76,19.46,9,40,39.52,144c17.84,60.78,125,93,211.48,66C347.08,179.93,341.18,45.22,234,30Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_Accessibility_2430475_0.svg" alt="Accessibility | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/accessibility">Accessibility</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Make your content accessible to the widest possible audience</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M96.87,194.17c65.09,23.9,189,18,196-55,5.33-55.54-38-114-147-105C53.36,41.81,2.91,159.66,96.87,194.17Z"/>
<path class="end" d="M94,211c65.09,23.9,211,3,218-70,5.33-55.54-57.13-125.83-166.13-116.83C53.36,31.81,0,176.49,94,211Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/marketing_automation.svg" alt="Marketing Automation | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/marketing-automation">Marketing Automation</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Target your reach with audience customization </p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M202,35.31c-73.12-10-149.22,29.48-149,84.08.23,57.18,83,105.36,168.16,79.82C315.78,170.82,307.56,49.68,202,35.31Z"/>
<path class="end" d="M204,23C130.88,13.05,21.78,69.4,22,124c.23,57.18,138.86,116.54,224,91C340.63,186.61,309.56,37.37,204,23Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/content_authoring.svg" alt="Content Authoring | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/content-authoring">Content Authoring</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Integrate a diverse yet simplified ecosystem of multichannel messaging </p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M193,216.65C99.56,219.53,22.51,154,54.19,82.69c24.91-56.08,115-79,182-40S335.06,212.28,193,216.65Z"/>
<path class="end" d="M192,224.65C98.56,227.53,4.51,144,36.19,72.69c24.91-56.08,163-69,230-30S334.06,220.28,192,224.65Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/noun_personalization_1562806.svg" alt="Personalization | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/personalization">Personalization</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Turn customer data into one-to-one custom experiences</p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full field-collection-view-final"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-cta-graphic field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-prefix-shape"><svg class="random-shape" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 240">
<path class="start" d="M193.32,29.33c-65.7-8.94-172,20.26-155,98,18.16,83,124.82,101.69,198,71C298.32,172.33,367.1,53,193.32,29.33Z"/>
<path class="end" d="M203.32,23.33c-84.32-3.33-195,30.26-178,108,18.16,83,151.74,105.19,227,80C331,185,378.57,30.26,203.32,23.33Z"/>
</svg>
</div><img src="https://www.drupal.org/files/cta_multiple/cta_graphic/content_as_a_service.svg" alt="Content as a Service | Drupal" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/features/content-as-a-service">Content as a Service</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Decouple your front-end &amp; back-end to scale content across silos</p></div></div></div> </div>
</div>
</div></div></div></div></div></div>
</div>
</div>
</div>
</div>
<div class="container senary clearfix">
<div class="container-inner senary-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-3029 pane-bundle-cta pane-fpid-424" >
<div class="pane-content">
<div class="fieldable-panels-pane pane-style-full center pane-style-light">
<div class="pane-style-full-inner pane-content-inner">
<div class="cta-text">
<h2>See Drupal <strong>in the real world</strong></h2>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container septenary clearfix">
<div class="container-inner septenary-inner">
<div class="panel-pane pane-views-panes pane-redesign-2018-case-studies-panel-pane-1 view-redesign-2018-case-studies" >
<div class="pane-content">
<div class="view view-redesign-2018-case-studies view-id-redesign_2018_case_studies view-display-id-panel_pane_1 view-dom-id-99672f3c3ff097eaeac117a343dc0734">
<div class="view-content">
<div class="views-row views-row-1 views-row-odd views-row-first">
<div class="views-field views-field-title"> <span class="field-content"><a href="/case-study/stanford-graduate-school-of-business"><div class="cs-header">
<div class="cs-image"><img src="https://www.drupal.org/files/styles/case_studies_frontpage/public/cover-min_0.png?itok=bEM6Dr2F" width="600" height="410" alt="Migration &amp; Design System implementation for Stanford Graduate School of Business" /></div>
<div class="cs-title">Stanford Graduate School of Business</div>
</div></a></span> </div>
<div class="views-field views-field-body"> <div class="field-content"><p>QED42 partners up with Stanford (GSB) for a Design System Implementation and Migration</p></div> </div> </div>
<div class="views-row views-row-2 views-row-even">
<div class="views-field views-field-title"> <span class="field-content"><a href="/case-study/key-publishing"><div class="cs-header">
<div class="cs-image"><img src="https://www.drupal.org/files/styles/case_studies_frontpage/public/key%20publishing%20drupal%20cover.png?itok=q6XUMn_3" width="600" height="410" alt="Full Fat Things, Key Publishing, Key.aero logo, paywalls and vertical platform launch" /></div>
<div class="cs-title">Key Publishing</div>
</div></a></span> </div>
<div class="views-field views-field-body"> <div class="field-content"><p>Find out how Full Fat Things helped Key Publishing transform their traditional print magazines into an online subscriber content hub.</p></div> </div> </div>
<div class="views-row views-row-3 views-row-odd">
<div class="views-field views-field-title"> <span class="field-content"><a href="/case-study/major-league-soccer-mls"><div class="cs-header">
<div class="cs-image"><img src="https://www.drupal.org/files/styles/case_studies_frontpage/public/PS_MLS.png?itok=roBwjE0v" width="600" height="410" alt="" /></div>
<div class="cs-title">Major League Soccer (MLS)</div>
</div></a></span> </div>
<div class="views-field views-field-body"> <div class="field-content"><p>Major League Soccer needed highly sophisticated customization options based on each teams design, content priorities, and site maintainers capabilities.</p></div> </div> </div>
<div class="views-row views-row-4 views-row-even">
<div class="views-field views-field-title"> <span class="field-content"><a href="/case-study/pinterest-for-business"><div class="cs-header">
<div class="cs-image"><img src="https://www.drupal.org/files/styles/case_studies_frontpage/public/PS_Pinterest.png?itok=wYg-iVVg" width="600" height="410" alt="" /></div>
<div class="cs-title">Pinterest for Business</div>
</div></a></span> </div>
<div class="views-field views-field-body"> <div class="field-content"><p>Working closely with Pinterest, Phase2 architected a Drupal system to elevate their global brand and drive growth via a new suite of marketing, business, and community sites.</p></div> </div> </div>
<div class="views-row views-row-5 views-row-odd views-row-last">
<div class="views-field views-field-title"> <span class="field-content"><a href="/case-study/open-y-drupal-distribution-for-ymcas"><div class="cs-header">
<div class="cs-image"><img src="https://www.drupal.org/files/styles/case_studies_frontpage/public/OpenY%201%20big%20copy.png?itok=AQgcdpzE" width="600" height="410" alt="Open YMCA on a computer screen" /></div>
<div class="cs-title">Open Y: Drupal Distribution for YMCA&#039;s</div>
</div></a></span> </div>
<div class="views-field views-field-body"> <div class="field-content"><p>This group had the goal of creating a digital platform that was cost-effective, yet provided the best possible customer experience. </p></div> </div> </div>
</div>
</div> </div>
</div>
</div>
</div>
<div class="container octonary clearfix">
<div class="container-inner octonary-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-9720 pane-bundle-cta-multiple pane-fpid-425" id="seen-and-heard" >
<h2 class="pane-title">
Seen and Heard </h2>
<div class="pane-content">
<div class="fieldable-panels-pane">
<div class="field-collection-container clearfix"><div class="field field-name-field-infographics field-type-field-collection field-label-hidden"><div class="field-items"><div class="field-item even"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-featured-image field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta_multiple/featured_image/highlights_dries_0.jpg" width="600" height="410" alt="Dries headshot" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/blog/state-of-drupal-presentation-april-2022">State of Drupal presentation (April 2022)</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Last week, 1,300 Drupalists gathered in Portland, Oregon for DrupalCon North America. It was the first in-person DrupalCon in more than two years. As a DrupalCon tradition, Dries delivered his State of Drupal keynote. </p></div></div></div> </div>
</div>
</div></div><div class="field-item odd"><div class="field-collection-view clearfix view-mode-full"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-featured-image field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta_multiple/featured_image/drupal-evergreen-icon-250X230px_0.png" width="250" height="220" alt="Drupal evergreen logo" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/blog/who-sponsors-drupal-development-2020-2021-edition">Who sponsors Drupal development? (2020-2021 edition)</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>An in-depth analysis of how Drupal's development was sponsored between 1 July 2020 and 30 June 2021.</p></div></div></div> </div>
</div>
</div></div><div class="field-item even"><div class="field-collection-view clearfix view-mode-full field-collection-view-final"><div class="entity entity-field-collection-item field-collection-item-field-infographics h-animate clearfix">
<div class="content">
<div class="field field-name-field-featured-image field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><img src="https://www.drupal.org/files/cta_multiple/featured_image/drupalcon-portland-bridge-icon-2021-250X230px_0.png" width="250" height="220" alt="DrupalCon Portland 2022 bridge icon" /></div></div></div><div class="field field-name-field-title field-type-text field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/association/blog">DrupalCon news and highlights</a></div></div></div><div class="field field-name-field-cta-body field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Stay updated on DrupalCon Portland, 25-28 April 2022, in-person plans!</p></div></div></div> </div>
</div>
</div></div></div></div></div></div>
</div>
</div>
</div>
</div>
<div class="container nonary clearfix">
<div class="container-inner nonary-inner">
<div class="nonary-header clearfix">
<div class="nonary-header-inner">
<div class="panel-pane pane-fieldable-panels-pane pane-vid-3031 d-opensource pane-bundle-cta pane-fpid-426" >
<div class="pane-content">
<div style="background-image: url('https://www.drupal.org/files/cta/background/bg-opensource.jpg');" class="fieldable-panels-pane pane-style-full center pane-style-dark with-background">
<div class="pane-style-full-inner pane-content-inner">
<div class="cta-text">
<h2><strong>Drupal</strong> is powered by an <strong>open source community</strong></h2>
<div class="field field-name-field-cta-link field-type-link-field field-label-hidden"><div class="field-items"><div class="field-item even"><a href="https://www.drupal.org/getting-involved">Get involved</a></div></div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nonary-footer clearfix">
<div class="nonary-footer-inner">
</div>
</div>
</div>
</div>
</div><!-- /.sutro -->
</div>
</div>
</div>
</div>
</div>
</div>
</div> <!-- /#content -->
</div> <!-- /#column-left -->
</div> <!-- /#page -->
<div id="footer" role="contentinfo">
<div class="region region-footer">
<div id="block-drupalorg-crosssite-contrib-partners" class="block block-drupalorg-crosssite">
<div class="block-inner">
<div class="content">
<h2>
Thank you to these Drupal contributors
</h2>
<p>Top Drupal contributor <a class="hc" href="https://acquia.com">Acquia</a> would like to thank their partners for their contributions to Drupal.</p>
<div class="contrib-partners">
<div class="contrib-partner">
<a href="https://www.thirdandgrove.com/"><img alt="Third and Grove" src="/files/styles/grid-3/public/thirdandgrove.png" width="100%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.mediacurrent.com/"><img alt="MediaCurrent" src="/files/cta/graphic/MC_Badge_Blue.png" width="85%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.qed42.com/"><img alt="QED42" src="/files/styles/grid-3/public/logo-new.png" width="75%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.acromedia.com/"><img alt ="Acro Media" src="/files/styles/grid-3/public/Acro-Media-Drupal.png" width="90%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.srijan.net/"><img alt="Srijan" src="https://www.drupal.org/files/styles/grid-3/public/Neo%20Srijan%20Noir.png" width="95%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.iodigital.com/"><img alt="IO Digital" src="/files/styles/grid-4-2x/public/iO-logo%2Bblack.png" width="80%"/></a>
</div>
<div class="contrib-partner">
<a href="https://us.ciandt.com/"><img alt="CI&T" src="/files/styles/grid-3/public/CI%26T%20Logo%20-%20PANTONE.png" width="90%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.lullabot.com/"><img alt="Lullabot" src="/files/styles/grid-3/public/Lullabot_Logo_Vertical-svg.png" width="68%"/></a>
</div>
<div class="contrib-partner">
<a href="https://kanopi.com/"><img alt="Kanopi Studios" src="/files/styles/grid-3/public/KanopiStudios_Logo_Horiz_PMS.png" width="100%"/></a>
</div>
<div class="contrib-partner">
<a href="https://www.zyxware.com/"><img alt="Zyxware Technologies" src="/files/styles/grid-3/public/Zyxware_logo.png?itok=zWde6J5e" width="105%"/></a>
</div>
</div> </div>
</div>
</div>
<div id="block-drupalorg-crosssite-infra-partner" class="block block-drupalorg-crosssite">
<div class="block-inner">
<div class="content">
<a href="https://tag1consulting.com">Infrastructure management for Drupal.org provided by <img src="/files/cta/graphic/tag1_wht.svg" alt="Tag1 logo"></a> </div>
</div>
</div>
<div id="block-drupalorg-crosssite-drupalorg-footer" class="block block-drupalorg-crosssite">
<div class="block-inner">
<div class="content">
<h4 class="element-invisible">News items</h4><ul class="drupal-news"><li class="0 first"><a href="https://www.drupal.org/news">News</a></li>
<li class="1"><a href="https://www.drupal.org/planet" title="News from Drupal community members">Planet Drupal</a></li>
<li class="2"><a href="https://www.drupal.org/about/media-kit/social-media" title="Drupal on social media">Social media</a></li>
<li class="3"><a href="https://www.drupal.org/subscribe">Sign up for Drupal news</a></li>
<li class="4"><a href="https://www.drupal.org/security" title="Announcements from the Drupal Security Team">Security advisories</a></li>
<li class="5 last"><a href="https://jobs.drupal.org/" title="Drupal Jobs">Jobs</a></li>
</ul><h4 class="element-invisible">Our community</h4><ul class="community"><li class="0 first"><a href="https://www.drupal.org/community">Community</a></li>
<li class="1"><span><a href="https://www.drupal.org/drupal-services" title="People and organizations offering Drupal services">Services</a>, <a href="https://www.drupal.org/training" title="People and organizations offering Drupal training">Training</a> & <a href="https://www.drupal.org/hosting" title="Organizations offering Drupal hosting">Hosting</a></span></li>
<li class="2"><a href="https://www.drupal.org/community/contributor-guide">Contributor guide</a></li>
<li class="3"><a href="https://groups.drupal.org/groups" title="groups.drupal.org">Groups &amp; meetups</a></li>
<li class="4"><a href="https://events.drupal.org" title="Upcoming and past DrupalCons">DrupalCon</a></li>
<li class="5 last"><a href="https://www.drupal.org/dcoc" title="Drupal code of conduct">Code of conduct</a></li>
</ul><h4 class="element-invisible">Documentation</h4><ul class="get-started"><li class="0 first"><a href="https://www.drupal.org/documentation" title="Documentation for working with Drupal">Documentation</a></li>
<li class="1"><a href="https://www.drupal.org/docs">Drupal Guide</a></li>
<li class="2"><a href="https://www.drupal.org/docs/user_guide/en/index.html">Drupal User Guide</a></li>
<li class="3"><a href="https://www.drupal.org/documentation/develop">Developer docs</a></li>
<li class="4 last"><a href="https://api.drupal.org/" title="Drupal API reference">API.Drupal.org</a></li>
</ul><h4 class="element-invisible">Drupal code base</h4><ul class="download-extend"><li class="0 first"><a href="https://www.drupal.org/download">Download &amp; Extend</a></li>
<li class="1"><a href="https://www.drupal.org/project/drupal" title="Download the latest version of the Drupal software">Drupal core</a></li>
<li class="2"><a href="https://www.drupal.org/project/project_module" title="Download add-on features and functionality">Modules</a></li>
<li class="3"><a href="https://www.drupal.org/project/project_theme" title="Download pre-designed styles for Drupal">Themes</a></li>
<li class="4 last"><a href="https://www.drupal.org/project/project_distribution" title="Download a pre-packaged Drupal site">Distributions</a></li>
</ul><h4 class="element-invisible">Governance of community</h4><ul class="about"><li class="0 first"><a href="https://www.drupal.org/about">About</a></li>
<li class="1"><a href="https://www.drupal.org/about/features/accessibility" title="Our committment to accessibility">Web accessibility</a></li>
<li class="2"><a href="https://www.drupal.org/association" title="About the Drupal Association">Drupal Association</a></li>
<li class="3"><a href="https://www.drupal.org/drupalorg" title="About Drupal.org">About Drupal.org</a></li>
<li class="4"><a href="https://www.drupal.org/terms" title="Drupal.org terms of service">Terms of service</a></li>
<li class="5 last"><a href="https://www.drupal.org/privacy" title="Drupal.org privacy policy">Privacy policy</a></li>
</ul> </div>
</div>
</div>
<div id="block-block-77" class="block block-block">
<div class="block-inner">
<div class="content">
<p>Drupal is a <a href="http://drupal.com/trademark">registered trademark</a> of <a href="https://dri.es">Dries Buytaert</a>.</p>
</div>
</div>
</div>
</div>
</div>
<div class="region region-page-bottom">
<script type="text/javascript">
(function(){
window._pxAppId = 'PXVnPBBfwe';
window._pxParam2 = '';
window._pxParam3 = '0';
var p = document.getElementsByTagName('script')[0],
s = document.createElement('script');
s.async = 1;
s.src = '/VnPBBfwe/init.js';
p.parentNode.insertBefore(s,p);
}());
</script>
<noscript>
<div style="position:fixed; top:0; left:0; display:none" width="1" height="1">
<img src="/VnPBBfwe/xhr/api/v1/collector/noScript.gif?appId=PXVnPBBfwe">
</div>
</noscript> </div>
<script type="text/javascript" src="/files/advagg_js/js__B0FBwiP97ZnD38IFraZus4upS4KVkMXI3ou0fJ2ZXGA__pPDESRJz9GHsxqQIwQ_V8xnFYEH5jipG2eicsfrdWCs__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<!--[if lte IE 9]>
<script type="text/javascript" src="/files/advagg_js/js__79M6UrZjAw3oNGnUjsWip12JsvnUZmJGA3h9LI0kuzE__J0sbXAJNry2-C_ZL2xd0RdVuzwTLvwN-UisIv5RNCvU__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js#ie9-" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);}"></script>
<![endif]-->
<!--[if gt IE 9]>
<script type="text/javascript" src="/files/advagg_js/js__79M6UrZjAw3oNGnUjsWip12JsvnUZmJGA3h9LI0kuzE__J0sbXAJNry2-C_ZL2xd0RdVuzwTLvwN-UisIv5RNCvU__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js#ie10+" defer="defer" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);}"></script>
<![endif]-->
<!--[if !IE]><!-->
<script type="text/javascript" src="/files/advagg_js/js__79M6UrZjAw3oNGnUjsWip12JsvnUZmJGA3h9LI0kuzE__J0sbXAJNry2-C_ZL2xd0RdVuzwTLvwN-UisIv5RNCvU__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer" onload="if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(true);}"></script>
<!--<![endif]-->
<script type="text/javascript" src="/files/advagg_js/js__pqoYaVR8NVhof-vNXe50j2TKhFv__IihVag_h4G6kus__B4mbn4wICLQjWm1m3-z1kw8F1FtP0cDAHKp00Xy_-88__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript" src="/files/advagg_js/js__H5AFmq1RrXKsrazzPq_xPQPy4K0wUKqecPjczzRiTgQ__wor4r9P8YTtQ7p6fbywTetZ47Z_orumIfrrhgxrpLus__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer" onload="
function advagg_mod_1() {
// Count how many times this function is called.
advagg_mod_1.count = ++advagg_mod_1.count || 1;
try {
if (advagg_mod_1.count <= 40) {
init_drupal_core_settings();
// Set this to 100 so that this function only runs once.
advagg_mod_1.count = 100;
}
}
catch(e) {
if (advagg_mod_1.count >= 40) {
// Throw the exception if this still fails after running 40 times.
throw e;
}
else {
// Try again in 1 ms.
window.setTimeout(advagg_mod_1, 1);
}
}
}
function advagg_mod_1_check() {
if (window.init_drupal_core_settings && window.jQuery && window.Drupal) {
advagg_mod_1();
}
else {
window.setTimeout(advagg_mod_1_check, 1);
}
}
advagg_mod_1_check();"></script>
<script type="text/javascript" src="/files/advagg_js/js__pXD9RWCrVAUoNY-ScSiNX8mK01wdWZeAuYXQz86N5Zk__5_HoOk2PIDvfS2o44HggQG5JR4SbCAbvYZxoLV-dgkk__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript" src="/files/advagg_js/js__pLKQd4r7OrHglE7Qkqw53K2UXCqQdhqQ9v0cz7hMCQY__OErfYuQdGbFHcCoLoUW_ESSvaumApNojzjJit8-2xcw__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript" src="/files/advagg_js/js__oFqFIb8DpvypfjXjFgJeZguYZdJdUMa43crF6Xuy0yM__sGClUHNpuI5dUvAwDfbACtMGOICcf3MxTOTM9JLn7hA__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript" src="/files/advagg_js/js__hHUWFbMAa11eJtx5V0ym9o0YBsB1udk34qUT5wr1ihI__ntICfIdx3SsBpfvYB8AF0VuFk7gZjQgBaS1C9CyMj6o__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
function init_drupal_core_settings() {jQuery.extend(Drupal.settings,{"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"bluecheese","theme_token":"tWEjpYULUp2bJEXmF70cxxOwFMkxziLv96c4ivGytkg"},"better_exposed_filters":{"views":{"redesign_2018_case_studies":{"displays":{"panel_pane_1":{"filters":[]}}}}},"urlIsAjaxTrusted":{"\/":true}});
if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(false);}} if(window.jQuery && window.Drupal){init_drupal_core_settings();}
//--><!]]>
</script>
<script type="text/javascript" src="/files/advagg_js/js__vj0LjvNwl-3K1P9LGT4BGuXCZcAovYsVlVmoJN3TMRg__KW8SiGceRY3sjIKVrffDjf2MK4A5Vp3EDDxVO-4pegI__YaNGWokqa69Wq8hHbkE322PVJ8I-GmpfBsT8LGsMpcI.js" defer="defer"></script>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam-cell.nr-data.net","licenseKey":"e671e25255","applicationID":"4266189","transactionName":"Z1AEbREHVxAFU0RRV14aJ1oXD1YNS15fXF1vRQdeBjlPCgFH","queueTime":0,"applicationTime":544,"atts":"SxcHG1kdRB4=","errorBeacon":"bam-cell.nr-data.net","agent":""}</script></body>
</html>