Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2004-04-06 22:17:42

mattmoss
Member
Registered: 2004-03-29
Posts: 23
Website

Of Textpattern and Orthogonal Classification

I find the setup of sections and categories (and the articles, links and images that use them) a bit… unsatisfying for me. I think I can accomplish what I want to do with the system as-is, but let me put forth some ideas and see what y’all think.

How do we classify? Often it’s done by throwing things into appropriately named buckets. So I name some buckets “Articles”, “Projects” and “Tutorials”. I gather some data, wad them up and toss them into the appropriate bucket. Classification done; three buckets.

But now I want to be more detailed. Let’s say I’m dealing with software on a few different platforms. I get the original buckets and some new ones and rename them: “Articles-Mac”, “Articles-Windows”, “Articles-Linux”, “Projects-Mac”, etc. Regather the data, toss them into the appropriate now-more-detailed bucket. Classification done; nine buckets (or a lot more if you have more than 3×3 classifications).

We can get even more detailed. Let’s say for “Projects-*” we have shareware and freeare. We’re up to 12 buckets in total. Want to divide up “Tutorials-*” with things like graphics, sound, event handling, etc? Start multiplying and adding, and get yourself down to the hardware store with a credit card: you’re going need a lot of buckets.

Hierarchical classification is similar, but cleaner than the flat classification. You still are going to need a lot of buckets, but (a) you’ll need buckets of different sizes, so some can fit in others, and (b) your bucket labels will be smaller. You may have three buckets named “Mac”, one each going into larger buckets named “Articles”, “Projects” and “Tutorials”. Actually, you’ll need more buckets than before, but overall you’ll have less clutter on the floor, since the smaller buckets are hidden away until you go looking for them.

Hierarchical classification is how many filesystems are organized; outlining software works with hierarchies, and many people setup their websites in such a fashion as well.

Does textpattern have hierarchical classification? Not for sections; sections are flat. However, categories are hierarchical….. almost. Textpattern (at this time) does not allow you to create a “Mac” under “Projects” and a “Mac” under “Articles”; it’s really a flat classification with a bit of nesting thrown in.

Why all this gibberish about classifications? Let’s go back to our buckets, and imagine that there are other ways (and more numerous ways) that you want to classify things. With my 3×3 classification, I was up to 9 buckets. You can easily get many more than that, and you have to realize that you may be making identically labelled buckets, just sitting under different parents. How many buckets do you want to manage?

What if you could group them differently? Orthogonally? For instance, let’s look at things under “Projects”. We mentioned three platforms: “Mac”, “Windows” and “Linux”. Ignoring cross-platform software, a wadded up chunk of data only need be in one of these. Likewise, that wad will only be in one of “Shareware” and “Freeware”, and one of “Articles”, “Projects” and “Tutorials”. The wad may be “Projects-Mac-Freeware”, or “Tutorials-Linux”, or “Articles-Mac”, or “Projects-Windows-Shareware”, but never combinations like “Mac-Windows” or “Tutorials-Articles”.

What we have are orthogonal classifications, or better yet, facets. We have a PLATFORM facet, a TYPE facet (for articles vs projects), and a DISTRIBUTION facet. We classify a wad of data by choosing no more than one item from each facet (i.e., we choose either zero or one from each facet).

No longer can we think of buckets… Or we can, but our picture is a little strange. Our wads sit in more than one bucket at a time. But why do all this?

1. Fewer buckets; there were several “Mac” buckets before, now there’s just one.
2. Easier naming (same as hierarchical) than flat bucket system.
3. Conceptually simpler. We can think of one facet at a time, ignoring the others, and progressively narrow the search. That works in hierarchies as well, but with orthogonal facets, you can do it in any order.

Having orthogonal facets also means you never need question where things go; if you’re wondering whether some particular wad of data would be better classified as “this” or “that”, it most likely means your classifications aren’t quite orthogonal.

