Development Update – 4.27.08
If all goes well, this should be the final development update of the pre-SMS 2.6 era. Development came to an unofficial close this week and my goal is to have the beta into the hands of the testers as early as tomorrow morning. This is a major milestone for SMS 2 and after a solid beta test, should be the best version of SMS we’ve ever released. Without any further delay, here’s how last week shaped up. This report covers revs 453 through 536.
- Fixed issue where Chain of Command page was still referencing the JPG image instead of the PNG images.
- The last of the PHP notices have been fixed and the last of the security improvements were made.
- Updated the personalized menu installation. Personalized menus will now come with one item by default: Site Options. From there, users can update their personalized menu.
- Rewrote the crew management page. It’s much better now, including tabs to break up pending players, characters, and inactive characters.
- Rewrote the printCrewName() function to be more efficient and handle printing out of pending crew members names.
- Created a few more AJAX pages to be used by a variety of pages.
- Fixed the join page bugs that have been plaguing SMS since version 2.5.5. Height, weight, personality, appearance, and real name are now added to the database properly.
- Rewrote the user moderation page. The old one was terrible and one of the biggest security holes in the system. The new one is better looking, more efficient, and more secure.
- Removed the jQuery Preload script. It was causing major problems with jQuery in Safari (read: wasn’t working at all). The preload stuff was being done on the default skin, but if given the choice between having preloading or not having any jQuery at all, we’ll take no preloading.
- Rewrote the remove award page to be a little better. For the first time in a long time, I was actually utterly confused by some of the stuff I was writing. Beware if you try to mess around with this page … it’s very easy to get yourself turned around with all the array reversals and such.
- SMS now requires PHP version 4.1.0 and higher. Turns out we’ve been using some PHP functions for a few versions now that require that, so just setting the minimum to that now.
- Updated the install script. This includes a whole new look and feel for the install process that’s so much better than before. Also, we’ve added a compatibility step to the start to make sure that you have the right versions of PHP and MySQL as well as checking a few other server settings.
- Ranks now have a short name (CAPT instead of Captain). The short names are now used in all the emails. This also required updating the rank page to be able to edit them as an admin sees fit. The only problem with this is that doing the update will require us to blow away the rank data and reset it.
- Did a fresh install (about a dozen times) and verified that there aren’t any show-stopper bugs in the fresh install for the beta folks.
- Starbase menu items are now put into the system by default and turned off. This also means that the menu notes have been updated so that it tells you to turn off item X and turn on item Y. Should be a lot better and easier than before as we’ve made sure the access code and locations are right.
- Fixed a few styling issues with lower resolution screens.
- Fixed issue where global entries in the database weren’t able to be edited.
- Cleaned up some stray PHP notices.
- Made sure no one could view the directory listing for some of the new framework directories.
- The update script now has a neat little tool that will, after blowing away the old ranks and putting the new ones in, will use a big array to make sure we’re (as accurately as possible) updating the crews’ ranks from the old stuff to the new stuff.
- Updated the text used by the install and update files.
- Updated the site credits to reflect the new icons, jQuery stuff, and the new stardate script.
There you have it, folks, the last slew of development. There’s still a handful of testing to be done on the update script before beta 2, but that’ll come in the next week or two. On top of that, there’s still some stuff that has to be dealt with in regards to updating the Anodyne skins as well as writing a ton of new documentation for the new features and all that kind of stuff. A lot of work left to be done, but the hard part is over. Beta 1, here we come!
Errors, Be Gone!
I’m a curious person, so as I was laying in bed last night, I got to thinking about something. I’m taking a lot of time fixing Apache warnings, errors, and notices for SMS 2.6. Fantastic! But what impact does all that work really have? How much is really being fixed? So this afternoon, I decided that I’d run a little test and find out. Fair enough, right? So the test was pretty simple, hit nearly every page in SMS 2.5.6 and nearly every page in SMS 2.6.0 and see what the difference in the error logs were. Haha, well, if there was ever any doubt that this one mattered, here it is.
In a top-down run through of SMS 2.5.6, the system generates an error log file that is 1.6 MB. Wait, what? One user going through these pages? Error logs are nothing more than lines of text. That’s right, SMS 2.5.6 (for one user) generates an error log file that is over 11,800 lines long. Over 11,000 errors. Incredible. Now, just take those numbers and multiply it times the number of crew you have. Yeah, that number gets pretty big, pretty fast. Let’s take my sim for example. I have 27 crew members. That’s right, I’m generating somewhere in the ballpark of 324,000 lines of error code when the entire crew hits the site. That’ll add up pretty quick and piss off some server admins no doubt.
Same test, but now with SMS 2.6.0 (which by the way, still isn’t finished yet). Even though there are 7 pages that haven’t gotten the Apache fix treatment, the error log file for one user is only 16 KB. For those curious, that translates to 116 lines. Hmm, I’ve managed to shave 11,600 some odd lines out of the error log. By the time SMS 2.6.0 goes gold, it won’t be generating a single error. I’d say that’s worth the time.
Development Update – 4.19.08
I was out of town for 3 days this week, but still managed to bang out a lot, and I mean a lot, of work on SMS 2.6. This update covers trunk revs 367 through 452. No, that’s not a typo, there were in fact 85 checkins to the trunk this week. So, here we go.
- All users (assuming they have the proper access privileges) now have the ability to edit their own personal logs and any mission posts they’re involved in. There are now two levels of post and log editing with the higher of the two levels being able to edit everything. The only limitation on level 1 editing is that, with posts, they can’t edit its status or the mission its in, and with logs, they can’t edit its status or the author.
- New post and log management pages. Instead of offering the last 5 posts, we’re now displaying a list of the last 25 activated posts. These pages now uses tabs to separate activated, saved, and pending posts. Finally, we’ve cleared up a couple security holes by not allowing posts to be deleted from the list, only from the edit screen.
- Removed some unnecessary access checks.
- Updated all the access pages to include the new access levels. This finally allowed me to get in there and remove the Skin Development and System Catalogues items that were planned for 2.5 but never came to fruition.
- Finished award nomination denial (whoops, didn’t realize it wasn’t finished).
- New rank management page, including using an AJAX page for creating a new rank. In addition, we’ve simplified the rank class confusion with a drop-down now.
- Updated the department management intro text so that it wasn’t just “Lorem ipsum…”
- Developed a work around to an incredibly strange Webkit bug. Apparently, it doesn’t like the web location variable, but is fine with the web location constant.
- Updated the activation links in the post, log, and news details boxes. They were including a ton of unnecessary GET variables.
- News management page was updated to reflect the same changes to the post and log management pages.
- New position management page that uses AJAX page for creating new position. The selection of departments is also in line with how users select departmental databases in another portion of the system.
- Fixed an issue where the edit tour item was pointing to a location that doesn’t do anything.
- Fixed an issue where the edit database item AJAX page had language that indicated you were creating a new page. (Damned copy and paste!)
- New tour management page that uses AJAX pages to create, edit, and delete tour items.
- Award management has been updated to use an AJAX page for creating new awards.
- Re-wrote the docked ship management page and moved editing and deleting of docked ships to AJAX pages.
- Removed some pages and images that aren’t needed any more.
- Re-wrote the page that sets access levels for the entire crew. God I can’t believe how bad that page was. I’m ashamed of the old page. So bad.
- Security update to the docking request page as well as giving it the HTML classes that were rolled in to SMS 2.5.
- Cleaned up the docked ships listing.
- Fixed an issue where editing or deleting a menu item in a tab that wasn’t the first wouldn’t keep focus on the tab and/or sub-tab that the user had just been in.
- Updated the access level notes.
- Some love for the skinning people … personalized menu will now automatically check to see if there is an alternate arrow image in the skin before using the default image. This means that a skin can just include an arrow.png file and the personalized menu will just use it.
- Fixed a few styling issues.
- Continued to fix Apache warnings, errors, and notices, this time on all the post pages. This included the JP which took over an hour to fix. On the bright side, I shaved 50 lines off the file while managing to make it a bit more dynamic and efficient. Still, over an hour?!
- Giving a crew member an award is now handled through an AJAX page.
- Started in on finishing up the Apache and security stuff for the manage pages.
Whew, that was a long list. It was a busy week, but extremely productive. So with all this stuff knocked off the list (and there were some major ones), the question becomes, where do we stand now? Well, here’s another list for you.
- Apache fixes and some additional security for Manage pages (7 pages remaining)
- Update Remove Award from Crew page to use an AJAX page
- Update install files
- Update update files
- Minor rank updates
- Documentation
- Update skins
That’s it. That’s all that needs to be finished so far. And, the last 2 items on that list will be handled during the beta process, meaning that there are only 5 items on the to do list. It’s pretty satisfying to say that I can count on one hand the number of things that need to be finished before beta! Even though there are only 5 items before beta, the updating of the update and install files is a huge task. Still, I’m pretty confident when I say that we’ll be starting the SMS 2.6 beta in, at the very most, 3 weeks. I’m optimistic that I can finish the stuff up in 2 weeks though. Get excited, it’s almost here!
And God Said, “Let There Be Light At the End of the Tunnel”
As I was doing a series of checkins to the trunk just now it really dawned on me that there is a light at the end of this tunnel. There is one remaining feature to be implemented, and even that feature is half done. The two items left that I haven’t started are related to installation (putting the starbase menu items into the database by default, just turning them off, and doing some rank updates). Besides that, the list is shortening day by day. SMS 2.6 beta, we’re comin’ for ya!
Development Update – 4.13.08
Slow week with me being out of town 4 days. I’ve got a few more days out of town this coming week, so this week could be slower than usual as well. This update covers trunk revs 342 through 366.
- Changed one of the tab setups to be a bit more efficient.
- There was a bug with Firefox 2 where if the tab set had a disabled item, it would use the opacity on the entire page, not just the tab. This isn’t an issue in Firefox 3 though, so I’m assuming something in Cairo has fixed it.
- New award nomination page that uses tabs to separate nominating of playing characters and NPCs.
- The yellow notification box was incredibly ugly and all attempts to salvage it failed, so we’re going to use the orange instead of yellow.
- The inbox zebra tables were a little screwy with background colors, so I reorganized it a little bit.
- Continued to fix Apache warnings, errors, and notices.
- Fixed an issue where the PM reply button was pointing to the wrong page.
- When you reply to a PM now, the text of the message you’re replying to is displayed below the compose box.
- Fixed a major bug where the contact form would never be sent out because the POST variable wasn’t properly set. Can’t believe none of us caught this before, because this page hasn’t been touched since pre-2.0.
- Worked up a change log for release.
- NPCs can now receive awards, so we have to be able to see the awards section in their bios, but we still don’t need to see the posting activity section.
- Fixed a problem with sending password resets out to crew members.
- Fixed a bug where pending, inactive, and NPC characters could log in to the system and have access to things like crew emails before their account is active.
