Showing posts with label APEX. Show all posts
Showing posts with label APEX. Show all posts

Monday, July 8, 2019

The change of Static File support in APEX

Over the years the static file handling has been greatly enhanced. Using APEX old APEX versions before 5 you had to handle static files outside of APEX. Many projects handled their static application files together with the APEX internal files in the "i" folder. It was the easiest way because APEX had no integrated file support for custom JavaScript, CSS or Image files. Another problem was the caching and compression. In earlier days the database and the OHS (Oracle HTTP Server) where used together with mod_cache and mod_deflate to support caching and compression.

Since APEX 5 and the introduction into the APEX Listener this technique changed. The APEX Listener which is now called ORDS (Oracle REST Data Service) has now the possibility to handle the static files inside the APEX Workspace or APEX Application in an easy way.
But everyone remembers the first installations of APEX 5 and the APEX Listener. Many times we got problems regarding misconfigurations of the file support and not everyone got the point why we had to configure RESTful Services for an APEX environment for file support.

APEX 5.0: There are issues with the configuration of the Static Files in your environment

Going further to the current version of APEX 19.1 and ORDS 19.1 we now have full support of caching (and cache invalidation) and easy handling of static files inside your Application. If you are still using APEX with static files on the file system here are some disadvantages compared to the files uploaded inside APEX.

  • files on the file system have to be deployed on a seperate way
    • files cannot be deployed without authorization on the file system
    • files can be deployed in the wrong folder
    • files can be deleted or forgotten when moving to a new APEX version
    • files have even to be deployed during development on the server
  • files are cached on client-side, even when they are changed on the server
  • files which are used or even not used are not so easy to identify
  • files are not installed by default when installing a new version of your APEX application
  • files are not exported and saved with your application
Of course some of these problems had been solved during the last years, but overall the best way to handle static files is, by using the integrated support in APEX.

In the next blog posts i will go deeper into that topic and explain how to configure the file settings and how to maintain these files with your favorite editor and APEX nitro.

Tuesday, October 18, 2016

Inhalt des nächsten APEX Meetup in NRW am 25.10.2016

Am Dienstag den 25. Oktober findet das nächste APEX Meetup in NRW statt. Zwei der fünf deutschen Redner tragen Vorträge der kommenden Konferenz vor:
  • Eine Sticky Note zu ORDS, Oracle APEX und Weblogic 12c (Vortrag) - Holger Lehmann (XINGTwitter)
  • Ganzheitlicher Ansatz zur Versionierung von APEX-Projekten (Vortrag) - Jan Winkels
  • Migrationserfahrungen zum Universal Theme (Vortrag) - Oliver Lemm (TwitterXING)
Die Treffen sind wie immer kostenfrei, es wird um Anmeldung gebeten (Link).

Datum & Uhrzeit:
Di, 25.10.2016, 17-20Uhr
Ort:
Opitz Consulting, Standort Essen, Lazarettstraße 15, 45127 Essen
Anmeldung:
Ansprechpartner:
Oliver Lemm (TwitterXINGMeetupXING-Gruppe)

Monday, June 6, 2016

Deutsches KScope16 Preview Meetup

Morgen am 7. Juni findet das deutsche Vorab Meetup zur KScope16 statt. Zwei der fünf deutschen Redner tragen Vorträge der kommenden Konferenz vor:
  • Affordable Workflow Options for Your APEX App (Vortrag) - Niels de Bruijn (XINGTwitter)
  • User friendly data diff with APEX (Vortrag) - Oliver Lemm (TwitterXING)
Die Treffen sind wie immer kostenfrei, es wird um Anmeldung gebeten (Link).

Datum & Uhrzeit:
Di, 07.06.2015, 17-20Uhr
Ort:
Oracle, Hamborner Str. 51, 40472 Düsseldorf
Anmeldung:
Ansprechpartner:
Oliver Lemm (TwitterXINGMeetup, XING-Gruppe)

Friday, February 19, 2016

Vorträge des NRW Meetups vom 16.02.2016

Hier die Folien des letzten NRW Meetups vom 16.02.2016
Danke an die Vortragenden.
Das nächste Treffen findet am 07.06.2016 bei Oracle Düsseldorf statt.Wer einen Vortrag halten will oder an einem Thema interessiert ist kann mich gerne kontaktieren.

Thursday, January 28, 2016

Nächstes Treffen der APEX UserGroup / Meetup NRW am 16.2.2015

