AtlasMediaGroup / IcarusMod

The Superior Freedom Network custom plugin.
Other
8 stars 13 forks source link

MySQL Settings Table #132

Closed Wild1145 closed 9 years ago

Wild1145 commented 9 years ago

We need a MySQL based settings table that we can use to store global information, like the Tab headers and footers along with other things in the future.

Hockeyfan360 commented 9 years ago

I will start on this. Cam can make edits if he wishes to do so.

Hockeyfan360 commented 9 years ago

I just realized that we ran into a problem. There is no object format for MYSql. Storing this in a blob would be complicated as well. If we did store this in a blob, it would make settings difficult to handle through the database itself.

I don't want to make it seem like I am slacking off, but the easiest way to do this would be to make multiple columns, one for string, one for an int, one for a boolean, etc. The things that we don't need data from can be left null, because they won't get checked. Does that sound reasonable, @Wild1145 @CameronRedmore

Hockeyfan360 commented 9 years ago

Also, would you like settings to auto update every minute? This would allow for network-wide lockdown, and other similar features.

Wild1145 commented 9 years ago

It should really auto update, im not too sure on how often, but where possible it should be instant (For example with the on chat events with nicknames and such) but every 60 seconds here should be enough.

Hockeyfan360 commented 9 years ago

When it checks via command or manual task, it will check automatically because we are pulling it from the database itself.

Hockeyfan360 commented 9 years ago

Okay, I have created a table with basic settings, such as title messages on join, and tab headers/footers. I will create the auto update when I am in a proper testing environment.

For now, since we have no features to add to the settings table, I will probably leave a blank method that is run every update, and inside I will contain a sample of what you should include if you add something to it. This way, I am not adding a security system, tab headers, tab footers, a settings table, and probably a few bug fixes in one HUGE commit.