User Portfolio

:discourse2: Summary User Portfolio adds a new “Portfolio” tab to the user profile. It can be configured to show the user’s topics from a specific category and/or tag. It also works great alongside the Topic List Thumbnails
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-user-portfolio
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

A portfolio button can optionally be added to user cards:

Screenshot 2020-07-03 at 10.02.07

Settings

Name Description
portfolio category Portfolio category ID. Set to 0 for all categories
portfolio tags Portfolio tags
portfolio icon Icon for portfolio tab and user-card-button
portfolio thumbnail style Thumbnail style for portfolio page (requires discourse-topic-thumbnails to be installed and added to the active theme)
user card portfolio link Display a portfolio link on user cards
portfolio order
portfolio route name name of the portfolio page in the URL, for example /u/username/activity/porfolio
Translation Default
portfolio Portfolio
empty_portfolio This portfolio is waiting to be filled
empty_portfolio_link Get started by adding topics to

:discourse2: Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.

Last edited by @JammyDodger 2024-06-16T13:35:05Z

Check documentPerform check on document:
46 Me gusta

This is terrific! :partying_face:

4 Me gusta

Fantastic component! I’ve long looked for something to make profiles more expressive.

However, thinking about implementing it, one thing is holding me back: I think it would be necessary for users to have more control over what appears on their portfolio. With edits and deletions of posts limited, that’s difficult.

Any idea how to solve this? (Making all posts in the portfolio category wikis could be a solution, though not ideal.)

2 Me gusta

One option to give users more control is a ‘portfolio’ tag which they can apply to their posts. But you’re right, they can’t remove it later without edit privileges. Wikis are a good workaround.

Any changes to editing permissions wouldn’t be possible in a theme component, so we’d have to explore a core change or a plugin to make it possible.

6 Me gusta

Actually this feature has been in the Topic List Previews plugin since Oct 2019 and was carried over into the TLP Theme Component:

https://meta.discourse.org/t/topic-list-previews/101646/660?u=merefield

8 Me gusta

Hi David,

Is that possible somehow to add more category to filter the portfolio? I try to add more tags but it not work for me. If I set up category: 0 and add more tags the portfolio gone empty.

Thank you :slightly_smiling_face:

1 me gusta

Gran componente.

No entiendo a qué te refieres con ID de categoría. ¿Es el número de ID interno de la categoría de la cual se toman las publicaciones del usuario a tener en cuenta?

Sería muy útil poder seleccionar varias categorías por su nombre, como en las miniaturas de temas TC.

Sería genial permitir que cada usuario seleccione de qué categorías quiere mostrar mensajes en su portafolio, anulando el valor predeterminado general (si el administrador lo permite).

Otra gran mejora sería agregar una opción para que los administradores seleccionen en la configuración del componente qué grupos de usuarios pueden tener un portafolio (basado en el nivel, o lo que los administradores estimen).

Otra gran adición Sería una excelente manera de crear una galería personal no solo a partir de las publicaciones publicadas en una categoría.
Para lograr eso, se debería implementar algún tipo de categoría privada por usuario, donde los usuarios puedan crear sus publicaciones y mostrarlas en el perfil.

3 Me gusta

¡Hola! Me encanta el plugin, ha sido fundamental para nuestro sitio web durante años.

Sin embargo, hay un problema: normalmente podemos filtrar las publicaciones en el sitio web ordenándolas por fecha de creación en lugar de por fecha de respuesta, utilizando los parámetros para ello: ?order=created

Parece que el portafolio no puede replicar este comportamiento, aunque estoy seguro de que utiliza una consulta simple que debería tener acceso a esta función. ¿Sería algo que podrías añadir?

3 Me gusta

¡Componente increíble, gracias!

Creo que puede ser mucho más que solo una pestaña de portafolio de usuario, puede ser reutilizado como casi cualquier cosa que quieras asociar con los usuarios dentro del foro. La comunidad que albergo se basa en una biblioteca de políticas/recursos y estoy usando este componente para mostrar a todos qué políticas/recursos fueron creados por cada usuario. Supongo que de alguna manera eso es un portafolio, pero de alguna manera la palabra implica algo visual (especialmente dada la integración con el plugin/componente de miniaturas de temas y la imagen en la parte superior de este hilo).

Teniendo en cuenta esa flexibilidad, sería increíble poder cambiar el slug de la URL (he editado el título a Políticas pero el slug se mantiene como u/user/activity/portfolio)

