From Fedora Project Wiki
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
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
  
<span style="color:#4d9905">(The date likely needs to be ratified by the team. But given our date now, it would make sense to try and target Q4FY18, maybe 2018-Feb-01? --[[User:Pfrields|pfrields]] ([[User talk:Pfrields|talk]]) 14:17, 10 November 2017 (UTC))</span>
+
=== '''Functionality Description''' ===
 
 
=== 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
 
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
 
* The majority of functionality in Fedora Hubs will only be visible to users logged in with a FAS account
Line 23: Line 21:
 
** 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)
 
** 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''' ====
A personal hub provides a place for a Fedora contributor to display details about their fedora account, as well as status of tasks they are working on.
+
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 topbar =====
+
===== '''Personal Hub Core''' =====
* the topbar contains the ability for 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 star another users 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 another users hub. Subscribing to a user's hub makes messages about the user's actions show up in your stream.
+
* 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.
 
* 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.
 
* 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.
 
* 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 =====
+
===== '''Widgets''' =====
A user hub contains a fully configurable area for a user to display widgets that provide information about themselves or the work they are currently doing in Fedora.
+
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:
 
The following widgets are available on a Personal Hub:
Line 38: Line 36:
 
* '''Feed''' -- a list of the most recent actions that the user has done in Fedora
 
* '''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
 
* '''Subscribers''' -- a list of the other users that subscribe to this user hub
* '''Library''' -- a user configurable list of links to resources they find useful
 
 
* '''Weekly Activity''' -- a graph of the user's acitvity on fedora systems over the past week.
 
* '''Weekly Activity''' -- a graph of the user's acitvity on fedora systems over the past week.
* '''Help Requests''' -- a widget that shows open help requests on a user-defined list of Group hubs
 
 
* '''Sticky Note''' -- a freeform widget where a user can present some text to visitors to their hubs. Rendered html from markdown.
 
* '''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
 
* '''My Hubs''' -- the list of group hubs that the user is a member of, or subscribed to
* '''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
 
  
==== Team Hub ====
+
 
 +
==== '''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.
 
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 =====
+
===== '''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 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 can subscribe to a team hub. Subscribing to a team's hub makes messages about the user's actions show up in your stream.
Line 58: Line 52:
 
* the topbar also contains stats on the number of subscribers the team has, as well as how many members.
 
* the topbar also contains stats on the number of subscribers the team has, as well as how many members.
  
===== Widgets =====
+
===== '''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.
 
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.
  
Line 74: Line 68:
 
*  '''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
 
*  '''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 ====
+
==== '''Browse Hubs''' ====
* Fedora Hubs will provide way for users to browse for Team Hubs
+
* Fedora Hubs will provide way for users to browse for Team Hubs via a page listing all the team hubs
==== My Streams ====
+
 
 +
==== '''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 from hubs they subscribe to.
 
* the my streams page will provide a view of all the notifications about actions the user has done.
 
* 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
+
* 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