Dear Serge,

Thanks for the reply.

I tried creating segment you have given and was able to segment user on
that basis.
But when i m trying to create my new segment having below structure

{
  "metadata": {
    "id": "viewCount",
    "scope": "viewcountscope",
    "enabled": true,
    "name": "View count Segment",
    "description": "Segment of user view count"
  },
  "condition": {
    "type": "profilePropertyCondition",
    "parameterValues": {
      "propertyName": "properties.view.viewCount",
      "comparisonOperator": "greaterThan",
      "propertyValue": 3
    }
  }
}

and data is stored is below format
[image: Inline image 1]
*It's Json*
properties: {
nbOfVisits: 124,
lastVisit: "2017-06-20T04:40:19Z",
firstVisit: "2017-06-18T07:07:45Z",
previousVisit: "2017-06-20T04:31:18Z",
signup: [],
account: [],
view: [
{
pageUrl: [
"https://gohellotv.in/vu/287387/sooo-bad";,
"https://gohellotv.in/vu/287387/sooo-bad";,
"https://gohellotv.in/search/rajdeepmishra45";,
"https://gohellotv.in/discover";
],
viewCount: 4,
title: "sooo bad",
categoryName: "Movies",
userId: "30157911",
cId: "287387",
hashtag: "#funny"
},

So we are getting ognl.enhance.UnsupportedCompilationException: Can't
compile nested chain expressions.
ognl.OgnlException: source is null for getProperty(null, "viewCount")

So,can you please help us to sort out this.
Thanks !!

*Thanks and Regards*

*Deepak MalhotraSoftware Developer*
*P K Online Ventures Pvt. Ltd.*
*Building No. 128, Ground Floor, Institutional Area,*
*Sector 44, Near Apparel House, Gurugram, Haryana 122001*

On Tue, Jun 20, 2017 at 7:02 PM, Serge Huber <[email protected]> wrote:

> Hello you can find the API for manipulating segments here :
>
> http://unomi.incubator.apache.org/rest-api-doc/index.html#1558745832
>
> Note that you will need to access it through the secure endpoint at
> https://localhost:9443/cxs (it works also on the endpoint
> http://localhost:8181/cxs but this is due to a bug so it might go away in
> the future).
>
> Most of the field should be self explanatory except for the conditions. The
> condition is actually a tree of conditions. Here is an example of a segment
> definition with a simple condition:
>
> {
>   "metadata": {
>     "id": "uniqueSegmentId",
>     "scope": "exampleScope",
>     "enabled": true,
>     "name": "Example segment name",
>     "description": "Example segment description"
>   },
>   "condition": {
>     "type": "profilePropertyCondition",
>     "parameterValues": {
>       "propertyName": "properties.nbOfVisits",
>       "comparisonOperator": "greaterThan",
>       "propertyValueInteger": 3
>     }
>   }
> }
>
> In this example, we create a segment that will incorporate all the profiles
> that have the property nbOfVisits greater than 3. The available conditions
> are deployed in Unomi using JSON files you can find in the
> META-INF/cxs/conditions directory, as in this example:
> https://github.com/apache/incubator-unomi/tree/master/
> plugins/baseplugin/src/main/resources/META-INF/cxs/conditions
>
> The condition system is actually pluggeable, so you could build your own
> new conditions or extend existing ones. Each condition JSON defines the
> parameters that are available, as well as their type. For example the
> booleanCondition.json description boolean conditions that accept
> sub-conditions and a boolean operator to combine conditions using a boolean
> operator.
>
> Here is an example of a segment that has a boolean condition and
> sub-conditions:
>
> {
>   "metadata": {
>     "id": "_8yux206mc",
>     "scope": "exampleScope",
>     "enabled": true,
>     "name": "booleanSegment",
>     "description": "booleanSegmentDescription"
>   },
>   "condition": {
>     "type": "booleanCondition",
>     "parameterValues": {
>       "operator": "and",
>       "subConditions": [
>         {
>           "type": "profilePropertyCondition",
>           "parameterValues": {
>             "propertyName": "properties.age",
>             "comparisonOperator": "greaterThanOrEqualTo",
>             "propertyValueInteger": 18
>           }
>         },
>         {
>           "type": "profilePropertyCondition",
>           "parameterValues": {
>             "propertyName": "properties.gender",
>             "comparisonOperator": "equals",
>             "propertyValue": "male"
>           }
>         }
>       ]
>     }
>   }
> }
>
> In this example you can see the boolean condition type with the parameter
> values using the "and" operator and the sub-conditions. In this case we
> build a segment that checks if the profile properties age is greater than
> or equal to 18 and the gender is male.
>
> If we look at the booleanCondition.json file available here :
> https://github.com/apache/incubator-unomi/blob/master/
> plugins/baseplugin/src/main/resources/META-INF/cxs/
> conditions/booleanCondition.json
>
>
> {
>   "metadata": {
>     "id": "booleanCondition",
>     "name": "booleanCondition",
>     "description": "",
>     "tags": [
>       "logical",
>       "profileCondition",
>       "eventCondition",
>       "sessionCondition",
>       "sourceEventCondition"
>     ],
>     "readOnly": true
>   },
>   "conditionEvaluator": "booleanConditionEvaluator",
>   "queryBuilder": "booleanConditionESQueryBuilder",
>   "parameters": [
>     {
>       "id": "operator",
>       "type": "String",
>       "multivalued": false,
>       "defaultValue": "and"
>     },
>     {
>       "id": "subConditions",
>       "type": "Condition",
>       "multivalued": true
>     }
>   ]
> }
>
> You can see it defines those two parameters we used. The conditionEvaluator
> and queryBuilder properties are references to OSGi service properties
> declared in the plugin's Blueprint descriptor file, which you can find here
> :
> https://github.com/apache/incubator-unomi/blob/master/
> plugins/baseplugin/src/main/resources/OSGI-INF/blueprint/blueprint.xml
>
> This is only interesting to you if you want to define new conditions, but
> you should already be able to do a lot with the built-in conditions as they
> may be combined in complex ways to segment the profiles. Please note that
> conditions should be kept simple as they do have an impact on performance.
>
> This should get you started (I hope), let me know if you have additional
> questions, I'll do my best to answer them.
>
> Best regards,
>   Serge Huber.
>
> Serge Huber
> CTO & Co-Founder
> T +41 22 361 3424
> 9 route des Jeunes | 1227 Acacias | Switzerland
> jahia.com <http://www.jahia.com/>
> SKYPE | LINKEDIN <https://www.linkedin.com/in/sergehuber> | TWITTER
> <https://twitter.com/sergehuber> | VCARD
> <http://www.jahia.com/vcard/HuberSerge.vcf>
>
>
> > JOIN OUR COMMUNITY <http://www.jahia.com/> to evaluate, get trained and
> to discover why Jahia is a leading User Experience Platform (UXP) for
> Digital Transformation.
>
> On Tue, Jun 20, 2017 at 11:41 AM, Deepak Malhotra <
> [email protected]> wrote:
>
> > Hi Unomi Dev Team,
> >
> > Me and my team is working on unomi and done capturing part now we want to
> > do segmentation,but we are not able to make it
> > So,any help from your side on it would be appreciated.
> >
> > *Thanks and Regards*
> >
> > *Deepak MalhotraSoftware Developer*
> > *P K Online Ventures Pvt. Ltd.*
> >
>

Reply via email to