Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Newsreader/enhancing salvo newsreader

Abstract

ECF newsreader/Salvo is a project with the aim of facilitating communication through newsgroups or other Q/A type structures.[1] Using Salvo users can post or read articles in heavily used eclipse newsgroups. Asking and responding to questions is intergraded to the workbench by a last year GSOC project. Aim of my project is to enhance newsreader by enhancing the usability and user friendliness of Salvo(Enhance the Digest View). And also implementing the needed file system store changes mentioned in [2].


Detailed Information

1) Removing NNTP dependency of Salvo Newsreader

Currently Salvo Newsreader is using NNTP to connect to newsgroups and get the article. Main idea of this functionality is to remove that dependency and implement an abstract interface which can support any protocol such as NNTP,FudForum and etc. An abstract connectivity API will be implemented through which users can connect to different news sources regardless of their underlying technology.Also as a part of this IContainer implementation for the Salvo newsreader will be done.

2) Defining filters

Currently Salvo offers pre-defined filter where users can add their interested threads. It will be very useful to introduce an option for users to define customized filters which will automatically filter out threads based on keywords. So users can have all threads that are discussing interested areas to him/her automatically filtered and presented as a bundle.

3) Unread post counter per filter

According to [3] filters have been implemented to separate out threads if importance to a particular user. Also in my proposal I have suggested to implement user defined filters. So it will be very convenient for users to see how many unread posts are in a particular filter.

4) Enhancing the notification message

a) Linking the notification to the relevant article.

Currently users can not navigate into the article by clicking on the notification. It will be much intuitive to have such functionality.

b) Notification count

There is a possibility that users missing notification. If user miss one or several notifications notification icon will be displayed in the status bar with the number of missed notifications by the user. So user can get notifications at a glance of an eye.

c) Notification list

According to 4b, users can see the number of pending notifications. I am proposing functionality to display all the missed notifications in a list prioritized by the receive time. So that users can go through them and select the notifications that need his attention.

d) Watching own posts

This feature will provide means of getting updated about the posts originated by the user. Once a notification is received regarding a post originated by user notification will be shown in a different color than the original one. Also notification icon will start blinking. Here blinking is suggested because human eye always direct action towards blinking objects. Also such notifications will be shown with a different color in the notification list.

5) File system store completion

There are some functionalities which are implemented in the Derby store. But those functionalities are not implemented for the file system. So it will be an disadvantage to some users. So I propose to implement those unimplemented functionalities to the file system also.

6) Enhancing the article view

In the current release, the article view shows some unexpected behaviors. All those bugs should be found out and fixed. This idea will deliver a stable article view. Also I would like to enhance the user friendliness of the article view by adding some additional features.


Background

I expect to get more familiar with the project and contributors. I will get familiar with the architecture and source code of the project. I suppose to do this by following wiki, newsgroups and communicating with other contributors as understanding a project just by documentation and code is not very effective. I will also use Salvo and try to figure out some more points that needs enhancements. I need to contact the tech lead and contributors of the project. Also I need the latest build of the project. All the other resources are available.


Deliverables

  1.  Protocol independent connectivity API
  2.  Filter definition system
  3.  Unread counter for filters
  4.  Enhanced notification with link to article, notification list and etc.
  5.  Fully functional file system store
  6.  Enhanced article view


Milestones

Milestones tend to change as the project include quite a bit of design component.

  1. M1:Design Protocol independent connectivity interface :16/June/2012
  1. M2:IContainer implementation for Salvo Newsreader : 25/June/2012
  1. M3:Implement designed interface and link the current NNTP implementation through new interface : 20/Jul/2012
  2. M4:File system store completion: 27/July/2012
  3. M5:Enhanced article view  : TBD
  4. M6:Implement functionality for user defined filters. :TBD
  5. M7:Deliver unread post counter for filters. :TBD
  6. M8:Provide developed notification count : TBD
  7. M9:Linking notification to the relevant article. :TBD
  8. M10:Deliver Enhanced notifications for own posts: TBD
  9. M11:Deliver developed notification list : TBD
  10. M12:Produce documentation of project : 19/August/2012


Details

  • M1:Design protocol independent connectivity interface [Bug 381691]
    • Currently Salvo product depends on NNTP. This milestone will deliver a complete design of a protocol independent connectivity API for Salvo Newreader to connect to different news sources.
  • M2:IContainer implementation for Salvo Newsreader
    • Make use of the IContainer functionality available in ECF inside Salvo newsreader to achieve the advantages of that pattern.
  • M3:Implement designed inerface and link the current NNTP implementation through new interface.[Bug 383042]
    • Completion of this milestone will deliver the implemented new connectivity interface and working salvo product under NNTP using the newly implemented connectivity interface.
  • M4:File system store completion
    • There are some functionalities which are implemented in Derby store but not yet implemented in file system store. This milestone will deliver a fully functional file system store which includes all the functionality resides in Derby store.
  • M5:Enhanced article view
    • Completion of this milestone will deliver a bug free, more stable and user friendly article view.
  • M6:Implement functionality for user defined filters.
    • Completion of this milestone will provide an option to users to define custom filters in th news digest view so that posts will be grouped into those filters.
  • M7:Deliver unread post counter for filters.
    • This milestone will deliver a unread post counter for each user defined filter.
  • M8:Provide developed notification count
    • This milestone will deliver a notification pop-up where it will show the show the number of missed notifications.
  • M9:Linking notification to the relevant article.
    • This milestone will deliver a notification pop-up which will direct user to relevant article when a user click on a notification.
  • M10:Deliver Enhanced notifications for own posts
    • Completion of this milestone will provide a special notification for users own posts. This notification will be shown in a different color and it will blink.
  • M11:Deliver developed notification list
    • Completion of this milestone will provide a notification list where notifications will be viewed prioritized by the received time.
  • M12:Produce documentation of project
    • This milestone will provide complete set of documentation of the project.


Work Done

Expectations

I basically want knowledge related to project from the mentor. I am familiar with java and plug-in development. But I am totally new to Salvo project. so need help to understand the core of the project.


Contact Information

I’m Tishan Pubudu Kanishka Dahanayakage. I am an undergraduate in Department of Computer Science and Engineering in University of Moratuwa, Sri Lanka. Currently I am a level three student.I have much experience in java and developing various applications. I have implemented several projects in java including a one which spanned for four months. Also I have a good experience with open source technologies and tools and working with open source communities. And I am very much familiar with Eclipse development environment since I am using it for my day today assignments. So I’m confident enough to take up this project and I will deliver my best to make this project a success.

dtishanpubudu@gmail.com


[1] Newsreader Project

[2] Newsreader project milestone 6

[3]GSoC 2011 project: Work Done

Back to the top