Am 16. Februar findet das erste Meetup in 2016 statt. Diesmal mit folgenden Themen wieder bei der MT AG:
  • Dynamische Benutzeroberflächen in APEX (Vortrag) - Thimo Fußbroich (XING, Twitter)
  • htmldb_get vs apex.server.process (Vortrag & Diskussion) - Oliver Lemm (Twitter, XING)
  • NodeJS ein kurzer Einblick (Vortrag) - Kai Donato (Twitter, XING)
  • Wie pflanze ich einen Baum in APEX? (Vortrag) - Till Albert (TwitterXING)
Die Treffen sind wie immer kostenfrei, es wird um Anmeldung gebeten (Link).

Datum & Uhrzeit:
Di, 16.02.2015, 17-20Uhr
Ort:
MT AG, Balcke-Dürr-Allee 9, 40882 Ratingen
Anmeldung:
Ansprechpartner:
Oliver Lemm (Twitter, XING, Meetup, XING-Gruppe)

Monday, October 5, 2015

Vorträge des Meetups - APEX UserGroup Treffens vom 29.09.2015

Hier die Folien des letzten Meetups - APEX UserGroup Treffens vom 29.09.2015
Danke an die Vortragenden.
Das nächste Treffen findet vorraussichtlich im Januar/Februar 2016 statt.Wer einen Vortrag halten will oder an einem Thema interessiert ist kann mich gerne kontaktieren.

Monday, September 7, 2015

Nächstes Treffen der APEX UserGroup / Meetup NRW am 29.9.2015

Am 29. September findet das nächste Treffen statt und diesmal sogar mit 4 Vorträgen:
  • Reverse Geocoding (Vortrag) - Jens Gauger (XING)
  • APEX Anwendungen für Smartphones (Vortrag) - Dick Dral (Twitter)
  • APEX Baby-Design mit ReSTful Services auf allgemeiner Datenstruktur (Vortrag) - Friedhelm Meier
  •  Mandantenfähigkeit & Mehrsprachigkeit bei der Entwicklung von APEX Anwendungen (Vortrag) - Christina Funke (XING)
Die Treffen sind wie immer kostenfrei, es wird um Anmeldung gebeten (Link).

Wichtig: Der Termin findet diesmal bei der Apps Associates GmbH in Dortmund statt.

Datum & Uhrzeit:
Di, 29.09.2015, 17-20Uhr
Ort:
Apps Associates GmbH, Flughafenring 11, 44319 Dortmund
Anmeldung:
Ansprechpartner:
Oliver Lemm (Twitter, XING, Meetup, XING-Gruppe)

Monday, June 29, 2015

Getting Schema - Datafile - Tablespace Relation with SQL

Last week i posted a single query how to identify the relation between datafiles, tablespaces and users. Because of the Twitter limitation of 140Chars i posted it as a screenshot. Here is now the whole query
with table_spaces as
  (select sum(bytes) / 1000000 mb_free, tablespace_name
  from dba_free_space group by tablespace_name),
     data_files as
  (select f.tablespace_name
         ,bytes / 1000000 file_size_mb
         ,maxbytes / 1000000 file_size_max_mb
         ,autoextensible
         ,file_name
   from dba_data_files f),
     schemas as
   (select distinct owner, tablespace_name from dba_segments)
select s.owner
      ,t.tablespace_name
      ,round((t.file_size_mb-d.mb_free),2) file_size_mb
      ,round(((t.file_size_mb-d.mb_free) / t.file_size_mb) * 100,2) percent_content_vs_filesize
      ,round(t.file_size_mb,2) file_size_mb
      ,round((t.file_size_mb / t.file_size_max_mb) * 100,2) perc_content_vs_filesize_max
      ,round(t.file_size_max_mb,2) file_size_max_mb
      ,autoextensible
      ,t.file_name
from data_files t
join table_spaces d on d.tablespace_name = t.tablespace_name
left join schemas s on s.tablespace_name = d.tablespace_name
order by s.owner, t.tablespace_name
 the result looks like this:

If you are only interested in the tablespace-datafile relation you can use this query:
with daten as
  (select sum(bytes) / 1000000 mb_free, tablespace_name
  from dba_free_space group by tablespace_name),
     data_files as
  (select f.tablespace_name
         ,bytes / 1000000 file_size_mb
         ,maxbytes / 1000000 file_size_max_mb
         ,autoextensible
   from dba_data_files f)
select t.tablespace_name
      ,round((t.file_size_mb-d.mb_free),2) file_size_mb
      ,round(((t.file_size_mb-d.mb_free) / t.file_size_mb) * 100,2) percent_content_vs_filesize
      ,round(t.file_size_mb,2) file_size_mb
      ,round((t.file_size_mb / t.file_size_max_mb) * 100,2) perc_content_vs_filesize_max
      ,round(t.file_size_max_mb,2) file_size_max_mb
      ,autoextensible
