From Fedora Project Wiki
No edit summary
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div style="margin-left:auto;margin-right:auto;max-width:1000px;font-size:1.4em;">
Contributing to Fedora can be a complex undertaking. The large number of systems to interact with on daily basis means having to check multiple different web applications to complete a task or track tickets. For new contributors, knowing where to look for information about a task across the large number of tools to interact with is daunting.
Contributing to Fedora can be a complex undertaking. The large number of systems to interact with on daily basis means having to check multiple different web applications to complete a task or track tickets. For new contributors, knowing where to look for information about a task across the large number of tools to interact with is daunting.


Fedora Hubs will to provide a communication and collaboration centre for Fedora contributors of all types. Current contributors will visit Hubs to check on their involvements across Fedora, discover new teams that they can contribute with. For new contributors, Hubs is a place to get started collaborating with others.
Fedora Hubs will to provide a communication and collaboration centre for Fedora contributors of all types. Current contributors will visit Hubs to check on their involvements across Fedora, discover new teams that they can contribute with. For new contributors, Hubs is a place to get started collaborating with others.


=== Timetable ===
=== '''Timetable''' ===
Hubs will be released as version 1.0 by .
Hubs will be released as version 1.0 by 2018-Feb-01


=== Primary Use Cases ===
=== '''Functionality Description''' ===
These are deliberately high-level use-cases. WE will define more details of these usecases lower down in this document.
The following is the list of functionality that needs to be completed to consider Fedora Hubs a Minimal Viable Product (MVP) -- which will be released as Fedora Hubs 1.0
==== Core ====
==== '''Core''' ====
* Fedora Hubs will allow a user to log into using FAS
* Fedora Hubs will allow a user to log into using FAS
* The majority of functionality in Fedora Hubs will only be visible to users logged in with a FAS account
* When not logged in, a user will be greeted with a frontpage that describes hubs, and either lets them log in or sign up for an account in FAS.
* Fedora Hubs will have a basic global search that lets a user search for group hubs and user hubs
* Fedora Hubs will have a sidebar that lists links and bookmarks tailored to that user including:
** My Hub -- a link to the logged in user's hub
** My Stream -- a link to the user's stream page
** All Groups -- a link to the global page that lists all the groups hubs on Fedora hubs
** A list of links to group and user hubs that a user has starred
** a list of links to group hubs that the user is a member of (excluding their own hub, and hubs that have been starred, as they will be presented eariler in the list)
** a list of links to group and user hubs that a user is subscribed to (excluding hubs that the user is a member of, or have starred, as they will be presented eariler in the list)


==== Personal Hub ====
==== '''Personal Hub''' ====
* Fedora Hubs will create a place for a user to display their details (name, IRC Nick, teams involved with) so other users view them.
A personal hub provides a place for a Fedora contributor to display details about their fedora account. This is the page that other Fedora Hubs users will see when looking at another user.
* Fedora Hubs will provide a configurable place for a user to view the status of tasks they are currently performing on different Fedora Applications.
===== '''Personal Hub Core''' =====
* Fedora Hubs will provide a way for a user to subscribe to another users hub to (why???)
* a user can star another users hub. Starring a hub makes the hub show in the starred section at in the left hand bookmarks menu.
* Fedora Hubs will allow a user to change settings of their personal hub
* a user can subscribe to another users hub. Subscribing to a user's hub makes messages about the user's actions show up in your My Stream page.
==== Team Hub ====
* the user hub can be configured by the user in hubs to change their Full Name, and their bio. These details are displayed in the topbar of all user hubs.
* Fedora Hubs will create a place for a team to display their details (goals of the team, meeting details, etc) so other users view them.
* a user's hub displays contact details of a user in the topbar of the hub for all user hubs. these contact details are not editable in hubs, and are pulled from FAS. These details are: Location, Current Time, email address, IRC nick, and how long the user has been a FAS account holder.
* Fedora Hubs will provide a configurable place for a team to view the status of tasks they are currently performing on different Fedora Applications.
* the topbar also contains stats on the number of subscribers the user has, as well as how many hubs the user is subscribed to.
* Fedora Hubs will provide a way for a user to subscribe to a team hub to (Question -- why? and how is this different to joining)
===== '''Widgets''' =====
* Fedora Hubs will provide a way for a user to join a team hub
A user hub contains a fully configurable area for a user to display widgets that provide basic information about themselves in Fedora.
* Fedora Hubs will allow a user to be an admin of a group hub
* Fedora Hubs will allow the admin of a hub to change settings of a team hub
==== Browse Hubs ====
* Fedora Hubs will provide way for users to browse for Team Hubs and People (Personal Hubs)
==== My Streams ====
Not sure what this is.


</div>
The following widgets are available on a Personal Hub:
 
