[ 
https://issues.apache.org/jira/browse/NIFI-4149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16207014#comment-16207014
 ] 

ASF GitHub Bot commented on NIFI-4149:
--------------------------------------

Github user joewitt commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2205#discussion_r145028735
  
    --- Diff: 
nifi-api/src/main/java/org/apache/nifi/expression/ExpressionLanguageScope.java 
---
    @@ -0,0 +1,39 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.nifi.expression;
    +
    +/**
    + * Indicates the scope of expression language on a property descriptor
    --- End diff --
    
    would be good to add comments here and/or with each scope but they're 
effectively hierarchical.
    
    NONE -> VARIABLE_REGISTRY -> FLOWFILE
    
    If something supports flowfile it supports both flowfile attributes and 
variable registry.  If something supports variable registry then it does not 
consider flowfile attributes.  Further, when supporting the variable registry 
there is an implied scope of 'variables defined in the closest process group 
and then up to the higher group and so on until the root group and finally the 
nifi.properties variables are evaluated and then environment variables/etc..'


> Indicate if EL is evaluated against FFs or not
> ----------------------------------------------
>
>                 Key: NIFI-4149
>                 URL: https://issues.apache.org/jira/browse/NIFI-4149
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>
> With the addition of EL in a lot of places to improve SDLC and workflow 
> staging, it becomes important to indicate to users if the expression language 
> enabled on a property will be evaluated against the attributes of incoming 
> flow files or if it will only be evaluated against various variable stores 
> (env variables, variable registry, etc).
> Actually, the expression language (without evaluation against flow files) 
> could be allowed on any property by default, and evaluation against flow 
> files would be what is actually indicated in the UI as we are doing today. 
> Adopting this approach could solve a lot of JIRA/PRs we are seeing to add EL 
> on some specific properties (without evaluation against FFs).
> Having expression language to access external values could make sense on any 
> property for any user. However evaluating the expression language against FFs 
> is clearly a more complex challenge when it comes to session management and 
> such.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to