• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión

XF2.1 Bienvenido a XenForo 2.1 / Mejoras variadas

XenFacil.com

Administrador
#1
¡Bienvenido a XenForo 2.1!

Se dijo que habría algo especial para acompañar al Lo que ves final en esta serie para XF 2.1, y aquí está. Esta es la primera oportunidad de ayudar a poner a prueba el nuevo conjunto de funciones.
También se dijo que existían varios cambios/mejoras misceláneos que mostrar, por lo que leámoslos.:ok:

Continúar leyendo...
 
Última edición por un moderador:

lms

Administrador
#2
Conversión JSON

Tradicionalmente, siempre se han utilizado las características de serialización incorporadas en PHP como una vía para codificar matrices de datos como cadenas de cara al almacenamiento en la base de datos. Aunque existen algunos beneficios con el uso de la serialización, se ha actualizado la mayoría del esquema para utilizar JSON de un modo avanzado.

Existen algunos beneficios inmediatos para utilizar JSON como es que es técnicamente "más seguro" ya que no codifica/decodifica objetos de PHP. También existen beneficios a largo plazo que pueden ser más relevantes en el futuro.

Uno de los beneficios es que las nuevas versiones de MySQL soportan JSON como tipo de datos de forma más nativa, lo que abre miriadas de vías nuevas para interactuar directamente con datos tipo matríz. No estamos listos para soportar esto aún, ya que precisa de MySQL 5.7/8.0 (o equivalente), pero puede ser ciertamente útil en el futuro, tanto para XF como para desarrolladores de terceras partes. La mayor barrera para ello es que sobre un 70% de los clientes de XF utilizan versiones de MySQL que no soportan las funciones adicionales de JSON, por lo que si se está en esta categoría, se recomienda planear actualizar ahora MySQL :)

Desde un punto de vista programático, se recomienda a los desarrolladores seguir el ejemplo y mover sus datos hacía JSON si no lo han hecho ya y si pueden hacerlo. Para ayudar con la conversión se han agregado algunos métodos helper (ayudante) qaue pueden utilizarse en las clases Setup. Esto es un ejemplo de un paso de la actualización de la GMXF:
PHP:
public function upgrade902010010Step5(array $stepParams)
{
    $position = empty($stepParams[0]) ? 0 : $stepParams[0];
    return $this->entityColumnsToJson('XFMG:MediaNote', ['note_data'], $position, $stepParams);
}
Esto lleva un nombre corto de entidad y una matríz de nombres de columna para realizar la conversión. Los dos últimos argumentos son opcionales, aunque se recomienda si se está convirtiendo una cantidad significativa de datos por hacerla fragmentable y reanudable.
 
Última edición:

lms

Administrador
#3
Avatares por defecto

XF 2.1 introduce avatares redondos por defecto. Son algo más estéticamente agradables:
card-xf2.png
card-xf21.png
Esto explica el nuevo indicador Conectado
Como se decía, algunos prefieren avatares no redondeados en cuyo caso esta nueva propiedad del estilo los hará cuadrados de nuevo:
card3.png
Cambiando este valor a 2px obtendrán el mismo aspecto que en XF 2.0.
 
Última edición:

lms

Administrador
#4
Avatar del último publicador en la lista de foros

Hablando de avatares, también se ha agregado el avatar del último publicador en la lista de foros.

last-posters.png

Para obtener aquí el espacio necesario para los avatares, se han cambiado las estadísticas de temas/mensajes para mostrarse en un formato numérico corto, ej. 1.4K en vez de 1,396.
 
Última edición:

lms

Administrador
#5
Códigos BB y editor de texto enriquecido en mensajes y comentarios de perfil

En algunas comunidades, los mensajes de perfil son un factor esencial para ayudar a sus miembros a atraer a otros. Sin embargo, la experiencia general en cuanto a la creación de este contenido no es tan avanzada como, por ejemplo, las publicaciones estándar del foro. Así que pensamos que era hora de cambiar esto :)
pp1.png
pp2.png

Crear mensajes de perfil permite ahora utilizar el editor de texto enriquecido, códigos Bb completos (y Markdown), emoticonos y todo lo que viene con él.

Las páginas de mensajes de perfil pueden tener varios editores en pantalla en cualquier momento. Intentar inicializar editores de texto enriquecido al cargar la página resulta un trabajo intensivo, por lo que se ha integrado una iniciación diferida que sólo carga el editor cuando se hace clic en él, tal y como se demuestra en las dos capturas de pantalla siguientes.