* '''Feed''' -- a list of the most recent actions that the user has done in Fedora
* '''Subscribers''' -- a list of the other users that subscribe to this user hub
* '''Weekly Activity''' -- a graph of the user's acitvity on fedora systems over the past week.
* '''Sticky Note''' -- a freeform widget where a user can present some text to visitors to their hubs. Rendered html from markdown.
* '''My Hubs''' -- the list of group hubs that the user is a member of, or subscribed to
 
 
==== '''Team Hub''' ====
A team hub provides a place for a Fedora team to display details about their fedora account, as well as status of tasks they are working on.
===== '''Team Hub topbar''' =====
* the topbar contains the ability for a user can star a team hub. Starring a hub makes the hub show in the starred section at in the left hand bookmarks menu.
* the topbar contains the ability for a user can subscribe to a team hub. Subscribing to a team's hub makes messages about the user's actions show up in your stream.
* the topbar contains the ability for a user to request membership to a team hub. Membership to a team is approved in FAS,  and is controlled by FAS groups.
* if a user is a member of a team hub, they can be granted admin on that team hub by an existing admin. An admin of a team hub is able to change the layout and details of the hub.
* the team hub can be configured by an admin of the hub to change the Description, and their bio. These details are displayed in the topbar of all team hubs.
* a Team's hub displays the "info box" of a team in the topbar of the hub for all team hubs. These are editable in the hub config, and are:  a link to the community rules, the group owners, a freeform textfield on the meeting times, and how to get in contact with the team (i.e. IRC or mailing list)
* the topbar also contains stats on the number of subscribers the team has, as well as how many members.
 
===== '''Widgets''' =====
A team hub contains a fully configurable area for a team to display widgets that provide information about themselves or the work they are currently doing in Fedora.
 
The following widgets are available on a Personal Hub:
 
* '''Feed''' -- a list of the most recent actions that the team has done in Fedora
* '''Chat''' -- a widget that allows a user to directly chat into the team's IRC channel.
* '''Subscribers''' -- a list of the users that subscribe to this hub
* '''Members''' -- a list of the users that are members of this hub
* '''Meetings''' -- a list of the upcoming meetings this team has.
* '''Library''' -- a user configurable list of links to resources they find useful
* '''Help Requests''' -- a widget that shows open help requests on a user-defined list of Group hubs
* '''Sticky Note''' -- a freeform widget where a team can present some text. Rendered html from markdown.
* '''Newest Opened Pull Requests''' a list of the newest opened pull requests for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org
*  '''Newest Opened Issues''' a list of the newest opened issues for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org
 
==== '''Browse Hubs''' ====
* Fedora Hubs will provide way for users to browse for Team Hubs via a page listing all the team hubs
 
