August 27, 2008

Meta Fields and Wiki-tags

Previously, the way meta data was saved on melative was using bbcode (described near the bottom of this post). This was a good solution as it is similar to ml tags and can be easily transformed to xml for filtering (usually just replace [] with <>, of course it wasn’t that simple).

After examining Wikipedia’s wikitext markup, I decided that this is an easier format to work with, for user data entry. While context is everything, here is the basic translation from bbcode to wiki-like markup on melative (I’ll call it double-braced, dubraced for short):

bbcoded: [artist]Love Is All[note]Original music[/note][/artist]
dubraced: [[artist|Love Is All|Original music]]

bbcoded: [character]Tyler Durden[actor]Brad Pitt[/actor][note]multi[/note][/character]
dubraced: [[character|Tyler Durden|Brad Pitt|multi]]

bbcoded: [character]Nogizaka Haruka[note]?????[/note][/character]
dubraced: [[character|Nogizaka Haruka||?????]] (notice double v.bar)

bbcoded: [artist]D[di:][/artist]
dubraced: [[artist|D[di:]]] (notice triple bracket)

The context of what each partition ‘|’ represents differs slightly depending on the containing field (ie. Production, Characters, Standards). While the limit of partitions and meaning has not been decided, 2-3 will be the maximum. Here are the current specs on meta fields:

Base, Production, Standards
[[tag|data|note]]
Characters
[[tag|character_name|actor_name|note]]

Looking at the context for Characters, the tag partition is redundant and should be [[character_name|actor_name|note]], because all tags within the Characters field will be ‘character’.

On another note, this has been implemented, and the variations have been translated from the bbcode format to this format. They are now stored as serialized arrays, rather than the bbcode text. Of course this does take more space, but for the sake of editing ease.

August 22, 2008

Tags and Associations

It was a late start today, but facilities for tagging and associating have been implmented. While editing it still not in place, there are still improvements to be made, but it is working for now.

Tags

  • Tags are now set on a title via the user’s dashboard: (/dashboard/tags/media/title)
  • Control posts via AJAX+API
  • It works even if no tags have been made
  • A quick “Tag This” was place on the media page
  • TODO: tag option in table row dropdowns
  • TODO: XML mix between experience and tags (tag filter on experience)
  • TODO: tag view on title’s main page
  • TODO: most used tags on tagging panel

Associations

  • Associations can be set via the media’s associated page (/media/title/associated)
  • Adding uses traditional POST form
  • The firefox extension is working for associating pages while browsing
  • TODO: editing/removing associations
  • TODO: quick list of a user’s associations in dropdown table control

One bug that can easily be fixed is that tagging does not flush the tags, it merely adds the new tags. Also, when tagging, the newly added tags are not fed into the HTML, and a page refresh is needed, but that is optional at this point.

August 21, 2008

Feature Push

The preious entry describes Associations which the the feature pushed to domain today. Currently there is no application interface for setting associations, but the API is available, and the Firefox extension does allow it (sorry, the xpi is not packaged atm).

Styles were adjusted accordingly, and the images section of media pages was also adjusted for a more fluid look. The secaol column on media pages was also lightly modified for conformity. Most pages should validate xhtml1.1 aside from the random img missing alt attributes.

Still, an important item is sliming down the CSS, but I am no designer, so it will have to wait.

Feature: Associate

What is it?

Previously, melative used a “linkage” system, similar to del.ico.us, though links were posted on media-titles. There was no use of tags, simply sending URIs at titles. Associations are similar to this in that they do not use tags, but are still a kind of bookmark. The key difference is the added value of relation.

Relation is an enumerated value that describes the relations between the URI and the title. It may be a minute detail, but it allows for significant data.

Key Attributes

Certain elements are required, but relation is optional (defaults to ‘general’).

uri
address to be associated
title
page title, or short description of uri
relation
enumeration: general, article, audio, feed, forum, journal, review, video, defaults to general

Example

uri: http://pitchforkmedia.com/article/record_review/16230/cLOUDDEAD_cLOUDDEAD
title: Pitchfork Review of cLOUDDEAD
relation: review

This will “bookmark” the uri as review on the musical album cLOUDEAD.

Very simple, no? The purpose of this is that melative acknowledges vast resources around the net, but does not intend to compete by hosting videos, audio, articles, reviews, etc. Rather, melative associations act as a resource of resources, leading users to useful, user-associated data.

Future

Of course, one future aspect is voting on the usefulness or quality of an association. Theoretically, voting could connect an association to another user’s group of associations, thus “bookmarking” with the same attributes as the primary association, but without a direct entry; (multiple users can associate the same uri, with different titles and relations, but this would allow associating based on a previous association).

note: that last bit may seem confusing

August 20, 2008

Small Push

Tasks

  • Pushed suggestions to title main page
  • User recommendations to user page
  • Tags on title to title main page
  • Style adjustments
    • Reflections main to tabular format
    • Single reflection display padding and image shadow
    • User secacol styling on tags and usage
    • Attempted secacol style generalization
  • Trimed source files of redundant/expired code

Seems like not much was accomplished.