From Fedora Project Wiki
(Move status block at the bottom) |
(→Features: Add indents for better reading) |
||
Line 39: | Line 39: | ||
==== Groups and people visibility ==== | ==== Groups and people visibility ==== | ||
No need to log in anymore to review groups and people's profile. | : No need to log in anymore to review groups and people's profile. | ||
==== RESTful API ==== | ==== RESTful API ==== | ||
Provide a dedicated ENDPOINT to retrive accounts' data. | : Provide a dedicated ENDPOINT to retrive accounts' data. | ||
Access to this API requires a generated token that people can get from their | : Access to this API requires a generated token that people can get from their | ||
profile's page. | : profile's page. | ||
==== Profile Avatar ==== | ==== Profile Avatar ==== | ||
People will be able to add an avatar to their profile (from a 3rd party service) | : People will be able to add an avatar to their profile (from a 3rd party service) | ||
This avatar will be available to 3rd-party which can use it in their views or more. | : This avatar will be available to 3rd-party which can use it in their views or more. | ||
==== Profile Bio ==== | ==== Profile Bio ==== | ||
: Allow people to write up a bio (view-able from their profile's page). | |||
profile's page. | |||
==== Group 3rd-party binding ==== | ==== Group 3rd-party binding ==== | ||
As we (Fedora project) has a specific way of using group (i.e providing VCS access and the like) | : As we (Fedora project) has a specific way of using group (i.e providing VCS access and the like) | ||
group will provide a way to bind its ACLs to 3rd party in order to retrieve people or to give people | : group will provide a way to bind its ACLs to 3rd party in order to retrieve people or to give people | ||
some rights to this 3rd party if its members exist from this 3rd party. | : some rights to this 3rd party if its members exist from this 3rd party. | ||
Current target for now is: | : Current target for now is: | ||
* GitHub organization | :* GitHub organization | ||
: Admin or group's admin could bind a group to a github organization's team. | :: Admin or group's admin could bind a group to a github organization's team. | ||
: Which, create github's team if not exist and add its members to it if its members exist on github. | :: Which, create github's team if not exist and add its members to it if its members exist on github. | ||
: If group is VCS related, create a github's repo if not exist already and give its members commit access. | :: If group is VCS related, create a github's repo if not exist already and give its members commit access. | ||
==== Group ownership ==== | ==== Group ownership ==== | ||
Group's owner has been renamed to "principal Administrator" as group's admin can now | : Group's owner has been renamed to "principal Administrator" as group's admin can now | ||
: pass along their group's ownership to another admin of the same group. | |||
pass along their group's ownership to another admin of the same group. | : Account's administrator can do the same. | ||
Account's administrator can do the same. | |||
==== Settings panel ==== | ==== Settings panel ==== | ||
Account's admin will have a dashboard where they could | : Account's admin will have a dashboard where they could manage account related elements | ||
manage account related elements | :* people management | ||
* people management | :** Remove an account | ||
** Remove an account | :** Block, disable or archive account | ||
** Block, disable or archive account | :* groups management | ||
* groups management | :** Add, edit and remove groups | ||
** Add, edit and remove groups | :** Block or archive groups | ||
** Block or archive groups | :* groups' types management | ||
* groups' types management | :* license agreement management | ||
* license agreement management | :** Add, edit and remove Licenses | ||
** Add, edit and remove Licenses | :** Enable license at sign-up which flag the license signing as mandatory | ||
** Enable license at sign-up which flag the license signing as mandatory | :* private API access management | ||
* private API access management | :** Generate private token for trusted applications | ||
** Generate private token for trusted applications | |||
==== Account activities ==== | ==== Account activities ==== | ||
A new page where people can review their account's activities | : A new page where people can review their account's activities with datetime, events and locations. | ||
with datetime, events and locations. | |||
==== Connected applications ==== | ==== Connected applications ==== | ||
* Github | :* Github | ||
: Allow people to connect their github account and share their public infos with Fedora services. | :: Allow people to connect their github account and share their public infos with Fedora services. | ||
* Twitter | :* Twitter | ||
: Allow people to connect their twitter account and share their public infos with Fedora service. | :: Allow people to connect their twitter account and share their public infos with Fedora service. | ||
==== 2 factors authentication ==== | ==== 2 factors authentication ==== | ||
* Gauth token | :* Gauth token | ||
Optional 2nd auth wihch once activated, will ask people after entered a valid login+password | :: Optional 2nd auth wihch once activated, will ask people after entered a valid login+password | ||
their Gauth token to let them in. | :: their Gauth token to let them in. | ||
* Yubikey | :* Yubikey | ||
This one will not be added as a 2nd auth but as a combo with the login and password (i.e login+password+otp) | :: This one will not be added as a 2nd auth but as a combo with the login and password (i.e login+password+otp) | ||
(as discussed last flock). | :: (as discussed last flock). | ||
==== LDAP backend ==== | ==== LDAP backend ==== | ||
Change SQL backend to LDAP's for groups and people management. | : Change SQL backend to LDAP's for groups and people management. | ||
== Ideas == | == Ideas == |
Revision as of 19:11, 23 March 2015
Mockups
- FAS 2 as reference
-
FAS 2 - People list
-
FAS 2 - People edit
-
FAS 2 - Groups list
-
FAS 2 - Group details
-
FAS 2 - Invite people
-
FAS 2 - Password Change
-
FAS 2 - TODO list
-
FAS 2 - Yubikey setting
-
FAS 2 - About page
- FAS 3.0 - Desktop rendering
Goals
- Move web framwork from TurboGears 1 to Pyramid
- A real endpoint API
- Better membership management/workflows
- Improved database model
- Make it more Fedora agnostic
- Bring new features
- A better administration mangement.
- A dynamic configuration management
Features
Groups and people visibility
- No need to log in anymore to review groups and people's profile.
RESTful API
- Provide a dedicated ENDPOINT to retrive accounts' data.
- Access to this API requires a generated token that people can get from their
- profile's page.
Profile Avatar
- People will be able to add an avatar to their profile (from a 3rd party service)
- This avatar will be available to 3rd-party which can use it in their views or more.
Profile Bio
- Allow people to write up a bio (view-able from their profile's page).
Group 3rd-party binding
- As we (Fedora project) has a specific way of using group (i.e providing VCS access and the like)
- group will provide a way to bind its ACLs to 3rd party in order to retrieve people or to give people
- some rights to this 3rd party if its members exist from this 3rd party.
- Current target for now is:
- GitHub organization
- Admin or group's admin could bind a group to a github organization's team.
- Which, create github's team if not exist and add its members to it if its members exist on github.
- If group is VCS related, create a github's repo if not exist already and give its members commit access.
Group ownership
- Group's owner has been renamed to "principal Administrator" as group's admin can now
- pass along their group's ownership to another admin of the same group.
- Account's administrator can do the same.
Settings panel
- Account's admin will have a dashboard where they could manage account related elements
- people management
- Remove an account
- Block, disable or archive account
- groups management
- Add, edit and remove groups
- Block or archive groups
- groups' types management
- license agreement management
- Add, edit and remove Licenses
- Enable license at sign-up which flag the license signing as mandatory
- private API access management
- Generate private token for trusted applications
- people management
Account activities
- A new page where people can review their account's activities with datetime, events and locations.
Connected applications
- Github
- Allow people to connect their github account and share their public infos with Fedora services.
- Allow people to connect their twitter account and share their public infos with Fedora service.
2 factors authentication
- Gauth token
- Optional 2nd auth wihch once activated, will ask people after entered a valid login+password
- their Gauth token to let them in.
- Yubikey
- This one will not be added as a 2nd auth but as a combo with the login and password (i.e login+password+otp)
- (as discussed last flock).
LDAP backend
- Change SQL backend to LDAP's for groups and people management.
Ideas
Status
- Demo instance:
- URL: http://209.132.184.119:6543/ (poke me on IRC #fedora-apps if page is blanc)
- login: jbezorg
- pass: jbezorg
- Features (Not up-to-date)
- RESTful API:
- Public access: Done
- Private access: Done for login request. Need to complete permission request.
- RESTful API:
- Desktop rendering
- v0.1
- v0.5
-
Landing page
-
Login
-
People list
-
Account activities
-
Account access
-
Group details
- Mobile rendering
- v0.5
-
FAS 3.0 - Landing page
-
FAS 3.0 - People list
-
FAS 3.0 - People list with dropdown-menu