Mondrian 4 documentation - olap

I am about to start creating OLAP using Mondrian. Is there an official Mondrian 4 documentation? The documentation I found at mondrian.pentaho.com/documentation doesn't seem to cover the latest Mondrian version. I thought virtual cubes are replaced by measure groups. See an actual documentation stub below:
<Schema>
<Cube>
<Table>
...
<Dimension>
<DimensionUsage>
<Measure>
<MeasureExpression>
...
<VirtualCube>
<CubeUsages>
<VirtualCubeDimension>
<VirtualCubeMeasure>
Is there any other source or tutorial where can I start with Mondrian 4?

The Mondrian documentation you mentioned is for older version - Mondrian 3.
There is a Mondrian 4 documentation.
Check the documentation stub:
<Schema>
<PhysicalSchema>
<Table>
<Cube>
<Dimensions>
...
<MeasureGroups>
<MeasureGroup>
<Measures>
...

Try this: http://mondrian.pentaho.com/head/documentation/schema.php
This makes a back reference to Mondrian 3; so it must be more recent.

Related

Manage several versions of a same route with api-platform

I use Symfony and api-platform to build my apis.
I would like to manage two versions of the same route. For example:
path_url/v1/myroute and path_url/v2/myroute
Is it possible to do that with api-platform? (I suppose the answer is YES but I did not found how in the documentation)
Moreover, how to manage two versions of the Swagger? For the moment I have one version of the Swagger:
How to see the different versions and allow the users to choose between V1 and V2?
Here what I found.
In my entities I added the "routePrefix annotation" :
And here :
Like that my swagger is now :
It not exactly what I was looking for but it's ok with me !
You can as well define the route prefix globally in api_platform.yaml. See image link below.
enter image description here

No SqlParameter.UdtTypeName on netcoreapp1.1! How to use UDT?

This UdtTypeName property is required to read or write Geography, Geometry or HierarchyId.
I can't find any workaround or post/information on this subject.
Does anyone have an explanation?
This is not implementend in netcoreapp1.1.
There is an issue about that in the dotnet corefx project, referencing all the missing API of System.Data.SqlClient, and especially about UdtTypeName: https://github.com/dotnet/corefx/issues/17126

aem-6-2-replication-issue-for-node-containing-invalid-jcr-names

I am working on AEM 5.6 to 6.2 upgrade project. There are some nodes in aem 5.6 environment which contains invalid character(as per JCR naming convention like rte[2] is one of the node name which doesn't follow the naming convention)but somehow we are able to replicate those nodes in 5.6 environment. After upgrade it to aem 6.2,it seems like JCR is more restricted and won't allow the nodes to replicate if it is having invalid characters.
Getting the below error in aem 6.2: error:
com.day.cq.replication.ReplicationException: Repository error during node import: Cannot create a new node using a name including an index
Is there any way we can configure AEM 6.2 to stop checking JCR node names?or any other solution?
JCR 2 does not allow [ as a valid character therefore you won't get an easy workaround for this. It's one of the limitations just like the same-named-sibling.
My recommendation will be to modify these nodes before the upgrade/migration to 6.2. This can be complicated and costly for business but 6.2 won't allow it.
As a background [ was allowed in older version due to twisted support for grammar syntax for same-named-siblings.
Assuming that these are all content nodes as nothing out-of-the-box in AEM 5.x follows this naming convention.
Some ways to fix it:
Write a custom servlet to query and rename the paths across all references. You will have to test your content for these renames.
Use Groovy console (https://github.com/OlsonDigital/aem-groovy-console) to rename the nodes.
In either case, you will need to modify the nodes before the migration as the structure is not oak compliant therefore you cannot use crx2oak commit hooks also. This can be done with both in-place upgrade and side-by-side migration. This is similar to the problem with same named siblings that must be corrected before the migration.
Some efficiency techniques that might help:
Write queries to find invalid node names on top-level nodes like /content/mysite-a, /content/mysite-b etc. Don't run root level queries on /content as it might downgrade to
traversal and halt the execution.
Ensure that all references are updated in same commit. If you are using custom servlet, call session.save() only after updating all the node names and it's corresponding references.
As i mention in the comment this replication failure causes because of the oak workspace restriction as the code snippet below
//handle index
if (oakName.contains("["))
{ throw new RepositoryException("Cannot create a new node using a name including an index");
}
and i feel you can't escape this constraint as it it required by the repository to maintain consistency
you can find nodes that ends with '[', by below query
SELECT [jcr:path] FROM [nt:base] WHERE ISDESCENDANTNODE('/content/path/') AND [jcr:path] like '%\['
and to modify the JCR/CRX nodes you can use CURL or SlingPostServlet method
Some helpful posts are blow.
https://github.com/paulrohrbeck/aem-links/blob/master/curl_cheatsheet.md
http://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html
Can you try migrating using a tool like oak-upgrade and let us know if you are still facing this issue.
The tool is robust and you have the flexibility to configure specific sub-trees for migration using this tool.

Custom dictionary is not working in endeca

I am trying to add a custom dictionary in stemming but found no luck.
Steps I tried:
1) I have added the following lines in /config/script/DataIngest.xml:
<dgidx id="Dgidx" host-id="ITLHost">
<args>
.....
<arg>--stemming-updates</arg>
<arg>C:/Endeca/Apps/CRS/config/script/stemmingExtension.en.xml</arg>
</args>
</dgidx>
And added following lines in stemmingExtension.en.xml:
<word_forms_collection_updates>
<WORD_FORMS>
<WORD_FORM>shuts</WORD_FORM>
<WORD_FORM>shirts</WORD_FORM>
</WORD_FORMS>
</word_forms_collection_updates>
Ran a baseline update and then tried to search for "shuts" and expected to get "shirts" results, but not.
What's the correct way of setting up custom dictionary words in stemming?
Thanks in advance for your help.
Basavaraj
What version of the etl salience component are you using? I remember of a similar bug in oeid 3.0 bundle, and unluckily the answer is that the component used in clover etl doesn't call the appropriate method from java's api to get the stemmed word. You can build a mockup, directly calling java api's, to see the different methods used
For Endeca 3.1.2 version, try adding it to /MDEX/<version>/conf/stemming/en_word_forms_collection.xml (for English)
Example:
<WORD_FORMS_COLLECTION>
...
<WORD_FORMS>
<WORD_FORM>shuts</WORD_FORM>
<WORD_FORM>shirts</WORD_FORM>
</WORD_FORMS>
<WORD_FORMS_COLLECTION>

Web based visual query builder

I am after a visual query builder along the lines of http://ajax.easyquerydemo.com/. I am using ASP.NET but MVC so would rather something that is not WebForms based like the one in the link. If anyone knows of similar tools that are largely platform agnostic please let me know.
Was looking for the same sort of thing, came across this http://devtools.korzh.com/query-builder-component/ which looks very interesting to me...
Easy Query Builder supports MVC, they have a pretty slick MVC Demo, and a non-expiring trial.
Activer query can do all the thing you want:
http://www.activequerybuilder.com/product.html
Try www.ajaxquerybuilder.com
Even i search for it today and created a list:
1) Query builder
http://aspquerybuilder.net/?_ga=2.150945718.1618902383.1522751533-1013206784.1522751533
price : https://www.activequerybuilder.com/purchase.html
2) Active query builder
Demo : https://webapi.activequerybuilder.com/Demo
Free to use.
3) Custom code
https://www.codeproject.com/Tips/1060170/User-Responsive-Web-Query-Builder-using-ASP-NET
4) DataSparc: Paid service
Demo : https://www.datasparc.com/dbhawk-online-demo/
5) Jquery query builder: Free to use.
Demo: http://querybuilder.js.org/demo.html
GitHub: https://github.com/mistic100/jQuery-QueryBuilder
6) DevExpress.com
Demo : https://demos.devexpress.com/ASPxGridViewDemos/DataBinding/QueryBuilder.aspx
Documentation: https://demos.devexpress.com/aspxgridviewdemos/DataBinding/QueryBuilderControl.aspx
We use DBHawk from Datasparc. It provides query builder and execution.

Resources