También sería genial si el user_card_portfolio_link se ocultara si el portafolio está vacío.

3 Me gusta

Acordar en tener nombres de categorías para seleccionar, me tomó un tiempo encontrar el ID de una subcategoría.

1 me gusta

Informe de error: el .portfolio-link en .user-nav debe envolverse en un <span>, para que el texto de la etiqueta se oculte en tablet/móvil junto con las otras entradas de user-nav, de lo contrario, simplemente se queda ahí como un :lemon:

2 Me gusta

¡Gracias por los comentarios a todos! Acabo de hacer algunas actualizaciones para abordar algunos problemas y agregar algunas características:

En este momento, no es fácil tener más de 1 categoría (aunque estamos trabajando en algunas características para esto en Discourse en general, así que tal vez algún día), pero noté que solo funcionaba para 1 etiqueta (a pesar de que la configuración de entrada permitía múltiples)… así que esta actualización permite usar múltiples etiquetas para poblar el portafolio.

He agregado una configuración para esto llamada portfolio_order, por lo que ahora también puedes elegir created como opción.

He agregado una configuración llamada portfolio_route_name que permitirá esto. Tenga en cuenta que a menos que sepa lo que está haciendo con la codificación de URL, es mejor ceñirse a una sola palabra para esto y evitar espacios y caracteres especiales.

Investigué la implementación de esto, pero no hay una buena manera de hacerlo. Para saber si está vacío, tendríamos que buscar temas cada vez que se abre la tarjeta de usuario de alguien, lo cual es una solicitud un poco pesada para una tarjeta de usuario (un plugin podría hacerlo de manera mucho más eficiente agregando un campo a los datos del usuario en el lado del servidor con un simple recuento de temas del portafolio).

esto ha sido arreglado

3 Me gusta

En primer lugar, muchas gracias por tomarte el tiempo para implementarlo. Esta sería una función muy solicitada para nuestro sitio. Acabo de descargar el último commit y cambié la configuración, pero no parece estar funcionando. ¿Me estoy perdiendo algo? ¿Es necesario reiniciar Discourse?
image

2 Me gusta

Hmm, no deberías necesitar reiniciar (aunque tendrías que actualizar la página si ya está abierta)

Me funciona en mi sitio de prueba…

Por ejemplo, ordenado por actividad más reciente:

ordenado por los más recientemente creados:

2 Me gusta

¡Sí! Lo siento, me equivoqué, tienes toda la razón. Estoy usando otro plugin llamado Topic List Thumbnails que desafortunadamente a veces no se ajusta correctamente, haciendo que parezca desordenado. Pero funciona perfectamente. ¡Muchas gracias de nuevo!

2 Me gusta

¡Gracias por todas estas correcciones, asombroso!

¿Cuáles son las opciones para crear un plugin de este tipo? ¿Es algo que Discourse consideraría o debería simplemente publicar un tema en el mercado, o algo más?

3 Me gusta

¿Es posible agregar una segunda categoría en este momento?

Además, ¿cómo podríamos implementar portafolios “múltiples”? Por ejemplo, nos gustaría tener una pestaña de portafolio general para todos los usuarios. Pero para nuestros usuarios B2B, nos gustaría agregar una pestaña de “Productos” en su lugar.

Podríamos estar interesados en financiar estas funciones si la implementación no es demasiado compleja.

1 me gusta

Sería interesante si esto cubriera otro caso de uso:

Este gran plugin, pero mal comercializado, da a las personas control sobre los temas que crean, para que puedan seguir contenido como proyectos de bricolaje y demás. Otros usuarios pueden comentar en los hilos, pero sus comentarios se reducen en alcance, por lo que se pliegan debajo de cada entrada.

Sería genial si tu plugin pudiera extraer de múltiples entradas en el mismo hilo, no solo de una imagen de nivel superior. En otras palabras, para construir el portafolio, podría usar todas las imágenes de un hilo, o solo la primera y la última entrada, y así sucesivamente.

4 Me gusta

En realidad, estamos utilizando un plugin hecho a medida que utiliza la última imagen publicada por el autor del tema como miniatura. Lo usamos principalmente con miniaturas de listas de temas, pero el portafolio de usuarios tc debería verse afectado de la misma manera.

@RGJ ¿podemos abrir el plugin para uso público?

3 Me gusta

Está aquí GitHub - communiteq/discourse-topic-thumbnail-recent-post
Tenga en cuenta que solo funciona para temas de diario.

3 Me gusta