Jump to: navigation, search

Difference between revisions of "Paho/Project Plan"

(added proposed high level release milestones)
(proposing overall release "theme")
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The initial timeline was presented at the first [[Machine-to-Machine/Face-2-Face-Meeting-Jan31|M2M Industry Working Group face-to-face meeting]]. The slides are here: http://wiki.eclipse.org/images/d/d4/PahoTimeLine2012.zip
+
= Open Task list =
  
== Outline ==
+
* [https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Technology&component=MQTT&component=Samples&component=Sandbox&list_id=3090526&product=Paho&query_format=advanced&order=bug_status%2Cpriority%2Cbug_severity list of open Paho bugs]
 +
* Binary releases of C and Java clients for download
 +
* LuaRock release of Lua client for download
 +
* Tutorials for C and Java clients
 +
* How to build and use C client on iOS
 +
* Test suite
 +
* Protocol compliance suite for reference implementations
 +
* Raise MQTT Lua client to the same functional level as the C and Java client
 +
* Update MQTT specification with mqtt.org / mailing list clarifications
 +
* Some idea of [[Paho/Repository#Future_needs|potential code additions]] are on the page discussing the Repository structure.
 +
* Sample/examples in the Eclipse M2M Sandbox for the JavaScript and Web Sockets support (when delivered).
  
4Q11 Project Provisioning (done)
+
= Milestones =
  
1Q12 MQTT initial contribution; Client Architecture for Sandbox (done)
+
The Paho project will target the Eclipse Kepler release (June 26th, 2013) with a 0.9 release under Incubator status, and two intermediate releases in 4Q12 and 1Q13.
  
2Q12 MQTT Documentation, Tutorials, Cookbook; MQTT over WebSockets
+
== 0.1 Build (4Q12) "M0" ==
 +
This will be a “snapshot” build of the
 +
*Lua, C, and Java MQTT clients,
 +
*Eclipse client view,
 +
*Any additional example code.
  
3Q12 Basic end-to-end Sandbox Stack
+
The 0.1 release will be as an “update site” with the primary goal to learn and exercise the Eclipse Build/Release process and tools including Tycho
  
4Q12 MQTT Client Release 1; Additional Languages and Bindings; Application Frameworks and Eclipse Plugins
+
== 0.x Release (1Q13) "M1" ==
 +
*Release Theme
 +
** Provide implementations of ubiquitous, platform-independent API "nuggets", with basic connect, publish, subscribe, disconnect capability to allow a device or gateway to wake or boot up and connect to an M2M, IoT or industry server, establishing a long, short or other connection as needed.
 +
** REST APIs and implementations that support core publish-subscribe functions that applications will need once connection is established.
 +
** APIs will clear differentiate configuring the implementations for both MQTT "device clients", and MQTT "application clients".
 +
** Extending support for mobile platforms and web-based interfaces.
 +
** .......
  
== Release Milestones (proposed for feedback)==
+
*Line items (common to all clients)
 +
**Consistent samples/examples for all language clients
 +
**Consistent documentation
 +
**…
 +
*C client line items
 +
**…
 +
*Eclipse client view line items
 +
**…
 +
* Java client line items
 +
** Make jar of paho client available for download (2012)
 +
** Set Java client to build automatically and make jar and doc available.
 +
** jar available via Mavern
 +
** Add a non blocking API making it simpler to create applications for mobile platforms such as Android
 +
** Rework logging trace to use best practise tools (like java.util.logging)
 +
** Support for Java Micro Edition
 +
* MQTT JavaScript client
 +
** Add a MQTT JavaScript client to Paho
 +
** Use WebSockets to enable 1st class MQTT support from web applications running in web browsers
 +
*Lua client line items
 +
** Implement QoS, clean session bit, username/password, make sure message header fully implemented (send and receive), support message identifier, SUBACK messages should check QoS level, deal with outstanding SUBACK messages, review "last activity in / out" timers, check for PINGRESP, better "wait for CONACK" handling, handle failed subscriptions, better error / retry handling, review Lua best practices for socket I/O and error handling
 +
*MQTT Protocol conformance tests
 +
**Reference implementation test bed (wire capture?)
 +
**Tracing tools/integration
 +
*Mobile platform support
 +
*Sample and Example Code (integrated in IDE where possible)
 +
**MqGnatt
 +
**REST APIs with end to end examples
 +
**Basic MQTT exerciser (Eurotech)
 +
**Wizards?
 +
**New examples tbs
 +
**websockets
  
Target Paho as part of the Eclipse Kepler release which is planned for June of 2013. To meet this there should be an intermediate Paho release in December of 2012 of the C, Java, Lua and Eclipse clients. Availability of samples, examples, and conformance/testing tools would coincide per the roadmap.
+
== 0.9 Release (2Q13)==
 
+
*M2M Package
As Paho is incubator project, the intermediate release would be at a 0.x level with goal of including a 0.9 level in the Kepler release.
+
**align with Koneki and Mihini
 
+
**[http://wiki.eclipse.org/Machine-to-Machine/M2MIWG/M2M_EPP_Package more information on the M2M EPP wiki]
Additionally discussion has been started in the M2M Industry Working Group on an M2M Eclipse Package. The details are tbd but these milestones would roughly align with such an Eclipse package proposal.
+
 
+
 
+
== Plans and needs ==
+
 
+
Some idea of [[Paho/Repository#Future_needs|potential code additions]] are on the page discussing the Repository structure.
+
 
+
Creation of a project plan in the [http://wiki.eclipse.org/Development_Resources/Project_Plan standard Eclipse format] is TODO.
+
 
+
== Task list ==
+
 
+
* Binary releases of C and Java clients for download
+
* Tutorials for C and Java clients
+
* how to build and use C client on iOS
+
* test suite
+
* protocol compliance suite for reference implementations
+
* update MQTT specification with mqtt.org / mailing list clarifications
+

Revision as of 12:56, 9 November 2012

Open Task list

  • list of open Paho bugs
  • Binary releases of C and Java clients for download
  • LuaRock release of Lua client for download
  • Tutorials for C and Java clients
  • How to build and use C client on iOS
  • Test suite
  • Protocol compliance suite for reference implementations
  • Raise MQTT Lua client to the same functional level as the C and Java client
  • Update MQTT specification with mqtt.org / mailing list clarifications
  • Some idea of potential code additions are on the page discussing the Repository structure.
  • Sample/examples in the Eclipse M2M Sandbox for the JavaScript and Web Sockets support (when delivered).

Milestones

The Paho project will target the Eclipse Kepler release (June 26th, 2013) with a 0.9 release under Incubator status, and two intermediate releases in 4Q12 and 1Q13.

0.1 Build (4Q12) "M0"

This will be a “snapshot” build of the

  • Lua, C, and Java MQTT clients,
  • Eclipse client view,
  • Any additional example code.

The 0.1 release will be as an “update site” with the primary goal to learn and exercise the Eclipse Build/Release process and tools including Tycho

0.x Release (1Q13) "M1"

  • Release Theme
    • Provide implementations of ubiquitous, platform-independent API "nuggets", with basic connect, publish, subscribe, disconnect capability to allow a device or gateway to wake or boot up and connect to an M2M, IoT or industry server, establishing a long, short or other connection as needed.
    • REST APIs and implementations that support core publish-subscribe functions that applications will need once connection is established.
    • APIs will clear differentiate configuring the implementations for both MQTT "device clients", and MQTT "application clients".
    • Extending support for mobile platforms and web-based interfaces.
    • .......
  • Line items (common to all clients)
    • Consistent samples/examples for all language clients
    • Consistent documentation
  • C client line items
  • Eclipse client view line items
  • Java client line items
    • Make jar of paho client available for download (2012)
    • Set Java client to build automatically and make jar and doc available.
    • jar available via Mavern
    • Add a non blocking API making it simpler to create applications for mobile platforms such as Android
    • Rework logging trace to use best practise tools (like java.util.logging)
    • Support for Java Micro Edition
  • MQTT JavaScript client
    • Add a MQTT JavaScript client to Paho
    • Use WebSockets to enable 1st class MQTT support from web applications running in web browsers
  • Lua client line items
    • Implement QoS, clean session bit, username/password, make sure message header fully implemented (send and receive), support message identifier, SUBACK messages should check QoS level, deal with outstanding SUBACK messages, review "last activity in / out" timers, check for PINGRESP, better "wait for CONACK" handling, handle failed subscriptions, better error / retry handling, review Lua best practices for socket I/O and error handling
  • MQTT Protocol conformance tests
    • Reference implementation test bed (wire capture?)
    • Tracing tools/integration
  • Mobile platform support
  • Sample and Example Code (integrated in IDE where possible)
    • MqGnatt
    • REST APIs with end to end examples
    • Basic MQTT exerciser (Eurotech)
    • Wizards?
    • New examples tbs
    • websockets

0.9 Release (2Q13)