Closed seanh closed 6 years ago
Possibly groups could have been created already, i.e. "self-serve": https://github.com/hypothesis/product-backlog/issues/428
Edited this to reflect that we can work on both the open and restricted groups admin interface (as it is the same interface) at the same time. There is only 1 additional requirement for restricted groups: adding group members - that has been pulled out into a seperate card: #494
Hi @ajpeddakotla ! Thanks for breaking these cards out. I think there are a few acceptance criteria on this one that are going to need to wait until we make further progress on publisher/"organization"-related feature planning. Might I suggest the following:
http://www.cnn.com
, https://www.cnn.com
) on which the open or restricted I'm wondering if we should add:
authority
the new group belongs to, with a default to the default authority (hypothes.is
)I'd also suggest expanding the Suitable validation and error messages bullet into:
origins
entered for scope are invalidReason: This will help devs itemize some of the validation work needed.
I've deleted this one:
- The groups shouldn't be preconfigured. Admins should be able to choose from a list of permissions.
Preconfigured types of group (private, open and restricted) is the architecture that we've been building so far. We don't have a system at any level (service, API, activity pages, client, ...) that's able to deal with arbitrarily chosen group permissions and it's not clear to me yet that that would be a good direction.
(As Lyza already pointed out)
- [ ]
The admin can update details of the group when needed.Note: I think we need a separate card for managing/editing a group. The rest of the tasks on this card fall into creating a group.
Agree - lets move this to a separate card. This may overlap with the admin page for adding members to and removing members from a group which is already on its own card (both features may belong on the same page)
I'd also suggest expanding the Suitable validation and error messages bullet into:
- [ ] The Admin should see a message if the user entered to be the group's creator does not exist
- [ ] The Admin should see an error message if the
origins
entered for scope are invalid- [ ] The Admin should see an error message if core group fields do not validate (e.g. name)
Looks good!
- [ ] After creating the new group successfully, the Admin should be taken to a panel to manage the membership of the group (add/remove members) <-- Is this a good idea?
I think that's probably a good idea because I think we might add any other group edit controls that we want admins to have (like editing the name of the group, its scopes, etc) to the same page?
Agree w/ all comments made, and updated the acceptance criteria in the top comment to reflect. Old Acceptance Criteria (kept for record)____
Work is proceeding here. There are a bunch of pieces almost ready to be plugged into each other. Here's what needs to happen next if anyone else picks this up:
origins
field in the form would be updated to integrate the work happening in https://github.com/hypothesis/h/pull/4876 (patch included) and URL validation would be added to the values that get entered into those fieldsPOST
handler needs to be hooked up to the group
service and invoke the appropriate "create" method depending on the type of group (I've created a new card for UX/UI improvements #https://github.com/hypothesis/product-backlog/issues/534 to be picked up in the future. It is recommended some of the improvements be pushed out with the initial release e.g character limits and required field affordances) to avoid unnecessary user errors.
Consider making the authority field non-editable, if so make the text look disabled - as I understand it, this is pre-populated and immutable.
Are there any character limits for group name, description etc? There will probably need to be, so let’s add the character count in the bottom right corner as per create private group UI: https://hypothes.is/groups/new. Adding the character count from the get go will prevent the ‘exceeding character’ limit error showing when the user clicks ‘Create new group’.
On Scope Origins field ‘i’ tooltip let’s change the text from: ‘Origins where this group appears (e.g. "https://example.com' to: ‘Origin URLs where this group will appear (e.g https://example.com)’
Expose the origin form field input field from the ‘get go’, so it’s not hidden behind a click, add water mark to this text field ‘e.g. www.example.com’
Scope Origins: Do we want to enforce entry of either ‘http://’ or ‘https://’ before the URL? At the moment, this form submits with only ‘www….’ If we do want to validate against protocol, we should include in the watermark as well e.g ‘http://www.example.com'.
Add a label to the subsequent origin fields and make the ‘required affordance’ only on the first scope origin field.
Mockup for initial form view with 1st add origin field exposed and shown as a required field:
Mockup for displaying multiple origin fields:
Note: there are additional ways to design multiple input fields but I kept the same model @robertknight has already implemented to make it simpler.
For an alternative way to handle multiple form inputs in one text field - see the following 'email to: field' example
Closing as issue is completed.
As a Hypothesis admin I want to be able to quickly and easily create an open and restricted group for a publisher.
Done when:
http://www.cnn.com
,https://www.cnn.com
) on which the open or restricted group should appearauthority
the new group belongs to, with a default to the default authority (hypothes.is
)origins
entered for scope are invalid