Last night I spent most of the night dreaming about programming. What a scary thing. I had visions of my computer monitor and lines and lines of PHP code. I was fretting over my code.
In defiance, I spent most of this morning day dreaming of Thailand. Given $3000 I figure I can take a month of my life off and travel around Thailand. Perhaps once school is finished I'll go.
I added the functionality so that users can view all of the projects that they are currently working on.
I'll need to tailor the final view pages based on
If I can get those done by tommorrow night, I can test Sunday and start recruiting Sunday night.
The intermediate find functions are working.
So far, the user can only filter find results based on category and a 'keyword' which matches a word in the title or description. Both are pretty broad find capabilities, but I can add advanced search criteria as users request it.
It looks to be working correctly, but again may be buggy. It has been suggested that I contact Kris, an instructor at VFS, as he is a SQL designer. I hope he will be able to help me optimize my search functions to make them quicker and better.
On to view functionality. I should also add a link at the bottom of the 'Participate' section for users who are logged in. It would bring a list of projects that the user is currently working on.
The most basic cases of find functionality seem to be working. This is the type of functionality that will need to be extensively tested to ensure that the correct files are being pulled from the database, but it seems to be working so far.
Ran into a small annoying bug. The CSS layout folds to fit the screen in most cases, however it does not resize to accomidate large amounts of content.
My options appear to be to make the height automatic, but I don't like that because some of my layouts would burn. I wish the browser manufacturers would fully support CSS2 so that I could use the minHeight attribute. Maybe next year ...
So I'll add the more advanced find funtions and then move on to viewing and joining projects.
You can view the progress, as always, at
http://www.reggieband.com/musicolab/development/index.php
Quick recap of functionality which needs to be completed for this week. This list does not include functionality which is already complete. It is also in no particular order
Out of all of those, the find functionality is the only bear. I will need to filter results from the database based on several criteria:
All of the above are just special cases of a database SELECT statement with different WHERE clauses. For the non-techno savvy, it means that they are all basically the same with some minor differences. However, those minor differences can be a pain when they are combined in weird and wild ways. Crafting SQL statements is hardly my favorite pastime. I may also need to tailor the view screen depending on the type of query
That functionality will also mean that I need to do some quick and dirty design comps for the view projects page. That shouldn't take me too long, and will likely be completed tonight.
The development index page source has been made available in the side navigation bar.
http://www.reggieband.com/source/?index.php
I hope to make this the 'live' page soon.
The create functionality has been integrated into the main interface.
First, one must log in. Once logged in, the user has the option to create a new project. Once a new project has been created, it is added to the 'All' list below. The project is created with the users name attached as 'author'.
http://www.reggieband.com/musicolab/development/index.php
You can play around at the above URL if it suites your fancy.
I've integrated the login and register functionality on the development page
http://www.reggieband.com/musicolab/development/index.php
It seems to be running failry bug free at this time, and provides an adequate level of user feedback when things go wrong (user errors).
I still would like to add more sophisticated data checking (email verification, length checking, etc.). Next I will show the create project form where the login form use to exist, as well as a link so that a user can view all of the projects they are currently involved in.
The latest project report is available here
http://www.reggieband.com/musicolab/reports/sep17.doc
Again, it is archived in the side bar. It has also been emailed to Scott Baldwin.
Index page is coming along. The layout almost matches the design comp.
http://www.reggieband.com/musicolab/development/index.php
Refer to the design comp:
http://www.reggieband.com/musicolab/mock_ups/layout1.jpg
Just need to make it fully funtional. The user should log in (or register) before they are allowed to participate. As there are no finished projects right now, there is nothing for a user to listen to.
Find functionality is next (especially find to participate). Then I will make sure that logging in works. Then I will allow users to create and participate in projects. Hopefully, this will all be complete by Friday.
The simplest case of the view project functionality is complete.
The page needs to be viewed after selecting a project to view, so you can follow the link below to see the first project in the database:
http://www.reggieband.com/musicolab/development/view_test.php?id=1
Even better, follow the link below and click on one of the titles to view that projects details
http://www.reggieband.com/musicolab/development/find_test.php
The download functionality works as well (how nice).
Now I need to start integration of these pieces together on the main index page. This will allow me to add user functionality (so projects will properly be tied to users). This should also force me to complete everything together in a tight package so that the functionality of the site is totally usable.
Look for this integration to be complete at latest by Friday, but if development follows the same time scale it's been moving along, hopefully it will be complete sooner.
The find functionality is in its most basic completion.
It can be tested here:
http://www.reggieband.com/musicolab/development/find_test.php
It currently pulls all of the records from the database, and does not yet write to XML (if necessary).
This functionality leads directly into viewing the entire project where the user will be able to download and participate.
Once completed projects are in the system, it will default to showing the 10 most recent complete songs, with links for listeners to download the song to listen to it.
I have posted a copy of my initial design layout as a jpeg. It is viewable here:
http://www.reggieband.com/musicolab/mock_ups/layout1.jpg
I am going to send this to Jason, the interface design instructor, so that i can get some professional feedback on the site.
This weeks report has now been email to Scott and is available here:
http://www.reggieband.com/musicolab/reports/sep12.doc
Its a little late, and a little behind, but I should begin testing and use of application soon.
The system now allows the creation of projects.
You can view the functionality here:
http://www.reggieband.com/musicolab/development/create_test.php
It's fairly primative, but totally functional.
It will insert all projects as author = reggie (user 0).
Next, view projects - which will allow me to eventually update and delete projects.
The simple tests of the register and login functionality is complete.
It was a bit of a bugger, since my ISP runs PHP 4.0.6 which does not have the super global $_SESSION. This lead to a mess of globalizing user names and stuff like that.
I've emailed my ISP asking them if they will upgrade to PHP 4.2.3 so that I can take advantage of some nicer coding techniques.
If you feel like registering for updates to musicolab, you can enter your information into the test register page
http://www.reggieband.com/musicolab/development/register_test.php
If, after registering, you'd like to see the wonders of being logged in, you can visit
http://www.reggieband.com/musicolab/development/login_test.php
Be aware .... If you actually read this and register, you are allowing me to add you to a list of people to contact in regards to updates to this project. But don't let that stop you.
A little more messing around has allowed me to create my file download scripts.
You can test the file downloadability here.
Next I plan on getting session and user functionality completed. That will lead quite easily into project management. Once those two are complete, I can start signing up users to the system.
Initial user functionality will include:
It seems that the file upload portion of my class.particpate.php script is working.
You can view and play with the test here.
Keep in mind that this link is very likely temporary and may disappear, move or change whenever I feel like it.
And don't all of the faithful readers of this page all go and upload files at once. I don't want the directory to fill up ... ;-)
The index page CSS bug is finally fixed. With some memory jogging provided by Scott Baldwin.
You can view the fixed page at
http://www.reggieband.com/musicolab/live
Next I suppose the file uploads should be finished, as that is really all that is necessary for this project to work. If I can have people upload files, I can easily have them downloadable. The rest of the functionality will be decided by users of the system.
After reviewing my source code output, I realized that my passwords were viewable by anyone with a web browser. That could have been messy, if anyone had been viewing the site.
I've used a .htaccess file to set an environment variable which contains the directory where I store the hidden password file. This file is also outside of my web directory, so I think it is now reasonably safe.
Still need to get passed the CSS nightmare I am having with the index page. I plan to get the index page up and running by Monday of next week. All base functionality should be working in some regard then. As more functionality is added, each section will be put on it's own page.
The source code for the project has been posted and is accessable from the navigation bar under 'Source'.
It outputs highlighted formated php for the classes.
If you are interested in sending me comments or feedback on the source, email me
Reggieband webserver is now reasonably clean.
It now contains only:
Flash Guitar
musicolab
musicolab extranet
I should be posting source code files in the next couple of days, once I get my tables set up.
After much hardship and findagaling, the moveable type powered extranet is up and running. I am considering blasting away my old blog and replacing it with a moveable type version.
I've set up the main directories for the project, so I should update this extranet template to reflect this. Currently there are documents, reports and design comps worth seeing.
Still debating the necessity of setting up a message board of some type. This would provide users a mechanism for feedback, however I am not sure it would get used.
Next steps:
My weekly report to the Senior Project manager has been archived at
http://www.reggieband.com/musicolab/reports/aug31.doc
It is also accesable from the 'reports' side bar on this extranet.
This page will exist to update users to new enhancements of the music collaboration website.