Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #97

Open
5 of 8 tasks
Noordfrees opened this issue Aug 28, 2021 · 4 comments · May be fixed by #116
Open
5 of 8 tasks

Roadmap #97

Noordfrees opened this issue Aug 28, 2021 · 4 comments · May be fixed by #116
Assignees
Labels
enhancement New feature or request server Java code

Comments

@Noordfrees
Copy link
Member

Noordfrees commented Aug 28, 2021

This is the roadmap of the remaining features I intend to implement in the server over the next time.

Documentation

  • Needs proper Javadoc HTML formatting.

Fully automate Transifex integration

The syntax to update all details of a resource is

curl \
	-g \
	--request PATCH \
	-H \
	"Content-Type: application/vnd.api+json" \
	-H \
	"Authorization: Bearer TOKEN" \
	"https://rest.api.transifex.com/resources/o:widelands:p:widelands-addons:r:RESOURCE" \
	-d \
	'{"data":{"id":"o:widelands:p:widelands-addons:r:RESOURCE","type":"resources","attributes":{"name":"NEW_NAME","priority":"PRIORITY","categories":["CATEGORY"]}}}'

Placeholders therein: TOKEN, RESOURCE (2×), NEW_NAME, PRIORITY, CATEGORY (list)
Valid priority is "normal" "high" "urgent".

To delete an existing resource, use --request DELETE and omit -d ... and the content-type header.

  • This will be added as an extension of the CMD_SETUP_TX command and all parameters can be set via the Widelands admin UI.
    Then every server maintainer can setup new add-ons, and not just Transifex maintainers.

@mentions in comments

  • How will anyone notice you dropped them a comment? They probably won't. If you just want to state an observation, comments are fine, but for the purpose of conversation about an add-on their usefulness is quite limited. E-Mail notifications when you @mention someone in a comment on an add-on, as well as for all new comments about your add-ons, shouldn't be hard to implement. Unless anyone has an objection to this feature?
  • [ ] An option to subscribe/unsubscribe to receiving notifications about all new comments on a specific add-on, like for forum threads, might also be nice but probably overkill – opinions?
  • This reminds me that limiting everyone except admins to edit their comments only within 24 hours after posting (like on the forum) is also an easy-to-implement anti-spam measure.

Re widelands/widelands-website#359

Whitelist / Blacklist

  • When a trusted member of the development team uploads an add-on there is probably no need to mark it unverified automatically every time. And the twice-daily Europeans updates are also not a likely source of spam ;) I want to allow adding some rules like "when user A uploads add-on (B | any) then set security status to C (and | or) quality to D" to override the defaults.

  • There has been no spamming the add-ons server yet (though a few instances of what might have been failed hacking attempts) but the possibility to block individual users from uploading content and/or commenting on (specific or all) add-ons should better be implemented early so we have it ready if we ever need it.

  • I'm not sure whether users who deleted their account and users whose website account has been deactivated due to spamming can still connect to the server if they set a gaming password in time; but the server does not perform any checks for this yet. I also don't know whether a deleted user's old username will still be shown. I assume there are related flags somewhere in the database – @frankystone do you know which columns in which tables are relevant for this?

Versioning

  • Increasing the protocol version for every minor feature will quickly become unmaintainable. The next protocol version increase should feature the addition of a command version for each command. If each command is prefixed with its own version number, changes to one command's syntax won't touch the rest of the codebase.
@Noordfrees Noordfrees added enhancement New feature or request maintenance Shell scripts & backend stuff labels Aug 28, 2021
@Noordfrees Noordfrees self-assigned this Aug 28, 2021
@matthiakl
Copy link
Member

Mentions/Comments:
E-Mail notifications for comments on own add-ons and @mentions are fine and don't require anything on the client side, but I don't think we should add a subscription system. The in-game comments should mostly be for opinions. Other communication should take place on the forum.

@frankystone
Copy link
Contributor

frankystone commented Nov 10, 2021

I'm not sure whether users who deleted their account and users whose website account has been deactivated due to spamming can still connect to the server if they set a gaming password in time; but the server does not perform any checks for this yet. I also don't know whether a deleted user's old username will still be shown. I assume there are related flags somewhere in the database – @frankystone do you know which columns in which tables are relevant for this?

For users who deleted him/herself:

  • He/she get marked in wlprofile models with a boolean which is used to show an alternative nickname in different templates.
  • The users nickname will not be deleted or changed (in pybb/user django/auth/user), so no one can register with this name again.
  • Other user related data will be deleted including his GGZ-data , see wlprofile views

Deactivated accounts:

  • The user get only marked as deactivated to prevent logging in. No cleanup is made. That's one of the reason i prefer deleting a user (spammer), because this will delete also GGZ-data.

Hopefully this does answer some of your questions?

@Noordfrees
Copy link
Member Author

👍 Yes, thank you :)

@Noordfrees Noordfrees linked a pull request Nov 27, 2021 that will close this issue
@frankystone
Copy link
Contributor

FYI: widelands/widelands-website#365

@Noordfrees Noordfrees added server Java code and removed maintenance Shell scripts & backend stuff labels Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request server Java code
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants