Still Thinking About Fat Posts: Current Fields Audit

In reply to https://orangegnome.com/posts/3633/team-fat-posts

I have still been thinking about this “fat posts” architectural change and have audited the fields across all the post types on my website.

I have still been thinking about this “fat posts” architectural change and even started exploring it in a branch. I thought it would be good to capture all the current fields in use across the various post types, so I took a moment to do that.

As I mentioned in the previous post, all my post types inherit from a base FeedItem. The shared fields from that base model are at the top of the table.

Note Article Photo Like Repost Bookmark
created (datetime)
updated (datetime)
author (*:1 user)
published (datetime)
tags (*:* tag)
syndications (1:* syndication)
in_reply_to (url)
content (text)
title (text)
summary (text)
slug (slug)
image (image)
image_height (int)
image_width (int)
caption (text)
alt (char)
url (url)
source_name (text)
source_author_name (text)
source_author_url (url)
commentary (text)
quote (text)

Looking at the remaining fields, and in the context of collapsing these different models into one, I’m tempted to collapse some of these fields, but am worried about the loss of semantics.

I think Repost content might should actually be quote, shared with Bookmark. Should Bookmark commentary be content? Should Photo caption be content? For Note and Article types, content is The Content, but for Photo and Bookmark, caption and commentary are not part of a greater whole that is The Content. Is the loss of that nuance worth it for fewer fields?