Newsreader/Salvo UI Integration in the workbench
The Salvo Project
The Salvo project can be used to communicate through newsgroups. It provides an underlying decoupled API to access news servers and provide offline storage of newsgroup articles.
Salvo can be used for accessing newsgroups and posting and reading articles. Several enhancements, not found in traditional newsreader programs have been implemented in Salvo such as subject highlighting for easy recognition of thread participation and offline reading.
UI Integration in the workbench
Currently Salvo is available as a RCP application. The main goal of this project is to provide the salvo functionality within the eclipse workbench.
Following are the key features in UI integration to eclipse workbench.
Let the user ask a question right from the workbench
Users can ask questions from experts directly from the eclipse workbench rather than going outside (to a web browser) the eclipse IDE. This is a value added feature for the Eclipse IDE.
Provide a popup and a status bar notification when a reply is received.
This feature will allows the eclipse user to more focus on their work with the eclipse IDE reducing the overhead of going outside the IDE and check for replies.
Provide a view which displays digests of all the articles that are of the interest of user.
This view contains,
- All the recent articles
- Replies to threads that the user participates in
Provide a perspective for Salvo in eclipse workbench
Whenever user wants to browse through articles he/she can simply switch to that perspective. And users can switch back to their working environment by simply changing the perspective.
Enable a way for people to create an eclipse user id within the workbench
This feature makes it very easy for the eclipse user to get a userid and a password for accessing the newsgroups and bugzilla.
Provide a way for other projects to hook their newsgroups into Salvo
This will allows other projects to hook their newsgroup into the Salvo by using the exposed extension point.
The extension point would make it possible for other projects to connect the projects namespace to the projects newsgroup.
When a view or an editor of a particular project is active and if the user selects the “Ask a question” option from the workbench, salvo automatically figures out the newsgroup to post the question.
M1: Complete the functionality 'Enable a way for users to create an eclipse user id within the workbench'
This can be implemented in two ways.
1. Open a URL in the web browser to create a bugzilla user account.
2. Use XML-RCP to connect to bugzilla and use web service API for creaing users.
Since we are having problems in accessing eclipse bugzilla via XML-RPC, so we have decided to skip this part for now.
Related bug is available on https://bugs.eclipse.org/bugs/show_bug.cgi?id=266901
M2: Provide the functions available on Salvo RCP application from the eclipse workbench
All the fuctionalities available in Salvo RCP application should be integrated to the eclipse workbench.
M3: Provide a way to ask a question right from the workbench
For implementing this fuctionality we can have a look at mylyn's way of reporting a bug from the workbench.
We can use a similar UI for our purpose.
M4: Provide a view which displays digests of all the articles that are of the interest of user
Digest view should contain the following
- The articles user started
- The threads that user the participated (by posting a reply)
- The threads that user following.
We can store these information in a special location of the store
M5: Provide a popup and a status bar notification when a reply is received.
We can use a polling mechanism to listen to a new message.
Functionality : Let the user ask a question right from the workbench
For implementing this functionality we can have a look at mylyn's way of reporting a bug from the workbench. We can use a similar UI for our purpose.
“Ask a question” menu item is placed on the help menu.
When user select that menu item, a wizard appears.
In the first page of that wizard, we can list out the available newsgroups. Available newsgroups can be taken from the store which user has already added.
We can also save the user settings based on the workspace. So that we can automatically select the most recent one and let the user to change the newsgroup if needed. This will prevent user form searching for newsgroups from the list all the time.
The next page can be used to compose the article.
When wizard finishes it will sent the message to the newsgroup.
These messages can be kept on a special area of the store. So that we can easily monitor for a reply.