Plans for 2017

I already know 2017 will be busy there is no questions about it. I will continue my day job at Miracle and my research and teaching at the University. I was planning not to travel but I guess I am not a very good planner πŸ˜€

In January/February I will be speaking at the BIWA Summit and attending the Property Graph Developer Day at the Oracle HQ. In April I will be speaking at the Collaborate, in May at the APEX Connect, in June at the KScope and in September at the POUG event in Poland. It is possible I will be speaking somewhere else too during the year but all these are already confirmed.

I wish you a wonderful 2017! And hope to see you somewhere during the year!

— Heli

 

 

It’s a Wrap-up for 2016

2016 was again a busy year. I have been working on my regular day job, studying the Big Data world, researching, writing, speaking and teaching at the University of Helsinki.

My second book came out:

thebook

I spoke at several events (I hope I did not forget anything):

  • DOAG2016, Nuremberg, Germany
  • OTN APAC Tour:
    • Beijing, China
    • Sangam16, Bangalore/Bengaluru, India
  • POUG, Warsaw, Poland
  • Oracle Open World, San Francisco, USA
  • MiitIT, Helsinki, Finland
  • ODTUG KScope16, Chicago, USA
  • UKOUG Scotland, Glasgow
  • RoOUG, Romania
  • BGOUG, Bulgaria
  • AMIS 25 – Beyond the Horizon, Leiden, The Netherlands
  • APEX Connect 2016, Berlin, Germany
  • OUGF EXA-SIG, Helsinki, Finland
  • Collaborate, Las Vegas, USA
  • OUGN, Norway
  • GaOUG Tech Day 2016, Atlanta, Georgia, USA

