We se several proposals where to store the useraccounts vfs, ini and both.
I insist that the solution with most future would be a third,external file for this purpose, something like useracc.lst
I have some reasons to believe that:
- if someone uses different vfs, he may be free to copy the accountfile with the vfs
- as the account-list may grow considerably in some cases, ini and vfs may grow a lot.
- thinking about different requests seen about account related questions, a separate file
could permit people to implement some 'rare' features outside hfs, as complement. Like this:
The only restriction for that file would be initially, that each register (starting with
login:) maintains the first fields exactly the same way as does the actual format in the ini file, what should mean less work for rejetto to change the system. But after the actual values, programmers may add extra fields that hfs could ignore for now. Perhaps it would be nice if we could terminate each registry entry with a <CR> or line break.
With this feature we could help massimo to do more essential modifications on hfs, leaving some special questions for special features to other coders without interfering in Massimo's code. To explain the needed tool I will open a separate feed.
Here I will only mention what benefits we could have (making small tools for it):
- somebody might add fields like: creation_date, expire_date, last_login_date, total_download_files,total_download_size, total_upload_files, total_upload_size etc. Then browsing periodically the historyfiles he can update those values
- somebody could write a cleanup program that willl eliminate users with a set expire_date or who's last_login last from more than two months etc.
- somebody could write a account creating program with the help of the feature 'external commands' (new thread) etc... etc..
If we want to change the location of the accounts from ini to vfs or both, I think it's better to move it outside, only adding a commandline option to hfs: -ru (reload useraccounts) that could be executed if we add or delete or ban users from outside.