Este módulo devuelve a Odoo lo que una cuenta ya publicó en sus redes sociales: las publicaciones en sí, las cifras que cada una recogió y sus comentarios y reacciones.
Está separado de Social Media Base por lo que cuesta. Base le pide a la red social un número fijo de cosas por cuenta —publicar, eliminar, la serie diaria de la página, las cifras de las publicaciones de los últimos 30 días— y ese número no cambia si la cuenta publicó una vez o diez mil. Todo aquello cuyo coste crece con el historial de la cuenta vive aquí: una llamada por página de publicaciones, una llamada por publicación para comprobar que sigue ahí, una llamada por hilo de comentarios. Una instalación que solo escribe y publica no tiene que pagar por nada de esto.
Social Media Base nunca depende de este módulo ni lo invoca. Donde base necesita algo que solo la sincronización sabe hacer, declara un hook vacío y continúa, de modo que base funciona instalado solo.
Características principales:
- Importación de las publicaciones que una cuenta ya publicó, y de las cifras que cada una recogió por antigua que sea. Base relee por su cuenta las publicaciones de los últimos 30 días y las dibuja en el diálogo Statistics; lo que añade este módulo son las vistas que abarcan todo el historial —la lista de publicaciones, sus filtros de búsqueda y el formulario ordinario— y los likes y los comentarios que el pie de una tarjeta de panel dibuja para las redes sociales cuyo conector los reporta. Una publicación anterior a esa ventana solo lleva cifras una vez que se ha ejecutado esta importación.
- Sincronización inicial justo después de vincular una cuenta, que importa lo que la cuenta ya publicó. Un cron mensual recoge las cuentas que aún la esperan, y esa misma pasada vuelve a pedir la serie diaria de estadísticas para una cuenta cuyo historial no se pudo leer cuando Social Media Base lo rellenó en la asociación.
- Resincronización completa semanal, la única pasada que detecta una publicación eliminada del lado de la red social.
- Verificación de que una publicación sigue existiendo en remoto, para las que nadie abre: la pasada semanal le pregunta a la red social por ellas, y una reacción o un comentario respondidos con un not found hacen que se pregunte por la publicación misma antes de marcar la línea. Preguntar por la única publicación que un usuario abre es cosa de Social Media Base y cuesta la misma llamada con o sin este módulo.
- Hilo de comentarios de una publicación, leído desde el panel: se escribe un comentario bajo la cuenta de la publicación, se responde a un comentario donde la red social sirve las respuestas, se elimina un comentario del hilo tras una confirmación, y Recommend alterna la reacción de la cuenta sobre la publicación y sobre cada uno de sus comentarios. Cuáles de ellos sirve realmente una red social lo declara su conector, y solo entonces se ofrece la entrada.
Este módulo no implementa la API de ninguna red social en particular: aporta las acciones programadas, el frontend y la interfaz común, y un conector de sincronización es lo que implementa las llamadas para una red social. Lo único que obtiene por su cuenta es el medio de una publicación importada, desde la URL que le entrega el conector.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 17.0Importa en Odoo las publicaciones que una cuenta ya ha publicado en redes sociales, junto con sus cifras, comentarios y reacciones, para que el panel social muestre el historial completo y no solo lo que Odoo mismo publicó.
Este módulo llena el panel social con lo que una cuenta ya publicó en sus redes sociales: las publicaciones en sí, las cifras que recogió cada una y sus comentarios y reacciones. Funciona sobre el módulo social base y añade el lado de lectura, mientras que el base mantiene el lado de publicación.
- Cuando se vincula una cuenta, se marca para una primera importación y un trabajo programado trae sus publicaciones poco después; el panel se recarga solo cuando termina la importación.
- Una comprobación periódica puede marcar una cuenta como con publicaciones pendientes de importar, y el panel muestra un aviso nombrando la cuenta; el aviso desaparece una vez que se ejecuta la importación.
- Una resincronización completa, disponible desde el formulario de la cuenta y desde un trabajo programado, vuelve a leerlo todo para que se detecten las publicaciones eliminadas en la red social.
- En cada publicación, los usuarios pueden recomendarla o dejar de recomendarla, leer sus comentarios y respuestas, escribir un comentario o una respuesta, recomendar un comentario y eliminar un comentario donde la red lo permita.
- Las imágenes y los vídeos de las publicaciones importadas se descargan y se adjuntan, dentro de un límite de tamaño y con los vídeos desactivables mediante un ajuste del sistema.
- Si falla una importación, se deja una nota en la cuenta para el usuario responsable, que puede reintentarlo con el botón Update.
El módulo extiende social.account y social.post.account y ajusta las pantallas de lista, formulario, kanban y búsqueda de publicaciones y cuentas.
Depende de
Lo necesitan otros módulos
Modelos y campos (2)
- social.account · amplía un modelo existenteposts_need_import, pending_initial_sync
- social.post.account · amplía un modelo existenteactor_urn (Author Reference), liked_by_account (Recommended)
Texto generado por IA (DeepSeek) al leer el código de la versión 17.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 17.0
Confirmado el 2026-11-03 en la rama 17.0 de OCA/social.
terminal Instalación y uso
Documentación de OCA · Odoo 17.0Instalación
Fuente · Odoo 17.0Este módulo depende de Social Media Base y no se instala con él: un Odoo que solo escribe y publica no lo necesita, y el sentido de tenerlo aparte es no pagar por lo que hace.
No aporta nada propio para una red social en particular. Un conector de sincronización es lo que implementa las llamadas para una de ellas, del mismo modo que Social Media Linkedin o Social Media X implementan la publicación. Instalado sin uno, las acciones planificadas se ejecutan, no encuentran nada que preguntar a nadie y lo dejan todo como está.
Configuración
Fuente · Odoo 17.0No hay que configurar nada para que este módulo funcione: usa las cuentas, las credenciales y los grupos de Social Media Base.
Lo que sí merece revisarse son las dos acciones programadas que añade, en Ajustes / Técnico / Automatización / Acciones programadas:
- Social: Initial sync of the new accounts se ejecuta mensualmente y también se lanza al momento cada vez que se vincula una cuenta. Solo recoge las cuentas que aún esperan esa primera importación, así que la ejecución mensual es una red de seguridad más que el camino normal.
- Social: Full resync of the accounts se ejecuta semanalmente. Es la única pasada que detecta una publicación eliminada en la red social, y la más costosa: lee todas las publicaciones de todas las cuentas, una llamada por página. Hacer que se ejecute con más frecuencia es lo que convierte una eliminación detectada unos días tarde en un problema de cuota.
Ambos intervalos son los que hay que mover si la red social de una cuenta es estricta con las cuotas.
La retención de los medios descargados es un parámetro del sistema, en Ajustes / Técnico / Parámetros / Parámetros del sistema, al que solo llega un administrador: social_media_sync.media_max_age_days. El módulo lo instala en 0, así que está ahí para encontrarlo, y cero no es ninguna política: nunca se libera ningún medio.
Un parámetro del sistema contiene texto, y este se lee como un número de días. Un valor que no se puede leer como tal —una palabra— se toma como ninguna política y deja un aviso en el registro; un valor vacío, cero y cualquier número negativo tampoco son ninguna política y no merecen un aviso. En ninguno de esos casos se libera ningún medio.
Escrito como un número positivo de días, el vaciado diario libera las imágenes y los vídeos que este módulo descargó para las publicaciones importadas más antiguas que ese número, y los archivos se eliminan un día después. Una ejecución alcanza mil de las publicaciones antiguas que aún conservan medios. Una publicación ya liberada deja paso a la siguiente ejecución en lugar de ocupar el lugar de otra, así que una base de datos con más publicaciones antiguas que esa cifra se libera por completo a lo largo de las ejecuciones siguientes. Dos cosas que sopesar antes de escribir un número:
- Lo que se pierde es el propio medio. La tarjeta de una publicación antigua se dibuja sin imagen y sin ningún marcador de posición en su lugar. El enlace a la red social, donde el medio sigue estando, se mantiene.
- Lo que se conserva es lo que cada red social hizo de ese medio. La siguiente pasada de sincronización sabe que la publicación ya lo tenía y no lo vuelve a pedir, así que la política libera el disco una vez en lugar de pagar por los mismos bytes cada semana.
Solo se alcanzan las publicaciones importadas desde una red social. Los medios de una publicación publicada desde Odoo son contenido editorial y nunca caducan, sea cual sea la antigüedad de la publicación.
El tamaño de cada medio descargado está limitado por un segundo parámetro del sistema, en el mismo lugar: social_media_sync.media_max_size_mb. El módulo lo instala en 100, en megabytes, y una actualización del módulo no sobrescribe lo que un administrador escribió en él. Un medio se mantiene entero en memoria mientras se ejecuta la importación, y el límite es lo que evita que un vídeo grande la agote.
Un medio mayor que el límite no se descarga. Cuando la red social anuncia el tamaño del archivo, la descarga se detiene antes de leerlo; cuando no lo hace, se detiene en cuanto lo leído supera el límite. La publicación se importa sin ese medio, y un aviso en el registro nombra el medio, su tamaño y este parámetro. Como la publicación no conserva ese medio, cada pasada de sincronización lo vuelve a pedir y se detiene de nuevo en el límite, hasta que el parámetro se eleve por encima de su tamaño. Un vídeo largo bien puede ser mayor que 100 megabytes, así que una cuenta que los publique es la que hay que subir para ello.
Cero no es ningún límite, y tampoco lo son un valor vacío, cualquier número negativo y un parámetro que se haya eliminado: todos los medios se descargan sea cual sea su tamaño, y no se registra nada. Un valor que no se puede leer como un número entero de megabytes —una palabra, un decimal— no elimina el límite: se toma como 100 y deja un aviso en el registro.
Si los vídeos se descargan o no es un tercer parámetro del sistema, en el mismo lugar: social_media_sync.download_videos. El módulo lo instala en True, y una actualización del módulo no sobrescribe lo que un administrador escribió en él. Abarca todos los vídeos que descarga la sincronización, incluidos los GIF animados de X, ya que X los sirve como vídeos. Las imágenes se descargan diga lo que diga, y los vídeos de una publicación publicada desde Odoo pertenecen a la publicación y nunca se descargan, así que no los alcanza.
Escrito como False, no se descarga ningún vídeo a partir de entonces. La publicación se importa igualmente y sigue marcada como que tiene un vídeo, y su formulario indica que el vídeo no se descargó, así que solo se puede ver en la red social. En LinkedIn además ahorra una llamada por vídeo: no se consulta la API de Videos, que solo responde donde hay que descargar un vídeo.
Desactivarlo no libera nada. Los vídeos ya descargados se conservan, y lo que los libera es social_media_sync.media_max_age_days, junto con las imágenes, para las publicaciones importadas más antiguas que su número de días.
No se conserva ninguna referencia de un vídeo que no se descargó, así que escrito de nuevo en True no necesita nada más: la siguiente pasada de sincronización que lea una publicación a la que aún le falta su vídeo lo descarga. La resincronización completa es la pasada que lee todas las publicaciones de una cuenta, así que en una cuenta con un historial largo es la que trae, en una sola ejecución, todos los vídeos omitidos mientras tanto, cada uno de ellos sujeto al límite de tamaño anterior.
Solo False y 0 desactivan las descargas, en cualquier caso y con cualquier espacio alrededor; True, 1 y un parámetro que se haya eliminado descargan. Un valor que no se puede leer como ninguno de los dos —una palabra, una errata— no detiene las descargas: se toma como True y deja un aviso en el registro nombrando el valor que leyó.
Importación de lo que una cuenta ya publicó.
- Justo después de vincular una cuenta, se importan sus publicaciones y sus estadísticas: la acción programada Social: Initial sync of the new accounts se ejecuta al momento y el panel muestra la cuenta como sincronizando hasta que termina.
- Si esa primera importación falla, la cuenta deja de esperarla y no se reintenta por sí sola: pulsa el botón Update del panel para importarla de nuevo. El motivo queda en el chatter de la cuenta, porque la acción programada se ejecuta sin nadie conectado a quien notificar.
- Si la importación pierde una carrera contra otra actualización de la misma cuenta, mantiene la cuenta en espera y pide a la acción programada que vuelva unos minutos más tarde. A diferencia de una petición web, una acción programada no recibe reintentos propios.
- Si la red social no deja ejecutar la importación —las peticiones del plan están agotadas, y la cuenta recibe un aviso que lo dice— no se trae nada y no se registra nada como fallo: la cuenta sigue esperando y se pide a la acción programada que vuelva unos minutos más tarde. El botón Update del panel se comporta igual, y solo deja de anunciar la primera importación una vez que la red social se leyó de verdad.
- Las publicaciones creadas fuera de Odoo son las únicas cuyos medias tiene que descargar la importación, y por tanto las únicas cuyas imágenes aparecen en el panel después de ella en lugar de antes: una publicación enviada desde Odoo ya comparte los medias de su post.
- La serie temporal de la cuenta se rellena hacia atrás cuando se vincula la cuenta, mediante Social Media Base, hasta donde la red social responde por día; la primera importación solo la vuelve a pedir cuando ese relleno no se pudo leer entonces. Hasta dónde llega eso pertenece a la red social, no a Odoo, así que dos cuentas bien pueden empezar con una profundidad de historial distinta.
- Después, el botón Update del panel vuelve a importar bajo demanda. Sin este módulo ese botón refresca la serie diaria de la cuenta y las cifras de las publicaciones de los últimos 30 días; con él, la misma pulsación también importa las publicaciones.
- Pulsado sin ninguna cuenta seleccionada, el botón importa solo las cuentas que se sabe que están atrasadas: las que anuncian publicaciones por importar y las que nunca ejecutaron su primera importación. Pulsado sobre una sola cuenta, importa esa cuenta anuncie lo que anuncie. Las cifras de todas las cuentas se refrescan en cualquier caso, porque cuestan un número fijo de llamadas y se mueven sin que se publique nada; es la importación la que crece en coste con el historial de la cuenta.
- El aviso del botón dice lo que encontró la importación. Cuando se leyó la red social de una cuenta y respondió publicaciones que Odoo aún no tenía, dice The data was updated. New publications were imported.; cuando se leyó y no había nada nuevo, The data was updated. No new publications. Leer una cuenta es una actualización aunque ninguna de sus cifras se haya movido. Cuando no se leyó ninguna cuenta —ninguna estaba atrasada, o la red social no dejó ejecutar la importación— el aviso es el de Social Media Base, redactado solo a partir de las cifras.
- Toda importación termina sumando de nuevo las cifras de la tarjeta de cada cuenta que leyó, a partir de lo que acaba de almacenar: el botón Update, la primera importación —una vez más al final, después de la serie diaria, ya que la tarjeta de una cuenta que la tiene se dibuja a partir de ella— y la resincronización completa. Después de Update y después de la primera importación el panel dibuja las nuevas cifras en cuanto termina, sin recargarse.
- Las cifras importadas de una publicación —impresiones, clics en la red social, compartidos, me gusta, comentarios, interacciones y engagement— las añade este módulo a la lista de publicaciones y a su formulario, que abarcan todo el historial. El diálogo Statistics de una tarjeta pertenece a Social Media Base, que vuelve a leer esas cifras para las publicaciones de los últimos 30 días por su cuenta; sin este módulo la lista y el formulario muestran solo los clics rastreados, contados por el rastreador de enlaces.
- Los totales que un post suma a partir de sus publicaciones —me gusta, comentarios, clics, compartidos, interacciones y engagement— los dibuja este módulo en la lista de posts, y Clicks, Interactions y Engagement en la tarjeta kanban de un post; sin él esas columnas y esa tarjeta llevan un cero que nada puede convertir en un número.
Qué anuncia cada aviso de una tarjeta.
Tres cosas distintas pueden estar pendientes en una cuenta, y cada una tiene su propio aviso y su propia salida. Son independientes: una cuenta puede arrastrar una, dos o las tres a la vez, y ninguna dice nada de las otras.
- Las credenciales caducaron. El aviso de Social Media Base. Solo una nueva autorización lo quita, y el botón Update no.
- La primera importación está en curso. Lo dibuja este módulo mientras la acción programada trae lo que la cuenta ya había publicado.
- Hay publicaciones por importar. Lo añade este módulo cuando la comprobación de actualizaciones encuentra que la cuenta avanzó en la red social. El botón Update es lo que lo resuelve, y el aviso desaparece por sí solo una vez terminada la importación, sin que se recargue la página.
Solo una red social cuya API puede saber que una cuenta avanzó sin leer sus publicaciones levanta el tercero. Donde no puede —leer la línea de tiempo es la importación— no se anuncia nada entre dos ejecuciones, y esas cuentas se importan en cada pasada.
Detectar lo que se borró en la red social.
- La importación ordinaria pregunta a la red social solo por lo que necesita, que es lo que la mantiene asequible en una cuenta con miles de publicaciones. Lo que no puede detectar así es que una publicación se borró en la red social: no queda nada por lo que preguntar.
- La acción programada Social: Full resync of the accounts lo lee todo de nuevo una vez a la semana y lo reconcilia, y cada conector puede ofrecer también ejecutarla bajo demanda desde el formulario de la cuenta. Una publicación borrada en la red social puede por tanto tardar hasta una semana en notificarse como tal.
- Una publicación que se encuentra ausente se marca como Deleted y conserva su referencia en la red social: la detección no es infalible, así que una línea marcada por error puede reconocerse y restaurarse en la siguiente pasada completa.
- Abrir una publicación ya pregunta a la red social sin este módulo, así que un borrado con el que se topa el usuario se marca de inmediato en cualquier caso. Lo que añade este módulo es detectar los que nadie abre.
Comentarios y reacciones.
- Comentar una publicación desde el panel publica el comentario en la red social, bajo la cuenta de la publicación, que es lo que anuncia el compositor.
- Responder a un comentario mueve el compositor debajo de él, para que la respuesta se escriba donde se va a leer. Una vez publicada la respuesta el compositor vuelve a la cabecera del diálogo; solo una respuesta rechazada por la red social conserva la posición, para que el reintento empiece bajo el mismo comentario. Pulsar de nuevo la entrada devuelve el compositor a la cabecera del diálogo, que también lo mantiene mientras el comentario respondido no está en la lista.
- Un comentario se responde donde la red social sirve las respuestas. Donde todo el hilo ya llega con los comentarios, las respuestas se anidan a partir de lo que ya está en pantalla y no se pide nada más.
- Recommend se ofrece tanto en la publicación como en cada uno de sus comentarios, y se envía bajo la misma cuenta. Solo se muestra donde la red social lo admite en comentarios: un conector que los recomienda se declara, y la entrada no se renderiza para las publicaciones de los que no.
- La entrada es un conmutador: una red social guarda una reacción por cuenta, así que dibuja lo que la cuenta ya recomendó y pulsarla ahí retira la reacción. Una red social que no se pudo leer deja la entrada como estaba dibujada en lugar de afirmar una cosa u otra.
- Una reacción o un comentario que falla con un not found no marca la publicación como borrada por sí solo: primero se pregunta por la publicación, porque una red social responde lo mismo para una referencia que no reconoce y para un permiso perdido.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.