活动社媒题以前常被写成“怎么定时发帖”,但企业版真正值得研究的是:活动计划、社媒账号校验以及后续 CRM 归因在什么边界接起来。把这三件事拆开看,才会明白为什么 event_social 不是个营销小插件。
## 1. 活动时间轴先决定“何时创建 post”,而不是何时给某人发消息
在 enterprise/event_social/models/event_mail.py 与 event_type_mail.py,notification_type 为 social_post 的 scheduler 明确不能走 after_sub。源码是在声明:活动社媒面对的是公开传播对象,所以调度维度必须基于活动时间点,而不是报名人列表。
2. 模板可用不代表一定能投放,账号缺失会直接阻断
同文件里的 _warn_error_missing_information() 会对没有 linked social accounts 的模板发出错误。这个 guard 很关键:系统不允许“活动计划里看着有社媒动作,实际没有可执行账号”。活动层的传播计划因此被强制绑定到 Social 的账号可用性。
3. 一旦真正形成 social.post,后续就能把来源继续带进 CRM
social.post.template 最终会生成 social.post;而在 social_crm/models/social_post.py 中,帖子又能按 source_id 统计 leads/opportunities。于是活动侧的传播节点,并不会停留在计划已执行,而是可以继续被 CRM 读取为一个可归因的来源节点。
4. 实施建议:别把活动计划、社媒运营和 CRM 归因交给三套表
Odoo 企业版之所以值得写,是因为 event scheduler、social account guard 和 CRM attribution 分别属于三个子系统,却围着同一个 social.post 对象连续工作。你拆开维护,就等于主动放弃这条链。
## 结论
所以,Odoo 企业版活动社媒不只是“给活动加发帖按钮”,而是让活动时间轴、社媒账号可用性和 CRM 归因都围绕同一条 social post 主链运转。
主要源码锚点:
- `enterprise/event_social/models/event_mail.py`
enterprise/event_social/models/event_type_mail.pyenterprise/social_crm/models/social_post.pyenterprise/event_social/models/social_post_template.py
DISCUSSION
评论区