I think I’m probably rambling on too much, so I’ll get to these last bits and be done. For one example of faceted organization, check out XFML and FacetMap , the latter which has a reasonable example for classifying wines.

Finally, to the guts of the matter… Textpattern’s classification is, perhaps, a bit strange. It’s not merely flat; it’s not completely hierarchical; it’s only partially capable of orthogonal classification. It uses one set of buckets (section) to classify and structure/style, and another set of buckets (categories) to help classify. It’s also a bit strange in that articles have two category slots (which gives one degree of orthogonality assuming the user is careful of bucket selection), links and images have one slot, and all three pull their categories from different tables. Now, I’m not suggesting right out and out of ripping textpattern apart and shoving facets in there, but ask you to imagine “What if…”.

Last edited by mattmoss (2004-04-06 22:22:48)

Offline

#2 2004-04-06 22:38:42

ngungo
New Member
Registered: 2004-04-03
Posts: 4

Re: Of Textpattern and Orthogonal Classification

I have the similar feelings but don’t know how describe it. Thanks, mattmoss.

ngungo

Offline

#3 2004-04-06 22:44:31

mattmoss
Member
Registered: 2004-03-29
Posts: 23
Website

Re: Of Textpattern and Orthogonal Classification

I should say that having a lot of buckets such as “Projects-Mac-Shareware” and “Projects-Windows-Freeware” and so on is an orthogonal classification. It just can become unwieldy very quickly compared to using faceted classification.

It’s similar to doing object-oriented, polymorphic programming in C instead of C++. It’s possible, but you’ve got more work to do (whereas the language and compiler do the work for you in C++).

Offline

#4 2004-04-07 07:10:34

mamash
Member
From: Prague
Registered: 2004-02-21
Posts: 127
Website

Re: Of Textpattern and Orthogonal Classification

Have you thought about the TXP way as of a matrix? One axis – sections that deal with different structures/layouts/styles (news, reviews, tutorials). Second axis – categories that deal with different contents or topics (hardware, software, windows, mac, whatever). Throwing in category hiearchy gives more.

Though I admit I can imagine devising multi-dimensional matrixes as well.


Who’s gonna textdrive you home tonight?

Offline

#5 2004-04-07 12:54:00

mattmoss
Member
Registered: 2004-03-29
Posts: 23
Website

Re: Of Textpattern and Orthogonal Classification

Yes… But it’s not always a complete matrix.

1. With its section and a category, you have two axes. That, in itself, allows two orthogonal choices, although not to the same extent that XFML or FacetMap allow. With the latter two, each facet is a hierarchy; with textpattern, sections are flat and categories are nested flat. (I don’t know whether categories were supposed to be hierarchical or not.) A third orthogonal choice can be added to articles, as it currently allows for two categories. The user has to be careful in selection, though, as both categories are pulled from the same pool.

1.5. Sections also have the responsibility of determining S&S — style and structure (and some other settings) — for articles placed into the section; this is a very cool thing about textpattern, and I would not want to eliminate it. But it could be fairly easily handled in a faceted system; you simply mark the facet responsible for S&S. Two months later, don’t like that facet for configuring S&S? Mark a different facet and redesign your pages.

2. Links and images have only one category and no sections; no orthogonality present, unless you want to name all your categories like “Projects-Mac” and “Projects-Windows” and such, which means a lot of maintainence and not terribly attractive to your viewers.

3. There is a problem when trying to associate articles to links/images, as they don’t share the same category pool. You then have the problem of duplicating category names (opening the possibility of typos and mismatches) and figuring out how to propogate article category selections to link/image category selections.

Multi-dimensional matrices can be very useful; in fact, just look at your filesystem and count how many levels deep are some of your directory hierarchies. Or another good example is web browser bookmarks. I may have a hierarchy of bookmark folders “Games/Puzzles” and another as “Computers/Programming”. Now if I find a web page on “Programming Puzzles”, where does it go? Whatever your answer, I’m sure you think it obvious; just realize that other people who are thinking of the other answer think it just as obvious. The problem is that a traditional hierarchical classification can’t properly handle such things; you have to choose one bucket or the other. (Of course, some people play tricks in their filesystems with symbolic links or aliases, but that’s a maintainence headache I’m trying to avoid.)

