- 1 EPIC Modernization Requirements Document V 1
- 1.1 Goals
- 1.2 Requirements
- 1.2.1 Navigation
- 1.2.2 Social Networking
- 1.2.3 Favourite List
- 1.2.4 REST API
- 1.2.5 Product/Resource Info
- 1.2.6 User Information
- 1.2.7 Management and Administration
- 1.2.8 CMS Issues
- 1.2.9 Support for Training and Service Providers
- 1.2.10 Migration Requirements
- 1.2.11 Naming
- 1.2.12 Other Ideas
- 1.2.13 Benefits to Members
EPIC Modernization Requirements Document V 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 captures the requirements for the v1 versions of a new EPIC. Please don't modified this wiki page. Send comments to Nathan and/or Ian at the Eclipse Foundation or open a bug.
Input into this document was collected via this bugzilla entry.
- 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.
- Offer benefits to members of the Eclipse Foundation
- 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
- 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
- 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'.
- 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.
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:
- Create a single click install based on a list of p2 update sites,
- 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.
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
- Resource Version
- Supported Eclipse Versions
- Provider Name
- Vote Up / Down
- Date Updated
- Foundation Member
- Direct Download URL
- Update Site URL
- Development Status
- Release Candidate
- Buy Now URL
- Out of Date Flags
- 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.
- The new EPIC will be hosted on Drupal.
- 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)
- 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)
- We should refer to 'products', 'resource' or 'projects' and not plugins, since a lot of the solutions listed on EPIC are not actual plugins.
- We will rename Eclipse Plugin Central to something more generic; maybe Eclipse Solution Center or Eclipse Market/Marketplace?
- I think it would be interesting to show what Eclipse projects are used in the different products. (V2)
Benefits to Members
- Given that members of the Eclipse Foundation contribute most resources to build and maintain EPIC, it seems logical that Members should receive added benefits
- Results from searches and tags list Member Plugins first
- Members listings are highlighted on search results
- Member plugins are listed on the main page under a "Spotlight Plugin"
- Only members may link to an external update site
- Only members may receive click statistics and reports for their plugin
- Something to consider -- only individuals, 501c organizations and members may list plugins on EPIC