This is the longest I have gone without posting a blog entry. If you read on a daily basis, I apologize. I finally finished the Edit Admins screen and you can see a screen shot below.
The orange help bar is collapsible and is collapsed by default. To add a new admin for your club, you simply click the “Add New” link and a new row will appear where you can fill in their log in name, e-mail address, permission, and whether or not they will receive e-mails when people ask to join the club. The top row will always be you. You may not delete yourself, but any other permission zero admin may delete you, so be careful who you make your admins. By default we select permission 2 for new admins, to minimize making full permission admins by accident. Clicking the little red circle will ask you if you are sure you would like to delete this admin, clicking “Yes” will delete that admin fully. The gray cylinder is the save button. Right now I have coded it so that you may only save 1 row at a time, and that may change in the future. This means that if you change data for more than 1 admin and then click save, you will lose your changes to those other admins that you did not click save for.
On save of a newly added admin, an e-mail gets sent to that person, with their login name and temporary password. When they log in for the first time they will be prompted to change their password. This prompting for a new password still needs to be built and that is what I am going to work on next. After that I think I should move onto the Club Join Requests Screen. I have already built this screen but I built it a long time ago and it needs to use some of the new standards I have put in place along the way. Also, I may update the way it looks….maybe.
I was working on the Edit Admins screen and implementing the permission levels on log in. If you don’t know, permission levels are a way to say that an admin can access everything or just parts or 1 part of the site. When an admin logs in we need to know their permission level so we can build the menus correctly and redirect them to the screen they most likely want to visit. When I was testing this functionality I ran into some issues. I had 2 admins with the same log in name, which is something I knew I wasn’t going to allow but my test data didn’t conform to my own rules. Anyways, I tried to log in as this admin and it kept saying my password was wrong, and I attempted it 3 times and got locked out.
I wanted to reset my lock out so I could continue working, but I needed to write the code and decided I should look into my lock out deeper and make sure there is an amount of time set that users could be locked out for. Initially it was set to whatever the default is(who knows? 1/2 hour?) I coded it to last 10 minutes from the time you were locked out which I think is reasonable.
Then I got caught up in a web of logging in to the correct page and building the menus correctly and what page you should land on when locked out, etc. It took a lot of time to get this stuff straight, but I’m confident that I’m doing the right things now and I will not have to worry about it, which is good.
Now that I have finished that, I can get back to the Edit Admins screen and get it finished up. In my next blog post I will provide a screen shot.
I am currently working on the Edit Admins screen and I have provided an image below that shows what this dialog will look like(roughly). I still need to add an “Add New” link and the info button next to permissions may go away. I do still need to find a proper place to put the explanations for each permission level, but I’m not sure I want the info button to be the answer.
I am going to validate the login name and e-mail address as you type it. Login names will need to be unique across the system, so I’d like to provide instant feedback. E-mails obviously need to be ___@___.___ but that validation is really for convenience and to stop input errors from happening. Technically you could still put firstname.lastname@example.org as the email address, but then that admin wouldn’t be able to receive e-mails.
As I’m typing this I have thought about the options here and realized that the password reset option doesn’t make much sense. Admins will ask to reset their own passwords, not have another admin do it for them. Also, I think there should be a check box that lets you opt-out of receiving the request to join e-mails. Maybe you have one or two guys that ONLY accept or deny requests to join and not every high-level admin wants to receive those e-mails.
So if you want to visualize this page, the columns should be Login | E-mail | Permission | Join Mail | Delete and Save.
I was debating if I should include functionality for setting admins inactive and active, but I doubt that would get used often. If I get requests for that feature, I’ll add it in.
So yeah, I have a lot of work to do. Thanks for reading!
This weekend I finished up the Series Details screen and you can see an image of it at the bottom of this post. I implemented it on the main series screen, so that whenever you click the name of a series you will see the details screen in a dialog. Just like the Race Details screen, you can click a button to pop it out of the dialog and make it a full page.
Also on the Series Details screen, is a list of races in the series. Each race listed is a link to the Race Details screen for that race. As part of this feature I added a back button on the Race Details screen, so users can easily go back and forth through all the races in a series.
The next thing I need to work on is on the Admin version of the Club Profile screen. I added a link to that screen when I created it, that allows you to edit the administrators of your club. You will be able to add admins by giving them a user name and setting their permission level. A random strong password will be generated and sent to the e-mail address that is provided. This new user will log in with that password and have a chance to change the password to whatever they want.
I eluded to permission levels and to expand on that there will be 3 levels. Level 0(zero) is the highest level and it allows an admin to edit other admins access and permissions, edit the club profile screen and everything the other levels have access to. Level 1 allows access to accept or deny requests to join the club and add series, races and input results. Level 2 only allows access to accept or deny requests to join.
So not only do I need to create the screen where you add/edit the admins, I need to hook up the permissions into all of the admin screens so that admins with permission level 1 and 2 can’t access the add/edit admins screen because they should not have access to that screen.
This will take a while to complete, but you can stay updated on my progress by viewing this blog. I’ll have updates with images along the way.
Thanks for reading! see below for the series details screen shot.
Last night I finished implementing the Race Details screen everywhere it needed to be. I also came across some user interface issues on some pages that were showing a dialog, so I fixed them quickly.
Now that the Race Details screen is coded and implemented, I can move on to the Series Details screen. The Series Details screen will be similar to the Race Details screen except that it will contain a prominently displayed leader board specific to this series. Below the leader board will be the series description that is collapsible. Below that will be a list of races in the series. Each race listed is a link to the Race Details screen. For that to work well I will need a “Back” button on the Race Details screen.
After I finish up this series details screen, I am going to move on to the sign-up screen and then the custom 404 page after that. The new year is approaching quickly and I want to make sure that I have some vital pieces working so there isn’t a time crunch. I was doing my budget and unless I get some money for Christmas, it looks like I won’t be able to purchase the server and domain names until around January 8th. It would be nice to have what I want for release #1 done before January so I can start some sort of count down to launch to get everyone excited. Absolute worse case scenario, I launch on January 19th.
I’ve been pretty busy lately so it took me a long time to get this blog post out. I fixed the issues I was having with the deleting and moved on to implementing the Race Details screen as a dialog all over the site.
I started with the main races screen and you can see what it looks like in the image below. You can see in the upper right corner of the race details screen that I have included a little image of 4 arrows pointing outwards. That image is a button that can be clicked to make the race details full page. The dialog itself is just smaller than most screens used today, but I figured on some mobile devices it could vary. So clicking that will pop it out into a full page view which should render friendlier than in the dialog. Also, some clubs might want to use wider images/videos in their race descriptions.
I still have two pages to implement this on so I better get to it. Thanks for reading!
Here’s the story… I was working on the site and I noticed that I need some delete functions for series and races. It is possible that you could accidentally create a series or a race and want to delete it, so I proceeded to provide this feature because I knew it would be useful and quick to implement. After I coded it, I wanted to test it and I did and it seemed to work great. Little did I know I was deleting results for EVERY CLUB!!!
This is the part where you shouldn’t panic. I take backups regularly so I had a recent one I could pull the results from and add back to my current database that has no results now. I knew I wouldn’t have every piece of data from the results, but most would be there and I could just cycle through my races and see which ones were missing data.
I take pictures of all the Forza finish screens, so I have a second form of backup to pull from. This would have been a lot bigger SNAFU if it wasn’t just my club’s data, but even then I would have backups taken more often, so maybe I would lose data for 24 hours or so. 24 hours of data shouldn’t be a lot of data per club. Say I lose all the results for all clubs and there are 1,000 clubs but I restore all the data except the race those 1,000 clubs ran last night. 1,000 clubs will have to enter 1 nights worth of data. It’s a free site, I’m one guy, I think it’s a pretty fair deal.
Honestly I don’t expect this to happen to the production environment anyways. These things will be caught by me in development. I hope no one is panicking, because I’m not.
Hello anybody! Just to update you on my last post, I did add my code to use the race details screen as a dialog. All that meant was that when I wanted to, I could hide the menus at the top of the page if they weren’t needed. I do still need to start using that screen as a dialog on some pages, I have yet to do that but it’s next on my list.
As for today, I worked on getting an Add New Series button added to the Manage Races Screen. See below for an image 🙂 I added a little “tab” on top of the series blocks that says “Add New Series” in orange so it sticks out. I then started hooking it up to actually do the add and I came across a bug, well two bugs.
The first bug which is an actual issue that I need to address is that when I save the series and elect to also save the race data, my series data doesn’t get re-loaded. This sounds like an easy bug, so maybe it will take me an hour.
The other “bug” I found is when I save the race data and I have more finishers in the results than I have finish places defined in my points template, the extra finishers will not get saved in the results. I guess it is a legitimate bug the more I think about it, but honestly if your game allows for say 16 players and you only have a points template defined with 15 positions the it’s on you. Actually as I typed that out I thought of a pretty simple solution. When a club is created, the site should create templates for each game, based on the maximum number of racers that game allows. Adding that feature won’t fix the bug, but it should make it less likely to happen. That fix sounds like a post-Release #1 issue so it will not hold up this release.
This is Part 3 in the Race Details Screen Posts. If you are looking for Part 1 and Part 2, look no further.
I worked on the Race Details Screen some more. As always, I was side tracked, and this time by some social media stuff. I added a share button for Facebook and Twitter to this screen. I think this screen will be the most shared out of anything else on the site, so it’s important to get it done now. I still need to work on using the page as a dialog thing, but that shouldn’t take too much longer. I did have time to put in code for cases where there are no results yet.
In other news, I e-mailed Paul at Ebcon Publishing about my site to see if there was any interest. Ebcon publishes the new Sim Racer Magazine out of the UK. I think they just put out their 3rd issue recently and it is gaining traction in the community. We’ll see if anything comes out of that, or if they provide any feedback.
I also was turned on to another wordpress blog. This blog is about Robert Tolley, a British sim racer who is chronicling his journey into iRacing. It sounds interesting and I have started following his blog to see what happens.
So if you read Race Details Screen Part 1 you would know I was having issues about what this screen would ultimately look like. I figured out a solution and am sharing the image below.
The issue I was having was with how I should show the results. When it was just the race results, it looked to left-heavy. I decided to put the race results and the current series standings to the right of the race results. This evens up the page and gives some more useful information. Racers usually know where they placed in any given race but they don’t always know where they stand in the current series. Doing it this ways eliminates having to resort to using a completely separate page or using a dialog.
I still have some work to do on this page before I call it “done.” I still need to add code so that it can be used as a dialog for other screens. I plan on using it as a dialog on the main Races screen. When you click a race name either under Upcoming Races or Recent Results, this Race Details screen will pop up in a dialog. Obviously for upcoming races there won’t be any results, so I could hide that tab altogether for those situations.
I have a few hours to go on this screen, but when it’s done and implemented everywhere then I can call the Club Profile page done. While playing around with the site I noticed that there is no way to add a new series via the manage series/races screen. I’m not sure how I overlooked that, but that is what I am working on after the club profile. Then as long as I don’t find anything else vital in my final round of testing, I should be able to publish Release #1 🙂