In all this, I’m not saying “textpattern sucks”; it doesn’t. In fact, it seems to be pretty unique amongst dozens of other tools. And for the time being, I think I can make sections/categories suit my needs. I’m just saying I have the urge to be orthogonal and am openly wondering about an orthogonal textpattern.

Last edited by mattmoss (2004-04-07 13:00:44)

Offline

#6 2004-04-07 16:07:17

Dean
Founder (Gone, but not forgotten)
From: Languedoc
Registered: 2004-02-14
Posts: 235
Website

Re: Of Textpattern and Orthogonal Classification

Good questions; I’m eager to hear this sort of thing from you folks.

One thing that will happen, with the conversion of categories from their currently limited 1-to-1 relationship with their respective content to a more flexible one, category hierarchies such as the following will be possible:

  • Mac
    • support
    • download
    • buy
  • PC
    • support
    • download
    • buy
  • Linux
    • support
    • download
    • grumble

I’m knocking around ideas about subsections, but that’ll be a while away if it appears.


text*

Offline

#7 2004-04-07 20:57:52

Matt
Member
Registered: 2004-02-28
Posts: 92
Website

Re: Of Textpattern and Orthogonal Classification

Matt-
Very thought-provoking stuff.

Working as I do with geographic data, I run into this exact problem constantly. Should I organize my source files by geographic area? By coordinate system (as my software would encourage)? By thematic content?

A facet structure seems like the right theoretical approach, but I can best think of it in terms of breadcrumb trails, similar to the way Amazon.com offers multiple trails to certain products. In my case, the trails to a particular data set might look like this:

  • Data>USA>Oklahoma>Oklahoma Oil and Gas Wells
  • Data>NAD83>Oklahoma State Plane North>Oklahoma Oil and Gas Wells
  • Data>Infrastructure>Oil and Gas>Oklahoma Oil and Gas Wells

If my data can carry all of these trails behind it, I’m only one step away from other related data sets, no matter what the nature of the relationship is. The Oklahoma county lines are just as close as the Kansas gas wells, logically speaking.

I don’t produce much in the way of web content (although TXP makes me wish I had some big pile of information to sort out and present), so I don’t know if I have anything constructive to offer to this particular discussion. Paul Ford, however, has obviously given this issue some thought already.

Last edited by Matt (2004-04-07 20:58:53)

Offline

#8 2004-04-07 22:27:26

jason
Member
From: USA
Registered: 2004-02-23
Posts: 85
Website

Re: Of Textpattern and Orthogonal Classification

But isn’t this the point of having everything in a relational database? Everything’s there, it’s just a question of how to yank it out.

Offline

#9 2004-04-08 00:30:49

Matt
Member
Registered: 2004-02-28
Posts: 92
Website

Re: Of Textpattern and Orthogonal Classification

> jason wrote:

> But isn’t this the point of having everything in a relational database? Everything’s there, it’s just a question of how to yank it out.

Yeah! Exactly! Which is why I’m hoping that the OS of the future is a glorified CMS- a database that replaces folders and files with an indexed set of records that are collected and sorted in as many different ways as the user can think of.

But for txp, similar chains of association could be built out of Dean’s heirarchical category structure, along with some m:n joins between articles and categories.

Offline

#10 2004-04-08 01:04:20

mattmoss
Member
Registered: 2004-03-29
Posts: 23
Website

Re: Of Textpattern and Orthogonal Classification

Matt,

I think you have the basic understanding of what I’m getting at. Of course, none of this faceted stuff is automatic; the user/developer has to understand the concept of orthogonality of classification and be able to create classifications in that manner. The “trail of breadcrumbs” then shows a history of how you came to the current data selection; you’d get the same data selection if your trail contained the same components but ordered differently.

