Friday, August 31, 2007

I lied in my last post, I'm still adding new features. I just added a drop down box in the DJ detail page under the points tab that lets the user select which semester they want to see the points for. It will default to the current semester and only allows one semester at a time. I did not make this work via AJAX because I didn't think it was really necessary. I am going to extend this same functionality to the points list, but I may make that allow for multiple semesters to be added together in a single search.

I also started working on a search save/bookmarking system. It will start out for just music searches, but will also be added to the DJ search after I revamp that whole system. This will allow DJs to save a set of search criteria that they can then load up in a single click. I'm actually not entirely sure how I'm going to do this now. The easy way would be to just save the URL to the search with the criteria saved in the URL, but that would make the page refresh and negate the AJAX. The best way would be to save all of the criteria and then iterate through it to fill our the form. This will take longer, but I think it's the better way to do it.
Somehow, I found a way to get some serious work done on ELCRo this week.

I got the RSS reader all up and running in the program logs. It's pretty good, I think. It's basic, but it gets the job done. When you click the headline, the line expands to show the whole article and the headline becomes a link to the article. I still don't have a way to collapse the articles yet, but that will come in due time. The articles can be sorted by time or by site, but not all of the sites provide times with their feeds so I made the backend code add a time 24 hours in the past to those articles. Also, weather.com articles always have the time that they were accessed since they are generated on the fly.

Wednesday, while doing my show, I came up with the idea to have the current weather conditions always available when in live mode. This information is pulled from weather.com and displayed in the empty space to the right of the display section's tabs. It was a little annoying to work with because I had to write a script to find the correct article in the feed. If they ever change the subject line, I'll have to update the code. Then I had to get rid of the image and the "For more details..." at the end. I did it very basically since those seem to be static to every post. If they change this, I'll need to update the code as well.

I still can't figure out why the form in the program logs won't clear after you submit it sometimes. It only seems to happen on the log computer at the radio station, so I still think that the computer is just struggling to keep up with all of the scripting. I did fix a bug that I didn't know existed until now. Ampersands were not being escaped as they need to be for the GET method of submitting forms. This was a big problem in the music search and in the program log. It was a simple fix once I figured out that I just needed to add "escape()" to each of the terms. I only put this in for the program logs and the music search so some of the older pages my still have problems.

Some other features that I've added this week are:
  • Got the stats tab up and running in program logs. This will get more stats later, but it's a good start.
  • When using the move albums function, there is now an option to only show albums that have been reviewed. This should make moving albums from the drawer to playlist much easier. I also added the album ID number next to the album name as well.
  • In the DJ details page, I added a stats tab and removed the program log and album reviews tabs. The stats tab shows the numbers of each and clicking the numbers will bring you to the search page with those listed as results.
  • The music search page can now accept search terms via GET so links to searches can be made.
  • I started slowly switching the links for artist names so that they link to the music search page and automatically search for that artist. Linking to the album details page will now be done from the album name and/or ID number.
  • Made location select box in the program log music search an absolute width so that everything is on one line.
Additionally, I also redesigned and renamed the home page. It is now actually called the home page instead of the main menu. The layout is now a three column set up. At the top there is a horizontal bar that displays the old titlebar messages. I may or may not make only the tips messages stay. I haven't decided yet. Below that, going left to right, there is a column with user information, a column with bulletin/blog entries and a column for reviews. The user info section provides the user's name, number of program logs, points, number of album reviews and open issues. Everything except for points are links. The middle section displays the last 15 active bulletin and blog entries posted and the right section displays the last 15 album reviews posted.

All in all, I got a damn lot done over the last couple weeks. I'm thinking that this will probably be the complete feature set for v3.0, but maybe a few minor things will sneak their way in. Mostly, I want to spend the next few days debugging a bit so that by Tuesday when I unveil this, it's as good as it can be. I'd like to make the home page look nice and pretty, but that probably won't happen.

Monday, August 20, 2007

My time to work on ELCRo just got bitchslapped. One of the girls in my department is leaving and I have to cover for her until we get a replacement so I won't have much time to work on ELCRo for a while.

This is going to cause serious change to my plans for feature rollout.

I am still on target to have the new program logs ready to go by the start of the semester. I should still be able to get the RSS reader working in it as well. However, everything else is going to get pushed back because I really want to get the new program logs going full-time as soon as possible.

Being on vacation last week also put me a bit behind as well and my nights this week are shot.

So the new plan is to release v3.0 as mostly just being the new program logs. Then I will do a series of small, but frequent updates with all of the rest of the features that I wanted in v3.0. Hopefully, I will get everything I wanted out by v3.5 done by mid November and v4.0 done by the beginning of Spring semester. I don't think having v5.0 (the version that I was planning on having ELCRo "sellable" by) will make it by March, but we'll see. At this time, it seems more feasible to push back trying to sell the product until Fall 2008, but I really didn't want to push it off that far.

Thursday, August 9, 2007

Apparently, I didn't fix the DIV resizing thing for the stats and news/pa info tabs like I thought I did yesterday.

The issue turned out to be in the javascript file for tabview. It was changing the tabs to be fixed sizes and wouldn't let me override this from anywhere else.
I fixed a bug that caused the end time for a program log to update to a time in the past when adding an entry to the log if the time for the entry is in the past.

