Skip navigation.

Development

Crowdsourced software development experiment

Dimitri Gielis - Thu, 2016-05-26 15:30
A few days ago I got an email about an experiment how to program with the crowd.
I didn't really heard about it before, but found it an interesting thought. In this experiment people will perform microtasks (10 minutes task), as a member of the crowd. People don't know each other, but will collaborate together. The system is distributing the work and supplies instructions. The challenge is in creating quality code that meets the specifications.
Job is still searching for some people to be part of the experiment, so I thought to put it on my blog, in case you're interested you find more details below and how to contact him.


Categories: Development

Oracle CURRENT_TIMESTAMP Function with Examples

Complete IT Professional - Thu, 2016-05-26 05:00
The CURRENT_TIMESTAMP function is one of the many time and date-related functions in Oracle. Learn how to use it and see some examples in this article. Purpose of the Oracle CURRENT_TIMESTAMP Function The Oracle CURRENT_TIMESTAMP function will display the current date and time. It’s displayed in the session time zone, which is the timezone of […]
Categories: Development

The river floes break in spring...

Greg Pavlik - Wed, 2016-05-25 18:37

Alexander Blok The river floes break in spring... March 1902translation by Greg Pavlik 

The river floes break in spring,
And for the dead I feel no sorrow -
Toward new summits I am rising,
Forgetting crevasses of past striving,
I see the blue horizon of tomorrow.

What regret, in fire and smoke,
What agony of Aaron’s rod,
With each hour, with each stroke -
Or instead - the heavens’ gift stoked,
From the Bush of Moses, the Mother of God!

Original:

Весна в реке ломает льдины,
И милых мертвых мне не жаль:
Преодолев мои вершины,
Забыл я зимние теснины
И вижу голубую даль.

Что сожалеть в дыму пожара,
Что сокрушаться у креста,
Когда всечасно жду удара
Или божественного дара
Из Моисеева куста!  Март 1902

Please, use HTTPS for your APEX apps

Dimitri Gielis - Wed, 2016-05-25 16:07
Why use HTTPS?

When you Google this question you get many different answers, but this answer of Google Developers answers it for me in short (click the link for more details):
  • HTTPS protects the integrity of your website/APEX app
  • HTTPS protects the privacy and security of your users
  • HTTPS is the future of the web; many new technologies only work with https (for example Service Workers; you can read more about Service Workers and APEX in my presentation)
Industry going to HTTPS

Before websites had an HTTP portion and an HTTPS portion, which became active when you would login to the site, but nowadays everything is under HTTPS. Google will actually rank your site higher when it's using HTTPS. Look at the sites you visit; many of them will now use HTTPS as a default.

HTTPS on localhost

If you're developing locally, you don't really need HTTPS on localhost, but I still like to have that.
Here're the steps I did in Chrome on my Mac (OSX) to get the nice green lock when developing locally (works also with APEX Front-End Boost)
  • In the address bar, click the little lock with the X. This will bring up a small information screen. Click the button that says "Certificate Information."
  • Click and drag the certificate image to your desktop. 
  • Double-click it. This will bring up the Keychain Access utility. Enter your password to unlock it.
  • Be sure you add the certificate to the System keychain, NOT the login keychain. 
  • After it has been added, double-click it. 
  • Expand the "Trust" section. "When using this certificate," set to "Always Trust"
  • Close Keychain Access and restart Chrome, and your self-signed certificate should be recognized now by the browser.
HTTPS on your own server

For years I've been using SSL certificates ordered from Godaddy, but depending the certificate you get, it might not be that cheap. The APEX R&D website is a multi-site certificate - the same certificate is used for the APEX Office Print website.

But there's some good news... you can get SSL for free too (and it's very easy to do!), thanks to Letsencrypt. I used Letsencrypt to protect the Euro2016challenge.eu APEX app/website for example.
Here's the Getting Started Guide from Let's Encrypt. This is the command I used (after installing the package):

./letsencrypt-auto certonly --webroot -w /var/www/euro2016 -d euro2016challenge.eu -d www.euro2016challenge.eu


If you're not yet on https with your APEX app/site, I would definitely recommend looking into it :)

Categories: Development

Formspider is coming to US

