数据整理的小例子

Avatar of Chris Coyier
Chris Coyier 发表

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

我不确定“数据整理”是否是一个真正的说法,但这就是我对我即将描述的内容的理解。

我和 Dave 正在考虑为 ShopTalk Show 进行一些重新设计。有点像重新粉刷。偶尔这样做总是好的。但这次我们想从内到外进行设计。围绕我们现有的数据进行设计听起来不太吸引人。我们希望使用更干净的数据。我们需要整理现有的数据,以便它能够打开更多设计可能性。

我们掉进了WordPress的经典陷阱

也就是…把所有东西都倒进默认的内容区域

我们使用了Markdown,我认为 这样做很聪明,但仍然是一堆相当无结构的内容。举个例子

如果每次内容的结构都完全不同(就像博客文章可能那样),那也没问题。但事实并非如此。每个节目都有相同的结构。

这不是WordPress的错

我们只是没有正确地组织数据。您可以在任何CMS中犯这样的错误。

公平地说,可能需要相当长的时间才能形成稳定的结构。当您不知道结构将是什么时,从第一天开始设置数据很困难。说到这里…

我们需要的结构

对于结构化数据而言,一期播客需要以下内容

  • 剧集标题
  • 剧集描述
  • 剧集特色图片
  • MP3
    • 网址
    • 播放时长
    • 大小(字节)
  • 节目主题列表,包含时间戳
  • 链接列表
  • 可选:嘉宾
    • 嘉宾姓名
    • 嘉宾网址
    • 嘉宾Twitter
    • 嘉宾简介
    • 嘉宾照片
  • 可选:广告商
    • 广告商名称
    • 广告商网址
    • 广告商文字
    • 广告商时间戳
  • 可选:职位提及
    • 公司
    • 职位名称
    • 职位网址
    • 职位描述
  • 可选:文字记录

但这仍然不完美

例如:我们将剧集编号作为标题的一部分,这意味着当我们需要单独使用该编号时,我们将在模板中进行字符串操作,这感觉有点笨拙。

另一个例子:嘉宾本身并不是一个程序化的结构。嘉宾不是具有ID的独立数据库记录。这意味着如果一个嘉宾出现在多个节目中,就会出现重复数据。此外,它并不能让我们非常轻松地“显示所有由Rebecca Murphey参与的节目”,而这是我们讨论过想要实现的功能。我们认为未来可能有一些方法可以通过编程来解决这个问题。

幸运的是,这种结构很容易在高级自定义字段中表达

一旦您知道需要什么,ACF 就能让您轻松地构建它并将其应用于您需要的任何类型的页面类型。

我知道其他CMS默认情况下鼓励这种结构。酷。我认为这很聪明。您应该为自己选择YourFavoriteCMS而感到自豪。

在ACF中,我们的“字段组”最终是这样的

我们需要“重复器”字段来处理诸如嘉宾之类的 数据,这些数据需要重复任意次数。这是ACF的PRO功能,这似乎是他们方面的一个天才之举。

开始数据整理

不幸的是,现在我们有了正确的结构,但这并不意味着所有旧数据都会立即到位。我们可以通过几种方法来解决这个问题…

我们可以按日期拆分节目页面的设计。如果是旧节目,则像往常一样输出内容。如果是新节目,则使用漂亮的数据格式。不过,这感觉比我们之前遇到的问题还要糟糕。

我们可以尝试通过编程来解决它。也许我们可以运行一些脚本来解析旧数据,对应该移植到新结构的内容进行智能猜测,并运行它。这绝对是一件非同寻常的事情。即使我们能够编写它,它也可能比手动移动数据花费更多时间。

或者…我们可以手动移动数据。所以这就是我们最终所做的。或者更确切地说,我们聘请了某人来帮我们移动数据。感谢 Max!Max Kohler 是我们的数据整理师。

手动移动看起来确实是最可行的方法。它本质上是数据录入工作,但需要一些思考和决策(因此称为“整理”),因此这是非常适合自己动手或找到一些需要额外工作时间的人来完成的工作。

使用干净且结构化的数据,设计变得容易得多

通过对所有数据进行清理,我能够以更加一致和结构化的方式在设计本身中输出它

最新的 ShopTalk Show 设计并非杰作,但现在所有这些结构性工作都已完成,我们应该能够在下一个设计中更加专注于美学,以及视觉设计的更多有趣部分。