Beginning Disk Space Control
Monday, November 6, 2006
Last update/added features had to do with protecting bandwidth. Tonights was the start of protecting disk space usage by the users of the IM system.
The Mercury System allows for file transfers between users which keeps the file in their uploads directory until they are deleted so that they may be served to their pals. Now all files in a user's directory are automatically deleted upon logging out. But what happens if too much of your disk space on your server starts to get used up and/or you notice too many users that upload files to be sent, stay logged in when they leave...and just never return.
In the administrator backend, the admin can view all members and also search through them for particular members. They can then peak into their uploads directory to see how many files are in there and how much room they take up. The admin will be able to see the size of each single file and will be able to delete any particular individual files or all of them.
The admin will soon enough be able to view when the users last logged in and when their most recent message was. If both of them have been months in the past, it is safe to assume that they may have forgotten about the IM system where they have an account. Now you may not necessarily want to delete their account just in case they decide to come back...suddenly remember that they have an account...whatever the case may be. But this can help free up a lot of valuable disk space.
Now admitedly this process could take a while. I will be looking to make it even more simple and quick to do it but this will probably have to wait until another version. I am getting weary of programming too many complicated routines that are run every time that the script is run. Especially ones that are run with every single message that is sent. This can really use up the CPU and overload the system. I wouldn't expect most shared server accounts to be able to meet the demand and I would fear even testing them on my current server. Hopefully down the road this will earn enough money with ads or some company will donate more dedicated space so that I may test advanced features which will require more power and CPU time.
I haven't gotten into deleting accounts or suspending them. I haven't gotten into making the upload date/time for every file uploaded available either. The first two are still coming in the first version of [TMS]. The latter...will most likely have to wait until the second version and hopefully on a more dedicated system. If not it can be one of the first things tested on the second version which may be able to occur on my current server. But atleast the groundwork has been set.
It took quite a bit of work to properly add the sizes of every file in the directory and then depending upon the number of digits that appear in the size, the size will be divided by either one thousand or one million. If the size of all the files added together are less than 999999 bytes, it will divide by 1,000 and will make it be in kilobytes. if the number is 1000000 or above, it will be divided by one million and it will then be in Megabytes. So far it has worked in all testing runs. Now this will be the starting point for the features added in the next couple days. But it was very helpful getting these portions done.
That is it for now. Over-and-Out.
Comment! (5) | Recommend!
Saturday, November 4, 2006
This evening may have marked the biggest features to be added in the shortest amount of time. While they will be very, very valuable both took me about a half hour to fully implement And upon self testing, they seem to be working fine so far.
The first feature is the ability to lock down the entire system. If for some reason you need to discontinue service for a little while, you can very simply disable the system. I have yet to create the full admin backend controls but the control for this will create the necessary database that tells the system that it should be locked. It will automatically generate a message telling the users that the admin had disabled the system for atleast a little while and that they should try to check back shortly. Now a few reasons as to why an admin would want to shut the system down for a little while.
- If your server host informs you that you are currently eating up too many server resources. Also if you are very close to going over your bandwidth allowance before the end of the current month where you'd get in trouble for going too long before your bandwidth resets.
- If you are upgrading to a later version of [TMS]. Locking it down at this time will help keep new info being posted into databses when the setup/upgrade scripts are going to try to access those databases. It will also keep the system from saving information correctly as you upload new versions.
The second feature is one that I've mentioned previously. There is now a new category for your pal list. It is Server Messages. Anyone logged in as an admin will be able to get to the screen to send a system-wide message. The message that is sent will appear to every single user. However this category will NOT appear on anyone's pal list unless there is currently an active system message out there. This will not disappear again until the admin decides that it is fine to allow members to move around freely on the system.
Here are some instances where you, as an admin, might want to use this feature:
- To inform users of an impending lock down. You can give users an idea as to when you'll be disabling the system (you should mention your local time and timezone so that they can judge what time it will be for them when you want to lock the system down). You can also tell them in this message when the system will be back up...if you know at the time!
- To inform users during the hour time changes for your jobs. This will help remind most members on your system that they may have to change their time offset or else the time in the message will be off.
Well that's about it for now. i may elaborate on these later in a message edit...but I am so far beyond exhausted now. Goodnight!
Comment! (4) | Recommend! (2)
Tuesday. 10.31.06 12:02 am
The timestamps seem to be working officially! Here's some more info which I had to tangle with myself and will have to add to the administrators manual. I guess it was a bit of luck as far as when I got the timestamping to work that I got this figured out. The Mercury System will not automatically update timestamps but they'd take only seconds to update for those individual users that need it.
If the server is in a timezone that changes times and the user is as well...then the user will not have to change times because the offset will be the same. Although they would technically have to change the time for the hours difference. Such as if the server is in a timezone ahead of our particular user..and is three hours ahead, the user would have to subtract an additional hour because the server will change time before the user does. But if they keep it the same, the times will match up again the next morning.
If the user or server times change but the other doesn't then the user will definitely have to change their timestamp.
I am working on an option to help members remember that this will be the case. An administrator account that can flash messages out to every single member of their IM service. But overall..if you ever notice that your timestamp is an hour off of your real time, you will have to adjust the offset.
Perhaps in the future this will change and it will be made automatic but that is well beyond the scope of the software so far. But you never know what's coming in the future!
The other slight change is that I decided to add a little more to the message alert that pops up when someone messages you and you have alerts turned on. Last time I added the users name and now I added the time to it as well. So that if you step away for a little while or are busy looking at something else on your computer you will get an alert and can see who messaged you and when. For the most part I'd expect most users will get the alerts right as they pop up because it's part of the reason that they exist. But this may be helpful to some and really couldn't hurt...
I am noticing an influx of newer visitors/readers to this account and I'd like to extend an invitation to those interested to help test out the system!! We could always use some more to help me test everything. Please send a message through this account or my personal one: etheracide
. Please let me know if you are interested and I'll get you set up!
Comment! (2) | Recommend!
Sunday, October 29, 2006
It appears that after a 4 hour brain-bashing, brainstorm party in my head I was finally able to untangle the entire timestamping feature and now it works! I have personally tested it out by using all 12 hour offset positive and negative and all had worked for me. I spoke in detail about this feature but I will repeat it here and then go into even further detail now that I believe it to be 100%.
I really wanted to incorporate timestamping for a couple of reasons. One, AIM and other desktop IM systems include a timestamp with each message and I again, I am trying to include as many features of those softwares as I can in Mercury System. And two, I was receiving message before timestamping and if I had been away for a while (even if in away mode), I would come back to messages that may have been from another day or atleast a couple of hours. There was no way of knowing. Currently the timestamps do not include the date but do have the hours, minutes and seconds. But the date of the message isn't really essential and if someone is going to be away from the computer for that long, hopefully they will sign out of the system anyway.
The program takes the time of the server and then will add or subtract your time offset to get YOUR time. The server is set in a particular timezone and to make this really work as a worldwide solution so that someone from anywhere in the world can make the times match their local time. There is an options window for timestamping which shows the current time on the server. Then there are two dropdown boxes, one for plus or minus and one for the actual number of hours difference there is between the user's time and the server's time. If the server's time is ahead of yours, you would select the negative sign in the first dropdown box and vice versa if your time is ahead. You then set the second dropdown box to the number of hours difference there is and then click the button.
As you message, the software will take into account your pal's time offset so that all of the timestamps in their IM window will be set to their time while the messages in your window will be all in your time zone.
I then had to change how the time is displayed on the timestamping options window because it was showing 24 hour times (such as: 2am was 2 but 2pm was 14. I didn't want the hours to show up as 14:35:12. Instead it now would read 2:35:12 PM instead).
The problem which I had been having which I also believe to be alleviated was that a handfull of hours during each day it would show AM instead of PM and PM instead of AM. Not good. But it's changed now so all is well.
Comment! (4) | Recommend! (1)
Friday, October 27, 2006
Didn't get as much done on [TMS] as I was hoping to. However I did fix the message alerts function. The script that turned them on and off wasn't working properly and it wasn't giving actual control to the user. Now the user has full control and can turn the messages on and off at will. And the alerts now include the name of the user that sent you the most recent message.
Comment! (2) | Recommend!
Sunday, October 15, 2006
As promised...below are five screen shots of various screens of The Mercury System. Below each screenshot will be a short description of what it is. Please feel free to leave comments!
This is the screen where you...umm..login. Enter username and password to gain access. You've done such things before!
This shot shows a Pal List and the icons for an "away" pal, two online pals, and a pal that sent you a message. You can also see "offline" members.
This shows a conversation in the IM window. You can see all of the features/options available when sending/receiving messages.
This screen shows many of the options available to you to help personalize your experience.
This screen is of the members list which will allow you to add or messages another member as well as view their profiles. There will be 10 members per page until all members have been displayed.
That's it for right now. Hope you enjoyed them! There will be more to come showing more in-depth features but this is for those of you that are not currently testers.
Comment! (3) | Recommend! (2)