Este es un mensaje de perfil formateado con cualquier editor de texto enriquecido:

pp3.png
Aquí también puede notarse algo diferente. Para comentar los mensajes de perfil previamente realizados, solo hay que hacer clic en el enlace "Comentar" de la barra de acción del mensaje.

El principal problema que existe aquí es el poder recibir una larga lista de comentarios y tener que desplazarte hasta abajo para hacer clic en el enlace Comentar. Tal y como puede verse arriba se ha colocado una entrada "Escribe un comentario..." a continuación de la lista de cometarios. Haciendo clic aquí, tal y como se menciona arriba, se carga el editor que, de nuevo, también soporta formato enriquecido:
En el caso de preferir la antigua entrada del enfoque anterior para los comentarios, también puede seleccionarse por dársele soporte. Solo hay que activar esta propiedad del estilo:
pp4.png
 
Última edición:

lms

Administrador
#6
Mejor soporte para pantallas iPhone X/Xr/Xs

Cualquiera que tenga actualmente un iPhone con "cortes" o "pantalla recortada" como en la serie iPhone X estará familiarizado con algo como esto:
iphone.png
iOS automaticamente tiene un comportamiento que asegura el ocultar siempre por el corte los no contenidos. Básicamente, restringe la ventana gráfica para que el contenido se ajuste a las "áreas de inserción seguras" .

En XF 2.1 sin embargo, esto se ha mejorado ligeramente por lo que se puede hacer uso del ancho completo de la ventana gráfica garantizando que no se oculte el contenido tras el corte. ¡así luce!

iphone2.png
Actualmente está confirmado que funciona con Safari en iOS aunque teóricamente debiera funcionar además en aparatos basdos en Android P (tales como Google Pixel 3). Si no lo hace ahora, téngase la ceteza de que se mirará su porte en el futuro (es una característica bastante nueva de Chrome. ).

Si se tiene un Google Pixel 3, por casualidad, ejecutando Android P será muy positivo el que se nos haga saber si luce o no de forma similar a la captura de pantalla de arriba de XF 2.0 o bien si es como la captura de pantalla de XF 2.1 :)
 
Última edición:

lms

Administrador
#7
Soporte y cancelar suscripción utilizando la cabecera Lista de cancelar suscripción de los emails

La mayoría de los emails de XenForo son púramente transaccionales y no precisan del mismo trato en términos de cancelar la suscripción. En los emails enviados desde la página "Enviar email a usuarios" del PC Admin, los usuarios solo los recibirán si han optado por ello, ya que se provee un enlace rápido en el pie del email que se lo permite (y que no precisa de inicio de sesión ni desactivar la casilla "Recibir emails de novedades y actualizaciones").

Sin enbargo, la mayoría de los servicios de email proveen una vía mejor de cancelar las suscripciones que no se ha expuesto hasta ahora.

Los clientes que soporten esta característica mostrarán un enlace más prominente de cancelar la suscripción que hará que los usuarios no deban buscarlo en el propio email. Estos son unos ejemplos:

email_unsub1.png
uns1.png
El mecanismo que muestra el enlace "Cancelar suscripción" es la inclusión de una cabecera especial en el email denominada Lista de Cancelar suscripción. El valor en la mayoría de clientes de email prefieren esto a contener una dirección email. Cuando se hace clic, se envía un email a esa dirección. Existe una nueva opción en Opciones de Email que permite especificar la dirección de email a la que se remiten las solicitudes de cancelación de suscripción:
uns2.png
Pueden procesarse manualmente estas solicitudes si así se desea, aunque ... ¡aquí hay una mejor vía!
uns3.png
Si nunca se ha manejado la devolución automática de los emails, esto se hará familiar. Para procesar las solicitudes de cancelar suscripciones automáticamente es preciso crear un nuevo buzón de email específico para este propósito y asegurarse de que es accesible mediante una conexión POP3 o IMAP. Cuando se puebla estos campos con la relevante información de inicio de sesión, XF se conectará por nosotros a ese buzón, leerá los emails y desactivará la preferencia "Recibir novedades y actualizaciones por email" a aquellos usuarios que hayan solictado la cancelación de la suscripción.
 
Última edición:

lms

Administrador
#8
Nueva configuración de autentificación