from data_files t
join daten d on d.tablespace_name = t.tablespace_name
order by t.tablespace_name
 This is the result:

The queries can help to identfiy how much space is left in a tablespace or datafile. Or you can identify how big the datafiles can be in maximum. And of course you can identfiy the default datafiles which are created by apex when you don't use any external script. In normal case these datafiles are named like: APEX_XXXXXXXXXX.

Inhalt des APEX UserGroup Düsseldorf Treffens am 14.07.2015

In knapp 2 Wochen findet das nächste Treffen der APEX UserGroup / DOAG Regionaltreffen-NRW statt. Inhalte sind:
  • SVG in Interactive Reports (Vortrag) - Tobias Strohmeyer (Twitter)
  • APEX 5 (Diskussion/Austausch) - Oliver Lemm (Twitter, XING)
  • Single-Sign-On (Vortrag) - Niels de Bruijn (Twitter, XING)
Innerhalb der Diskussion werden erste Erfahrungen mit APEX 5 und mögliche Umstiegsszenarien angesprochen von Vorversionen angesprochen. Es wird wie üblich um kostenfreie Anmeldung gebeten, damit die Teilnehmerzahl im vorraus feststeht.
Wichtig: Der Termin findet diesmal in der Oracle Düsseldorf Geschäftsstelle statt.

Datum & Uhrzeit:
Di, 14.07.2015, 17-20Uhr
Ort:
Oracle Düsseldürf, Hamborner Str. 51, 40472 Düsseldorf
Anmeldung:
Ansprechpartner:
Oliver Lemm (Twitter, XING, XING-Gruppe)

Monday, April 20, 2015

APEX 5 Webinare im #APEXSummer15

Nun ist endlich APEX 5 erschienen und jeder will loslegen. Dazu gibst im Juli insgesamt 8 hochkarätige Webinare in deutscher Sprache. Unter dem Twitter-Hashtag #apexsummer15 gibt es die News dazu und im einzelnen sind folgende Themen und Autoren vertreten:
 Wer Lust bekommen hat und sich anmelden, will hier der Link APEX Summer School 2015

Thursday, January 15, 2015

Inhalt des APEX UserGroup Düsseldorf Treffens am 03.02.2015

Auch in 2015 gehts weiter mit den APEX UserGroup Treffen / DOAG Regionaltreffen-NRW. Beim nächsten Treffen am 03.02.2015 gibt es folgende Inhalte:
  • Vorstellung des Tools NeoLoad (Vortrag) - Gregor Mayer (Link zum Tool)
  • APEX Authentifzierung (Diskussion/Austausch) - Oliver Lemm (Twitter, XING)
  • Einführung in FOEX 2.0 (Vortrag) - Niels de Bruijn (Twitter, XING)
Erstmals gibt es einen Teil, welcher als Diskussion bzw. Austausch zwischen den Teilnehmern vorgesehen ist. Inhaltlich steht die APEX Authentifzierung im Mittelpunkt und jeder ist dazu eingeladen in der Diskussion seine Fragen, Meinung und Tips weiter zu geben. So soll jeder Teilnehmer sich auch einbringen können und noch mehr mit nach Hause nehmen.

Datum & Uhrzeit: Di, 03.02.2015, 17-20Uhr
Ort: MT AG, Balcke-Dürr-Allee 9, 40882 Ratingen
Anmeldung: DOAG Regionaltreffen Anmeldelink (kostenfrei)
Ansprechpartner: Oliver Lemm (Twitter, XING, XING-Gruppe)

Monday, October 20, 2014

APEX Roadshow - Enterprise APEX

In den kommenden 3 Tagen (21.-23.10.2014) findet mit Oracle zusammen eine Veranstaltung zum Thema APEX 5.0 und Enterprise APEX statt. Wer wissen will was die neue APEX Version bringt und sich über professionelles entwickeln mit Oracle Application Express informieren will, sollte die nächsten 3 Tage nicht verpassen.
Mit Glück schafft man an einem der 3 kostenlosen Termine noch teilzunehmen:
  • 21.10.2014 - Ratingen
  • 22.10.2014 - Hamburg
  • 23.10.2014 - München
alle weiteren Infos dazu gibt es hier: 
https://apex.oracle.com/pls/apex/GERMAN_COMMUNITIES.SHOW_TIPP?P_ID=1302

Hier die Agenda im Überblick:
11:30Registrierung & Kaffee
12:00Beginn der Veranstaltung
 Application Express 5.0
