I really want to give Lemmy some more drive! So lets start it already!
Before anything else can be done, we need some userhandling. Nearly everything else does base on this!
But how? I had some sleepless night, so I had time to think about it and will throw some possibilities into the room:
Do userregistration from scratch
Use some gem for simple authentification (username/email and password), best known gem would be devise, lesser known and much more leightweight is sorcery
Use OAuth capabilities of some external providers like GitHub, Gitlab, Bitbucket, etc. Doing this from scratch would be a big exercise, but whoever does this will learn a lot! As always, there are also gems available, most know is omniauth which has plugins available for nearly everything you can think of.
Perhaps there are other possibilities I am not aware of, but at the moment I'd prefer to use OAuth or similar mechanisms for external authentification either from scratch or by gem. The maincause why I am thinking this is the following:
Lemmy is meant to be a document management system and does compile some textfiles into LaTeX and that into a pdf. The textfiles are provided via gitrepositories. So it makes sense to use authentification methods provided by the big git-providers.
User model is already defined.
That is nearly nothing ;) And it does not even hold a field for a password.
Oauth is far too complicated for a start.
Much of the protocols burden is taken from the developers shoulders if using the already mentioned omniauth, its nearly reduced to a matter of configuring proper keys
Devise gem (warden) is great idea
Personally I strongly dislike it because of its heavyweight. I'd really prefer to go with sorcery. It is much more lightweight. It provides a couple of helpers which you can use to build everything around it as views, controllers, models, etc. Just the opposite of devise where you have to nearly rewrite the whole gem if you want to label the password field with "passcode" instead of "password".
As long as you don't want to change anything, devise might be ok, but I really think it is hiding to much in the first place and then overwhelms the user with too much stuff when he wants to change small bits.
but let's start with ldap and rdbms auth.
Don't have any experience here.
User model is already defined.
That is nearly nothing ;) And it does not even hold a field for a password.
Oauth is far too complicated for a start.
Much of the protocols burden is taken from the developers shoulders if using the already mentioned omniauth, its nearly reduced to a matter of configuring proper keys
Devise gem (warden) is great idea
Personally I strongly dislike it because of its heavyweight. I'd really prefer to go with sorcery. It is much more lightweight. It provides a couple of helpers which you can use to build everything around it as views, controllers, models, etc. Just the opposite of devise where you have to nearly rewrite the whole gem if you want to label the password field with "passcode" instead of "password".
As long as you don't want to change anything, devise might be ok, but I really think it is hiding to much in the first place and then overwhelms the user with too much stuff when he wants to change small bits.
but let's start with ldap and rdbms auth.
Don't have any experience here.