Ahora que se ha dicho adiós definitivamente a PHP 5.4 se puede comenzar a mejorar aún más las herramientas utilizadas para crear y verificar los hash de contraseña. Desde XF 2.0 se han intentado utilizar las siguientes funciones que se han agregado en PHP 5.5 si es que estaban disponibles:
Ahora que cada cual ejecuta PHP 5.6 como mínimo, ya se pueden utilizar funciones nativas de PHP que cubran todas las necesidades de hash de contraseña.

Desde XF 1.2 se ha utilizado Bcrypt para los hash de contraseña, ya antes de que estuviera soportado nativamente por PHP e incluso hoy permanece como el principal algorítmo de hash por encima de PHP 7.2 y 7.3.

A la vez, PHP agregará métodos de hash adicionales y sería ideal si se pudieran soportar sin tener que realizar cambios en el código. Las funciones antes mencionadas como una interfaz consistente es una parte del camino adoptado, además de flexible, pero hasta ahora no había realmente una forma más sencilla de utilizar un algoritmo diferente, si lo había disponible, o de admitir una configuración más granular .

Sin embargo, PHP actualmente tiene implementado (técnicamente) dos nuevos algorítmos de hash de cotraseña basados en Argon2. Esto se introdujo primero en PHP 7.2 utilizando una variante conocida como Argon2i que se mejora aún más en PHP 7.3 utilizando la variante conocida como Argon2id.

Por defecto, XF intentará utilizar siempre el algorítmo de hash más ampliamente soportado disponible de forma predeterminada, por lo que aún permanece Bcrypt. Pero cuando se tiene una versión apropiada de PHP y los necesarios pre-requisitos instalados (PHP debe compilarse explícitamente con soporte Argon2) estará permitido utilizarlo, por lo que en XF 2.1 ahora se puede. Y es tan simple como agregar varias líneas en el archivo src/config.php.

Lo siguiente activará el soporte Argon2i si se está utilizando PHP 7.2:
PHP:
$config['auth'] = [

   'algo' => PASSWORD_ARGON2I

];
Lo siguiente activa el soporte Argon2id cuando se utiliza PHP 7.3:
PHP:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2ID
];
Y, aunque no es necesario porque los valores predeterminados de PHP debieran ser suficientes (y posiblemente aumentarán con el tiempo), incluso se puede hacer que los hash de las contraseñas sean aún más seguros al pasar parámetros adicionales para controlar varios factores de costo:
PHP:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2ID,
   'options' => [
      'memory_cost' => 1<<17,
      'time_cost' => 4,
      'threads' => 2
   ]
];
Gracias a la flexibilidad de la API para hash de la contraseña en PHP, cualquier cambio en el algoritmo u opciones causará automáticamente el re-hash de cualquier contraseña cuando inicie sesión el usuario.

Aunque se ha recomendado altamente utilizar la última versión de PHP que se soporta y también se recomienda la utilización del hash Argon2i/id si está disponible, hay que vigilar estrechamente en el caso de tener que bajar la versión de PHP o de cambiar de servidor. Si Argon2 repentinamente deja de estar disponible por cualquier motivo, es probable que se encuentren errores y no se pueda verificar ninguna contraseña sin hacer primero un restablecimiento de la misma.
 
Última edición:

lms

Administrador
#9
Mostrado de la contraseña al iniciar sesión

No hay nada tan frustrante como el mal fario que se recibe cuando sabes que has pulsado una tecla de más sin querer y no sabes cual es. Sabes que va a fallar la contraseña, pero no puedes comprobarla porque está enmascarada. ¡Hala, otra vez a empezar!
log1.png
Estoy convencido de que me he confundido al teclear mi contraseña supersegura...
Esto es auto-explicativo :) En XF 2.1 se pulsa el botón "Mostrar" ¡y se revela la contraseña!:
log2.png
¡La veo! ¡Malditos dedos míos! .
Solo asegúrate de que nadie te esté mirando por encima del hombro
 
Última edición:

lms

Administrador
#10
Comprobación de la fortaleza de la contraseña con zxcvbn

A lo largo de los años, hemos deseado implementar los requisitos de complejidad de las contraseñas pero, fundamentalmente, no tienden a funcionar. Sirven como una experiencia increíblemente frustrante, y cuando se combinan con la caducidad automática de la contraseña, solo llevan a la misma contraseña una y otra vez con un número diferente al final. :rolleyes:

En un mundo ideal, la gente utiliza gestores de contraseñas tales como 1Password o LastPass, pero en realidad la gente todavía está seleccionando (francamente) contraseñas basura para hacerlas más fáciles de recordar. Puede que estés familiarizado con el siguiente cómic:

pass1.png
Más de lo mismo, educar a los usuarios en el mejor enfoque. La mayoría de la gente no tiene idea genuinamente de qué es una buena o fuerte contraseña y la ponen sin pensar en ello.

El cómic anterior inspiró mucho a Dropbox para asumir el reto de encontrar una mejor manera de estimar la complejidad de las contraseñas por lo que crearon zxcvbn, que ahora se ha implementado en XF 2.1. Cuando un usuario se enfrente con la opción de elegir una nueva contraseña, verá esto:
pass2.png
Además de la indicación visual sobre la fortaleza de la contraseña, también proporciona una descripción de por qué la contraseña elegida no es excelente:
pass3.png
Todo con la esperanza de que un día le vean el sentido y utilicen alguna fuerte, pero fácil de recordar, como mi contraseña favorita:
pass4.png
 
Última edición:

lms

Administrador
#11
Nuevo proveedor de la verificación en dos pasos: Authy OneTouch

Esperen, ¿acabo de revelar mi propia contraseña? Incluso aunque lo hiciera, no importa. ¡Yo uso la verificación de dos pasos! Sin embargo, a pesar de lo bueno que es, a veces el proceso puede parecer un poco prolongado. Sin embargo, con XF 2.1 ahora es posible habilitar el soporte de Authy OneTouch en el foro que permite enviar una notificación de inserción a su aplicación Authy para aprobar el inicio de sesión. Aquí está en acción:
2s1.png
Para activarlo, es preciso registrarse primero en Twilio para obtener una cuenta y crear una necesaria aplicación y obtener una clave de API. Esta clave debe introducirse en una nueva Interfaz de Usuario (UI) que se ha agregado cuando se visionan los proveedores de verificación en dos pasos.

2s2.png
Aunque no hay mucho que se pueda hacer aquí, la mayoría de los proveedores proporciona una nueva y coherente Interfaz de Usuario (UI) para que los desarrolladores agreguen más opciones avanzadas con verificación en dos pasos personalizada en el futuro.

Una vez configurado el proveedor Authy, los usuarios podrán comenzar a configurarlo. Si aún no tienen la aplicación de Authy en sus teléfonos, se les enviará un enlace para ello en el proceso de acceder al foro.

Desde la perspectiva del usuario, el proceso de acceso al foro consiste en proveer un número de teléfono móvil en el que puedan recibir el código de verificación por mensaje de texto SMS.

Antes de configurar Authy, merece la pena revisar sus precios, ya que solo tienen un nivel gratuito bastante limitado. Las autenticaciones de inserción posteriores se cobran a 0.09$ cada una, lo que podría suponer una cantidad significativa para algunas comunidades. Dicho esto, dependiendo de cada audiencia, es posible que haya menos personas que utilicen la verificación de dos pasos de manera activa, y de ellas es probable que solo necesiten autenticarse una vez cada 30 días.
 
Última edición:

lms

Administrador
#12
Reordenación de las opciones de campos personalizados

En XF 2.1 se ha agregado la capacidad de reordenar las opciones personalizadas de forma simple utilizando arrastrar y soltar:
field_order.gif
Para desarrolladores, si se desea implementar una lista arrastrable propia en los complementos propios puede hacerse de un modo sencillo con las nuevas clases sort.js y XF.ListSorter. En casos avanzados, puede utilizarse nestable.js o algo más personalizado, pero para casos sencillos como se demuestra arriba, esto es muy útil.
 
Última edición:

lms

Administrador
#13
Se dijo que habría algo especial para acompañar al Lo que ves final en esta serie para XF 2.1, y aquí está. Esta es la primera oportunidad de ayudar a poner a prueba el nuevo conjunto de funciones.
Famosas últimas palabras :rolleyes: parece que le pusimos un 11, en vez ;)

¡Pero basta de hablar de las características de XF 2.1! Ahora ve y rompe todo, para que podamos arreglarlo todo, para que podamos lanzar XF 2.1 y luego ¡ya podremos empezar a trabajar en XF 2.2! :D

Gracias a todos por el apoyo y esperamos que disfruten de XF 2.1 :)
 
Última edición:
Arriba