Gerger Consulting - Wed, 2016-05-25 01:56
Dear Oracle Developers,We are opening a branch in US! As part of this effort, I will be in US between Jun 13 – July 4 to meet with organizations and developers who are interested in Formspider.Formspider offers  interesting opportunities for freelancers, consulting firms, IT Departments and ISV’s. Please get in touch to find out how Formspider can help you grow your business, meet your goals and make it easier to develop cross platform applications.I’ll be happy to arrange a meeting to talk to you.Kind Regards,
Yalim K. Gerger
Founder
Categories: Development

Mobile Apps with PL/SQL

Gerger Consulting - Tue, 2016-05-24 08:25
We are happy to announce that the first mobil applications built with Formspider are now in production. You can download them from the Apple App Store using this link, or from the Google Play Store using this link.

    

Formspider enables PL/SQL developers to build cross platform mobile apps using only PL/SQL as the programming language.
Read the story of our Dutch client to learn more about Formspider Mobile and the possibilities it opens for Oracle PL/SQL Developers.
Categories: Development

Oracle CREATE TABLE Syntax and Examples – The Complete Guide

Complete IT Professional - Mon, 2016-05-23 05:00
Creating database tables in Oracle is one of the most common tasks an Oracle developer or Oracle DBA does. Learn how to create tables, what the syntax is, and see some examples in this article. What Is The Create Table Command Used For? The CREATE TABLE command is used to create a database table. It […]
Categories: Development

Oracle BITAND Function with Examples

Complete IT Professional - Thu, 2016-05-19 05:00
In this article, I’ll explain how to use the Oracle BITAND function and show you some examples. Purpose of the Oracle BITAND Function The Oracle BITAND function is used to perform what’s called a standard bitwise AND operation. It’s used to compare two numbers and outputs a third number. I’ll explain what a bitwise AND […]
Categories: Development

Bitcoin for Enterprise IT

Gerger Consulting - Tue, 2016-05-17 08:54
We have a free webinar on May 18th! Attend our free webinar, presented by Balaji S. Srinivasan, one of the most prominent figures in the Bitcoin community, and learn how you can monetize any database with Bitcoin.

Many thanks to 145+ people who already signed up! Register here.



Categories: Development

12 Game of Thrones Career Lessons You Can Benefit From

Complete IT Professional - Tue, 2016-05-17 05:00
The popular fantasy show has many characters and plot lines. We can learn a lot from them on how we can improve our career. Game of Thrones is probably the best show I’ve ever seen. Every week, my girlfriend and I watch it, glued to the screen for an hour and then we eagerly await […]
Categories: Development

How to Monetize any Database with Bitcoin

Gerger Consulting - Mon, 2016-05-16 07:14
We have a webinar on May 18th! Attend our free webinar, presented by Balaji S. Srinivasan, one of the most prominent figures in the Bitcoin community, and learn how you can monetize any database with Bitcoin.

Many thanks to 135+ people who already signed up! Register here.


Categories: Development

Oracle AVG Function with Examples

Complete IT Professional - Thu, 2016-05-12 05:00
The Oracle AVG function is a common function in Oracle SQL. I’ll explain how to use it in this article and show you some examples. Purpose of the Oracle AVG Function The AVG function calculates the average of a series of values that you provide to it. Most of the time, this will be a […]
Categories: Development

Maven: how to copy files after a build into several distribution directories

XTended Oracle SQL - Wed, 2016-05-11 16:37

Sometimes it is convenient to copy jar-files automatically after a build into several different directories, for example if you have different config files for local tests and for office test server, then you may want to copy these files into local test directory, internal office test server and public distribution directory.
This short part of pom.xml contains 2 different methods to build UBER-JAR and copying them into 3 different directories: localtest, officetest and public

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>tv.tmd.YourMainClass</mainClass>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>.</Class-Path>
                        </manifestEntries>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <manifestEntries>
                                        <Main-Class>tv.tmd.YourMainClass</Main-Class>
                                        <Build-Number>2</Build-Number>
                                    </manifestEntries>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <configuration>
                            <target>
                                <echo>ANT TASK - copying files....</echo>
                                <copy todir="${basedir}/distribution/localtest" overwrite="true" flatten="true">
                                    <fileset dir="${basedir}" includes="*.bat" >
                                        <include name="*.bat" />
                                        <include name="ReadME.*" />
                                        <include name="target/*.jar" />
                                    </fileset>
                                </copy>

                                <copy todir="${basedir}/distribution/officetest" overwrite="true" flatten="true">
                                    <fileset dir="${basedir}" includes="*.bat" >
                                        <include name="*.bat" />
                                        <include name="ReadME.*" />
                                        <include name="target/*.jar" />
                                    </fileset>
                                </copy>

                                <copy todir="${basedir}/distribution/public" overwrite="true" flatten="true">
                                    <fileset dir="${basedir}" includes="*.bat" >
                                        <include name="*.bat" />
                                        <include name="ReadME.*" />
                                        <include name="target/*.jar" />
                                    </fileset>
                                </copy>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
