The goal of BBAPI is to provide a Java API for accessing Bulletin Boards programmatically and to create
providers using this API for Mylar and ECF.
Providers for at least two Bulletin Board software packages will be created: phpBB 2 and vBulletin 3.
Firstly a privately developed initial version of the API will be made available that may be of lesser quality than would be appropriate.
It may not support all possible use cases for programmatic BB access. It is hoped that if more interested eyes get to see the code, they will
be able to suggest or contribute improvements to the API and eventually it will evolve into the standard API for accessing Bulletin Boards in Java.
What are high-level features you are sure to build?
- Login/logout to forums
- Browse forums and categories
- Browse threads in a forum (at least the first page displayed)
- Browse all messages in a thread (optionally given the ID of the last message already read)
- Post new threads
- Post new messages in a thread
- Browse user groups and group membership
- Browse private messages
- Post private messages
- Change account settings
- Upload avatar image
- Allow using forum threads as Mylar tasks and searching the forums.
- Either rewrite the core API for ECF or make the core API accessible through a little extra ECF API.
What would you write on a billboard about your project?
- It's now easy to write phpBB & vBulletin clients in Java.
What are the high-level assumptions or ground rules for the project?
- We will use Java and not in any operating system specific way.
- The core API will not have any dependencies beyond the JRE.
- We will use Java 5 initially, but will try to support 1.4 if necessary.
- The providers may use HTTPClient.
- We will not initially consider internationalization or high security.
- There doesn't seem to be any existing project that is providing Java API for accessing forums.
- Where would you go to try to find potential contibutors?
- Among the developers of the above-mentioned projects.
The main focus of the first client of this API was on periodically and efficiently reading new messages from known threads, and the Core API or it's implementations probably reflect that.