/    Sign up×
Community /Pin to ProfileBookmark

[LONG POST] My triumphant* return to web development

*not really triumphant

Greetings everyone. I guess one might call this “diving in head first”, but I could really use any help I can get because I’ve got a very daunting task ahead of me and I have no clue how to proceed. Allow me to explain:

A friend and I decided it was high time we start a record label. I could go on for hours about the reasons and out mission, etc. but that’s all irrellevant.

We came to the discussion of how we wanted to utilize the internet as a method to connect our artists to their fans, and allow for fans to communicate and interact and even collaborate using our site.

For this, we came up with a large-scale web platform which integrates a wealth of net technologies to create a very “Web 2.0-esque” record label.

[url]http://www.stereoalliance.com/wiki/index.php?title=Dev:Feature_Log[/url]

This is a page from my personal wiki which comprises a very vague and unclear layout of the feature set this platform will include. In order to clarify, I made an exhaustive post in my own forums, however, to keep spambots away, my forums aren’t publicly viewable. So here’s the post in quotes:

[QUOTE]

The whole principle of the Modern Stereo Alliance is to create a community, a very tight knit, but large-scale community that not only connects fans to artists, but connects musicians from all walks of life to communicate and MOST importantly COLLABORATE with each other, and even with their favorite musicians.

The possibilities of this platform are nearly limitless as demonstrated by the immense and ever-growing feature set we intend to implement (see the wiki article).

There are a lot of aspects to this system so I’ll try and break them down into simple explanations here. First off you have systems geared towards different audiences.

[b]We have tools relevant to our use behind the scenes[/b], such as content aggregation, templating, and content generation. These tools are more server-side scripts that really only apply to people working behind the scenes. However, this section is just as important as any.

[b]Content aggregation[/b] will allow MSA artists to submit content through the MSA website (news, blog entries, media, etc.), and have it automatically sort itself out and display on the artist’s personal website (as well as the MSA site). This means instead of creating numerous copies of the same information, we consolidate all information to one location and dynamically disperse the information to other sites as needed. For an easy to swallow example, one band may post some sort of news entry. That post will show up on the MSA site among all the other artists’ news, but go to that artist’s website, and the same news item will appear amidst their news as well without the band needing to make two entries or even bother to sort out their posts from the other artists.

[b]Templating[/b] will allow us to quickly generate compelling websites for our artists that comply with the platform specifications. The sites will be built in a modular fashion which will allow us to add elements unique to each website so as to further attract visitors to use the band’s website as well as the MSA site.

[b]Content generation[/b] refers to the ability of the site to generate elements automatically. A prime example would be the media section of the site which will accept an upload of an mp3 audio file or an mpg video file and generate a unique media player instance to host the file in and display it on the site. Similar to media players found on sites like MySpace, PureVolume, etc. Except each file will have it’s own unique instance of the media player.

On top of that we’ll be integrating two kinds of [b]news syndication engines[/b], one will be used for news and relevant updates, the other will be a more generic blog meant for artists to post thoughts etc. as they please. The news engine will have a strict editing policy whereby news submitted must be approved by editors before being featured on the main site, or even added to the syndicate. The blog system will have an option to receive an edit, but by default this option will be disabled, as blogs are meant for more casually-toned entries that don’t need to be 100% perfect. Again, bands that strive for more can opt for editorial approval if they so desire. Both engines will have full support for RSS feeds.

We will also be implementing a custom calendar with an RSS feed to inform people of important events coming up, including all tour schedules, important events, and anything else we may choose to put in there. The benefit of RSS feeds on the calendar should be painfully obvious. Think tourfilter.com (if you know what that is).

The site will be centered around a global [b]BB system[/b] with a proper BB Code library and smilies to boot. The commenting system for news and blog articles, as well as the forums and the Project Management System will all attach to the BB system as modules and will all obey BB code specifications. There will be a PM system that will span the entire site. No modules will be limited to the forums. Almost anything possible in the context of the forums will be adapted to the comments system and the PMS. Rigid security features need to be implemented to handle user verification and preventing bots and trolls and the like from abusing the site. This includes banning capabilities and the such.

Next is a series of scripts geared towards the end-user.

Again, I mention the BB system, which while it encompasses the entire site, the primary center is the forums. These forums will be very standard and based on popular systems like InvisionBB, phpBB, and vBulletin.

Next is the site’s most prominent feature, the [b]Project Management System[/b] (PMS) which will be adapted to be the primary front-end to our BitTorrent tracker. I think the wiki article has a pretty good explanation of what we want to accomplish with the PMS, so I won’t bother typing it again. In addition to the PMS, the torrent tracker will also allow for people to distribute their own material to other users. This content must be legitimate and the artist must have the right to freely distribute it. This will be heavily detailed in the TOS we will be drafting.

As development into the PMS system progresses we will definitely be exploring the potential to take the PMS front end off the server and create a stand-alone application where artists can access the tools provided by the PMS right from their desktop, as well as work offline and sync information with the server when internet becomes available.

I don’t know if it’s entirely necessary, but there is the option to include a java-based IRC chat right on the website. Perhaps this or some iteration will be available in the PMS client.

Finally, we have a set of scripts that bridge communication between artists and fans. The purpose of these scripts is to create a more in-depth experience for the fan community by providing them with rich content that allows them to communicate with their favorite MSA artists. I’ve gone into detail on some of the options we’re looking at in the wiki article, so have a look at that and we can start to build upon those ideas as we move forward.

Other fields I would like to explore in the future include mobile content delivery, like sending short media snippets and RSS feeds directly to people’s mobile devices. This isn’t something I intend to implement at launch, but if we decide that this seems like another viable medium to pursue we can keep in mind during the development process.

The very bottom of the article details some of the technologies we will be implementing to develop and deploy this platform. It’s going to take a lot of sweat and blood, but I have a lot of faith in this project and I’m willing to make the commitment to it. I just need every last bit of support I can get.

[/QUOTE]

Forgive the tone of this post, it’s audience is kind of esoteric.

Now for my story. I haven’t coded in years. When I first learned PHP, version 4 had just been released, and back then I had a very tenuous grasp of the language. I fell off the programming wagon very fast, but with the onset of this project, I’ve come to find I have no choice but to code it myself unless I want to pay people with the invisible money I don’t have.? .

I’ve decided to return to PHP/MySQL because of familiarity and just my overall faith in the language. I don’t need to sell you guys on PHP in these forums, I assume, so I won’t.

However, I’m slowly learning that I’m going to need to implement a lot of Ajaxian elements and thus learn XML and JavaScript, neither of which I have any familiarity with.

The first time I heard about XML, it was when the 1.0 revision was released. I bought a HUGE book about it, read 5 pages and said, “This won’t be around in 5 years.” Apparently I was a total moron back then, so now I need to play some catch-up.

I really come here just to ask for some good pointers. I’ve never taken on a project this large before, but I have too much faith in it to turn my back on it just because its too big.

I just need some support and some tips, because frankly, I’m very scared. I don’t want to invest so much time and space in my brain to just come to a huge failing and never be able to reveal this wonderful idea I have to the world.

I’m sorry if I just wasted a lot of your time with this very exhaustive post, but I really don’t have the right questions to ask just yet. I’m still in the early stages of development, and I’m having trouble trying to decide where to start. I could really use ANY advice. Classes to look into, extensions, etc, anything anything anything. It would be GREATLY appreciated.

Thank you so much, and sorry for making such a long post.

to post a comment
PHP

0Be the first to comment 😎

×

Success!

Help @Theory_ spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.1,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,
)...