Anwendungsentwicklung völlig neu definiert.
Referent: Carsten Czarski, ORACLE Deutschland B.V. & Co KG
Mittagspause
 Enterprise APEX
Deployment, Testing und Projektmanagement
Referent: Oliver Lemm, MT AG
 APEX, und sonst?
Node.js, Open Source Charting, Single Sign On und mehr ...
Referent: Niels de Bruijn, MT AG
16:00Fragen/Diskussion & Ende der Veranstaltung

Wednesday, September 3, 2014

Thursday, August 7, 2014

Inhalt des APEX UserGroup Düsseldorf Treffens am 02.09.2014

Das kommende Treffen der APEX UserGroup Düsseldorf / DOAG Regionaltreffen-NRW beinhaltet folgende Vorträge:
  • Doxxy: Reporting in APEX made easy - Karen van Hellemont (iAdvise, Twitter)
  • Oracle Application Express und Workflows - Sven Böttcher (apps associates, XING)
  • Eine steuert alle, alle gucken auf Eine - zentrale Berechtigungssteuerung im APEX Workspace - Thomas Schild (Noweda eG, XING)
Hier die Informationen zum Standort und Zeitpunkt
Datum & Uhrzeit:   Di, 02.09.2014, 17-20Uhr
Ort:                          MT AG, Balcke-Dürr-Allee 9, 40882 Ratingen
Anmeldung:            DOAG Regionaltreffen Anmeldelink (kostenfrei) 
Ansprechpartner:    Oliver Lemm (Twitter, XING, XING-Gruppe)

Tuesday, August 5, 2014

Query the APEX Metadata - #1 - Identify Public Pages

As i introduced the my APEX QA Plugin, i was asked if i could help other people to get some special information out of the metadata of APEX. Especially in APEX, where every configuration is saved in the database, it's really easy to get some information of your application only by using one sql query. Because of that i will release every month one query to identify some interesting stuff.
Of course if there are any interesting properties which you would like to query, pleas let me know.

A first simple example is, to identfiy all the pages which can be reached without authentication:
select p.application_id
         ,p.page_id
         ,p.page_name
         ,p.last_updated_by
         ,p.last_updated_on
         ,p.created_by
         ,p.created_on
from apex_application_pages p
where p.page_requires_authentication = 'No'
The query returns all pages, of all applications in your workspace. If you run the query on a database schema all applications, conected to this schema will be referenced.
Needles to say, that there are always many columns in the APEX Views, but getting the name and some information like, who and when was the page was created and updated might be most useful.

MT AG mit 10 Vorträgen auf der DOAG 2014



Dieses Jahr sind wir von der MT AG mit insgesamt 10 Vorträgen auf der DOAG, wobei 7 im Bereich APEX liegen. Verpasst also nicht unsere Vorträge, hier alle Details:

Dienstag, 18.11.2014
Mittwoch, 19.11.2014 Donnerstag, 20.11.2014 Zusätzlich gibt es dazu noch die Open Mic Night , welche am Mittwoch nach den Vorträgen von 18-19Uhr stattfindet. Hier gehts darum sich in der APEX Community auszutauschen und wer Lust hat seine eigene Anwendung kurz als Livedemo zu zeigen.

P.S.: Für alle Referenten, bis zum 30.09.2014 müssen die Vortragsmanuskripte eingereicht werden und bis zum 12.11.2014 müssen die Vorträge hochgeladen werden.

Friday, June 13, 2014

Buchrezension - Oracle APEX 4.2 Reporting



Innerhalb von Oracle Application Express stellt das Reporting einen großen Schwerpunkt dar und dazu hat Vishal Pathak das Buch „Oracle APEX 4.2 Report“ geschrieben. Das Buch richtet sich an APEX Architekten, sowie APEX Entwickler die schon Erfahrung besitzen.
Der Einstieg in das Buch geschieht in Kapitel 1 über die Installation und Konfiguration der verschiedenen APEX Gateways. Hier wird das EPG (embedded PL/SQL Gateway), der OHS (Oracle HTTP Server) sowie der APEX Listener (mittlerweile als Oracle REST Data Services) bekannt. Wer sich aufs Reporting konzentriert und auch die URL Syntax innerhalb von APEX beherrscht, kann das Kapitel problemlos überspringen.
In den anfolgenden Kapiteln werden nun verschiedene Bereiche, Methoden und unterstützende Tools im Bereich des Reporting erläutert.