The end time only updates with a time that is later than the current end time.
I fixed the leading zero in the time issue after getting home.
I found a few bugs tonight while doing my show with the new program log...

  • Pressing edit on a playlist entry wouldn't invoke the lookup album function necessary to pull the location and list the song as a playlist song. This couldn't be recreated on my laptop though.
  • The 12am hour has a leading zero in front of the hour making it display as "012."
  • When hitting edit for a song after midnight had changed and the day changed, the date field in the time box did not change to the right date.

Wednesday, August 8, 2007

I fixed a bug in the program logs editing function. Apparently, with songs that don't have an ID number entered in, the artist and album name wasn't getting copied over. This was because of an OR in an if statement that should have been an AND.

Seems to be working fine now.
I finally got the news/pa info tab working on the new program logs. it was a stupid error that was causing it to not show any the of the DIVs when I tried switching. Turns out I had an "=" instead of a ":" in the height style tag.

I've also added the tech issues in. It displays all open tech issues.

Friday, July 27, 2007

I think I have log editing fully working! To get the playlist entries to work correctly, I had to figure out how to create simultaneous AJAX requests that don't collide with each other. It actually is really easy to do know that I know how to do it. I'm still not sure how to make multiple requests for the same function at the same time, but for different functions, it's not a problem.

Yay!

Thursday, July 26, 2007

I got the entry editing code in and mostly working. I went with the simple ID of clicking the edit icon and having ELCRo delete that line and move the info to the normal form at the bottom of the page and adjust the clock.

the only problem that i'm having is for songs with ID numbers. I want the lookupalbum() function to run to get the location for the album, but that interferes with the deleteentry() function.

Still trying to find a work around for this.
I fixed a couple minor errors this morning...
- If you have the end time set to edit when the log refreshes, it cancels the edit, but then keeps the open edit status variable set to true and locks the user our of making other edits to the header.
- Reset button in the forms didn't reset the clock.
- When not in live mode, the code would still expect the checkbox for the display log when updated function which was only loaded in live mode. Now it loads in all modes, but is only active in live mode.

I also decided to do a program log stats tab to give the user some stats on their show. This will probably get done next week.

I started work on the entry editing. So far I have the time part working so that the clock gets set to the time that the entry was added. This required me to add date get date function to the javascript code to compliment the time one that already existed.

Wednesday, July 25, 2007

To fit some extra stuff in, I made the view options checkboxes into two sections. There is a button that can be used to toggle between which section displays. One section is for sorting and filtering, the other controls what information you can see about each entry.

I also fixed a bug that caused the last tracks/track listing toggle button to not switch back to the show last tracks setting when looking up a new albums.
I think I figured out the problem with the wrong log entries showing up. I'm not sure why it was happening, but I think I figured out where it is and made a simple workaround. We'll see!
I added a checkbox to hide the times in program logs so that users can copy and paste to their blogs. I think the checkbox is in a logical place and it seems that at 1024x768 everything on the line with the sorting options fits perfectly. Though now I'm thinking that I need more options, like to hide the album ID numbers and to de-link the song entries. I don't know where to put all of these options! Too much stuff and not enough room!

In other news, I'm still having the issue where other log entries come up. I can't figure it out. I have the same log open in Firefox and IE. The Firefox one is fine, but in IE, it's showing a different log. I don't get it. Refreshing isn't helping now.

Tuesday, July 24, 2007

I've made a few very slightly GUI changes today, but I still don't think it's enough. I need to figure out how to really free up some useful space on the screen.
One of the things I hate the most about this project is designing the user interface. I suck with graphic design. I usually just slap together what I can and stick with that, but the new program logs are starting to kill me with this. I have too much stuff that I need to display on the screen and not enough real estate to work with. I can't figure out how to get it all on there without looking cluttered.

Being that the primary place of use for this is on a 15" monitor that is a few feet away from the user, I can't do much with smaller fonts so I try to keep the default font size, but there is only so much that this allows you to display in a browser window.

Monday, July 23, 2007

I think I may have fixed the issue with the new program logs where sometimes after adding an entry the entries from a random other log show up. I changed the javascript variable that is passed to be a static value defined on the php side of things. I'm hoping that this takes care of the issue, but it's hard to test.
Fixed the validation on the forms in the program logs so that they no longer give error message and then submit anyway. Entries would return an error on the server side so they wouldn't add to the log, but the form would still be cleared.
It took me a while, but I finally got this to work. I want there to be a button on the song form that the user can press that will switch to the music search tab and bring up the details for the album that is entered.

I also fixed the order in which the focus tabs through for the call and music issue forms.
I added a checkbox in live mode on the program logs that allows the user to decide if they want the display section of the log to automatically switch to the log entries when a new one is added or not.
I gave up on the .reset() method for clearing forms and decided to just stick with manually clearing each field.
Fixed a minor table display issue in IE for program logs. The album name wasn't displaying on the correct line because of a "" instead of a ""
The "look up last songs played" button on the program log is now a toggle between the track listing (if available) and the last songs played.

I am working on a show details button for albums when the ID number is entered. This will allow users to click a button and the music search tab will be selected and the expanded results for that album will be displayed.
Just what I need, more blogs, but I figured that it could be useful to blog about my progress through the development of ELCRo, the web app that I created for college radio.

Right now, I'm working on version 3.0, which I hope to finish by the beginning of September. Right now, I think I can hit that target. The big feature is going to be a complete redesign of the program logs. I've got it in a beta form now and I have a few people testing it for bugs and such. So far, it's going pretty well. A few bugs have been found, but for the most part it's pretty sound. It's not yet feature complete, but it's coming along nicely.