Return-Path: X-Original-To: apmail-portals-pluto-dev-archive@www.apache.org Delivered-To: apmail-portals-pluto-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 281C811CDD for ; Tue, 3 Jun 2014 11:52:34 +0000 (UTC) Received: (qmail 99482 invoked by uid 500); 3 Jun 2014 11:52:34 -0000 Delivered-To: apmail-portals-pluto-dev-archive@portals.apache.org Received: (qmail 99436 invoked by uid 500); 3 Jun 2014 11:52:34 -0000 Mailing-List: contact pluto-dev-help@portals.apache.org; run by ezmlm Precedence: bulk Reply-To: pluto-dev@portals.apache.org list-help: list-unsubscribe: List-Post: Reply-To: pluto-dev@portals.apache.org List-Id: Delivered-To: mailing list pluto-dev@portals.apache.org Received: (qmail 99427 invoked by uid 99); 3 Jun 2014 11:52:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jun 2014 11:52:34 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of scott.nicklous@de.ibm.com designates 195.75.94.108 as permitted sender) Received: from [195.75.94.108] (HELO e06smtp12.uk.ibm.com) (195.75.94.108) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jun 2014 11:52:27 +0000 Received: from /spool/local by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 3 Jun 2014 12:52:06 +0100 Received: from d06dlp03.portsmouth.uk.ibm.com (9.149.20.15) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 3 Jun 2014 12:52:03 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 147181B08040 for ; Tue, 3 Jun 2014 12:52:26 +0100 (BST) Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4075.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s53Bq3gB15663152 for ; Tue, 3 Jun 2014 11:52:03 GMT Received: from d06av06.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s53Cq4Gt010376 for ; Tue, 3 Jun 2014 06:52:04 -0600 Received: from d06ml036.portsmouth.uk.ibm.com (d06ml036.portsmouth.uk.ibm.com [9.149.76.236]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s53Cq4TN010371 for ; Tue, 3 Jun 2014 06:52:04 -0600 Subject: Next steps X-KeepSent: C0092FE9:BFC1BE8A-C1257CEC:0035702C; type=4; name=$KeepSent To: pluto-dev@portals.apache.org X-Mailer: Lotus Notes Release 8.5.3FP5SHF238 December 19, 2013 Message-ID: From: Martin Scott Nicklous Date: Tue, 3 Jun 2014 13:52:03 +0200 X-MIMETrack: Serialize by Router on D06ML036/06/M/IBM(Release 8.5.3FP5IF1HF3|November 07, 2013) at 03/06/2014 13:52:02 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14060311-8372-0000-0000-00000010D533 X-Virus-Checked: Checked by ClamAV on apache.org Soo ... we're (finally) at the point with Portlet Specification 3.0 that we can begin working on the Pluto Reference Implementation. This time, there will not be a "big bang" code drop that integrates the new functionality as there was with v2.0. Instead, we'll develop the new RI & TCK together :-) . I see three major pieces of work that we can begin with: 1) Re-implementation of the JSR 286 TCK under the Apache license. The jsr 286 & 168 TCKs were implemented under a Sun license and for that reason, they cannot be hosted on Apache. For JSR 362, we would like to have a TCK implemented under the Apache 2.0 license and made available through the Apache Pluto project. This implies a certain amount of work, since we can't use the earlier RI as a starting point. JSR 362 will provide backward compatibility to the JSR 286 spec, and we need to prove it by means of the TCK. This means that we more or less must re-implement the JSR 286 TCK as a basis, and from there we can add additional tests for new JSR 362 functionality as needed. A related specification, JSR 329 "Portlet 2.0 Bridge for JavaServerTM Faces 1.2 Specification ", is hosted under the Apache myFaces project and contains a TCK that is licensed under Apache 2.0. We may be able to reuse portions of that code for our TCK. 2) Implement the new portlet APIs defined in the Portlet State proposal. It isn't yet 100% clear that it will make it into the spec, but the EG wants to prototype it so that we can see if it makes it easier to develop portlets. The current JSR 362 API Working Document contains the updated API code for the proposal. See: http://msnicklous.github.io/portletspec3/apidocs/index.html 3) Integrate the Portlet Hub mockup into the Pluto theme and make the appropriate changes in the mockup & Pluto code to make JSR 362 Stateful Ajax Support come to life! The link provided in item 2 contains the JavaScript mockup and JavaScript API documentation, and the "PortletHub" branch of the portletspec3 github project contains the mockup along with JavaScript test cases written for the Jasmine JavaScript test tool. The maven build setup available from the "PortletHub" branch contains a pretty complete setup for JavaScript handling - it produces jsdoc documentation, runs the Jasmine test cases, and uses a JavaScript compressor (the YUI compressor) to shrink the portlet hub mockup from 68k down to 7k, which is pretty good shrinkage, I think. Naturally, the source before shrinkage contains all of the jsdoc documentation, so you have to take that into account. In addition to these three items, we need some cool demo portlets to show off the new functionality represented by items 2 & 3. Now we have to figure out how to organize the work. We could do it the "fun" way, which I imagine for many folks would mean executing the items in the order 3-2-1. Or we could do it the "prudent" way, which would mean re-implementing the JSR 286 TCK first thing, so that we can run the tests to make sure we don't break anything as we implement points 2 and 3 and further items. Otoh .... I think the topics are fairly orthogonal, so that if there were enough interested parties, we could split up the items among ourselves, work on them in parallel in separate branches, and integrate at the end. .... thoughts? For my part, I'd like to start working on the TCK first, because I'd like to have the tests to run as we implement further items. regards, Scott