Im Kapitel 2 werden sehr viele unterschiedliche Themen behandelt. APEX standard Features, sowie Anpassungen bzgl. CSS und Templates und auch die Nutzung von Dynamic Actions sind Themen die sich vor allem auf die Darstellung des Reporting konzentrieren. Zusätzlich werden Environment Variablen, Pivot Funktion, Security Aspekte und zuletzt Upload/Download  Funktionalitäten in APEX erläutert. Die Themen werden im einzelnen kurz vorgestellt, wobei das Kapitel insgesamt etwas unübersichtlich ist, als auch die Themen inhaltlich nicht gut aufgeteilt wirken.
Im nächsten Kapitel werden die Interactive Reports behandelt, welche als eine sehr mächtige Komponente in APEX schon out-of-the Box für viele Reporting Funktionalitäten vom Endbenutzer angepasst werden können. Inhaltlich ist das Kapitel gut abgegrenzt und zeigt viele Möglichkeiten wie man mit den Interactive Reports umgehen kann.

Die Kapitel 4-6 heben verschiedenste Tools und Möglichkeiten hervor, die nicht Bestandteil von APEX sind bzw. als externe Tools eingebunden werden können. Die 3 Kapitel hätten an dieser Stelle etwas anders strukturiert werden sollen, da die Zusammenstellung etwas wahllos wirkt. Auch tauchen hin und wieder noch APEX interne Komponenten wie Websheets auf die innerhalb dieser Kapitel etwas fehl am Platz sind.

Das siebte Kapitel nimmt das Thema APEX mit OBIEE auf, was in Deutschland nicht so stark fokussiert wird, aber durchaus in anderen Regionen wie den USA ein zentrales Thema darstellt. Zuletzt wird dabei auch noch kurz auf den BI Publisher eingegangen.

Kapitel acht konzentriert sich auf Integration und Webservices und hilft somit, wenn die Daten auch über Schnittstellen oder von weiteren Systemen verarbeitet werden sollen. Zuletzt wird noch innerhalb des neunten Kapitels die Performanz bzgl. Reports genauer erläutert. Hier werden sowohl Tips für PL/SQL, SQL, HTML aber auch zur Datenbankkonfiguration gegeben, die durchaus hilfreich sein können, wenn das Reporting läuft, aber eben zu langsam ist.

Fazit
Insgesamt sind auf den über 400 Seiten eine enorme Menge an Informationen vorhanden. Leider ist die Struktur im Buch, sowie die Zusammenstellung der Kapitel nicht immer optimal ausgefallen. Es hätte dem Buch sicherlich gut getan, die Features, welche APEX out-of-the-box liefert, sowie den Features die man durch Anpassungen innerhalb APEX, PL/SQL, SQL, HTML und CSS erreichen können und den zusätzlichen Produkten zu trennen. Wer ein Buch sucht, welches eine große Menge von Themen im Bereich Reporting abdeckt, kann es aber dennoch sehr gut nutzen um gezielt einige Themen nachzulesen oder sich einen gesamten Überblick zu verschaffen.

Anmerkung: Dieser Artikel wurde auch in der DOAG News 3/2014 veröffentlicht.

Tuesday, May 20, 2014

Vorabend Veranstaltung bei der DOAG Development am 03.06.2014 in Düsseldorf

Am Dienstag Abend, vor der DOAG Development Konferenz in Düsseldorf findet eine Open Mic Night Veranstaltung statt.
Diese Vorabend Veranstaltung ist als Community Treffen zum Thema APEX geplant und ist kostenlos. Auch für APEX interessierte, die an der Konferenz selbst nicht teilnehmen können ist es ein optimaler Zeitpunkt um sich auszutauschen.
Wer Lust hat kann in 10-15 Minuten Themen oder eigene Anwendungen vorstellen.
Das Ganze findet im lockeren Rahmen statt und das Bier gibst kostenlos dazu.
  • Ort         Van der Valk Airporthotel Düsseldorf, Am Hülserhof 57, 40472 Düsseldorf 
  • Zeit        18-20Uhr
Weitere Informationen und Anmeldung hier:  Vorabend Veranstaltung

Monday, March 24, 2014

Inhalt des APEX UserGroup Düsseldorf Treffens am 29.04.2014

Das Treffen nach den Osterferien hat wieder hochkarätige Vortragende.
Folgende Vorträge sind geplant:
Alle weiteren Informationen zum Treffen
Datum & Uhrzeit:  Di. 29.04.2014, 17-20Uhr
Ort:                         MT-AG, Balcke-Dürr-Allee 9, 40882 Ratingen
Anmeldung:           DOAG Regionaltreffen Anmeldelink (kostenfrei)
Ansprechpartner:   Oliver Lemm (Twitter, XING, XING-Gruppe)