{"id":1659,"date":"2024-05-13T16:46:41","date_gmt":"2024-05-13T16:46:41","guid":{"rendered":"https:\/\/structr.com\/code-editor\/"},"modified":"2024-05-16T14:07:50","modified_gmt":"2024-05-16T14:07:50","slug":"code-area","status":"publish","type":"page","link":"https:\/\/structr.com\/en\/product\/features\/code-area\/","title":{"rendered":"Code Area"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_section row_bg_image_behavior=&#8221;bg&#8211;image&#8211;beh-fixed&#8221; row_bg_image_position=&#8221;bg&#8211;image&#8211;pos-tc&#8221; row_bg_image_repeat=&#8221;bg&#8211;image-no-repeat&#8221; row_bg_image=&#8221;1880&#8243;][vc_row row_padding=&#8221;&#8221;][vc_column]<div class=\"   wpb_content_element\" ><div class=\"hero hero--b hero--center vpt-15\"><div class=\"hero__content\"><div class=\"hero__title\"><div class=\"hero__skyline\">All data types, attributes, scripts and APIs in one view<\/div><h1>Code Area<\/h1><\/div><p class=\"hero__text\">Use the code area to access all data types and attributes directly, edit all scripts and execute methods directly.<\/p><\/div><div class=\"hero__image\"><img decoding=\"async\" src=\"https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code-1024x597.jpg\" srcset=\"https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code-300x175.jpg 300w, https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code-1024x597.jpg 1024w, https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code-768x448.jpg 768w, https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code-1536x895.jpg 1536w, https:\/\/structr.com\/wp-content\/uploads\/Structr_Screenshot_Code.jpg 2048w\" alt=\"\" \/><\/div><\/div><\/div>[\/vc_column][\/vc_row][\/vc_section][vc_section row_padding=&#8221;vpt-7 vpb-7&#8243;][vc_row row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-7&#8243;][vc_column width=&#8221;5\/6&#8243; col_sticky=&#8221;&#8221; offset=&#8221;vc_col-md-offset-2 vc_col-md-8 vc_col-sm-offset-1&#8243;]<div class=\"vmb-3 wpb_content_element\" ><div class=\"svg-image svg-image--center \"><div class=\"svg-image__inner\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/structr.com\/wp-content\/uploads\/Structr_Feature_Code-Editor.svg\" alt=\"\" width=\"42\" height=\"42\" \/><\/div><\/div><\/div><div class=\"vmb-1 wpb_content_element\" ><div class=\"heading heading--h2 heading--center\"><h2 class=\"heading   heading--center\" >Unified Development Environment for All Your Needs<\/h2><\/div><\/div>[vc_column_text]<\/p>\n<p class=\"big-text\" style=\"text-align: center;\"><strong>Access and manage all data types, attributes, scripts, and APIs in one view with Structr&#8217;s code area. This powerful full-stack web IDE features advanced search, syntax highlighting, and code completion. It supports low-code tools and expert functions, offering seamless database transactions, fine-grained access control, and extensive configuration options.<\/strong><\/p>\n<p>[\/vc_column_text]<div class=\"vmb-3 wpb_content_element\" ><div class=\"btn__wrapper btn__wrapper--center\"><a href=\"https:\/\/structr.com\/product\/features\/code-area\/#inquiry\" target=\"\" rel=\"\" title=\"Page Builder\" class=\"btn--full btn--secondary btn--md\">Get in touch<\/a><\/div><\/div>[\/vc_column][\/vc_row][vc_row row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-5&#8243;][vc_column width=&#8221;2\/3&#8243; col_sticky=&#8221;&#8221; offset=&#8221;vc_col-lg-6 vc_col-md-7 vc_col-sm-offset-1&#8243;]<div class=\"vmb-1 wpb_content_element\" ><div class=\"heading heading--h2 \"><p class=\"heading--subtitle  \" ><span class=\"heading--subtitle__dot heading--subtitle__dot--right \" data-line=\"line-1\" data-socket=\"right\" data-gravity=\"50\"><\/span>Code Area<\/p><h2 class=\"heading h3 heading--subtitle-top \" >Fully Integrated Full-Stack Web IDE<\/h2><\/div><\/div>[vc_column_text]The code area is our vision of a truly integrated full-stack web IDE that can be used to easily manage and edit all aspects of a software application. It will be carefully developed from version to version, directly incorporating our own experience and that of our favorite customers.<\/p>\n<p>The aim is to enable developers to control all components of a software application directly and tool-supported with as little navigation between the various elements as possible, without restricting their degree of freedom.[\/vc_column_text][\/vc_column][\/vc_row][vc_row row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-10&#8243;][vc_column width=&#8221;7\/12&#8243; col_sticky=&#8221;&#8221;][vc_single_image image=&#8221;1632&#8243; img_size=&#8221;large&#8221; image_shadow=&#8221;shadow-lg&#8221;][\/vc_column][vc_column width=&#8221;5\/12&#8243; col_sticky=&#8221;&#8221; offset=&#8221;vc_col-lg-offset-1 vc_col-lg-4&#8243;]<div class=\"vmb-3 pt60-md wpb_content_element\" ><div class=\"list-box\"><div class=\"dot list-box__dot list-box__dot--top \" data-line=\"line-1\" data-socket=\"top\" data-gravity=\"50\"><\/div><p class=\"list-box__title \">Advantages<\/p><ul class=\"list-box__list\"><li>Comprehensive search<br \/><\/li><li>List of recently edited elements<br \/><\/li><li>Integrated code editor (VSCode\/Monaco)<br \/><\/li><li>Syntax highlighting<br \/><\/li><li>Code completion<\/li><\/ul><\/div><\/div>[\/vc_column][\/vc_row][vc_row content_placement=&#8221;middle&#8221; row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-10&#8243;][vc_column width=&#8221;7\/12&#8243; col_sticky=&#8221;&#8221; col_pp_sm=&#8221;vc_col-sm-push-5&#8243;][vc_row_inner row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-5&#8243;][vc_column_inner width=&#8221;5\/6&#8243; offset=&#8221;vc_col-sm-offset-2&#8243;]<div class=\"vmb-1 wpb_content_element\" ><div class=\"heading heading--h2 \"><p class=\"heading--subtitle  \" ><span class=\"heading--subtitle__dot heading--subtitle__dot--left \" data-line=\"line-2\" data-socket=\"left\" data-gravity=\"50\"><\/span>Code Area<\/p><h2 class=\"heading h3 heading--subtitle-top \" >Low-code Tools for More Convenience<\/h2><\/div><\/div>[vc_column_text]Thanks to the predefined lifecycle methods already seamlessly integrated into the database transaction management, even complex workflows can be created quite easily. All that remains to be done is to define the desired behavior, either as a Flow or as a script in one of the numerous supported programming languages.<\/p>\n<p>The integrated code editor allows direct access to the data in the database from the code level through direct object mapping and offers code completion with access to all internal keywords, functions and schema information.[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_single_image image=&#8221;1632&#8243; img_size=&#8221;large&#8221; image_shadow=&#8221;shadow-lg&#8221;][\/vc_column][vc_column width=&#8221;5\/12&#8243; col_sticky=&#8221;&#8221; col_pp_sm=&#8221;vc_col-sm-pull-7&#8243; col_pp_lg=&#8221;vc_col-lg-pull-8&#8243; offset=&#8221;vc_col-lg-offset-1 vc_col-lg-4&#8243;]<div class=\"vmb-3 pt60-md wpb_content_element\" ><div class=\"list-box\"><div class=\"dot list-box__dot list-box__dot--top \" data-line=\"line-2\" data-socket=\"top\" data-gravity=\"50\"><\/div><p class=\"list-box__title \">Advantages<\/p><ul class=\"list-box__list\"><li>Full support of database transactions<br \/><\/li><li>Predefined and custom lifecycle methods<br \/><\/li><li>Fine-grained access control at object level<br \/><\/li><li>Many configuration options<br \/><\/li><li>In the future: AI tools for schema modeling and database query generation<\/li><\/ul><\/div><\/div>[\/vc_column][\/vc_row][vc_row content_placement=&#8221;middle&#8221; row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-5&#8243;][vc_column width=&#8221;7\/12&#8243; col_sticky=&#8221;&#8221;][vc_row_inner row_padding=&#8221;custom&#8221; row_padding_bottom=&#8221;vpb-5&#8243;][vc_column_inner width=&#8221;5\/6&#8243; offset=&#8221;vc_col-sm-offset-2&#8243;]<div class=\"vmb-1 wpb_content_element\" ><div class=\"heading heading--h2 \"><p class=\"heading--subtitle  \" ><span class=\"heading--subtitle__dot heading--subtitle__dot--right \" data-line=\"line-3\" data-socket=\"right\" data-gravity=\"50\"><\/span>Code Area<\/p><h2 class=\"heading h3 heading--subtitle-top \" >Expert Functions for Professional Developers<\/h2><\/div><\/div>[vc_column_text]But professionals are not neglected either. Many expert functions and a very large number of configuration options make it possible to implement almost any use case with the Structr platform.<\/p>\n<p>External databases and HTTP APIs can be integrated, the internal APIs can be documented via the integrated OpenAPI\/Swagger module, and a logging function that can be configured in detail and a remote debugging interface are available for troubleshooting.[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_single_image image=&#8221;1632&#8243; img_size=&#8221;large&#8221; image_shadow=&#8221;shadow-lg&#8221;][\/vc_column][vc_column width=&#8221;5\/12&#8243; col_sticky=&#8221;&#8221; offset=&#8221;vc_col-lg-offset-1 vc_col-lg-4&#8243;]<div class=\"vmb-3 pt60-md wpb_content_element\" ><div class=\"list-box\"><div class=\"dot list-box__dot list-box__dot--top \" data-line=\"line-3\" data-socket=\"top\" data-gravity=\"50\"><\/div><p class=\"list-box__title \">Advantages<\/p><ul class=\"list-box__list\"><li>OpenAPI\/Swagger integration<br \/><\/li><li>Outbound HTTP API to connect any web service or microservice<br \/><\/li><li>Integration of databases via SQL, GQL\/Cypher and MongoDB drivers<br \/><\/li><li>Multi-level logging and remote debugging<br \/><\/li><li>External authentication via OAuth, JWT etc.<\/li><\/ul><\/div><\/div>[\/vc_column][\/vc_row][\/vc_section][vc_row row_padding=&#8221;&#8221; row_maxwidth=&#8221;&#8221;][vc_column]<div class=\"templatera_shortcode\"><section id=\"inquiry\" class=\"vc_section vpt-7 vpb-7 bg--color--grey-5 bg--image--pos-tc bg--image--beh-fixed bg--image-no-repeat bg-image-18796a4de05c361af\"><div class=\"vc_container vc_maxwidth \"><div class=\"vc_row wpb_row vc_row-fluid vpt-3 vpb-3\"><div class=\"wpb_column vc_column_container vc_col-sm-7 vc_col-lg-offset-1\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vmb-3 wpb_content_element\" ><div class=\"heading heading--p \"><p class=\"heading--subtitle  \" ><span class=\"heading--subtitle__dot heading--subtitle__dot--left \" data-line=\"line-form\" data-socket=\"left\" data-gravity=\"50\"><\/span>Get in touch with Structr<\/p><p class=\"heading h2 heading--subtitle-top \" >We are interested in the use of Structr<\/p><\/div><\/div><script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_11' style='display:none'><form method='post' enctype='multipart\/form-data'  id='gform_11'  action='\/en\/wp-json\/wp\/v2\/pages\/1659' data-formid='11' novalidate>\t\t\t\t\t<div style=\"display: none !important;\" class=\"akismet-fields-container gf_invisible\" data-prefix=\"ak_\">\n\t\t\t\t\t\t<label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label>\n\t\t\t\t\t\t<input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"72\" \/>\n\t\t\t\t\t\t<script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n\n\t\t\t\t\t<\/div>\n                        <div class='gform-body gform_body'><div id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id=\"field_11_17\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_17'>Email<\/label><div class='ginput_container'><input name='input_17' id='input_11_17' type='text' value='' autocomplete='new-password'\/><\/div><div class='gfield_description' id='gfield_description_11_17'>This field is for validation purposes and should be left unchanged.<\/div><\/div><div id=\"field_11_15\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full visuallyhidden field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_15'>Source<\/label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_11_15' type='text' value='' class='large'      aria-invalid=\"false\"   \/><\/div><\/div><fieldset id=\"field_11_13\" class=\"gfield gfield--type-radio gfield--type-choice gfield--input-type-radio gfield--width-full big-choice big-choice--dot gfield_contains_required field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label' >We would like to \u2026<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_11_13'>\n\t\t\t<div class='gchoice gchoice_11_13_0'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_13' type='radio' value='inquiry' checked='checked' id='choice_11_13_0' onchange='gformToggleRadioOther( this )' aria-describedby=\"gfield_description_11_13\"   \/>\n\t\t\t\t\t<label for='choice_11_13_0' id='label_11_13_0' class='gform-field-label gform-field-label--type-inline'>make an inquiry<\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_11_13_1'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_13' type='radio' value='callback'  id='choice_11_13_1' onchange='gformToggleRadioOther( this )'    \/>\n\t\t\t\t\t<label for='choice_11_13_1' id='label_11_13_1' class='gform-field-label gform-field-label--type-inline'>be called back<\/label>\n\t\t\t<\/div>\n\t\t\t<div class='gchoice gchoice_11_13_2'>\n\t\t\t\t\t<input class='gfield-choice-input' name='input_13' type='radio' value='appointment'  id='choice_11_13_2' onchange='gformToggleRadioOther( this )'    \/>\n\t\t\t\t\t<label for='choice_11_13_2' id='label_11_13_2' class='gform-field-label gform-field-label--type-inline'>make an appointment<\/label>\n\t\t\t<\/div><\/div><\/div><div class='gfield_description' id='gfield_description_11_13'><div class=\"form-dot\" data-line=\"line-form\" data-socket=\"left\" data-gravity=\"50\"><\/div><\/div><\/fieldset><div id=\"field_11_1\" class=\"gfield gfield--type-text gfield--input-type-text gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_1'>Company<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_11_1' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_11_3\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_3'>First name<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_11_3' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_11_4\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_4'>Last name<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_11_4' type='text' value='' class='large'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_11_5\" class=\"gfield gfield--type-email gfield--input-type-email gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_5'>E-mail<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_5' id='input_11_5' type='email' value='' class='large'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_11_6\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--width-full field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_6'>Phone (optional)<\/label><div class='ginput_container ginput_container_phone'><input name='input_6' id='input_11_6' type='tel' value='' class='large'    aria-invalid=\"false\" aria-describedby=\"gfield_description_11_6\"  \/><\/div><div class='gfield_description' id='gfield_description_11_6'>\n<\/div><\/div><div id=\"field_11_14\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--width-full gfield_contains_required field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_14'>Phone<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_phone'><input name='input_14' id='input_11_14' type='tel' value='' class='large'   aria-required=\"true\" aria-invalid=\"false\" aria-describedby=\"gfield_description_11_14\"  \/><\/div><div class='gfield_description' id='gfield_description_11_14'>\n<\/div><\/div><div id=\"field_11_11\" class=\"gfield gfield--type-select gfield--input-type-select gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_11'>Project status<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_select'><select name='input_11' id='input_11_11' class='large gfield_select'    aria-required=\"true\" aria-invalid=\"false\" ><option value='' selected='selected' class='gf_placeholder'>Please choose \u2026<\/option><option value='Conception' >Conception<\/option><option value='Technology evaluation' >Technology evaluation<\/option><option value='Looking for project partners' >Looking for project partners<\/option><option value='Ongoing project' >Ongoing project<\/option><option value='Need emergency support' >Need emergency support<\/option><\/select><\/div><\/div><div id=\"field_11_12\" class=\"gfield gfield--type-select gfield--input-type-select gfield--width-half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_12'>Budget<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_select'><select name='input_12' id='input_11_12' class='large gfield_select'    aria-required=\"true\" aria-invalid=\"false\" ><option value='' selected='selected' class='gf_placeholder'>Please choose \u2026<\/option><option value='&lt; 100,000 USD\/EUR' >&lt; 100,000 USD\/EUR<\/option><option value='100,000 \u2013 250,000 USD\/EUR' >100,000 \u2013 250,000 USD\/EUR<\/option><option value='250,000 \u2013 500,000 USD\/EUR' >250,000 \u2013 500,000 USD\/EUR<\/option><option value='500,000+ USD\/EUR' >500,000+ USD\/EUR<\/option><option value='Non-profit \/ No budget' >Non-profit \/ No budget<\/option><\/select><\/div><\/div><div id=\"field_11_9\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_11_9'>Project description<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_9' id='input_11_9' class='textarea medium'     aria-required=\"true\" aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><fieldset id=\"field_11_10\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below hidden_label field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Privacy policy<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/legend><div class='ginput_container ginput_container_consent'><input name='input_10.1' id='input_11_10_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_11_10_1' >I agree to the privacy policy on <a href=\"https:\/\/structr.com\/privacy\" target=\"_blank\">structr.com\/privacy<\/a> and consent to Structr GmbH sending me an evaluation license key and further information to my e-mail address given here.<span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/label><input type='hidden' name='input_10.2' value='I agree to the privacy policy on &lt;a href=&quot;https:\/\/structr.com\/privacy&quot; target=&quot;_blank&quot;&gt;structr.com\/privacy&lt;\/a&gt; and consent to Structr GmbH sending me an evaluation license key and further information to my e-mail address given here.' class='gform_hidden' \/><input type='hidden' name='input_10.3' value='11' class='gform_hidden' \/><\/div><\/fieldset><div id=\"field_11_16\" class=\"gfield gfield--type-html gfield--input-type-html gfield--width-full gfield_html gfield_no_follows_desc field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible\"  ><div class=\"vpt-3\">\n<a href=\"https:\/\/calendly.com\/contact-structr\" target=\"_blank\" class=\"btn--full btn--primary btn--md\" rel=\"noopener\">Choose a slot<\/a>\n<\/div><\/div><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_11' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submit'  \/> \n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_11' value='postback' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_11' id='gform_theme_11' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_11' id='gform_style_settings_11' value='[]' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='11' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='WV9\/SlAQB0KnUtcsZdSvwNVnxcFus3tyLyUjX62XwKGay8bk8V+eGd3zcjl\/0ys55x89ywbgpBria5F230Vqcj326nPhFRsNCVuto623nRy3nf8=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_11' value='WyJ7XCIxM1wiOltcIjZjMzc5ZjM4NjU2NWU0ZWZmZjk4MGNiNzVkMDkyN2IwXCIsXCI1ZTM1MDcxMWQ5YjE5YzliZDZiZDI0ZGM4M2FiOTVlMFwiLFwiOWMxZTAyNzM5Njg4ZjIwZTQzOTFkZjIwZTU5ODI2ZjdcIl0sXCIxMVwiOltcIjc2ZTcwMzMyM2Q2NWE1M2VkZTJhMDk1MTdjMjQxYTllXCIsXCJlYjJlZjNjM2JjOTFmYjUyOWY0YTdkMDcxNjQ0MDBmNVwiLFwiN2NhNTIzMjYwZGRmZTc2NDRhMTU4ZWE2NTYzNzRjODlcIixcIjM3YzU5ZDliYTVlZGQxMjM0ZTgyZDI3YzliNzY0NTMxXCIsXCIxN2NiYmQ5ZGM0ODlmYjAwMTA5ZTFkNDY1MTdiOTE4M1wiXSxcIjEyXCI6W1wiYWVhZmIwMGUzZDQ4YjZmZTRjZmEyYTc4MmIwMjA5NDhcIixcIjZkZDIxODlmYjAzNmZhOTkwOWI0MzdiZDJkODcwZDI2XCIsXCJlOGIzOWJkMjA2MmIwYWZhOTU3MDQ2ZjQ5Yjg2NjE2NlwiLFwiZmM0ODgxMjg4NzIwOWY3NzExNDFkYjUwYzg4YWFiMzhcIixcImQ1MjNhZjk3MWUwYmU3NTk2ODI0YTMyZjJlMzdiMmJjXCJdLFwiMTAuMVwiOlwiZGNjYmU4OGQ1MGRkYjMyN2Y2MGJmNGU4OWI1YmM1ZWRcIixcIjEwLjJcIjpcImEyYmY5NzFkNjVjMGE4NWQwZDI5M2ZmNWYzZTY4M2IwXCIsXCIxMC4zXCI6XCI0NDU5N2IwZDNjOWIxYTlkMzBmNWJjZDMwYmYwMWJjMVwifSIsIjQ3NWFkZmI3NzhkMGMyYjY2OTc0ZjY0OWIxZTYyMjBjIl0=' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div><script>\ngform.initializeOnLoaded( function() {gformInitSpinner( 11, 'https:\/\/structr.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_11').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_11');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_11').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){form_content.find('form').css('opacity', 0);jQuery('#gform_wrapper_11').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_11').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_11').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_11').val();gformInitSpinner( 11, 'https:\/\/structr.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [11, current_page]);window['gf_submitting_11'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_11').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [11]);window['gf_submitting_11'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_11').text());}else{jQuery('#gform_11').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"11\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_11\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_11\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_11\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 11, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );\n<\/script>\n<\/div><\/div><\/div><div class=\"wpb_column vc_column_container vc_col-sm-3 vc_col-lg-2 vc_col-sm-offset-1\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\">\n\t<div  class=\"wpb_single_image wpb_content_element vc_align_left vmt-3 vmb-3 wpb_content_element\" > \n\t\t\n\t\t<figure class=\"wpb_wrapper vc_figure\">\n\t\t\t<div class=\"vc_single_image-wrapper   \"><img loading=\"lazy\" decoding=\"async\" width=\"203\" height=\"300\" src=\"https:\/\/structr.com\/wp-content\/uploads\/axel-morgner-203x300.jpg\" class=\"vc_single_image-img attachment-medium\" alt=\"\" title=\"axel-morgner\" srcset=\"https:\/\/structr.com\/wp-content\/uploads\/axel-morgner-203x300.jpg 203w, https:\/\/structr.com\/wp-content\/uploads\/axel-morgner.jpg 670w\" sizes=\"auto, (max-width: 203px) 100vw, 203px\" \/><\/div> \n\t\t<\/figure>\n\t<\/div>\n\r\n\t<div  class=\"wpb_text_column wpb_content_element  vmb-3  wpb_content_element\">\r\n\t\t<p>I\u2019m looking forward to your inquiry!<\/p>\n<p><span class=\"color--white\"><strong>Axel Morgner<\/strong><\/span><br \/>\nCEO &amp; CTO<\/p>\n<p>Call <span class=\"color--white\">0800-STRUCTR<\/span><br \/>\n+49 800 \/ 78 78 287<\/p>\n\r\n\t<\/div>\r\n<\/div><\/div><\/div><\/div><\/div><style>.bg-image-18796a4de05c361af{ background-image: url(\"https:\/\/structr.com\/wp-content\/uploads\/Structr_Background_01.jpg\");}<\/style><\/section><\/div>[\/vc_column][\/vc_row][vc_row row_padding=&#8221;&#8221;][vc_column]<div class=\"templatera_shortcode\"><section class=\"vc_section vpt-7 vpb-7\"><div class=\"vc_container vc_maxwidth \"><div class=\"vc_row wpb_row vc_row-fluid custom vpb-1\"><div class=\"wpb_column vc_column_container vc_col-sm-8 vc_col-lg-6 vc_col-md-7 vc_col-sm-offset-1\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vmb-3 wpb_content_element\" ><div class=\"heading heading--h2 \"><p class=\"heading--subtitle  \" ><span class=\"heading--subtitle__dot heading--subtitle__dot--left \" data-line=\"card-line-0\" data-socket=\"left\" data-gravity=\"50\"><\/span>Advantages<\/p><h2 class=\"heading  heading--subtitle-top \" >What makes Structr stand out?<\/h2><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"vc_container vc_maxwidth \"><div class=\"vc_row wpb_row vc_row-fluid custom\"><div class=\"wpb_column vc_column_container vc_col-sm-12\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><div class=\"vmb-5 wpb_content_element\" ><div class=\"cards cards--standard cards--3\"><div class=\"cards__item cards__item--1\"><h3 class=\"cards__title h4\"><img loading=\"lazy\" decoding=\"async\" class=\"cards__icon\" src=\"https:\/\/structr.com\/wp-content\/uploads\/2023\/09\/icon-build.svg\" srcset=\"\" alt=\"Build individual software solutions in no time\"  width=\"1\" height=\"1\" \/>Build individual software solutions in no time<\/h3><p class=\"cards__desc\">Feature-rich applications in minutes with the flexibility and speed of Graph technology<\/p><div class=\"cards__dot cards__dot--start\" data-line=\"card-line-0\" data-socket=\"left\" data-gravity=\"30\"><\/div><div class=\"cards__dot cards__dot--end\" data-line=\"card-line-1\" data-socket=\"bottom\" data-gravity=\"0\"><\/div><\/div><div class=\"cards__item cards__item--2\"><h3 class=\"cards__title h4\"><img loading=\"lazy\" decoding=\"async\" class=\"cards__icon\" src=\"https:\/\/structr.com\/wp-content\/uploads\/2023\/09\/icon-graph.svg\" srcset=\"\" alt=\"Control complexity through graph technology\"  width=\"1\" height=\"1\" \/>Control complexity through graph technology<\/h3><p class=\"cards__desc\">No-compromise back-ends and front-ends optimized for each role<\/p><div class=\"cards__dot cards__dot--start\" data-line=\"card-line-1\" data-socket=\"top\" data-gravity=\"0\"><\/div><div class=\"cards__dot cards__dot--end\" data-line=\"card-line-2\" data-socket=\"bottom\" data-gravity=\"0\"><\/div><\/div><div class=\"cards__item cards__item--3\"><h3 class=\"cards__title h4\"><img loading=\"lazy\" decoding=\"async\" class=\"cards__icon\" src=\"https:\/\/structr.com\/wp-content\/uploads\/2023\/09\/icon-stack.svg\" srcset=\"\" alt=\"All-in-one software stack with all necessary tools\"  width=\"1\" height=\"1\" \/>All-in-one software stack with all necessary tools<\/h3><p class=\"cards__desc\">Build real end-to-end solutions without any additional tools or services needed<\/p><div class=\"cards__dot cards__dot--start\" data-line=\"card-line-2\" data-socket=\"top\" data-gravity=\"0\"><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/section>\r\n<\/div>[\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"All data types, attributes, scripts and APIs in one viewCode AreaUse the code area to access all data types and \u2026","protected":false},"author":1,"featured_media":0,"parent":1391,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1659","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/pages\/1659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/comments?post=1659"}],"version-history":[{"count":5,"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/pages\/1659\/revisions"}],"predecessor-version":[{"id":1898,"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/pages\/1659\/revisions\/1898"}],"up":[{"embeddable":true,"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/pages\/1391"}],"wp:attachment":[{"href":"https:\/\/structr.com\/en\/wp-json\/wp\/v2\/media?parent=1659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}