GibbonEdu / core

Gibbon is a flexible, open source school management platform designed to make life better for teachers, students, parents and leaders.
https://gibbonedu.org
GNU General Public License v3.0
464 stars 301 forks source link

Reafactoring Forms #820

Closed SKuipers closed 3 years ago

SKuipers commented 5 years ago

Hello! A few versions ago we started the form ooification process: updating all the HTML forms in Gibbon to use a set of PHP classes, for re-usability and maintainability. As we are getting closer to our mobile-responsive goal in v18, there are only a few forms left!  

Info

If you'd like to help out, this is a great place to start:

👀 Check out the cheat sheet or the codebase for examples

👇 Pick a module that hasn't been started yet

💬 Reply here to let us know which module you're working on

:octocat: PR your changes when they're done, ideally one PR per module. More info here.

Thanks! Give a shout with any questions.  

Additional Modules

rossdotparker commented 5 years ago

So close on this one, the first of the big Gibbon "threads" we've been working to pull out and update. I'll try and look at Free Learning in the coming weeks, unless someone beats me to it!

powertashton commented 5 years ago

Will give the remainder of the Higher Education forms a look over the weekend, at first glance seems there's a few big ones but should be manageable.

SKuipers commented 5 years ago

Great! I've sent an invite to the ooification tracker, which has some more fine-grained progress for each module. Check the Additional Modules tab for the Higher Education module, and feel free to add the progress you've made on the IB module to the list. Thanks!

jimbo8098 commented 5 years ago

I'll grab badges if no one's got it!

rossdotparker commented 5 years ago

Hi Jim, thanks! I've just checked, and it is mostly done, but a couple filter forms left to do. Want to get stuck in?

jimbo8098 commented 5 years ago

On it!

jimbo8098 commented 5 years ago

Nearing completion now, I think I've finished all the forms but I noticed the session handling is still done through direct $_SESSION changes. I'm refactoring those while I'm working on that so these are all using the new method. Shouldn't take too long, half-done already and I've only been doing it for around 1 hour.

jimbo8098 commented 5 years ago

Finished!

rossdotparker commented 5 years ago

Finished!

Nice! Feel free to jump into Free Learning next if you like. There are some simple forms in there you can get started with, and I could then look into the Manage Units forms, as these are similar to Planner, which I've just done.

jimbo8098 commented 5 years ago

I'm working on tables for the moment instead. Might as well convert the whole module rather than having it half and half. Unless you guys have a deadline you want to meet on Form OO of course?

SKuipers commented 5 years ago

Awesome! For big modules like Free Learning, feel free to PR your ooification in smaller chunks, so we can give feedback as you go, and to save our sanity a bit when reviewing the code 😁

We do have a deadline just around the corner, which is the v18 string freeze on May 20th 😅 We're hoping to get all the remaining form ooification for the core done for v18, so that's our current focus. If you search <form project-wide you can find some of the ones that are still lurking, mainly in the planner, and they've been left for last for a reason 😬

After that, there's plenty more tables in the core to ooify too, be sure to check the tracker spreadsheet if you'd be interested in tackling some of those (Finance might be a good place to start). After the string freeze we're going to wrap up all the changes and ooification as much as humanly possible. v18 has introduced some massive changes to the core, so we're aiming to use the time before the release to test everything and iron out any bugs.

jimbo8098 commented 4 years ago

I know this is a really old project item but I found some AJAX forms on the House Points module which I'm OOifying as part of the Table OOification. This modules basically been rewritten from the ground up using Domains, OO stuff and the new $gibbon variable instead of the $_SESSION data which should be more reliable.

This PR's been nearly a year in the making so it will hopefully make a well-deserved Hacktoberfest contribution :P

jimbo8098 commented 4 years ago

Also, does the Free Learning module require the same? Should be fairly trivial on that one too if so.

SKuipers commented 4 years ago

Hi Jim, sounds great!! 😃 I just noticed a jimbo8098/module-housepoints branch on your core fork and wondered if you were aware of the House Points repo. I'd mentioned it here, which you may not have noticed, buy hopefully it will help cut down on any duplicate effort.

jimbo8098 commented 4 years ago

Ah, thanks for the heads-up. I'll take a look later. Your architecture's likely better. Any quick clues to the progress of that?

On Tue, Oct 15, 2019, 1:30 AM Sandra Kuipers notifications@github.com wrote:

Hi Jim, sounds great!! 😃 I just noticed a jimbo8098/module-housepoints branch on your core fork and wondered if you were aware of the House Points repo https://github.com/SKuipers/gibbon-house-points. I'd mentioned it here https://github.com/GibbonEdu/core/issues/821#issuecomment-535778064, which you may not have noticed, buy hopefully it will help cut down on any duplicate effort.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/GibbonEdu/core/issues/820?email_source=notifications&email_token=AC6XUFDPK5JM2A3VNGLGWZTQOUFJNA5CNFSM4HBLGG7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBHARLA#issuecomment-541984940, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC6XUFHLKBRQW2FH6IJY2TLQOUFJNANCNFSM4HBLGG7A .

SKuipers commented 3 years ago

Done and dusted! All form ooifications for additional modules have now been completed 🎉