Ticket #816 (closed Defect: fixed)

Opened 5 years ago

Last modified 5 years ago

sign-up module: adapt to be compatible with dm 4.6

Reported by: Malte Owned by: Malte
Priority: Major Milestone: Release 4.7
Component: 3rd Party Plugins Version: 4.6.1
Keywords: Cc:
Complexity: 3 Area:
Module:

Description

Upgrade dm44-sign-up module to DM 4.6.

Attachments

dm46-sign-up-1.1-SNAPSHOT.jar (864.9 KB) - added by Malte 5 years ago.
DM 4.6 compatible sign-up modue.
dm46-webactivator-0.4.5.jar (1.4 MB) - added by Malte 5 years ago.
DM 4.6 compatible webactivator.

Change History

comment:1 Changed 5 years ago by Malte

  • Status changed from new to accepted

comment:2 Changed 5 years ago by Malte

  • Migrated ACL stuff from "postInstall"-Hook to Migrations
  • Removed has_create_permission from client-side plugin
  • Integrated low level mail reporting functionality for each account creation request

Also related to #808, #811, #813, #814, #817.

Sign-up with DM 4.6 is basically functional.
Build from source: https://github.com/mukil/dm4-sign-up
Build from source: https://github.com/mukil/dm4-webactivator

The new Sign-up module should appear in http://download.deepamehta.de/ tomorrow.

Sending a notification mail during each account creation to "team@lists..." seems to work to, tested with local Postfix. Mail should be in the lists-administration interface.

Changed 5 years ago by Malte

DM 4.6 compatible sign-up modue.

Changed 5 years ago by Malte

DM 4.6 compatible webactivator.

comment:3 Changed 5 years ago by Malte

Will change functionality according to #814 during the rest of this week.

comment:4 Changed 5 years ago by Jörg Richter <jri@…>

In 62be7cf8935d64b905d61171343509adfc7bbc4b/deepamehta:

Extend Core Access Control: email address (#816).

Core Access Control API:

1 new method:

boolean emailAddressExists(String emailAddress);

Returns true if an "Email Address" (dm4.contacts.email_address) topic with the given value exists,
false otherwise.
This is a privileged method, it runs as "System".

Example:

boolean exists = dms.getAccessControl().emailAddressExists("i@me.com");

See #816.

comment:5 Changed 5 years ago by Jörg Richter <jri@…>

In 8722b61d89bdacebefc63efd9ba9977fbe47214a/deepamehta:

Core Access Control: get private workspace (#816).

Core Access Control API:

1 new method:

Topic getPrivateWorkspace(String username);

Returns the private workspace of the given user.

This is a privileged method, it bypasses the access control system.

Note: a user can have more than one private workspace. The workspace returned
by this method is the one that holds the user's password topic.

Example:

Topic workspace = dms.getAccessControl().getPrivateWorkspace("admin");

See #816.

comment:6 Changed 5 years ago by jri

Hi Malte!

With the recent 2 commits you should be able now to implement the email address aspect as discussed: store a user's email address in an Email Address topic (dm4.contacts.email_address), associate it to the Username topic, and assign it to the private workspace of the admin user. To do the workspace assignment use the privileged assignToWorkspace() method:

dms.getAccessControl().assignToWorkspace(emailTopic, workspaceId);

Note: this assignToWorkspace() method should only be used for the initial workspace assignment, that is for object's which don't have an assignment already. That is, when creating the Email Address topic you should suppress the standard workspace assignment as describe in ticket:752#comment:5

Please tell if this works for you.

comment:7 Changed 5 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to fixed

To my knowledge the Sign-up plugin meanwhile works with DM 4.6 and 4.7

comment:8 Changed 5 years ago by jri

Experience with the Sign Up plugin shows that the semantics of the current authority_decreased event (ticket:592#comment:59) does not fit well. See #854.

Note: See TracTickets for help on using tickets.