【问题标题】:What is the best approach for storing YouTube content appended to user contributed content?存储附加到用户贡献内容的 YouTube 内容的最佳方法是什么?
【发布时间】:2011-04-07 16:10:47
【问题描述】:

因此,我正在尝试实现与 Facebook 类似的功能,如果用户发布的内容包含链接,我会在其中包含来自 YouTube 的信息,并且在单击它时会嵌入视频。

到目前为止我已经完成了,我只是想知道 Facebook 是如何存储这些信息的。

对我来说有两种选择:

1) 将帖子保存为正常内容(它只是纯文本),如果帖子包含 youtube 链接,则只要该内容被查看,请在 JavaScript 中即时附加该链接。但是我知道,当您发布链接时,Facebook 会为您提供更改标题、描述等的选项。这让我...

2) 生成在查看时附加的 HTML,并将其 存储 在数据库插入级别的帖子旁边。

如果是这样,那不是每个帖子都会增加大量信息吗?如果您想稍后更改您网站上帖子中所有 youtube 内容的格式,会发生什么情况?每个都将单独存储,看起来会很痛苦。

管理和设计此类功能的最佳方式是什么?

干杯,

【问题讨论】:

  • 很可能我认为它介于两者之间 - 存储元信息然后生成视图布局。
  • 虽然人们可以告诉您各种方法的优缺点,但要知道特定公司采用哪种特定方法,则需要为他们工作(并且可能会违反保密协议来告诉您)。我建议您重新表述您的问题,这样您就不会询问 Facebook 做出的具体选择。

标签: javascript facebook design-patterns youtube storage


【解决方案1】:

我会将信息本身存储在数据库中,而不是作为 HTML。即时生成 HTML,但将数据存储在单独的位置。如果您不想添加太多额外的数据库字段,请考虑以某种序列化形式存储信息(如 PHP 中的 serialize())。

无论如何,我总是将信息分开,从不存储自动生成的 HTML,除非它是某种可以重新生成的 缓存

【讨论】:

    【解决方案2】:

    如果您希望用户在其文本中包含他的视频,请在该用户的干预下将链接存储在 HTML 中,然后将其从页面上的数据库中按原样输出。然后您的用户可以编辑他们的帖子以决定是否将视频放在之前、之后、中间或根本不放置,并且可以更改 HTML 中的详细信息。

    如果您以某种标准方式显示视频,则将视频链接与帖子一起存储在单独的数据库列中,并动态生成 HTML。您可以在列中存储大小、颜色等数据...,但灵活性将始终限于您决定存储的内容:如果有颜色的数据库列,那么您让用户选择颜色,否则.. . 不是。

    所以,最灵活的是让您的用户键入 HTML。如果您认为他们不能胜任,或者您想限制他们对可以格式化的内容的选择,您可以使用您在 stackoverflow、wikipedia 等中拥有的类型的 java(script) 富文本编辑器,有可能通过按钮以某些选择的方式编辑文本。您还可以将帖子存储在 XML 中,例如在 HTML5 的选定子集中(在特定容器中有效的任何内容......),并在演示时对其进行转换。

    【讨论】:

      【解决方案3】:

      对我来说,这听起来像是一个太过分的问题。 如果您在帖子表单中实现 ckeditor, 它应该可以解决问题(如果我理解正确的话), 因为在ckeditor中你可以嵌入一个swf/flv, 并且输出将是 html。

      这使编辑能够准确地决定他想要视频的位置(因为他可以在表单中的任何地方添加链接)。

      由于 flv/swf 带有来自 youtube 的元数据,因此您无需保存该数据, 只是视频的链接。

      【讨论】:

        猜你喜欢
        • 2012-07-18
        • 2011-04-04
        • 1970-01-01
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-06
        • 2021-04-24
        相关资源
        最近更新 更多