My last post described what sux0r already does, this one describes the features for the API that we plan to add.
The idea is to allow users of a remote application to classify feeds and to see the results, i.e. do what was described in that last post but without using the sux0r interface. The hope is that this will allow the use of the filter to be embedded in their own personal toolset, and more generally make the functionality of sux0r as a feed filter/classifier available to other services and applications.
To do this we think the API needs to provide access to the following sux0r functionality (the priority refers to our priority for implementing the feature):
1. Authorise account access for user application
A user gains access to their account through an application using API (using OAuth). High priority.
2. Add a New Feed
A user suggests a feed to be made available for adding to sux0r users’ accounts. High priority
3. Approve a Feed for a User
An feed administrator approves a feed added by a user so that it can be added to users’ accounts. High priority
4. Associate feed with a user
A user associates an approved feed with their account. High priority
5. Create a new Vector for a User
A user creates a new classification vector. Medium priority
6. Create a new Category for a User’s Vector
A user creates a new classification category on a specified vector. Medium priority.
7. Train a Document for a User
The user submits a document and the desired classification to train the classifier. High Priority.
Note: The document could be an RSS Item, which already exists in the database and hence will have an RSS ID number, or it could be plain text, which needs to be added to the database and then trained.
8. Return the RSS Items for a User
A user gets all Items from RSS Feeds to which a user is subscribed. Feeds may be sorted or filtered according specified criteria (e.g. only those in a certain category). Very high priority .
9. Return RSS Feeds for All Users
A user gets a list of all the feeds in the database. Medium priority.
10. Return RSS Feeds for a User
A user gets a list of all the feeds they are subscribed to. High priority
11. Remove feed
A user requests to remove a feed (association) from their account. Medium priority
12. Return vectors
A user gets a list of all the vectors she has created. Medium priority
13. Return categories
A user wants to view all the categories they have created for a vector. Medium priority
14. Export the Bayesian Token Analysis for a User
A user gets the information on frequency of occurrence of words in each vector-category.