We've sent a verification link by email
Didn't receive the email? Check your Spam folder, it may have been caught by a filter. If you still don't see it, you can resend the verification email.
Started April 15th, 2005 · 4 replies · Latest reply by Rodion 19 years ago
Bram, congratulations on a fantastic website and very cool concept.
I'm thinking of setting up a tag-based website myself, and I wanted you know more about how you built freesound.
You mentioned that you used PHP + MySQL + Smarty.
Let's start with the basic questions:
I'm considering using PostgreSQL. Tell me about your decision for using MySQL. Are you using InnoDB tables?
What made you decide to use PHP? I'm thinking about using Ruby. How long did it take you? Would you do it in PHP again?
For the tagging system, how are you storing the tags to the database? Full text fields? Wouldn't that be slow? Separate table for each tag? Would you create those dynamically? Tell me more.
Thanks in advance. I'm totally fascinated with tags now and I think your site handles them really well.
kacheng
I'm considering using PostgreSQL. Tell me about your decision for using MySQL. Are you using InnoDB tables?
MyISAM tables, not sure about the advantages of using other types. Haven't had any experience with Postgre, but heard many many good things about it. We're using MySQL 4.1.x so we do have the advantage of using subqueries (which I like a LOT).
kacheng
What made you decide to use PHP? I'm thinking about using Ruby. How long did it take you? Would you do it in PHP again?
PHP, because it's "standard" and because I know it. Also because I wanted to get 5.x to know better. 5.x is a MAJOR improvement over 4.x. Also, because smatry templates are so nice, and because I have experience searching the web for things PHP-related (I guess...).
For the tagging system, how are you storing the tags to the database? Full text fields? Wouldn't that be slow? Separate table for each tag? Would you create those dynamically? Tell me more.
Tag-audiofile connections:
ID,audioFileID(index),userID(index),tagID(index),date
(audiofileID + tagID) = unique
Tags:
ID, tag (string + index)
As I'm only doing '=' searches on tags and not 'like' or fulltext (which would be useless imho) it doesn't matter that much.
Hope this helps a bit, let me know if there's more!
- Bram
Thanks Bram,
A couple of questions:
ID,audioFileID(index),userID(index),tagID(index),date
(audiofileID + tagID) = unique
When you say (audiofileID + tagID) = unique, do you mean that when you add the fields together and that is a unique item?
What do you do if there is more that one tag per audiofile? Do you create a separate record for each one?
Thanks!