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 ====


People would be able to write their bio and will be view-able from their
: Allow people to write up a bio (view-able from their profile's page).
profile's page.
Also available from the API


==== 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

Note.png
This is a draft
This is a draft of potential features for FAS v3.0. It is meant to spawn discussion and will most likely evolve in the future.


Mockups

  • FAS 2 as reference



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

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.
  • Twitter
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.


  • Desktop rendering
  • v0.1
  • v0.5
  • Mobile rendering
  • v0.5