I attended my first academic events: a Big Data Workshop (http://udbms.cs.helsinki.fi/BigData2016/) and the 32nd IEEE International Conference on Data Engineering, ICDE (http://icde2016.fi/). I was also a volunteer worker in both events and I guess I made some kind of history by being a chair for one of the sessions at ICDE as a newcomer:-) I really enjoyed both the events!

I was helping to organize and co-chairing the EOUC Leaders’ meeting in Nuremberg:

http://www.helifromfinland.blog/2016/12/02/eouc-leaders-meeting-at-doag2016/

I have been helping several user groups to judge the submitted Call for Papers and of course serving the EMEA user groups as their elected Ambassador. One of my duties during the year was to attend the EOUC Leaders’ meeting in Romania in June and give a speech to our long time Oracle liaison, Mary Lou Dopart. I want to thank her for all the years she has been working for user groups and I want to wish her all the best with her new duties:

marylou

For many years (at least since 2011: http://www.oracle.com/us/products/applications/green/eco-enterprise-awards-2011-517494.html ) I have been one of the judges for the Oracle Sustainability Award (used to be called the ECO Award). I am very honoured about it because I consider myself as a “green person” and I enjoy seeing companies making green choices. Also in 2016 I wasΒ  judging the 2016 Oracle Excellence Award: Sustainability Innovation (http://www.oracle.com/us/products/applications/green/sustainability-innovation-3251463.html). Congratulation to all nominees and the winners!

I attended the OTN/AMIS Hackathon in Leiden. We did not win but we had a great team and so much fun!Β  πŸ˜€

theteam

I have been giving interviews, signing books and smiling in several photos πŸ™‚ .Β  I think this photo sums it all upΒ  πŸ˜€ Somebody taking a photo of Connor “AskTom” McDonald taking a photo of meΒ  πŸ˜€

connor

Oh and I was listed as one of the TOP 100 IT Influencers in Finland by TiVi magazine (http://www.tivi.fi/Kaikki_uutiset/tassa-ovat-it-alan-100-vaikuttajaa-2016-6604873), just like last year. I am extremely proud of this. Thank you!

And just to remind everybody, it does take a lot of work, it is not just dancing ballet (I love ballet! and I know how real this photo is…)…

hardwork

It was a great year and I probably forgot to mention half of what happened. I am tired but happyΒ  πŸ™‚

Thank you! I am looking forward to 2017!

— Heli

EA2 for both Oracle SQL Developer and Data Modeler 4.2

Early Adopter 2 for version 4.2 was relesed for both Oracle SQL Developer

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/sqldev-ea-42-3211401.html

and Oracle SQL Developer Data Modeler

http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/dm-ea-42-3215768.html

These releases are mostly bug fixes for EA 4.2.

Here is very briefly what is new in SQL Developer 4.2:

http://www.oracle.com/technetwork/developer-tools/sql-developer/sqldev-newfeatures-v42-3211987.html

and in Data Modeler 4.2:

http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/dm-newfeatures-42-3220396.html

You can learn more about the new features in Data Modeler 4.2 by reading my previous posts about the topic :

https://helifromfinland.blog/2016/09/27/whats-new-in-data-modeler-ea4-2-part-1-design-rules/

https://helifromfinland.blog/2016/09/28/whats-new-in-data-modeler-ea4-2-part-2-change-requests/

https://helifromfinland.blog/2016/09/29/whats-new-in-data-modeler-4-2ea-part-3-a-view-and-a-query/

https://helifromfinland.blog/2016/09/30/whats-new-in-data-modeler-4-2ea-part-4-new-preferences-for-reporting/

https://helifromfinland.blog/2016/10/01/whats-new-in-data-modeler-4-2ea-part-5-generate-html-report-toc-in-separate-file/

https://helifromfinland.blog/2016/10/02/whats-new-in-data-modeler-4-2ea-part-6-include-select-statement-in-views-reports/

https://helifromfinland.blog/2016/10/04/whats-new-in-data-modeler-4-2ea-part-7-embed-diagrams-htmlpdf/

https://helifromfinland.blog/2016/10/05/whats-new-in-data-modeler-4-2ea-part-8-group-objects-by-schema/

https://helifromfinland.blog/2016/10/09/whats-new-in-data-modeler-4-2ea-part-9-end-of-the-serie/

https://helifromfinland.blog/2016/12/10/new-reports-in-data-modeler-4-2ea/

Go and Download!

 

P.S. APEX 5.1 is also out!

http://www.oracle.com/technetwork/developer-tools/apex/downloads/download-085147.html

 

 

Data Modeler Reports: Templates and Configurations

I do not understand why there are configurations and templates related to reports in Data Modeler. What is the difference and when are they used?

 

A Template describes what element types and their properties will be included in the report. For instance Tables, their descriptions, Columns and their Comments.

template

 

While as a configuration defines which objects of the selected element type will be included in the report. For instance tables: Customers, Orders, Products and Orderlines, or any table that is included in the subview Movie.

configuration

 

 

#DOAG2016

My last event this year was DOAG 2016 in Nuremberg. Since the event was in Germany it all started with a…beer…

beer

DOAG is one of the best organized user group events in this planet! And the venue is the best possible one with several floors each having its own restaurant for lunches. Also DOAG has a great number of attendees meaning you will meet plenty of friends. I started it by meeting (accidentally πŸ™‚ ) Christian Berg at the railway station before the event even started!

christianberg

I had breakfast with Tanel Poder…

tanel

And during the event I met many, many friends like Alex Nuijten:

alex

2*Martin, Neil, Mathias,…

martin

And some more friends at the dinner organized by Tirthankar and Sonja. Thank you! It was such a nice evening: great company, delicious food.

Dinner.JPG

Oh I did present too πŸ˜€

Again two talks: Database designing with Data Modeler, where I gave one of by books away as usual:

heli1

and the favourite features of SQL Developer in a huuuuge room:

heli2

Great event! Amazing presentations and wonderful people. Thank you!

— Heli

EOUC Leaders’ meeting at #DOAG2016

Already the third time DOAG was helping the EMEA Oracle Usergroup Community (EOUC) leaders to meet face-to-face during the big event of DOAG (the German Oracle user group). Thank you DOAG for your amazing support for the community!

ug1

As always the meeting was a great success: 31 participants from 24 different user groups sharing their experience and collaborating. This time we also had two special guests from Mark Hurd’s office to hear our feedback on Oracle Cloud.

The day was full of interesting topics starting from improvement ideas on communication between user groups to our appearance at the OOW2017. We spoke about our new magazine (feel free to sign up, it’s free and extremely interesting http://www.oraworld.org/home/ ).

Thank you for attending the meeting and being so active! And thank you DOAG for making this possible!

ug2

And the mandatory WIT in user groups photo πŸ™‚

ug3

 

 

 

 

#SANGAM16

In November I also attended the Sangam the first time. It all actually started in Norway at the OUGN event earlier this year. Sai from AIOUG was there and attended my session. Afterwards he came to me and said: “Heli, we need you in India!”. Because of Sai I was willing to skip one of my favourite events, BGOUG, that was at the same time with Sangam and decided to visit India.

I am glad I did. I really, really liked India! And Sangam was an amazing event. And I learned a lot about different cultures! In Delhi (I changed the plane there) I learned that you must have a tag (for stamping) in every hand luggage and in Bangalore I learned that in Finland we do not have any rush hours…

trafic

The venue for the event was a lovely hotel in Bengaluru:

hotel

Sai was extremely kind to us and organized us a wonderful sightseeing tour:

sightseeing

After the sightseeing tour we were ready for Sangam16!

speakerswaiting

One of the keynotes during the event was a guru explaining us the technology of happiness.

keynote

It was an interesting presentation. We also tried meditation and I am pretty sure I fell asleep πŸ™‚

I gave again two sessions: my favourite SQL Developer features and database designing with Data Modeler.

heli.JPG

It was a great event!

We enjoyed the ACE dinner:

acedinner

and plenty of quality time with great people:

team

Thank you very much Sai and the AIOUG team, OTN and the ACE program for letting me to experience this! I really hope I can visit Sangam one day again!

— Heli

DDLs for Table synonyms

In my company we always define synonyms for all the tables. I do not want to manually define them and actually I do not need to see them in my Browser. Is there a way to get the DDLs generated for those synonyms automatically, without defining anything?

Yes, use Table DDL Transformations.

syn1

Define the name for the Table DDL Transformation Script (in this example PrivateSynonym), define when it will be triggered (in this example After Create, meaning it will be the last DDL for the table), type the script:

syn2

Press Save. Then you can test the script by selecting one table from the Table to Test list and pressing Test.

This is what I got:

syn3

NOTE: the synonym is only created for the DDL not the design, you will not see any synonyms in the Browser.

To get the DDL generated select this script in DDL generation:
syn4

Select the tables you want to generate the synonyms and press OK.

P.S. If the DDL File Editor shows blank you might have hit a known bug.

Workaround: Go back to Table DDL Transformations and select the script. Select After Create, type a space, remove it and save the script again.

You can use this script written by Marko Helskyaho, or write your own. This one creates a private synonym for all the tables selected for DDL generation.

/*
variable ddlStatementsList should be used to return the list with DDL statements
that are created by script – as shown below:
ddlStatementsList.add(new java.lang.String(ddl));
other available variables:
– model – relational model instance
– pModel – physical model instance
– table – the table in relational model
– tableProxy – table definition in physical model
*/
var ddl;
var lname;
var sname;
prompt = model.getAppView().getSettings().isIncludePromptInDDL();
useSchema = model.getAppView().getSettings().isIncludeSchemaInDDL();
if(model.getStorageDesign().isOpen()){
if(useSchema){
lname = tableProxy.getLongName();
sname = tableProxy.getName();
}else{
lname = tableProxy.getName();
sname = tableProxy.getName();
}
}else{
if(useSchema){
lname = table.getLongName();
sname = tableProxy.getName();
}else{
lname = table.getName();
sname = tableProxy.getName();
}
}

if(prompt){
ddl= “\nPROMPT Creating Synonym for ‘”+lname+”‘;\n”;
}else{
ddl = “\n”;
}
ddl = ddl +
“CREATE OR REPLACE SYNONYM Heli.”+sname +”\n”+
“FOR “+lname +”\n” +
“;”

ddlStatementsList.add(new java.lang.String(ddl));