Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EPICModernization

Revision as of 17:54, 4 March 2009 by Nathan.eclipse.org (Talk | contribs) (Product/Resource Info)

EPIC Modernization Requirements Document V 0.1

The Eclipse Plugin Central (EPIC) is a popular and successful resource for the Eclipse community. It lists over 1100 Eclipse based products and drives thousands of click-thrus per month to some of the top rated products. Unfortunately, EPIC is hosted on an older content management system (CMS), so it is difficult to maintain and update. Therefore, we are starting a project to modernize EPIC and re-host it on a more modern updated CMS.

This document is to capture and prioritize all of the requirements for a new EPIC. The goal is to finalize the requirement by the end of March and begin implementation shortly thereafter.

Below is a draft version of the document. We encourage people to submit their suggestions for this bugzilla entry. We will update the document based on the input from many sources.


Goals

  • Dramatically increase the usability of through improved navigation and graphic design.
  • Make it easier for solution providers to manage their product entries.
  • Provide better linkage between EPIC site and the vendors’ update sites.
  • Host EPIC on a new content management system.


Requirements

Navigation

  • Tag Cloud
    • Need the ability to tag products and navigate via a tag cloud
    • Products should be able to have multiple tags and product owners should be able to select and define tags for their products.
  • Markets and Categories
    • A Market is a special type of tag that identifies that type of offering, ex. Tools, Middleware (Runtime), RCP, Training/Consulting. This will allow the catelog to be customized to a specific set of technology. Overtime more Markets could be added.
    • A Category is a grouping within a Market that characterizes the features of offering, ex: GUI Builders, Testing Tools, Logging, etc.
    • A product needs to be able to be in multiple categories. O
    • OPEN ITEM: Should we limit the number of categories to avoid potential abuse? I would suggest we limit to 3-5
    • OPEN ITEM: Can a product be in more than one market? I would suggest we limit to 1.
  • Search and Filters
    • A user should be able to search for a product within a category, market or across the entire site.
    • Advanced search should allow a user to filter the search results. Filers should be available for license type, Eclipse version supported, date range on update
  • Other Navigation
    • Allow cross linking to other similar products by the same vendor and/or category
    • Allow cross linking to Eclipse Live content

Social Networking

  • Voting
    • We should allow a product to be voted up or down, similar to digg. Remove the vote 1-10 system in place now.
    • Need to allow people to add a 'vote' graphic onto their site.
    • Votes should age, so votes expire after ### days or categorize the votes by time to provide rankings for "this week"/"this month"/"this year" similar to the way YouTube and others social sites do.
    • A user must be registered and login to be able to vote
  • Reviews
    • Users should be able to add reviews for a product. Users must login before they can leave a review.
  • Flag as Out of Date
    • A user should be able to flag a product as being out of date. The user would need to specify the reason. The flag will generate an e-mail to the product provider. The product provider can remove flags on their products. This allows the product provider to moderate their own content.
    • A product that has more than 5 out of date flags will be given lower priority in listing and visually be tagged with 'Out of date'.

Favourite List

  • A user should be able to add and remove different products to a personal favorite list
  • Favourite list should be able to:
    • list of favourite products for a 'MyAccount' list
    • generate an RSS feed for all products that includes products news and updates
    • see a list of products that are included in the most favourite lists
    • see the user ids of people who have add a product to their favourite list
    • given a product, what other products do people typically also include in their list.
    • be able to provide the p2 update sites for all the products in a favourite list.

REST API

An API will be available to allow external distribution mechanism to access the data in the catalog. A primary use case is to allow third party client installers to access the favourite list and/or the catalog listing to:

  1. Create a single click install based on a list of p2 update sites,
  2. Search for missing dependencies

The API will only allow for reading data. Writing data will not to the catalog from an API will not be provided.

API needs to provide:

  • listing of products based on category and market
  • detailed product information based on product id
  • favourite list based on user id


OPEN ITEM: Are there any privacy concerns? At this time I don't think so.

Product/Resource Info

This is a list of information that needs to be captured for each resource.

  • Resource name
  • Resource Description
    • Full HTML Field to allow providers to display rich content
  • Resource URL
  • Resource RSS News Feed
  • Resource Categories
    • Allow multiple categories
  • Resource License Type
    • EPL
    • Commercial
    • GPL
    • LGPL
    • etc
  • Resource Version
  • Supported Eclipse Versions
    • 3.0
    • 3.1
    • 3.2
    • 3.3
    • 3.4
    • etc
  • Provider Name
  • Vote Up / Down
  • Reviews
  • Date Updated
  • Foundation Member
  • Direct Download URL
  • Update Site URL
  • Development Status
    • Alpha
    • Beta
    • Release Candidate
    • Production/Stable
  • Buy Now URL
  • Out of Date Flags

User Information

  • A user should be able to login using a bugzilla id
  • Login user can do the following:
    • create/edit/list/delete of products/resource they have added to the catalog (some actions will require moderation)
    • manage favourites list
    • see news and updated information from their favourite list
    • a user needs to be able to associate themselves with an organization. This is to multiple people to modify a product/resource.

Management and Administration

  • Remove the moderation queue for resource listing updates.
  • Host the click thru reports for resources on EPIC itself allowing for realtime data.
  • Allow plugins to upload their plugin image icons directly to the server.

CMS Issues

  • Current thinking is to host EPIC on a Drupal install.
    • Ideally the Live site will be rolled into the same Drupal install at some point in the future. (V2)
  • Drupal's database engine will need to be upgraded to handle SELECTs to Slave and INSERT/UPDATEs to Master.

Support for Training and Service Providers

  • Need to be able to search/tag by geography and expertise
  • Training calendar for Eclipse public courses (V2)

Migration Requirements

  • Plugin information should be migrated to new EPIC without requiring intervention from plugin owner.
  • Username and password information should be migrated to the new site. We should try to delete any usernames that aren't being used.
    • Only existing plugin owners accounts will be migrated to the new system.
    • EPIC will now use the Eclipse.org global login (aka bugzilla)

Naming

  • We should consider referring to 'products', 'resource' or 'projects' and not plugins, since a lot of the solutions listed on EPIC are not actual plugins.
  • Should we rename Eclipse Plugin Central to something more generic; maybe Eclipse Solution Center or Eclipse Market/Marketplace?

Other Ideas

  • I think it would be interesting to show what Eclipse projects are used in the different products.

Back to the top