Because of my job, I have been thinking about what is a Content Management System (CMS). Among the slurry of thoughts, I continue to return to sets. Set of users (groups) and content (collection) is the intersect sets and a CMS. This is the an overview of my ideas about CMSs and Sets.
What is a set?
In a generic meaning, a set is a collection of stuff. The items, aka the stuff, which make up a set are known as elements.
Lets create some examples of sets relating to a CMS:
- a group of users who live in Baltimore
- a group of users who I am friends with
- a collection of posts authored by Jimmy
- a collection of pages published in the year 2006
- a group of users who live in New York, joined since 2005, and authored a blog post
The Two Contexts for Sets in a CMS
Group
A group is a set of CMS users.
Content Collection
A content collection is a set of CMS content elements such as blog posts, articles, videos, brochures, etc.
The Types of Sets in a CMS
Before the describing the types of sets, lets create a small sample of users and content elements for a fictitious and simple CMS.
Users
| Name | City | State | Join Year | Sex |
|---|---|---|---|---|
| Joe | Baltimore | MD | 2006 | M |
| Tom | Cherrywood | PA | 2006 | M |
| Sue | Cherrywood | PA | 2007 | F |
| Pam | Baltimore | MD | 2007 | F |
| Ted | Cherrywood | VA | 2004 | M |
Content Elements
| Title | Author | Content Type | Body |
|---|---|---|---|
| Best Food | Sue | Blog Post | The best food is burrito. |
| PHP FAQs | Sue | Blog Post | I recently create a FAQ about PHP. |
| Jump Rope Contest | Ted | Article | At the recent Jump Rope contest. |
| PHP FAQs | Sue | FAQ | The PHP FAQs |
| Kickball FAQs | Pam | FAQ | The Kickball FAQs |
Selective Set / Selective Group / Selective Collection
A selective set is a set of arbitrary elements. In essences, the administrator gets to pick whatever elements the administrator pleases to be in the set. For example, a group of my friends: My Friends := {Joe, Sue, Ted}
For another example, a collection of my favorite blog posts: My Favorite Blog Posts := {Best Food}
Organic Set / Organic Group / Organic Collection
An organic set is a set of elements which share the same value for an attribute. An example in our fictitious CMS is a group of people who live in PA which is a collection of users with the state attribute equal to PA: PA users := {userstate = PA}
or userstate = PA ∈ PA users = {Tom, Sue}
Another example is all content elements which are blog posts:
Content ElementContent Type = ‘Blog Post’ ∈ Blog posts = {Best Food, PHP FAQs}
Syntheses Set / Syntheses Group / Syntheses Collection
After selective sets and organic sets, everything else is a syntheses set. A syntheses set is a set with conditions on which elements belong to the set.
The first type of syntheses set, an Attribute Test Syntheses Set, is a set where the set’s elements have an attribute which passes a test: test(Eattribute) = true ∈ Attribute Test Syntheses Set
For example of an attribute test syntheses group, a group of users who joined after 2005:
userJoin Year > 2005 ∈ Users who joined after 2005 = {Joe, Tom Sue, Pam}
The second type of syntheses set, a Join Syntheses Set, is where two or more selective, organic, or attribute test syntheses set are joined together. They can be joined together via union, intersection, subtraction, or exclusivity.
A common example is a group of people who live in the same city. Now it my seem like an organic group but remember cities names are not unique. They are repeated in different states and countries. To create a group users who live in Cherrywood VA, it is formed taking users who are in the organic group of userCity = Cherrywood and userState = VA which is an intersection of the two groups:
userCity = Cherrywood ∩ userState = VA ∈ Users who live in Cherrywood VA
Another example is my male friends which is the intersection of an organic group and a selective group:
{Joe, Sue, Ted} ∩ userSex = M ∈ My male friends
So here is this bit and if you have questions please ask because I tried to do an overview of my idea. Hopefully soon I will write some of my other thoughts regarding CMSs.
[…] is a follow up thought to my previous post on this […]
Leave a Reply
All comments are moderated for approval after submission. Attention spammers do not waste your or my time by trying to comment.