<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-8119194801488561835</id><updated>2009-03-01T00:11:18.888-08:00</updated><title type='text'>tacomamusic.net</title><subtitle type='html'>Cataloging the ongoing development process of tacomamusic.net, a comprehensive resource for musicians in and around Tacoma, WA</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.tacomamusic.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default'/><link rel='alternate' type='text/html' href='http://blog.tacomamusic.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>izenmania</name><uri>http://www.blogger.com/profile/11196583962256309122</uri><email>izenman@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8119194801488561835.post-1919622548860062253</id><published>2008-02-09T12:21:00.000-08:00</published><updated>2008-02-09T13:03:00.938-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Members'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Design'/><category scheme='http://www.blogger.com/atom/ns#' term='Users'/><category scheme='http://www.blogger.com/atom/ns#' term='Bands'/><title type='text'>Users and Bands</title><content type='html'>The core of the system will be the Users, the Bands, and the relationship between the two. As such, one of the first steps is determining the basic profile elements for both, and how to link them.&lt;br /&gt;&lt;br /&gt;(* = required field)&lt;br /&gt;&lt;h3&gt;Users&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;First Name*&lt;/li&gt;&lt;li&gt;Last Name*&lt;/li&gt;&lt;li&gt;E-mail Address (used as login and primary key)*&lt;/li&gt;&lt;li&gt;Password*&lt;/li&gt;&lt;li&gt;Biography/About Me&lt;/li&gt;&lt;li&gt;Date of Birth&lt;/li&gt;&lt;li&gt;Gender&lt;/li&gt;&lt;li&gt;Profile Image&lt;/li&gt;&lt;li&gt;City/State*&lt;/li&gt;&lt;li&gt;ZIP&lt;/li&gt;&lt;li&gt;Personal website URL&lt;/li&gt;&lt;li&gt;Instruments Played&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Bands&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Band Name*&lt;/li&gt;&lt;li&gt;Unique Identifier (used for the site url and primary key)*&lt;/li&gt;&lt;li&gt;Formation date&lt;/li&gt;&lt;li&gt;Band Bio&lt;/li&gt;&lt;li&gt;Main Band Image&lt;/li&gt;&lt;li&gt;Contact Email&lt;/li&gt;&lt;li&gt;Contact Phone&lt;/li&gt;&lt;li&gt;Band site URL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3&gt;Band Members&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;User key (e-mail)&lt;/li&gt;&lt;li&gt;Band key (url identifier)&lt;/li&gt;&lt;li&gt;User role (determines whether the user can administrate or only edit band profile)&lt;/li&gt;&lt;li&gt;Instrument(s) played in band&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I'm thinking that the User key field will also be permitted to be just a name, if the member is not a user in the system. Then the query for data will determine whether to display the name in the Members table or the name in the Users table. For example, if we start with these three stripped down tables:&lt;br /&gt;&lt;pre&gt;mysql&gt; SELECT * FROM Users;&lt;br /&gt;+-------------------+-----------+----------+&lt;br /&gt;| email             | firstName | lastName |&lt;br /&gt;+-------------------+-----------+----------+&lt;br /&gt;| izenman@gmail.com | Joe       | Izenman  |&lt;br /&gt;+-------------------+-----------+----------+&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT * FROM Bands;&lt;br /&gt;+---------------------+------------------+&lt;br /&gt;| name                | ident            |&lt;br /&gt;+---------------------+------------------+&lt;br /&gt;| This Shirt Is Pants | thisshirtispants |&lt;br /&gt;+---------------------+------------------+&lt;br /&gt;&lt;br /&gt;mysql&gt; SELECT * FROM Members;&lt;br /&gt;+------------------+-------------------+&lt;br /&gt;| band             | member            |&lt;br /&gt;+------------------+-------------------+&lt;br /&gt;| thisshirtispants | izenman@gmail.com |&lt;br /&gt;| thisshirtispants | Jake Westhoff     |&lt;br /&gt;+------------------+-------------------+&lt;/pre&gt;we can do the following:&lt;br /&gt;&lt;pre&gt;mysql&gt; SELECT IF( U.email IS NOT NULL,  &lt;br /&gt;          CONCAT(U.firstName, ' ', U.lastName), &lt;br /&gt;          M.member ) AS name &lt;br /&gt;       FROM Members M &lt;br /&gt;          LEFT JOIN Users U ON U.email = M.member &lt;br /&gt;       WHERE M.band = 'thisshirtispants';&lt;br /&gt;+---------------+&lt;br /&gt;| name          |&lt;br /&gt;+---------------+&lt;br /&gt;| Joe Izenman   |&lt;br /&gt;| Jake Westhoff |&lt;br /&gt;+---------------+&lt;/pre&gt;This will allow seamless integration of users and non-users into member lists. At member addition time, the band administrator will be prompted to either enter a member name or search the user archive for that member's account reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8119194801488561835-1919622548860062253?l=blog.tacomamusic.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tacomamusic.net/feeds/1919622548860062253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8119194801488561835&amp;postID=1919622548860062253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/1919622548860062253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/1919622548860062253'/><link rel='alternate' type='text/html' href='http://blog.tacomamusic.net/2008/02/users-and-bands.html' title='Users and Bands'/><author><name>izenmania</name><uri>http://www.blogger.com/profile/11196583962256309122</uri><email>izenman@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07901080227283060469'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8119194801488561835.post-2817431866763312935</id><published>2008-02-07T20:55:00.000-08:00</published><updated>2008-02-07T21:19:30.526-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Features'/><title type='text'>Features Wish List</title><content type='html'>This is everything I want tacomamusic.net to be, severely abridged. Feel free to chime in with your own ideas.&lt;br /&gt;&lt;h3&gt;Users&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Secure login&lt;/li&gt;&lt;li&gt;General profile - picture, bio, vitals, etc.&lt;/li&gt;&lt;li&gt;A listing of bands that the user is attached to&lt;/li&gt;&lt;li&gt;A calendar of posted events&lt;/li&gt;&lt;li&gt;A calendar of events they plan to attend&lt;/li&gt;&lt;li&gt;A feed of activity from all their favorite artists and calendars&lt;/li&gt;&lt;li&gt;A listing of saved items that a user has marked in other profiles&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Bands&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Created by a user&lt;/li&gt;&lt;li&gt;Other users can be granted edit or admin privileges on a band&lt;/li&gt;&lt;li&gt;Audio media can be uploaded, organized by album&lt;/li&gt;&lt;li&gt;Video can be embedded from YouTube&lt;/li&gt;&lt;li&gt;Bands can be added to events as performers&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Venues&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Venues will be able to create accounts and post show calendars and contact info&lt;/li&gt;&lt;li&gt;Venue accounts will be more strictly regulated, to ensure that the user is actually a representative of the establishment&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Calendar&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;There is one comprehensive calendar of events&lt;/li&gt;&lt;li&gt;Each event is attached to a creator and can be assigned a venue (either plain text or a member of the system) and bands (likewise either plain text or a member)&lt;/li&gt;&lt;li&gt;Users can remove their bands from others' events or requested to be added&lt;/li&gt;&lt;li&gt;Users can mark themselves as planning to attend a particular event&lt;/li&gt;&lt;li&gt;Band profiles have a calendar filtered to just events they are in&lt;/li&gt;&lt;li&gt;User profiles have a "Posted By Me" calendar and an "I am attending" calendar&lt;/li&gt;&lt;li&gt;Venues have a calendar filtered to their attached events&lt;/li&gt;&lt;li&gt;Users will be warned if the system suspects they are posting a duplicate event&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Media&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Bands can upload audio and embed video&lt;/li&gt;&lt;li&gt;Bands must respect other copyrights, and users can flag suspected violators&lt;/li&gt;&lt;li&gt;Tracks can be specified as streaming or downloadable&lt;/li&gt;&lt;li&gt;Users can specify any form of license or copyright on their music.&lt;/li&gt;&lt;li&gt;Reviews can be posted by other users if the band enables them&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;General Interface&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Users will be able to easily navigate through related bands and events&lt;/li&gt;&lt;li&gt;Any item that a user has privileges to edit or influence in some way will be marked as such when hovered over, and clicking edit will pop up an ajax-powered form&lt;/li&gt;&lt;li&gt;The front page will include a recent activity listing, upcoming events, a thumbnail calendar&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Message Board&lt;br /&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Users will have access to a general message board for discussion, reviews, classifieds, etc.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8119194801488561835-2817431866763312935?l=blog.tacomamusic.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tacomamusic.net/feeds/2817431866763312935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8119194801488561835&amp;postID=2817431866763312935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/2817431866763312935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/2817431866763312935'/><link rel='alternate' type='text/html' href='http://blog.tacomamusic.net/2008/02/features-wish-list.html' title='Features Wish List'/><author><name>izenmania</name><uri>http://www.blogger.com/profile/11196583962256309122</uri><email>izenman@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07901080227283060469'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8119194801488561835.post-5113205757643890479</id><published>2008-02-07T20:13:00.000-08:00</published><updated>2008-02-07T20:26:26.670-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Tacoma'/><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>Howdy!</title><content type='html'>Just a quick intro before I get into the meat of this thing...&lt;br /&gt;&lt;br /&gt;My name is Joe Izenman. I've lived in and around Tacoma for my entire life, and I've been a musician almost my entire life. I play keyboards, guitar and hand drums, I sing and I write. Lately I've been learning the mandolin. I have a &lt;a href="http://www.izenman.com"&gt;blog about living and working in Tacoma&lt;/a&gt;. I am in two bands at the moment: &lt;a href="http://www.thisshirtispants.com"&gt;This Shirt Is Pants&lt;/a&gt; and &lt;a href="http://www.mrfusionband.com"&gt;Mr. Fusion&lt;/a&gt;. TSIP is a hard rock outfit, Mr. Fusion is my collaborative songwriting project with Erich Sachs.&lt;br /&gt;&lt;br /&gt;I've also recently started recording at home. As I started getting more material together from a variety of projects, I decided I wanted to put together some kind of system for posting information about my shows and newly recorded tunes, organized by band, album, etc. Over a couple weeks, the idea evolved further. If I'm already going to have multiple bands in the system, why not allow multiple users as well?&lt;br /&gt;&lt;br /&gt;Out of this has come tacomamusic.net. My hope is that it will become a comprehensive resource for Tacoma-area musicians, with a unified calendar, song postings, reviews, discussion, and more. Something that goes beyond the capabilities of imeem or MySpace music not because it is bigger, but because it is smaller. By building this from the ground up in a limited geography it has a chance to become a genuine community.&lt;br /&gt;&lt;br /&gt;Who knows... maybe it will be good enough to go craigslist on us and add regions until it is universal, but for now I'm sticking with Tacoma.&lt;br /&gt;&lt;br /&gt;This blog will be about the development process. Feature announcements, design, and my own experiences learning new technologies in an effort to make this system run as smoothly as is humanly possible.&lt;br /&gt;&lt;br /&gt;The best way to have this be a tool for the community is to have the community guide the process. Have a feature you'd like to see that you think I've overlooked? Have input on functionality, design or technology? Interested in joining the development process? Feel free to comment or shoot me an e-mail.&lt;br /&gt;&lt;br /&gt;Rock on, Tacoma.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8119194801488561835-5113205757643890479?l=blog.tacomamusic.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tacomamusic.net/feeds/5113205757643890479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8119194801488561835&amp;postID=5113205757643890479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/5113205757643890479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8119194801488561835/posts/default/5113205757643890479'/><link rel='alternate' type='text/html' href='http://blog.tacomamusic.net/2008/02/howdy.html' title='Howdy!'/><author><name>izenmania</name><uri>http://www.blogger.com/profile/11196583962256309122</uri><email>izenman@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='07901080227283060469'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>