El código que he escrito no elimina la configuración enable names,[1] sino que se suma a ella:
- Añadir una configuración
full_names_visible_to_groups(que incluyeadminsymoderatorscomo valores obligatorios). - Añadir un método
can_see_full_names?aGuardian, que realiza un “y” deenable_namesy la membresía del grupo enfull_names_visible_to_groups. - Usar este nuevo método en todos los lugares apropiados donde un nombre completo se expone/emite desde el servidor.
1 y 2 fueron fáciles. 3 es más complicado, y sé que me encontré con algunos obstáculos que no estaba seguro de cómo resolver sin obtener asesoramiento/orientación. Necesito volver a revisar mi código y mis notas en profundidad. (Han pasado más de 2 meses desde que me sumergí en esto.
)
(Si mal no recuerdo, display name on posts y similares son configuraciones del lado del cliente, que afectan la presentación de los datos recibidos del servidor. En otras palabras, una restricción sobre lo que sea que el servidor emita.)
Creo que (1) está cubierto si enable_names es verdadero, lo cual probablemente será lo que casi todos querrán una vez que la nueva configuración por grupo esté disponible.[2]
Creo que encontré y me ocupé de (2) — en su mayoría.[3]
Recuerdo algunos otros casos en los que se filtran nombres completos.[4]
De todos modos, revisaré mis notas e intentaré enviar PRs esta semana, y sacaré a la luz las preguntas abiertas/cabos sueltos en el proceso.
…por una serie de razones, entre ellas: (a) no estaba seguro de cuál era la intención real de la configuración (ver mi pregunta en una publicación anterior), y (b) dejarla en su lugar proporciona una ruta de actualización incremental más segura. ↩︎
…si se adopta la postura de que
enable_names = falsesignifica “Este sitio no utiliza nombres completos de ninguna manera”. ↩︎Por ejemplo, cuando se envía un correo electrónico de invitación a alguna dirección (obviamente no asociada con un usuario, de lo contrario no necesitarían invitación), ¿el correo electrónico incluye el nombre completo del remitente o no? ↩︎
Por ejemplo,
oneboxer.rb, al hacer oneboxing de un usuario local, escribe el nombre completo en el contenido de la publicación cocida, lo que lo hace visible para todos y cualquiera, para siempre. ↩︎