Let me come up with another simpler example. Let’s say I invite all textpattern users out for ice cream. (Ummmm, I didn’t just suggest that, did I?) The waitress comes over and recommends the special: 1 flavor ice cream, 1 syrup, 1 crunchy topping and optional whipped cream. We all decide to order the special (because it’s cheap, and we’re all poor…. oh, except I’m paying, which means I’m poor).

You scan the list of ice creams and pick chocolate. Then you head on over to syrup and pick marshmallow. Then you pick chopped nuts from the toppings, and have whipped cream.

Dean’s approach is to have a solid base and work on adding flexibility into his creations. The base: vanilla. He also knows he oreos on top. He skips the whipped cream (watching his waist), but then gets to thinking about syrups and picks hot fudge.

I just love M&Ms and decide those have to be on there. And because I like deluxe-everything-comes-with-it stuff, rocky road is my base. I skip the syrup (tooth decay, you know), but add the whipped cream.

Now, you see, we all took different paths to getting our ice cream:
You: Chocolate > Marshmallow > Chopped Nuts > Whipped Cream
Dean: Vanilla > Oreos > Hot Fudge
Me: M&Ms > Rocky Road > Whipped Cream

Now, I could have picked “Rocky Road > M&Ms > Whipped Cream” or “Whipped Cream > M&Ms > Rocky Road” or a few other combinations, but I would have gotten the same thing every time. And I didn’t have to worry that I was picking the M&Ms that come with Rocky Road versus the M&Ms that come with Vanilla since, in the end, M&Ms are M&Ms.

Some other folks may want fancier stuff, like Double Fudge Ripple instead of mere chocolate, or French Vanilla instead of plain vanilla. Those get handled in the facet hierarchies.

Our facets are:

<pre>
ICE CREAM Chocolate Double Fudge Ripple Vanilla French Vanilla Strawberry

SYRUP Marshmallow Hot Fudge Butterscotch Matthew’s Homestyle Hudson Valley Butterscotch

TOPPINGS Chopped Nuts Almonds Walnuts Macadamias Oreos M&Ms

WHIPPED CREAM Whipped Cream
</pre>

We’re talking about the ice cream special where we each can only have one from each facet; this is how the data gets organized, so you have to design your facets well. In real life, however, I’d be having a few different scoops and throw on all the toppings!

(I’m probably being a bit redundant here and stating the obvious. But once I got started, I had too much fun writing about ice cream. So there!)

Last edited by mattmoss (2004-04-08 01:12:31)

Offline

#11 2004-04-08 02:06:25

Ray
Member
Registered: 2004-03-02
Posts: 150

Re: Of Textpattern and Orthogonal Classification

That’s it…I’m off to the freezer.

Offline

#12 2005-11-03 03:20:54

edumerco
Member
From: Buenos Aires, Argentina
Registered: 2005-06-11
Posts: 17
Website

Re: Of Textpattern and Orthogonal Classification

Hello everybody.

Mattmoss, you are on a great way, let me share another example that may help to put more interest here.

I’d like to use Txp to publish some photos. A simple issue, with many offerts: gallery, zenphoto, albumpattern, photostack, etc. All this gallery software works with hierarquical albums. Of course, the can work, but… say, I have a photo that is a texture of chocolate (keepin’ the gastronomic theme), taken in a birthday. Were should it go? In the “John’s 29’th birthday” album, or in the “textures” album?

Ideally, in both. Almost any photo has a few obvious facets: people, place, event, date, etc. Each person can add other facets.

If anyone wants another examples of this application, let me give 2:

  • f-spot, for photographs, exactly what I just told. Simple, easy, beautiful.
  • gmail, for mail (usign labels instead of folders).

Both make a good and powerful use of facets. So, if we have many custom fields in Txp… why not use them with facets? :-)

Best regards…



EM, Buenos Aires, Argentina.

Offline

Board footer

Powered by FluxBB