Categories: Development

Bitcoin for Oracle Developers

Gerger Consulting - Mon, 2016-05-09 04:53
What is Bitcoin? What is The Blockchain? Why should an Oracle developer care? How is it going to impact Enterprise IT? How can you benefit from this upcoming new technology? Where do you even start to learn about Bitcoin?

Attend our free webinar presented by Balaji S. Srinivasan, one of the most prominent figures in the Bitcoin community, to get started with Bitcoin and learn how you can turn any database into a bitcoin-generating revenue stream.



About the Presenter
Balaji S. Srinivasan is the CEO and cofounder of 21.co, which has raised more than $116M from Andreessen Horowitz, Khosla Ventures, Cisco, Qualcomm, and Peter Thiel. He is also a board partner at Andreessen Horowitz. Dr. Srinivasan holds a BS, MS, and PhD in Electrical Engineering and an MS in Chemical Engineering from Stanford. He was an NDSEG, NSF, and VIGRE fellow, was named to the MIT TR35 and Founders Fund F50 lists, and taught data mining, statistics, and computational biology in the Department of Statistics at Stanford University.



Categories: Development

What is Oracle Cloud Management Pack in Enterprise Manager Cloud Control?

Arun Bavera - Wed, 2016-05-04 09:28
Cloud Management pack basically consists of these features:
These packs are basically used to setup your private in-house Cloud Services ( MWaaS, DBaaS, IaaS, PaaS, SCHaaS, SnapClone etc…)
Without these packs we cannot use any self-service provisioning features.
With DBLM you can use Deployment Procedure to create/clone new DB’s but you cannot use self-service portal.
The traditional DB LifeCycle Management provides all the management of DB but there are some exception of features like below:
Note: The ability to create 'new' full clones is licensed under Database Lifecycle Management Pack for Oracle Database, but the additional 'refresh' function requires licensing the Cloud Management Pack for Oracle Database.
clip_image001
clip_image002

Let us discuss a Scenario where Customer may require Hybrid Cloud Management capabilities:
Customer OMS is running on-premise and they have some cloud services subscriptions also.
If they just want to manage their cloud service targets they can use Hybrid Agent to manage making sure they have the traditional license pack for those targets to have single pane of view of all their on-premise traditional targets and Cloud targets.
They can also use the REST API to manage and view their cloud services which comes with cloud service offerings.
If the customer is not going to build any in-house private cloud service ( MWaaS, DBaaS, IaaS, PaaS, SCHaaS, SnapClone etc…) using OEM, they may not require Cloud Management packs.
Cloud Management pack provides top up features to their traditional packs.
Oracle Cloud Management Pack for Oracle DatabasePrerequisitesThe Oracle Cloud Management Pack for Oracle Database requires the Database Lifecycle Management Pack for Oracle Database.
 
As of now to to raise a request to create an instance of DBCS or JCS  on Oracle Cloud  you have to use REST API or  Cloud UI.
Hope we will soon have integration in OEM cloud management pack capability to raise service request directly against Oracle Cloud Service ( Cloud service hosted at  Oracle Data center or at customer as Private Cloud Service)
which will create an instance in cloud and will discover the assets and manage in OEM .






Categories: Development

Why I am a Dostoevskyan Humanist

Greg Pavlik - Sun, 2016-05-01 16:11
An explanation in 5 parts, by reference to the works of those who were not.*
'Lo! I show you the Last Man.

"What is love? What is creation? What is longing? What is a star?" -- so asks the Last Man, and blinks.

The earth has become small, and on it hops the Last Man, who makes everything small. His species is ineradicable as the flea; the Last Man lives longest.

"We have discovered happiness" -- say the Last Men, and they blink.

They have left the regions where it is hard to live; for they need warmth. One still loves one's neighbor and rubs against him; for one needs warmth.

