Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mega Enhancement: Settings GUI #69

Open
sbrl opened this issue May 30, 2016 · 6 comments

Comments

@sbrl
Copy link
Owner

commented May 30, 2016

Gogs has a gui upon first run that allows you to configure the software's settings. It would be seriously cool if we could have something similar.

It is, however, a very difficult problem. Firstly, we need to abstract our settings into a separate file in something like JSON or INI. Furthermore, our data structure is complex - the default CSS theme would need to have its own file, and I can't even start to imagine what we'd have to do with the users array.

Only then can we consider a GUI for the settings.

@sbrl sbrl changed the title Mega Enchancement: Setings GUI Mega Enhancement: Settings GUI May 30, 2016

@sbrl

This comment has been minimized.

Copy link
Owner Author

commented May 30, 2016

Actually, the user list would be quite trivial in JSON - we could use an array. I guess that rules out INI then.

I'd love to use cson or hjson, but I can't find a parser in PHP - so I'd have to write my own. That doesn't sound fun at all.

@sbrl

This comment has been minimized.

Copy link
Owner Author

commented Jun 8, 2016

Right. I can't take it any more! I have to deal with this problem once and for all. It's a huge usability issue because it makes it extremely difficult to upgrade to the next version of Pepperminty Wiki properly.

The first order of business is to create a settings file. The default settings should be stored/packed (compactly it should be added) into Pepperminty Wiki itself and then get overridden on load by the settings loaded from the JSON file. That way if new settings aren't present upon upgrade it won't be a huge.

The comments currently next to each option should be moved to a separate JSON file. THen we can use it to generate a GUI for the settings automatically later on down the line.

The settings GUI may not make it into this release though - that all depends on how we get on. I do, however, intend to make as many of the breaking changes as possible in this release. Then we can just bolt on the settings GUI (which will have it's own separate issue) in the next release with no problem at all!

@sbrl sbrl added this to the v0.12 milestone Jun 8, 2016

@sbrl

This comment has been minimized.

Copy link
Owner Author

commented Jun 22, 2016

That took absolutely ages. Right now we currently have all the settings stored in a JSON file. Some minor changes to the data structure had to be made in order to get it work work though - like the $admindetails array, for instance.

Although everything is in place to start work on the first-run gui, I don't think it's going to make it into this release. It's a complex piece of work, and requires re-working the settings slightly again, which is a nasty complicated task - considering all the things that depend on it.

@sbrl sbrl modified the milestones: v0.13, v0.12 Jun 22, 2016

@sbrl sbrl added the Area: Code label Jun 26, 2016

This was referenced Dec 11, 2016
@sbrl

This comment has been minimized.

Copy link
Owner Author

commented Dec 11, 2016

That JSON file for the settings is totally worth it - instantly it's making dealing with the settings a whole ton easier - as expected :D

We've now got an initial settings GUI online, as of d4fe19d..16f5e8f. I'm not stopping there though - oh no. Next, I'm going to also tackle user management / preferences in #127. Then, I'm also planning on tackling user preferences (such as changing one's own password!) in #128.

@sbrl

This comment has been minimized.

Copy link
Owner Author

commented Jul 3, 2017

#128 is dealt with - #127 is still to go.

@sbrl sbrl modified the milestones: v0.13, v0.14 Jul 29, 2017

@sbrl

This comment has been minimized.

Copy link
Owner Author

commented May 25, 2018

That's #127 done! I think we can safely say that we've (mostly) dealt with this issue now. Still to go are the navigation bar links etc.

I'm still not actually particularly happy with the more menu actually - I might change that up a bit, so I'm not sure whether dealing with adding a configuration GUI for that is a particularly good idea right now.

@sbrl sbrl modified the milestones: v0.14, v0.17 May 25, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.