{"id":36214,"date":"2023-11-24T09:00:18","date_gmt":"2023-11-24T08:00:18","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=36214"},"modified":"2023-11-29T12:34:31","modified_gmt":"2023-11-29T11:34:31","slug":"conventional-commits-como-estandarizar-el-proceso-de-creacion-de-commits-mediante-reglas-comunes","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/conventional-commits-como-estandarizar-el-proceso-de-creacion-de-commits-mediante-reglas-comunes\/","title":{"rendered":"Conventional Commits. C\u00f3mo estandarizar el proceso de creaci\u00f3n"},"content":{"rendered":"<p>A medida que una empresa o departamento incrementa su tama\u00f1o, crecen tambi\u00e9n los <strong>retos y dificultades t\u00e9cnicas<\/strong> a las que es necesario enfrentarse. Estos retos suceden, principalmente, por el incremento de personas y por el aumento de la complejidad en los proyectos que se manejan. Mis compa\u00f1eros del \u00e1rea CMS de <a href=\"https:\/\/www.hiberus.com\/agencia-digital\">hiberus Digital<\/a>, Adri\u00e1n Mar\u00edn y Alejandro Arnau lo saben muy bien y lo explicaron perfectamente en una charla llamada <strong>\u2018Transformaci\u00f3n \u00c1gil a Escala: Liderando +150 Expertos en Drupal en Proyectos Globales\u2019<\/strong> que impartieron durante la pasada DrupalCamp Spain que se celebr\u00f3 en Sevilla del 20 al 23 de septiembre.<\/p>\n<p>En este art\u00edculo quiero contaros c\u00f3mo hemos resuelto uno de esos retos y c\u00f3mo esta soluci\u00f3n se ha aplicado a otras \u00e1reas de hiberus Digital para <strong>estandarizar el proceso de creaci\u00f3n de commits en un repositorio Git<\/strong>.<\/p>\n<p>Cuando hace unos a\u00f1os nuestra \u00e1rea era mucho m\u00e1s peque\u00f1a de lo que es hoy en d\u00eda y los equipos que trabajaban en un proyecto eran m\u00e1s reducidos, era f\u00e1cil <strong>mantener la uniformidad en la creaci\u00f3n de commits<\/strong> y conseguir que todos los desarrolladores del \u00e1rea siguieran unas <strong>reglas comunes<\/strong> a la hora de escribir los mensajes de estos commits.<\/p>\n<p>A medida que el equipo fue creciendo y se fueron incorporando m\u00e1s desarrolladores nos encontramos con una situaci\u00f3n en la que, debido al n\u00famero de proyectos simult\u00e1neos y a la complejidad creciente de los mismos, mantener estas reglas comunes se hac\u00eda muy complicado, obligando a los l\u00edderes t\u00e9cnicos del \u00e1rea a un esfuerzo extra para controlar el tono, el estilo y la relevancia de los mensajes. Esta situaci\u00f3n nos oblig\u00f3 a buscar una soluci\u00f3n para solucionarla. Despu\u00e9s de revisar y evaluar varias alternativas decidimos apostar por el uso de <strong>Conventional Commits<\/strong>.<\/p>\n<h2>\u00bfQu\u00e9 es Conventional Commits?<\/h2>\n<p>Tal como indica su p\u00e1gina oficial, Conventional Commits es una especificaci\u00f3n para <strong>dar significado a los mensajes de commits<\/strong> <strong>haci\u00e9ndolos comprensibles tanto para las m\u00e1quinas como para las personas<\/strong>. Proporciona un conjunto sencillo de reglas para crear un historial de commits expl\u00edcito, lo que hace m\u00e1s f\u00e1cil poder escribir herramientas automatizadas.<\/p>\n<p>Dicha especificaci\u00f3n o convenci\u00f3n define una serie de reglas para escribir los mensajes de commit que consiguen <strong>mejorar la legibilidad del hist\u00f3rico del repositorio y posibilitan tener herramientas que automaticen procesos basados en el historial de commits<\/strong>.<\/p>\n<p>Est\u00e1 basada e inspirada en las Commit Message Guidelines del proyecto Angular.<\/p>\n<p>Al poder describir en los mensajes de los commits las funcionalidades, arreglos y cambios de ruptura hechos, esta convenci\u00f3n encaja a la perfecci\u00f3n con Semantic Versioning o Semver.<\/p>\n<p>Se trata de la convenci\u00f3n m\u00e1s extendida para establecer un versionado a librer\u00edas, paquetes o dependencias, estableciendo tres bloques separados:<\/p>\n<ul>\n<li><strong>MAJOR<\/strong>: n\u00famero de versi\u00f3n que se incrementa cuando se rompe la compatibilidad de versiones anteriores.<\/li>\n<li><strong>MINOR<\/strong>: n\u00famero de versi\u00f3n que se incrementa cuando se a\u00f1ade funcionalidad y esta es compatible en la versi\u00f3n MAJOR actual.<\/li>\n<li><strong>PATCH<\/strong>: n\u00famero de versi\u00f3n que se incrementa cuando se arreglan errores en la versi\u00f3n MAJOR.MINOR actual.<\/li>\n<\/ul>\n<h2>Estructura<\/h2>\n<p>Seg\u00fan esta especificaci\u00f3n, un mensaje de commit debe estructurarse de la siguiente forma:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36215 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/mensaje-commit.png\" alt=\"\" width=\"390\" height=\"133\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/mensaje-commit.png 390w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/mensaje-commit-300x102.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/mensaje-commit-360x123.png 360w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/p>\n<ul>\n<li><strong>tipo<\/strong>: tipo de commit, refiri\u00e9ndose a su contenido.<\/li>\n<li><strong>\u00e1mbito<\/strong>: opcional, sirve para dar informaci\u00f3n contextual. Ej.: nombre del m\u00f3dulo o paquete<\/li>\n<li><strong>descripci\u00f3n<\/strong>: el asunto del commit<\/li>\n<li><strong>cuerpo<\/strong>: opcional, deber\u00eda aportar m\u00e1s informaci\u00f3n que la descripci\u00f3n<\/li>\n<li><strong>nota al pie<\/strong>: opcional, se usa para indicar meta informaci\u00f3n sobre el commit<\/li>\n<\/ul>\n<h3>Tipo<\/h3>\n<p>Indica el <strong>tipo de commit<\/strong>, refiri\u00e9ndose a su contenido.<\/p>\n<p>La especificaci\u00f3n ofrece una gu\u00eda para los tipos, aunque puede modificarse y\/o adaptarse a las necesidades de cada equipo o empresa.<\/p>\n<p>Existen diferentes listas de tipos recomendados, la que m\u00e1s nos gusta es la siguiente:<\/p>\n<ul>\n<li><strong>build<\/strong>: cambios relacionados con la construcci\u00f3n o compilaci\u00f3n, por ejemplo, cuando se a\u00f1aden herramientas externas.<\/li>\n<li><strong>chore<\/strong>: un cambio en el c\u00f3digo que un usuario externo no ver\u00e1, por ejemplo, un cambio en el archivo .gitignore<\/li>\n<li><strong>feat<\/strong>: una caracter\u00edstica nueva<\/li>\n<li><strong>fix<\/strong>: una correcci\u00f3n de errores<\/li>\n<li><strong>docs<\/strong>: cambios relacionados con la documentaci\u00f3n<\/li>\n<li><strong>refactor<\/strong>: un cambio que no corrige un error ni a\u00f1ade una caracter\u00edstica, por ejemplo, cuando se renombra una variable o funci\u00f3n.<\/li>\n<li><strong>perf<\/strong>: c\u00f3digo que mejora el rendimiento<\/li>\n<li><strong>style<\/strong>: un c\u00f3digo relacionado con el estilo<\/li>\n<li><strong>test<\/strong>: a\u00f1adir un nuevo test o hacer cambios en un test existente<\/li>\n<\/ul>\n<h3>\u00c1mbito<\/h3>\n<p>El campo \u00e1mbito es opcional y sirve para dar informaci\u00f3n contextual como por ejemplo indicar el nombre del m\u00f3dulo o paquete al que afecta el commit.<\/p>\n<p>Puede ser complicado determinar si se tiene que usar o no, pero en caso de usarse tiene que ir entre par\u00e9ntesis.<\/p>\n<p>Un listado de posibles \u00e1mbitos es:<\/p>\n<ul>\n<li>theme<\/li>\n<li>init<\/li>\n<li>runner<\/li>\n<li>watcher<\/li>\n<li>config<\/li>\n<li>web-server<\/li>\n<li>proxy<\/li>\n<\/ul>\n<h3>Descripci\u00f3n<\/h3>\n<p>Se trata del asunto del commit, debe cumplir las siguientes reglas:<\/p>\n<ul>\n<li>Debemos usar el imperativo en ingl\u00e9s o el infinitivo en espa\u00f1ol<\/li>\n<li>La primera letra siempre ir\u00e1 en min\u00fascula<\/li>\n<li>No tenemos que escribir un punto al final<\/li>\n<li>El tama\u00f1o no deber\u00eda exceder los 50 caracteres<\/li>\n<\/ul>\n<h3>Cuerpo<\/h3>\n<p>Es opcional y solo se deber\u00eda a\u00f1adir si aporta m\u00e1s informaci\u00f3n que la descripci\u00f3n.<\/p>\n<p>Las reglas para crear la descripci\u00f3n son:<\/p>\n<ul>\n<li>Empieza despu\u00e9s de una l\u00ednea en blanco.<\/li>\n<li>Se usa el imperativo\/infinitivo, al igual que en la descripci\u00f3n<\/li>\n<li>Debe tener una anchura m\u00e1xima de 72 caracteres, aunque se pueden tener m\u00faltiples l\u00edneas.<\/li>\n<li>Solamente debe contener explicaciones de \u201c\u00bfQu\u00e9?\u201d (what) y \u201c\u00bfPor Qu\u00e9?\u201d (why), nunca de \u00bfC\u00f3mo? (How). Esta explicaci\u00f3n del \u201c\u00bfC\u00f3mo?\u201d se deber\u00eda hacer en la documentaci\u00f3n, si es necesario.<\/li>\n<\/ul>\n<h3>Nota al pie<\/h3>\n<p>Es opcional y se usa para indicar meta informaci\u00f3n sobre el commit.<\/p>\n<p>Las reglas para la escritura de las notas al pie son:<\/p>\n<ul>\n<li>Empieza despu\u00e9s de una l\u00ednea en blanco.<\/li>\n<li>Deber\u00eda usarse en las siguientes situaciones\n<ul>\n<li>Para indicar cambios que rompan la compatibilidad de la versi\u00f3n actual<\/li>\n<li>Para mostrar uno o varios pull-request relacionados<\/li>\n<li>Para mostrar los revisores del commit<\/li>\n<\/ul>\n<\/li>\n<li>Si se incluyen varios de estos temas, cada uno de ellos en una l\u00ednea independiente<\/li>\n<\/ul>\n<p>Algunos ejemplos del uso de esta especificaci\u00f3n en nuestros proyectos<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36218 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie.jpg\" alt=\"\" width=\"602\" height=\"84\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie.jpg 602w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-300x42.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-360x50.jpg 360w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36217 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-2.jpg\" alt=\"\" width=\"602\" height=\"106\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-2.jpg 602w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-2-300x53.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-2-360x63.jpg 360w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36216\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3-300x49.jpg\" alt=\"\" width=\"601\" height=\"99\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3-300x49.jpg 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3-1024x169.jpg 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3-768x126.jpg 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3-360x59.jpg 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2023\/11\/nota-al-pie-3.jpg 1379w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/p>\n<h2>Pr\u00f3ximos pasos<\/h2>\n<p>Con esta especificaci\u00f3n implementada en varias de nuestras \u00e1reas de manera satisfactoria, en hiberus nos planteamos cu\u00e1les ser\u00edan los siguientes pasos para mejorar la calidad de nuestros proyectos usando git como base de nuestros repositorios de c\u00f3digo.<\/p>\n<p>Adicionalmente al uso de la especificaci\u00f3n de <strong>Conventional Commits<\/strong>, el uso de <strong>Merge Request con Gitlab<\/strong> nos ayuda a realizar revisiones por pares en aquellos proyectos en los que es necesario.<\/p>\n<p>De la misma forma, tenemos implementado un sistema de generaci\u00f3n de documentaci\u00f3n en formato MKDocs, usando un contenedor dentro del proyecto, de manera que dicha documentaci\u00f3n se almacena dentro del propio repositorio y est\u00e1 disponible para cualquier desarrollador en el momento en que se clona el proyecto.<\/p>\n<p>En pr\u00f3ximos post comentaremos <strong>c\u00f3mo automatizar la generaci\u00f3n de changelogs, tags y releases<\/strong> dentro de los proyectos mediante diferentes herramientas como Semantic release y Commitizen. Ambas herramientas funcionan de manera similar y nos permitir\u00e1n ir un paso m\u00e1s all\u00e1 en la automatizaci\u00f3n de los procesos internos de desarrollo.<\/p>\n<p>En el \u00e1rea digital de hiberus estamos encantados de acompa\u00f1arte en la estrategia de tu negocio. Si tienes dudas, cons\u00faltanos y conoce nuestros servicios. <strong>\u00a1Te ayudaremos a relanzar y aumentar los resultados de tu negocio!<\/strong><\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de agencia digital y tecnolog\u00eda para ecommerce?<\/p>\n                        <p>Contacta con nuestro equipo de hiberus digital<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/36214#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>A medida que una empresa o departamento incrementa su tama\u00f1o, crecen tambi\u00e9n los retos y dificultades t\u00e9cnicas a las que es necesario&#8230;<\/p>\n","protected":false},"author":23,"featured_media":36221,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[3],"tags":[225],"class_list":{"0":"post-36214","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-negocio-electronico","8":"tag-arquitectura"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/36214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=36214"}],"version-history":[{"count":9,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/36214\/revisions"}],"predecessor-version":[{"id":38051,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/36214\/revisions\/38051"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/36221"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=36214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=36214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=36214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}