Hablemos de su proyecto

Blog de PartITech

Blog tecnológico

Análisis técnicos, guías prácticas y experiencia de campo para diseñar, modernizar y mantener aplicaciones sostenibles.

221 artículos Página 12

Migración y actualización de un servidor GitLab CE

Cada 5 años, es la misma historia y rutina. La versión LTS de Debian expira y es momento de actualizar el servidor. También es una oportunidad ideal para cambiar a una máquina más nueva y beneficiarse de un rendimiento mejorado.Si tenemos un disco duro SATA, es mejor empezar con discos nuevos de todos modos, ya que su vida útil es limitada. Así que procederemos con una serie de copias de seguridad en el servidor antiguo, las transferiremos al nuevo y reinstalaremos todo como estaba. En nuestr...

WordPress: Desactivar el editor Gutenberg en la administración de los widgets

Seguramente no pasó desapercibido para ti que WordPress actualizó su editor de contenido WYSIWYG.Y funciona muy bien para páginas de contenido estándar.Hace unos meses, el editor se implementó en la gestión de widgets. Y entonces, bang…Error de JS al cargar la página:index.js:1:3953Uncaught (in promise) TypeError: e is undefinedY se vuelve imposible editar las barras laterales ya configuradas: "> Mientras esperas a que se resuelva el problema de ...

Reemplazar una cadena en un archivo grande con VI

Un archivo grande, y sin un editor lo suficientemente potente a mano para realizar una búsqueda/reemplazo? Es sencillo con vi. Edita el archivo con el comando vi vi archivo Luego en el editor escribe: :%s/micadena1/micadena2/ Remplacer une chaine dans un gros fichier avec VI Alternativamente, hay otra opción con sed: sed -i -e "s/micadena1/micadena2/g" archivo Si la cadena contiene caracteres especiales, deberán ser escapados con una barra invertida '\' sed -i -...

Microsoft Teams: Unirse automáticamente a una sala de chat desde un enlace en Linux

Hoy en día, usar Teams en Linux es esencial dada su prevalencia en el mundo corporativo.Siempre tendrás un contacto, un cliente o un grupo de trabajo que usa esta herramienta.Y funciona muy bien en Linux. EXCEPTO desde la última actualización, donde los enlaces de acceso directo a las reuniones ya no funcionan.Haces clic en el enlace, se abre una página web, luego haces clic en "Abrir tu aplicación de Teams". Entonces, la aplicación se abre, pero no la conferencia. Y como no est...

Gmail: Liberar espacio eliminando todos los archivos automáticamente.

Descargo de responsabilidad No podemos ser responsables de ningún daño que pueda resultar de las descargas, instalación, almacenamiento o uso de software, scripts o contenido de nuestro sitio web. Tenga en cuenta que, por defecto, Gmail nunca elimina mensajes de su bandeja de entrada. Los archiva.Como resultado, no es raro alcanzar el límite de espacio disponible, incluso cuando acaba de eliminar todos sus mensajes. Gmail los coloca, no en una sección "Archivos", s...

WordPress: Añadir una nueva zona de widget a un tema de WordPress

Si estás familiarizado con los temas de WordPress, sabrás que muchos de ellos vienen con una barra lateral "widgetizada". Esto significa que puedes añadir, quitar y reorganizar widgets en tu sitio web de WordPress usando la sección "Widgets" de tu panel de control de WordPress.Tener una barra lateral widgetizada es muy útil, pero quizás también quieras widgetizar otras partes de tu tema de WordPress. Es bastante fácil de hacer, y una vez que tu tema esté modificado, será sencillo para ti o pa...

Symfony 4 / Sonata: Crear una segunda interfaz con la misma entidad

Aquí veremos cómo crear una segunda interfaz mientras la entidad ya está en uso en una interfaz CRUD.El problema con las interfaces generadas automáticamente es que utilizan el nombre de la entidad para construir las rutas.Si configuramos una segunda interfaz con una entidad que ya se está utilizando, terminaremos con la misma ruta que la primera. Para abordar este problema, utilizaremos estos dos parámetros en nuestra clase de administración para sobrescribir los valores predeterminados.Sup...

Symfony 4 / Sonata: gestionar una interfaz de administración multilingüe

Veremos cómo configurar una interfaz de administración multilingüe con un botón de selección de idioma (conmutador de idioma).Instalación de translationBundle composer require sonata-project/translation-bundle bin/console assets:install El conmutador de idioma requiere un filtro twig específico.De lo contrario, obtendrás un error como:Unknown "language_name" filter.Luego, necesitas instalar estos dos paquetes composer require twig/intl-extra composer require twig/extra-bundle bin/console cac...

Symfony 4 / Sonata : gestionar una interfaz de administración multiserver

Veremos cómo gestionar una interfaz de administración que se conecta a múltiples servidores.En nuestro ejemplo, hemos configurado un servidor MySQL predeterminado que gestiona nuestra interfaz de administración. Usuarios, medios, etc.Y hemos configurado un servidor PostgreSQL que contiene una tabla que deseamos gestionar.Podemos agregar tantos servidores como deseemos.Nuestro Servidor MySQLTradicionalmente hemos configurado una instancia de Symfony Sonata por defecto con una conexión clásica ...

Symfony 4 / Sonata: Usar campos JSON

Vamos a ver cómo explotar los tipos de campo Jsonb de PostgreSQL en una interfaz generada de Sonata.Comenzamos con el supuesto de que ya dominas los conceptos básicos de Symfony, Sonata y PostgreSQL.Primero, creemos una tabla simple en PostgreSQL que contendrá un campo Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextval('public.table1_id_seq'::regclass) NOT NULL, var1 character varying(250), var2 json...

Symfony 4 / Sonata: crear un tipo de campo de formulario personalizado

Vamos a ver cómo podemos crear un tipo de campo personalizado. En nuestro ejemplo, queremos un campo que tenga el mismo renderizado que un campo de tipo MoneyType pero en el cual podamos agregar cualquier sufijo, ya que el campo de dinero solo acepta monedas. Sin embargo, en nuestro proyecto queremos usar kilogramos, meses o incluso kilómetros. En resumen, una gama completa de posibles tipos de datos.Comenzamos creando nuestra clase de Tipo: <?php // src/Form/Type/NumberSuffixType.php na...

Symfony 4 / Sonata : Crear una interfaz de configuración.

Una de las necesidades recurrentes de un proyecto web es la necesidad de parámetros globales para su aplicación. Generalmente, estos se almacenan en un archivo yml y eso es todo lo que necesitas. Pero se complica cuando el cliente pide poder tener control sobre ellos.¿Darles acceso FTP/SSH para modificarlos? No, definitivamente no. Especialmente si se trata de delegar esta tarea a un becario.Necesitarás proporcionarles una interfaz de administración con un formulario para poder modificar est...