增加活动描述限制

全站范围

  • 活动描述中的最大字符数——从 1000 增加到 ?? 也许 3000?

我的用户希望在活动描述中输入大量文本。如果希望描述能被导入到 Google 日历等应用中,这将非常有用,因为仅仅将文本放入主题并不能满足该用例。

根据 FEATURE: Add event location/description and "My Events" filter (#746) · discourse/discourse-calendar@bdf8869 · GitHub 的信息,这似乎在数据库中被限制为 1000 个字符——是否有原因没有使用 TEXT 而使用 STRING(1000)?(更多的是一个数据库问题——我不熟悉 Ruby 所要求的任何限制)

这可以增加,或者不设限制吗?

2 个赞

您是指创建事件时弹出对话框中的描述吗?您的用户在其他地方能看到那个描述吗?那么,将描述放在您创建事件的主题中不适用于您的用例吗?

我指的是您创建活动时“描述”下方的文本框

这在活动中显示如下

我们是一个跑步俱乐部,使用描述来提供逐向指示,如果路线很长,人们担心空间不够大。

附加的文本在主题中,但如果用户保存到他们的日历中,它在他们的日历条目中不可见(至少在谷歌日历中是这样),但描述是可见的。

好的,我明白了

这就是我问的原因,他们更希望所有内容都显示在他们的日历上,而无需查看主题。

1 个赞

对我来说,最理想的是将其放在事件预览中

对我来说,这有两个好处

  • 这样可以避免点击事件查看描述,让人们可以判断该主题的事件是否有趣
  • 添加到个人日历也是同样的情况。提前看到描述,我决定是否将其添加到我的日历,这样可以减少不必要的操作

请注意,这只是一个想法。说起来容易做起来难 :sweat_smile:

对我来说主要的问题是,当用户添加事件描述时,系统会出现静默失败。当描述内容超过 1000 个字符时,似乎没有创建事件数据库记录。文本仍然保留在主题中的 [event] 块内,但事件本身对用户来说在任何地方都不可见。

我不得不注意到这种情况的发生,然后进入主题帖子,将描述移到事件块之外。

我在 discourse/plugins/discourse-events/app/models/discourse_post_event/event.rb at 2ad5c29a2cda0513086295c0601cb7524ad5d87f · discourse/discourse · GitHub 看到描述经过了验证,更新 MAX_DESCRIPTION_LENGTH 似乎很简单,但坦白说,我对 Ruby/Discourse 不够熟悉,无法添加数据库迁移,而且无论如何,我也不希望我的版本与标准版本产生任何分歧(尽管也许可以通过插件来实现这种迁移?)。

看起来可以将此字段从 STRING(1000) 迁移到 TEXT,以消除这个问题(参考 discourse/plugins/discourse-events/db/migrate/20250616101945_add_description_to_event.rb at main · discourse/discourse · GitHub ),但我注意到目前仍有 282 个待处理的拉取请求。

2 个赞

巧合的是,这刚刚被报告为一个 bug:如果描述超过 1000 个字符,事件会静默失败

3 个赞