Sunday, November 29, 2009

APEX SIG at OBUG

On Thursday I had a final meeting with the directors of OBUG (Oracle BeNeLux User Group) about setting up an APEX SIG.

Oracle Application Express is getting more popular in Belgium, the Netherlands and Luxembourg, so it made sense to bring all these people together and talk about it.

So from Thursday onwards in the diagrams of the OBUG you'll see an APEX SIG now. The OBUG has a big one-day event in March called "Benelux Connect", so probably on that day we'll do some APEX sessions there. Next to that, the goal is to have at least two meetings a year with the APEX SIG. Next to the technical presentations, the Use Cases and sharing knowledge, the networking and having fun is an important part.

We are working on a new website for OBUG, which will go live in January and on there you will find more information about the APEX SIG.

We have many more ideas and I hope all of the APEX enthusiasts and people working with this wonderful tool in the BeNeLux will join.

While we wait for the official website to be launched you can register your interest in the APEX SIG here. All registered people will be kept informed... so register now!

PS: For the people thinking the current OBUG site is made in ASP, you are right, but the register section is an iFrame to an APEX app ;-)

Monday, November 23, 2009

Twitter messages on APEXBlogs.info

I extended the APEX Blogs aggregator to also include Twitter messages.

A few years ago blogs were hot to exchange knowledge, but writing blog posts takes time. These days people use Twitter messages to post very short messages. But I find it very useful as you know what people are doing e.g. Patrick Wolf tweeted he was working on a Required Flag for an item in APEX 4.0.

As I think a lot of people miss out on these short (but interesting) messages I decided to include it on the site.


If you want to appear on the site you only need to put #apexblogs in your twitter message and in real-time your message will appear on the site.

I used some code of OraTweet to make this happen. Thanks to Noel Portugal to share that nice app.

Have fun with the tweets! Hope you like it.

Thursday, November 19, 2009

RSS of APEXBlogs.info

A couple of days ago the RSS feed of APEXBlogs.info started to behave weird. Although you could still read the message, the link at the bottom to redirect to the website suddenly didn't work anymore.

I didn't change anything but Feedburner is now under the Google flag and apparently that added statistics to the url.
e.g. &utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+OracleApexBlogAggregator+%28Oracle+APEX+Blog+Aggregator+%28by+AE%29%29

If you took that bit off it worked just fine.

I found the answer in the FeedBurner forum. You can disable all the statistics (not sure why they got enabled suddenly) so the url should become "normal" again, so that is what I did. Let's hope the new posts through RSS are correct again.

I've some new ideas for the website to include also the APEX related twitter messages and do a general update of the site to make it cleaner, but I didn't find the time to finish it yet.

If you have other ideas or recommendations for the site, feel free to add a comment. I'll take it into consideration for the new release.

Tuesday, November 10, 2009

APEX Meetup @ UKOUG

As on every Oracle conference, also this time we organize an APEX Meetup.
Last year we went for a pizza and some drinks and it was great fun!


For this year, I propose we come together on Monday 30th November at the Community Focus Pubs - 20.00 - 21.30. There should be an APEX table as well. We can already have some drinks there and then leave for another place and see what the night brings us...

Time is flying... See you in 2,5 weeks!

Wednesday, November 04, 2009

Accordion in APEX

*** This post uses SyntaxHighlighter to show code, if you are on an RSS-reader you might not see the code ***

The last weeks it seemed that more people were having the same question "how to integrate an Accordion in APEX".

I've been using an Accordion for a while, an online example is on the Anychart Integration kit website. The left-hand menu is an Accordion.

I think on all my projects of the last year I've been including JQuery and JQuery UI as a standard in the template. The Accordion I use is part of JQuery UI.

You can implement the different JQuery components and plugins in a lot of different ways in APEX; using a template, a shortcut, a region etc. but the principle is the same for any way you chose; you need to load the necessary javascript and have some html that works with it.

My standard philosophy is "if you can make things reusable, you should do it". (with this note: if time and effort allows)
APEX has a Shared Components section and Page zero which can help you with sharing your most common used code. APEX 4.0 will go a step further and provides a plugin mechanism, so you don't need to put the code in different places anymore, instead it will handle everything for you.

So to implement my Accordion, I used a List Template to change any List into an Accordion. Here's how the APEX list template looks like:

List Template Before Rows




List Template Current

#TEXT#




List Template Noncurrent

#TEXT#




Between List Elements



Sub List Template Current



Sub List Template Noncurrent



List Template After Rows




Update; apparently SyntaxHighlighter can't show the script tags (javascript).

The List is a normal list as you can see in the below screenshot.


In the List itself you need to add the pages in "List Entry Current for Pages Type" in order to leave the Accordion open for a child. e.g. 2D Column is page 10 and that should be in the List Entry Current for Page 5.

So in every other project you can just use this template for a list and you have an Accordion in place.
javascript:void(0)

Tuesday, November 03, 2009

Testing Syntax highlighting

I found following blog post which explains how to include SyntaxHighligther (v2) in blogger.

So lets give it a try for the languages I use most.

SQL

SELECT ename, empno
FROM emp
WHERE empno = 7654;

PL/SQL (same highlighting as SQL)

BEGIN
FOR r in (SELECT ename, empno
FROM emp)
LOOP
htp.p(r.ename);
END LOOP;
END;

JavaScript

$(document).ready(function() {
$(".btn-download").click(function(){
callMyFunction();
});
});

XML