Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id CF65A200D26 for ; Fri, 20 Oct 2017 19:01:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id CDFC71609ED; Fri, 20 Oct 2017 17:01:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 1FA79160BCB for ; Fri, 20 Oct 2017 19:01:07 +0200 (CEST) Received: (qmail 99809 invoked by uid 500); 20 Oct 2017 17:01:07 -0000 Mailing-List: contact user-help@predictionio.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@predictionio.apache.org Delivered-To: mailing list user@predictionio.apache.org Received: (qmail 99798 invoked by uid 99); 20 Oct 2017 17:01:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Oct 2017 17:01:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 6FBD91805B5 for ; Fri, 20 Oct 2017 17:01:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.8 X-Spam-Level: X-Spam-Status: No, score=-2.8 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=occamsmachete-com.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id YkdWW43PCV1w for ; Fri, 20 Oct 2017 17:01:04 +0000 (UTC) Received: from mail-pf0-f181.google.com (mail-pf0-f181.google.com [209.85.192.181]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 42B7B5FCD3 for ; Fri, 20 Oct 2017 17:01:03 +0000 (UTC) Received: by mail-pf0-f181.google.com with SMTP id d28so11888641pfe.2 for ; Fri, 20 Oct 2017 10:01:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=occamsmachete-com.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=caeBxz6AlB+5t3l8oT/AHJWI/zsiegqI65y8xuTg+lo=; b=RZLBCbbDb3C6lSuo5/JsiXLyITByjs3+g3dsvR2uYLKBoxvrsY9wqvjdoWYf+7EJbP yQSJmzLwm8os9B5rlGXxVS7A9wBTcwovPQPbC8RhuVr8/mK16OMaJHRBw6TRBvkePanQ s7wtqi92od9quHyIvvvyPfKIX8z2zO7H+YqYF4KMA8zq/wka4m/0U4rNvGBn4v7GAndQ jTIRhJbCAuBb0TDodKCahw+DcYpcCNtH5mCAKat9Zs+bJ77AvY3Ulqk2i55XeTXv/B0k CntWzchOn4QDSbMv6L5JIHwnPxjvgMVuAPdXPptClNCtb8GuWQjX+anxi4P713Qh6xw9 T/aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=caeBxz6AlB+5t3l8oT/AHJWI/zsiegqI65y8xuTg+lo=; b=GdZN7EcZk9uQloLK6DOJvYMcwnCWwZwu/cJCz6sdlbB4YBSky2EQv44+gN23D40Pox S6XQq4VVH5hrLLSJ9hHHZ6uNzn2HbEIWaxuOvls/ZdS5mLepCJJg4JQDStZAm1mtEixa G+DX/6cy2hNJM//TckgcK0RHpx0oOCup7PFhQZy6r29qFLzrn4Wm9+L8btGGINAvZEqf 12b2FC6VEkCxv16sMlDRfHde1+NYd+7rKH5Psg2Ko8Zhga7lgIK4fh8p/kvgt7sfoizN lJ9/+3XOvCRXOYbkcZmCGhRWN51pYEfl+AUbhohxrC/xW8LeltmcXNF2BW6ZKzJjaamY Tvlw== X-Gm-Message-State: AMCzsaXcOUkj7ZO7VM5AOnZkjBZIk2I9zgv/dIFeWw13HENH+t0XPZJ6 818xSJTnvl1FrnmfDKApRJLizSzx0YM= X-Google-Smtp-Source: ABhQp+RPBKJ+Kp8uHZRwv78H9KgZ9Rg8YAQ+vRJNOee3+CAj2WxT0hMHFZuqNGDeI5C6b1P9OrMwiw== X-Received: by 10.98.72.18 with SMTP id v18mr5626058pfa.232.1508518861519; Fri, 20 Oct 2017 10:01:01 -0700 (PDT) Received: from [192.168.0.4] (c-24-18-213-211.hsd1.wa.comcast.net. [24.18.213.211]) by smtp.gmail.com with ESMTPSA id u188sm2554632pfb.188.2017.10.20.10.01.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Oct 2017 10:01:00 -0700 (PDT) From: Pat Ferrel Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Templates First Message-Id: <8B95832A-A8FA-4534-892D-A6523B23D1D3@occamsmachete.com> Date: Fri, 20 Oct 2017 10:00:59 -0700 To: user@predictionio.incubator.apache.org, dev@predictionio.incubator.apache.org X-Mailer: Apple Mail (2.3273) archived-at: Fri, 20 Oct 2017 17:01:09 -0000 PredictionIO is completely useless without a Template yet we seem as a = group too focused on releasing PIO without regard for Templates. This = IMO must change. 90% of users will never touch the code of a template = and only 1% will actually create a template. These guesses come from = list questions. If this is true we need to switch our mindset to = "templates first=E2=80=9D not =E2=80=9Cpio first=E2=80=9D. Before any = upgrade vote, every committer should make sure their favorite template = works with the new build. I will be doing so from now on. We have one fairly significant problem that I see from a template = supporter's side. PIO has several new build directives that change = dependencies like Spark version and tools like Scala version. These are = unknown to templates and there is no PIO supported way to communicate = these to the template's build.sbt. This leaves us with templates that = will not work with most combinations of PIO builds. If we are lucky they = may be updated to work with the *default* pio config. But this did not = happen when PIO-0.12.0 was released, only shortly afterwards. This must = change, the Apache templates at least must have some support for PIO = before release and here is one idea that might help... How do we solve this? 1) .make-distribution modifies or creates a script that can be imported = by the templates build.sbt. This might be pio-env if we use `pio build` = to build templates because it is available to the template=E2=80=99s = build.sbt, or something else when we move to using sbt to build = templates directly. This script defines values used to build PIO. 2) update some or all of the Apache templates to use this mechanism to = build with the right scala version, etc. taken from the PIO build. I had a user do this for the UR to support many different pio build = directives, and some that are new. The result was a build.sbt that = includes such things as=20 val pioVersion =3D = sys.env.getOrElse("PIO_VERSION","0.12.0-incubating=E2=80=9D) val scalaVersion =3D sys.env.getOrElse(=E2=80=9CPIO_SCALA_VERSION=E2=80= =9D, =E2=80=9C2.10.0=E2=80=9D) val elasticsearch1Version =3D = sys.env.getOrElse("PIO_ELASTIC_VERSION","1.7.5") val sparkVersion =3D = sys.env.getOrElse("PIO_SPARK_VERSION","1.4.0=E2=80=9D) these are then used in the lib dependencies lists to pull in the right = versions of artifacts. This in some form would allow templates to move along in lock step with = changes in the way pio is built on any given machine. Without something = like this, users even less expert at sbt than myself (hard to imagine) = will have a significant problem dumped on them. Since this is only partially baked it may not be ready for a Jira and so = warrants discussion. =20=