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

GraphSpace Email Lists #393

Open
wants to merge 31 commits into
base: develop
Choose a base branch
from

Conversation

JingVT
Copy link
Collaborator

@JingVT JingVT commented Aug 14, 2018

Purpose

Built announcements and users email lists to post important announcements and allow users to communicate with each other.

Approach

Invoke GNU Mailman3 REST API.

Open Questions and Pre-Merge TODOs

Learning

Blog Posts

@adbharadwaj adbharadwaj self-requested a review August 21, 2018 18:27
Copy link
Collaborator

@adbharadwaj adbharadwaj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have requested some changes with some questions.

@@ -0,0 +1,20 @@
## Purpose
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you merge the latest changes to develop branches on Main repo?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to merge validates email address by sending a confirmation email to users, before merging email lists. Do you mind to review pull#238 before I merge it? Thank you.

@@ -23,6 +23,10 @@ class User(IDMixin, TimeStampMixin, Base):
email = Column(String, nullable=False, unique=True, index=True)
password = Column(String, nullable=False)
is_admin = Column(Integer, nullable=False, default=0)
user_account_status = Column(Integer, nullable=False, default=0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add documentation about the newly added fields? Since account status is integer what are the possible values and what they mean?

@@ -23,6 +23,10 @@ class User(IDMixin, TimeStampMixin, Base):
email = Column(String, nullable=False, unique=True, index=True)
password = Column(String, nullable=False)
is_admin = Column(Integer, nullable=False, default=0)
user_account_status = Column(Integer, nullable=False, default=0)
email_confirmation_code = Column(String, nullable=False, default=0)
email_list_announcement = Column(String, nullable=False, default=0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is unclear what email_list_announcement field does?

user_account_status = Column(Integer, nullable=False, default=0)
email_confirmation_code = Column(String, nullable=False, default=0)
email_list_announcement = Column(String, nullable=False, default=0)
email_list_user = Column(String, nullable=False, default=0)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same!



if (announcement_checked.checked == true) {
email_list_announcement = '1';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we storing 1 as a string?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because in models.py I defined the data type of email_list as String. Of course, we can change it to boolean or integer if necessary. '1' means users choose to join the corresponding email_list_anncouncement or email_list_user. '0' means they won't join.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. It should be either Integer or Boolean. I would say Boolean.
  2. What is the difference between email_list_anncouncement and email_list_user?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Ok,I will change to Boolean
  2. GraphSpace administrators post announcements to announcement email list. Users use user email list to post messages and discuss questions.

}

if (user_checked.checked == true) {
email_list_user = '1';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same?

@JingVT
Copy link
Collaborator Author

JingVT commented Dec 1, 2018

Files need to configure the domain name. For example, if you changed your domain name from graphspacetest.com to graphspace.org, you need to change the corresponding domain name in the files.

  1. GraphSpace/graphspace/settings/local.py, GraphSpace/graphspace/settings/production.py
  2. /etc/postfix/main.cf
  3. mailman-suite/mailman_suite/settings.py
  4. mailman-suite/mailman-hyperkitty/mailman-hyperkitty.cfg
  5. /etc/apache2/sites-enabled/mailman-suite.conf
  6. /etc/aliases
  7. /etc/postfix/virtual
  8. sudo dpkg-reconfigure postfix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants