Organising a PCM Event

So, it’s time to get some proposals for a location for the #PCM16 meetup event. This is the yearly european wide meetup for the Pentaho (and wider) community.  You’ll have seen me blog about it a lot – not least of all because I helped organise last years meet!

So the event, as most of you all know is organised by the community for the community and is a tech oriented event, with a business slant these days too – but strictly not sales 🙂  Anyway it’s been running forever, so there’s a general pattern to it these days, but there’s plenty of appetite for change, and for people to put their own slant on it.

So the typical thing, is people arrive Friday ish, possibly a fun thing (hack or otherwise) on Friday night, conference all day Sat with a formal agenda, socialising Sat evening and sight-seeing on Sunday.  Hence it needs to be a decent place!  But really, there’s flexibility. There’s good reason to travel on a Friday and hold the conference on the Sat, keeps employers happy that they’re just paying expenses and not also losing a day!

Anyway what does an organiser need to do? Well…

  • Find/book the venue
  • Sort out t-shirts. Very very important.
  • Promote and sort out tickets
  • Manage the agenda
  • Sort out Lunch (which is covered by donations on the day usually)
  • Anything else..

On the finances side, that also has to be managed by the organiser, however bear this in mind:

  • Pentaho will most likely offer some sponsorship. How much I suggest cannot be found out until we have voted on a final organiser.
  • Local companies are likely to sponsor too.  If you include their logos they’ll probably sponsor even more!
  • I doubt anywhere will be as expensive as London for venues! Maybe you can be imaginative and find a venue which has little cost.  All we need is a few rooms, lunch facilities and a couple of projectors..
  • Any socialising/touring on Sunday will obviously be paid by those people who choose to go.

Any questions give me a shout – Once we have the final proposals in we can put it to a vote.

 

 

Last hurrah for xactions? And invaluable Mondrian BA Server links

So, for a long time now people have been decrying the death of xactions. In fact – Pedro put the final nail in the coffin with startup actions via PDI.

But! There’s one final bastion of this technology. Mondrian cache.

Now; Before we go too far – yes I know you can do this much better using CDC – Yes, CDC does not REQUIRE a distributed cache, and it does provide an API for clearing cubes as well as a UI. BUT – it’s not uncommon to be in a situation where installing a new plugin is simply not possible.

So, how does it work. Well the thing about xactions is that they are very powerful, and the way they work in the BA platform is actually very clever.  Their downfall has little to do with their functionality, and more to do with their usability and distinct lack of documentation!    Anyway downfall they have..

So; How to do it? Well there’s documentation here, but it’s not particularly useful:

http://mondrian.pentaho.com/documentation/cache_control.php#A_simple_example

Better is an example here:

https://gist.github.com/marksteele/7084974

Now; That example does a full on clear of an individual region in the cache, what if you just want to clear an individual cubes cache?  Do that like so:

 var conn = shared_olap_connection.shareConnection().getConnection();
 var cacheControl = conn.getCacheControl(null);
 cacheControl.flushSchemaCache();

How to find more about the API? Simple! Check the code here.

https://github.com/pentaho/mondrian/blob/3.11.1.0/src/main/mondrian/rolap/CacheControlImpl.java

But; What about the mondrian schema, where does it live in the BA platform?  Well there is some really old doco on that here:

http://wiki.pentaho.com/display/ServerDoc2x/Mondrian+datasource+storage+in+JCR

But in reality the most useful links you can have are these:

List data sources:

http://localhost:8080/pentaho/plugin/data-access/api/datasource/analysis/catalog

(Obviously replace host and port with your details!)

Download a schema (Assuming you have permissions of course)

http://localhost:8080/pentaho/plugin/data-access/api/datasource/analysis/catalog/SteelWheels

List JDBC connections:

http://localhost:8080/pentaho/plugin/data-access/api/datasource/jdbc/connection

And naturally see the details of one of those connections:

http://localhost:8080/pentaho/plugin/data-access/api/datasource/jdbc/connection/SampleData

It’s also possible to parameterise your xaction so the datasource and schema are parameters, therefore you can call it from the ETL.

The only minor caveat of this approach is you may have a user who has permission to clear the cache – and you use this user when you clear from the ETL. But now; This user will also need Execute permission because they need to execute the xaction which clears the cache.  You can still lock down what that user can see however.

Finally, if you want to see what the MDX Connection component in an xaction does, you can read the code here:

https://github.com/jayhenry/walrus_bi_platform/blob/6d1e0ff3eb575919089eb5e47ef1f7e20ea79da1/extensions/src/org/pentaho/platform/plugin/action/mdx/MDXBaseComponent.java

I guess if you wanted to redeem yourself and do this in a PDI job instead you’d have to do something similar.  (Actually you can define Mondrian datasources in PDI but I couldnt see a way of actually getting the connection in code, in order to flush it.)