Just a simple idea…
So, I invited some of the people who tried dynamic-efl.com (my worksheet making site) a while ago to return to the site and see if things appeared more streamlined, clearer. And what was the response?
“Toby, I tried to login, but I’ve forgotten my password. Doesn’t your site have one of those password-reset functions?”
Of course it doesn’t. Grr.
No problem, it should be pretty straight-forward to code and it needs to get done at some point, I suppose.
It still isn’t done.
Save the email addresses
It turns out that the way I had been creating users, I managed to accidentally forget to save their email addresses. Oops. So, even if the “email me a link to create a new password” function existed, it wouldn’t help.
I’ve fixed that.
Then, once I was working with the email addresses, it seemed logical to add them to the mailchimp list I’d been thinking about starting.
Of course, to avoid adding bad email addresses to the mailchimp list and getting flagged, it seemed logical to first add the addresses after they’ve been verified. But that required me to code up an email-verification system. No biggie, but that meant learning how to send email through django.
I got that done. (Interestingly, I can send it through gmail, which I find convenient.)
Since that was done, it seemed as good a time as any to add an ‘account_locked‘ flag to the Teacher model, which would throw up a message on several of the relevant pages saying “your account is locked…”
I got that done.
Then, it seemed ridiculous to have a ‘your account is locked’ message if the account wasn’t, actually, functionally locked. Once I dug out where exactly the downloads happened, it should be pretty simple to have it first check if the account is locked or not.
I got that done.
There still isn’t a password reset
It’s next on my list of things to do, but this sort of experience is pretty standard for me in my own coding. I think everyone imagines that ‘real coders,’ have a plan and sit down and build something logical from start to finish.
(Though there is comic evidence to suggest that isn’t true. I got this via “Coding explained in 25 profound comics,” which is worth a visit on its own.)
So, perhaps this is just par the course for the coding experience. Either way, it’s part of why my next project will be to write a drop-in user management module for future django projects.
I’m enjoying this and learning to appreciate a lot about website administration. But I would not be upset if I only had to learn all this once.
If you’ll excuse me now…
…I’m off to write a password reset function.