Turning ill and being distrustful, they consider sinful: they walk warily. He is a fool who still stumbles over stones or men!

A little poison now and then: that makes for pleasant dreams. And much poison at the end for a pleasant death.

One still works, for work is a pastime. But one is careful lest the pastime should hurt one.

One no longer becomes poor or rich; both are too burdensome. Who still wants to rule? Who still wants to obey? Both are too burdensome.

No shepherd, and one herd! Everyone wants the same; everyone is the same: he who feels differently goes voluntarily into the madhouse.

"Formerly all the world was insane," -- say the subtlest of them, and they blink.

They are clever and know all that has happened: so there is no end to their derision. People still quarrel, but are soon reconciled -- otherwise it upsets their stomachs.

They have their little pleasures for the day, and their little pleasures for the night, but they have a regard for health.

"We have discovered happiness," -- say the Last Men, and they blink.'Friedrich Nietzsche: Thus Spoke Zarathustra


The Body of the Dead Christ in the Tomb, Hans Holbein

Now, did He really break the seal
And rise again?
We dare not say….
Meanwhile, a silence on the cross
As dead as we shall ever be,
Speaks of some total gain or loss,
And you and I are free
Auden, Friday’s Child
“Wherever an altar is found, there is civilization."Joseph de Maistre
“All actual life is encounter.”
Martin Buber, I and Thou
* model for composition stolen gratuitously from an online challenge.

Machine Intelligence for Oracle Developers

Gerger Consulting - Mon, 2016-04-25 07:33
We've got a webinar tomorrow! Attend and learn how you can apply Numenta's open source machine intelligence technology to real world Enterprise IT problems.

185+ people have already signed up. Register here.




Categories: Development

Web technology in APEX Development

Dimitri Gielis - Fri, 2016-04-22 03:54
How did you get started with developing your first APEX app? 

My guess is either you went to https://apex.oracle.com and got a free account or Oracle Application Express was already in your company and somebody told you the url you could connect to. For me that is really the power of APEX, you just go to an url and within minutes you created your first app.

Staying within the APEX framework?

With APEX you create web application, but you don't have to worry about CSS, JavaScript, HTML5, Session State etc. it just comes with the framework. In APEX you have Universal Theme to visually adapt the look and feel of your app, there're Dynamic Actions that do all the JavaScript for you and the framework is generating all the HTML and processing that is necessary.
So although we are creating web applications, at first we are not doing what typical web developers do (creating html, css, javascript files).
Oracle closely looks at all the web technology, makes choices which streams they will follow (e.g. JQuery framework) and implements and tests it so we don't have to worry about a thing.

Going to the next level?

The web is evolving fast, and I mean really fast (!) so maybe you saw something really nice on the web you wish you had in your APEX app, but it's not yet declaratively available... now the nice thing about APEX is that you can extend it yourself by using plugins (see the plugins section on apex.world) or just by writing the code yourself as other web developers do.


Trying new web technology locally

When you want to try those shiny new web things in your APEX app, I recommend trying to get those things working locally first. Last year for example I gave a presentation about Web Components at different Oracle conferences and this year I'll present on Service Workers. All the research I did on those topics where initially not in an APEX context. But how do you get started to try this now?

The first thing you need is a local web server. Depending the OS you're on, you might already have one (e.g. IIS, Apache, ...), if not, here's what I do on OSX.
OSX comes with Python and that allows to create a simple web server.
Open Terminal and go to the directory where you want to test your local files and run:

$ python -m SimpleHTTPServer 8000   (Python 2.7)
$ python3 -m http.server 8000   (Python 3.0)

There're many other ways to have a local web server, see for example this article or a simple web server based on node.js.

The next thing is to start developing your HTML, CSS, JavaScript etc.
To do this development, you probably want some tools; an editor like Sublime or Atom, a CSS and JS preprocessor, Browser extensions, build tools like Gulp etc.
You don't need all those tools, just an editor is fine, but soon enough you want to be more efficient in your development, and tools just help :) Here're some nice articles about different tools: Google Developers - Getting Started, Keenan Payne 13 useful web dev tools and Scott Ge list of web development tools.

Going from custom web development to APEX - use APEX Front-End Boost

So you have your local files developed and next is to integrate them in your APEX app.
You add some code to your APEX pages and upload the files so APEX can see them.
If everything works immediately - great, but most of the time you probably need to make more changes, so you change your local files, test again, upload etc. You could streamline this a bit with setting up a proxy or referencing localhost files while in development... But then you're happy your part of the APEX community...


