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

Difference between revisions of "Paho/Project Plan"

(The project plan needs to be in a standard Eclipse XML format.)
(proposing overall release "theme")
(22 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]].
+
= Open Task list =
  
The slides are here: http://wiki.eclipse.org/images/d/d4/PahoTimeLine2012.zip
+
* [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).
  
Creation of a project plan in the [http://wiki.eclipse.org/Development_Resources/Project_Plan standard Eclipse format] is TODO.
+
= 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)==
 +
*M2M Package
 +
**align with Koneki and Mihini
 +
**[http://wiki.eclipse.org/Machine-to-Machine/M2MIWG/M2M_EPP_Package more information on the M2M EPP wiki]

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)

Back to the top