10-09-2018, 09:42 PM
I've only been using US for a few days (and liking it a LOT), so this may be way off base especially if a lot of it is already available/in the works, but my early observations are that UserSpice a) does a great job of covering the bases it says it will, and b) does get in the way a bit.
What I mean is, there are quite a lot of areas where I feel I HAVE to edit files in /users or /usersc, even though that's really not a good idea.
(Aside: why two directories anyway? I'd rather see all the US core stuff in one folder, and everything a user is likely to edit in another, but even then I'd rather they be under a single folder because I'm a neatness freak )
For example, I want to disable the ability of site visitors to list all subscribers, but the only way to do that is to hack it out of the php. This isn't really a criticism of US since it's not hard to make those edits directly, but if there were a more cleanly defined module approach, it wouldn't need tweaking at code level, and it would make extensibility easier. There are other small examples - again, nothing serious, but it feels like it's due for a bit of a cleanup.
For another - US outputs the entire header and then the start of the body, in one go. I may have overlooked it, but I can't find a way for me to add headers, js/css includes, and so on, without directly editing header.php. I'd really like to be able to affect that directly from within files, because I don't always want the includes. Maybe provide a US equivalent of header() so pages can inject header material before the page renders?
I'd also like to be able to do multi-project management, with users and pages grouped per project, and role-based management including project-limited access. And while I'm thinking about that, I'd also like to be able to include user template files, on a per-project basis. I use global php classes, and I'd quite like to be able to say "For all files in this project, include that file." You may have to resolve issues like conflicting versions of jquery though.
Lastly - the video of "how to do a minimal use" Honey Badger site looks out of date. Far as I can see, all you need to invoke US is this:
Which is pretty darned lean, and I really like that minimalist approach. I have to ask, though, why isn't the second line just moved to init.php? Given that you always want it to be present, it kinda looks like the single require_once line should be all you really need. (One line, for a complete user management backend? That's neat.)
All of this is fairly minor though. I'm liking how US (mostly) takes care of the messy user management stuff and lets me focus on rolling out pages. And that's really the win for me, in a nutshell; just let me focus on my stuff, and take care of your stuff. So a non-function suggestion would be to focus some of the documentation on exactly that. The docs are good from a technical standpoint, but could maybe do with some more focus on the use-case stuff.
Thanks for a great project. Glad I found it!
What I mean is, there are quite a lot of areas where I feel I HAVE to edit files in /users or /usersc, even though that's really not a good idea.
(Aside: why two directories anyway? I'd rather see all the US core stuff in one folder, and everything a user is likely to edit in another, but even then I'd rather they be under a single folder because I'm a neatness freak )
For example, I want to disable the ability of site visitors to list all subscribers, but the only way to do that is to hack it out of the php. This isn't really a criticism of US since it's not hard to make those edits directly, but if there were a more cleanly defined module approach, it wouldn't need tweaking at code level, and it would make extensibility easier. There are other small examples - again, nothing serious, but it feels like it's due for a bit of a cleanup.
For another - US outputs the entire header and then the start of the body, in one go. I may have overlooked it, but I can't find a way for me to add headers, js/css includes, and so on, without directly editing header.php. I'd really like to be able to affect that directly from within files, because I don't always want the includes. Maybe provide a US equivalent of header() so pages can inject header material before the page renders?
I'd also like to be able to do multi-project management, with users and pages grouped per project, and role-based management including project-limited access. And while I'm thinking about that, I'd also like to be able to include user template files, on a per-project basis. I use global php classes, and I'd quite like to be able to say "For all files in this project, include that file." You may have to resolve issues like conflicting versions of jquery though.
Lastly - the video of "how to do a minimal use" Honey Badger site looks out of date. Far as I can see, all you need to invoke US is this:
Code:
require_once 'users/init.php';
if (!securePage($_SERVER['PHP_SELF'])){die();}
Which is pretty darned lean, and I really like that minimalist approach. I have to ask, though, why isn't the second line just moved to init.php? Given that you always want it to be present, it kinda looks like the single require_once line should be all you really need. (One line, for a complete user management backend? That's neat.)
All of this is fairly minor though. I'm liking how US (mostly) takes care of the messy user management stuff and lets me focus on rolling out pages. And that's really the win for me, in a nutshell; just let me focus on my stuff, and take care of your stuff. So a non-function suggestion would be to focus some of the documentation on exactly that. The docs are good from a technical standpoint, but could maybe do with some more focus on the use-case stuff.
Thanks for a great project. Glad I found it!