To ease the above development and integration with APEX, Vincent Morneau and Martin Giffy D'Souza created the excellent APEX Front-End Boost package. The package is using many of the above tools behind the scenes, but it's all integrated in a nice box. This video goes in full detail what the tool is doing for you and how to use it. In short; it fills the bridge of working with a file locally, making it production ready and seeing it immediately in your APEX app :)

In the next post I'll talk about the importance of using https and also setting it up for localhost (also for APEX Front-End Boost).

    Categories: Development

    Timeout Values for Enterprise Manager Components

    Arun Bavera - Tue, 2016-04-19 12:35
    Requirements: To have dashboard display continuously without logging in again

    There are browser plugins which refreshes the current page automatically for the mentioned frequency. Try this approach first.
    I searched “browser plugin to refresh page”



    The EM components which affects timeout are:
    http://docs.oracle.com/cd/E63000_01/EMADM/appdx_timeout_settings.htm#EMADM15477
    ComponentDescriptionTimeout Value (in minutes)CommandApache timeoutNumber of seconds that an Apache session is kept active.
    If Apache timeout is set beyond the operating system TCP timeout, it will cause unpredictable results. The operating system timeout is set to 2 hours by default.5 mins by defaultRun the following command:
    $ omsvfy show tcp
    Parameters Incoming Value
    --------------------
    tcp_keepalive_time 7200
    tcp_keepalive_intvl 75
    tcp_fin_timeout 60
    --------------------






    OMS timeout or Login timeoutThis is theoracle.sysman.eml.maxInactiveTimeparameter that can be set per OMS. To prevent unauthorized access to the Cloud Control, Enterprise Manager will automatically log you out of Cloud Control when there is no activity for a predefined period of time. For example, if you leave your browser open and leave your office. This default behavior prevents unauthorized users from using your Enterprise Manager administrator account.
    If you make changes to the login timeout value, be sure to consider the security implications of leaving your session open for other than the default timeout period.
    Note: The default timeout value does not apply when you restart the Web server or the OMS. In both of those cases, you will be asked to log in to the Cloud Control Console, regardless of the default timeout value.

    45 min by defaultRun the following command: emctl set property -name oracle.sysman.eml.maxInactiveTime -value time_in_minutes -module emoms
    Then, restart OMS for the value to take effect.ADF timeoutThis is controlled by the variableoracle.adf.view.rich.poll.timeout. The variable applies to pages that have auto poll. ADF pages may be enabled with automatic poll. After a page does not receive any keyboard or mouse event for duration oforacle.adf.view.rich.poll.timeoutvariable, then the poll stops. From that point on, the page participates in the standard server-side session timeout.10 minNoneAt my previous project we used these values as per client requirements:
    --We are setting to 2700 ---> 45minX60= 2700 Seconds
    emctl set property -name oracle.sysman.eml.maxInactiveTime -value 2700
    cd /u01/app/mw_12cR3/oms/sysman/archives/emgc/deployments/GCDomain/emgc.ear/em.war/WEB-INF  
    <!-- Workaround for Bug 18141467- CONFIGURE PERFORMANCE HOME PAGE TIMEOUT
    You need to specify the value in milliseconds. Setting to 40Minuites on OCT-23-2014 :
    -->
    <context-param>
    <param-name>oracle.adf.view.rich.poll.TIMEOUT</param-name>
    <param-value>2400000</param-value>
    </context-param>
    ………………..
    …………………
    </web-app>
    Also make sure the settings at Load Balancer is proper if they are using one.
    Note:
    • In case of multiple OMSs, this must be done on all OMSs.
    • If the OMSs are behind a SLB, and if the SLB name is used in the URL provided to login to the EM Console, check the Whitepaper:
      Enterprise Manager 12c Cloud Control - Configuring OMS High Availability with F5 BIG - IP Local Traffic Manager
      Topic Create the Persistence Profiles - Change the values related to the Console
      The value must be provided there in seconds (So 3600 for a timeout of 60 minutes).
    Refer:
    12c OEM: Console Session Expires with "Because of inactivity, your session has timed out and is no longer active, Click OK to reload the page (Doc ID 1544516.1)
    How to change EM 12c Performance Home page default timeout (Doc ID 1644004.1)




















    Categories: Development