==== '''My Streams''' ====
The My Streams page is a dashboard that is only visible to the user it belongs to. All the notifications from hubs they subscribe to are displayed in the My Streams page. Additionally, a user can configure the layout of the my streams page to add widgets that provide information to them about things that are happening in Fedora (issue lists, PR's requiring their attention, etc)
 
===== '''Feed Notifications''' =====
* The my streams page will provide a view of all the notifications from hubs they subscribe to.
* the my streams page will provide a view of all the notifications about actions the user has done.
* the user will be able to "save" a notification as a reminder for futher work.
 
===== '''Widgets''' =====
* '''Library''' -- a user configurable list of links to resources they find useful
* '''Help Requests''' -- a widget that shows open help requests on a user-defined list of Group hubs
* '''My Assigned Issues''' - a list of the issues that are assigned to the user in bugzilla, pagure, and github
* '''Newest Opened Pull Requests''' a list of the newest opened pull requests for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org
*  '''Newest Opened Issues''' a list of the newest opened issues for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org

Latest revision as of 12:06, 7 December 2017

Contributing to Fedora can be a complex undertaking. The large number of systems to interact with on daily basis means having to check multiple different web applications to complete a task or track tickets. For new contributors, knowing where to look for information about a task across the large number of tools to interact with is daunting.

Fedora Hubs will to provide a communication and collaboration centre for Fedora contributors of all types. Current contributors will visit Hubs to check on their involvements across Fedora, discover new teams that they can contribute with. For new contributors, Hubs is a place to get started collaborating with others.

Timetable

Hubs will be released as version 1.0 by 2018-Feb-01

Functionality Description

The following is the list of functionality that needs to be completed to consider Fedora Hubs a Minimal Viable Product (MVP) -- which will be released as Fedora Hubs 1.0

Core

  • Fedora Hubs will allow a user to log into using FAS
  • The majority of functionality in Fedora Hubs will only be visible to users logged in with a FAS account
  • When not logged in, a user will be greeted with a frontpage that describes hubs, and either lets them log in or sign up for an account in FAS.
  • Fedora Hubs will have a basic global search that lets a user search for group hubs and user hubs
  • Fedora Hubs will have a sidebar that lists links and bookmarks tailored to that user including:
    • My Hub -- a link to the logged in user's hub
    • My Stream -- a link to the user's stream page
    • All Groups -- a link to the global page that lists all the groups hubs on Fedora hubs
    • A list of links to group and user hubs that a user has starred
    • a list of links to group hubs that the user is a member of (excluding their own hub, and hubs that have been starred, as they will be presented eariler in the list)
    • a list of links to group and user hubs that a user is subscribed to (excluding hubs that the user is a member of, or have starred, as they will be presented eariler in the list)

Personal Hub

A personal hub provides a place for a Fedora contributor to display details about their fedora account. This is the page that other Fedora Hubs users will see when looking at another user.

Personal Hub Core
  • a user can star another users hub. Starring a hub makes the hub show in the starred section at in the left hand bookmarks menu.
  • a user can subscribe to another users hub. Subscribing to a user's hub makes messages about the user's actions show up in your My Stream page.
  • the user hub can be configured by the user in hubs to change their Full Name, and their bio. These details are displayed in the topbar of all user hubs.
  • a user's hub displays contact details of a user in the topbar of the hub for all user hubs. these contact details are not editable in hubs, and are pulled from FAS. These details are: Location, Current Time, email address, IRC nick, and how long the user has been a FAS account holder.
  • the topbar also contains stats on the number of subscribers the user has, as well as how many hubs the user is subscribed to.
Widgets

A user hub contains a fully configurable area for a user to display widgets that provide basic information about themselves in Fedora.

The following widgets are available on a Personal Hub:

  • Feed -- a list of the most recent actions that the user has done in Fedora
  • Subscribers -- a list of the other users that subscribe to this user hub
  • Weekly Activity -- a graph of the user's acitvity on fedora systems over the past week.
  • Sticky Note -- a freeform widget where a user can present some text to visitors to their hubs. Rendered html from markdown.
  • My Hubs -- the list of group hubs that the user is a member of, or subscribed to


Team Hub

A team hub provides a place for a Fedora team to display details about their fedora account, as well as status of tasks they are working on.

Team Hub topbar
  • the topbar contains the ability for a user can star a team hub. Starring a hub makes the hub show in the starred section at in the left hand bookmarks menu.
  • the topbar contains the ability for a user can subscribe to a team hub. Subscribing to a team's hub makes messages about the user's actions show up in your stream.
  • the topbar contains the ability for a user to request membership to a team hub. Membership to a team is approved in FAS, and is controlled by FAS groups.
  • if a user is a member of a team hub, they can be granted admin on that team hub by an existing admin. An admin of a team hub is able to change the layout and details of the hub.
  • the team hub can be configured by an admin of the hub to change the Description, and their bio. These details are displayed in the topbar of all team hubs.
  • a Team's hub displays the "info box" of a team in the topbar of the hub for all team hubs. These are editable in the hub config, and are: a link to the community rules, the group owners, a freeform textfield on the meeting times, and how to get in contact with the team (i.e. IRC or mailing list)
  • the topbar also contains stats on the number of subscribers the team has, as well as how many members.
Widgets

A team hub contains a fully configurable area for a team to display widgets that provide information about themselves or the work they are currently doing in Fedora.

The following widgets are available on a Personal Hub:

  • Feed -- a list of the most recent actions that the team has done in Fedora
  • Chat -- a widget that allows a user to directly chat into the team's IRC channel.
  • Subscribers -- a list of the users that subscribe to this hub
  • Members -- a list of the users that are members of this hub
  • Meetings -- a list of the upcoming meetings this team has.
  • Library -- a user configurable list of links to resources they find useful
  • Help Requests -- a widget that shows open help requests on a user-defined list of Group hubs
  • Sticky Note -- a freeform widget where a team can present some text. Rendered html from markdown.
  • Newest Opened Pull Requests a list of the newest opened pull requests for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org
  • Newest Opened Issues a list of the newest opened issues for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org

Browse Hubs

  • Fedora Hubs will provide way for users to browse for Team Hubs via a page listing all the team hubs

My Streams

The My Streams page is a dashboard that is only visible to the user it belongs to. All the notifications from hubs they subscribe to are displayed in the My Streams page. Additionally, a user can configure the layout of the my streams page to add widgets that provide information to them about things that are happening in Fedora (issue lists, PR's requiring their attention, etc)

Feed Notifications
  • The my streams page will provide a view of all the notifications from hubs they subscribe to.
  • the my streams page will provide a view of all the notifications about actions the user has done.
  • the user will be able to "save" a notification as a reminder for futher work.
Widgets
  • Library -- a user configurable list of links to resources they find useful
  • Help Requests -- a widget that shows open help requests on a user-defined list of Group hubs
  • My Assigned Issues - a list of the issues that are assigned to the user in bugzilla, pagure, and github
  • Newest Opened Pull Requests a list of the newest opened pull requests for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org
  • Newest Opened Issues a list of the newest opened issues for a repo defined by the user in the widget config. It can either a be a pagure repo or a github repo or a github org