Next
A few weeks ago I wrote a post how to avoid multiple logins when using a link in an email. This solution however does not work in a batch process for two reasons:

  • the URL needs to be fully specified, so protocol, server, port and directory are also needed. These data are not available outside the Apex context
  • the function apex_util.prepare_url can only be called from within an Apex session

My first idea was to prepare the URL for every possible mail while being in an Apex session and store it in the database. The stored URL can be used when generating the email.
This would be technically  complex, because a new column would have to be created and the content of this column would have to be kept up to date all the time.

Another possibility would be to create a fake Apex session within the batch process. Then the rest of the code need not be changed. Martin Giffy d’Souza provides a way to create an Apex session in this blogpost. Although this is an 5 year old post I was able to create an Apex session and generate a valid link.

The last solution was chosen because of the simplicity and the absence of need for code change.

Happy Apexing!

Source Article from http://dickdral.blogspot.com/2017/06/avoiding-multiple-logins-from-external_28.html

A few weeks ago I wrote a post how to avoid multiple logins when using a link in an email. This solution however does not work in a batch process for two reasons:
  • the URL needs to be fully specified, so protocol, server, port and directory are also needed. These data are not available outside the Apex context
  • the function apex_util.prepare_url can only be called from within an Apex session
My first idea was to prepare the URL for every possible mail while being in an Apex session and store it in the database. The stored URL can be used when generating the email.
This would be technically  complex, because a new column would have to be created and the content of this column would have to be kept up to date all the time.

Another possibility would be to create a fake Apex session within the batch process. Then the rest of the code need not be changed. Martin Giffy d'Souza provides a way to create an Apex session in this blogpost. Although this is an 5 year old post I was able to create an Apex session and generate a valid link.

The last solution was chosen because of the simplicity and the absence of need for code change.

Happy Apexing!

A días del lanzamiento de mi nuevo libro de Oracle APEX 5.1! - 27-Jun-2017 14:29 - Clarisa Maman Orfali
Hola a todos!!! estoy muy emocionada porque estamos a días del lanzamiento de mi nuevo libro!

Te dejo aquí el contenido: 

  • Oracle APEX 5.1 
  • Introducción 
  • PARTE I - Creando una aplicación web desde cero con Oracle Apex 
  • Capítulo 1 - Presentación del Proyecto Final 
  • Capítulo 2 - Introducción a Oracle Application Express (APEX) 
  • Capítulo 3 - Instalar APEX usando la arquitectura PL/SQL Gateway Embebido 
  • Capítulo 4 - Instalar Oracle REST Data Services 
  • Capítulo 5 - Configurar el Espacio de Trabajo y gestionar los Usuarios 
  • Capítulo 6 - Crear el modelo de datos usando el Taller de SQL 
  • Capítulo 7 - Crear la Aplicación de Base de Datos “Demo Libros” 
  • Capítulo 8 - Crear los Componentes Compartidos de la Aplicación 
  • Capítulo 9 - Crear y personalizar Informes y Formularios 
  • Capítulo 10 - Conocer las Aplicaciones Empaquetadas y el uso de Plugins 
  • Capítulo 11 - Crear un Dashboard para nuestra aplicación 
  • Capítulo 12 - Implementar Esquema de Autenticación Personalizada 
  • PARTE II - Crear reportes impresos usando el JasperReports Integración Kit 
  • Capítulo 13 - Descargar e Instalar el JasperReports Integration Kit 
  • Capítulo 14 - Descargar e Instalar iReport Designer 
  • Capítulo 15 - Instalar la aplicación “Demo” del JasperReports Integration Kit 
  • Capítulo 16 - Crear reporte básico en iReport Designer 
  • Capítulo 17 - Integrar y usar el JasperReports Integration Kit en APEX 
  • Capítulo 18 - Crear reporte parametrizado en iReport Designer 
  • Capítulo 19 - Crear reporte con imágenes en iReport Designer 
  • Capítulo 20 - Crear reporte de tipo gráfico en iReport Designer 
  • PARTE III - Ejemplos Prácticos 
  • Capítulo 21 - Crear y gestionar la Lista de Control de Acceso (ACL) 
  • Capítulo 22 - Crear y gestionar eventos en Calendarios CSS 
  • Capítulo 23 - Crear y personalizar Mapas 
  • Capítulo 24 - Consumir RESTful Services Externos desde nuestra aplicación 
  • Capítulo 25 - Crear y utilizar la región Carousel con contenido estático y dinámico 
  • Capítulo 26 - Crear listas estáticas y dinámicas con imagen personalizada 
  • Capítulo 27 - Crear asistente de carga de datos 
  • Capítulo 28 - Crear aplicaciones multilenguaje 
  • Capítulo 29 - Utilizar la plantilla Cards con datos dinámicos 
  • Capítulo 30 - Desplegar una aplicación APEX en otro espacio de trabajo 
Para mas información visita el sitio web del libro: http://www.introduccionaoracleapex5.com 

KScope nieco luźniej - 27-Jun-2017 13:26 - Andrzej Nowakowski

KScope to ogromna impreza tysiące uczestników, dziesiątki wykładów... Zawsze w takim przypadku kwestie organizacyjne są kluczową sprawą żeby impreza się udała. Tak więc w kilku słowach jak to tutaj wygląda.
Pierwsza rzecz to rejestracja. Podczas rejestracji otrzymaliśmy plecak z giftami od sponsorów oraz identyfikator. Identyfikator to potężne narzędzie które znacznie usprawnia życie. Identyfikator ma formę książeczki zamykanej na rzepa. Smycz która go utrzymuje jest dla każdego typu uczestnika inna. Czerwony kolor oznacza uczestnika, który jest pierwszy raz na konferencji. Dodatkowo jest zielona etykieta z nazwą typu uczestnika.



Oprócz danych uczestnika jest kod do skanowania, dzięki temu jak chcesz komuś zostawić swoje dane to wystarczy  że ta osoba zeskanuje telefonem kod.

W środku są strony z talonami żywieniowymi oraz bilet na imprezę jubileuszową 20 lecia ODTUG-a.



Dodatkowo identyfikator posiada bean lokalizacyjny. Każda sala ma logger dzięki czemu można zlokalizować uczestnika lub zbierać statystyki.

Obiady serwowane są w postaci stołu szwedzkiego... Sale wykładowe w szybki sposób są transformowane w sale restauracyjne.


Pan z gongami sygnalizuje koniec przerwy obiadowej.





Oprócz wykładów można odwiedzić salę wystawową gdzie firmy mają swoje box-y.





W tej sali po głównych wykładach podawane są mniejsze posiłki wraz z napojami.... Nie chodzi o herbatę czy wodę ; )



Nie ukrywam że po takim wstępie znacznie łatwiej nawiązuje się kontakty.



A.... żebyście nie myśleli że tylko Piotrek nawiązuje kontakty ; ) 



San Antonio Texas wydawało by się że będzie gorączka... Chmmm ciężko tą pogodę zdefiniować, ponieważ pada 2 razy dziennie cały czas jest pochmurnie ale temperatura cały czas w okolicach 30 stopni. Wilgotność na poziomie 80-90%.
Jak zauważyliście Piotrek jest w długich spodniach... no właśnie, wszystkie pomieszczenia konferencyjne są bardzo mocno klimatyzowane... za mocno. Ja chodzę dla odmiany w bluzie.
Kscope 17 - 3 dzień - 27-Jun-2017 01:14 - Andrzej Nowakowski

I wykład
Let APEX Access Your Computer /Peter Raganitsch/


Wykład tyczy się dostępu aplikacji webowych (np. APEX-a) do komputera klienta. Jak wiadomo przeglądarka internetowa to zamknięte środowisko, które nie ma bezpośredniego dostępu do urządzeń komputera. Jest to podyktowane bezpieczeństwem z drugiej strony ogranicza bardzo mocno funkcjonalność... np bezpośrednie skanowanie, drukowanie itp.



Żeby połączyć ogień z wodą powstał projekt ELECTRON oparty o Chromium + NodeJS. Mimo że projekt jest open source to wykorzystywany jest przez wielkie projekty takie jak np. SLACK,Spotify.

Zespół z firmy FOEX stworzył projekt APEX Client Extension (ACE) wykorzystujący ELECTRON, który pozwala np na drukowanie i manipulacją plików klienta. Projekt dostępny jest na GITHUBIE.



Demo jakie została pokazane było zachwycające. Czytanie lokalnego folderu, drukowanie bezpośrednio do drukarki, uruchamianie wszelkich komend na kliencie.

Niezbędne linki na poniższym zrzucie:





II wykład
E-Commerce and APEX, Heaven or Hell  ? /Tuur Hendrickx/


Idę na tą prezentację ponieważ chcę poznać odpowiedź na pytanie w temacie : ) Druga sprawa to jeden z naszych klientów chce nam zlecić dokładnie powyższe zadanie... tak więc też szukam argumentów w jedną lub drugą stronę.


Wykład był w dużej części teoretyczny na temat samego eComerce. Dużą dawka informacji na temat najważniejszych elementów sklepu: mobile, filtrowanie, nawigacja, integracja, wydajność.

Wniosek jest następujący: Jeżeli chcesz stworzyć customowy sklep, na który będziesz miał duży wpływ i nie masz wiedzy np. na temat Magento a masz wiedzę z APEX-a to twórz sklep w APEX-ie!

III wykład
High Performance APEX (or Don't Keep the Users Waiting) /John Scott/


John Scott to legenda... jego książki są najbardziej doceniane... sam mam ich kilka. Tak więc nie mogłem sobie odpuścić jego wykładu. Sama treść wykładu też wydaje się bardzo ciekawa.


Na początku wspomniał o rzeczach oczywistych czyli kolejności poszczególnych elementów strony WWW.. na początku CSS później następne elementy. Następnie unikania odwoływania się do starych obiektów - html_db.
Stronicowanie raportów - uwaga na stronicowanie typu strona 1-15 z 999999999.
Podniesienie starej wersji do wersji 5.X powinno też znacznie pomóc.
Cached region - najbardziej zapomniana funkcjonalność która znacznie może pomóc odciążyć aplikację.
Debouncing - operacje mające na celu zebranie kilku requestów w jeden. Chodzi o kwestie dynamicznych odświeżeń regionów. Bardzo ciekawa kwestia.. będziemy musieli to podrążyć: )
V_ funkcje




Budowanie linków z SESSION




Teraz o narzędziowni:
- niedoceniane API APEX_DEBUG
- tracing sesion &p_TRACE=YES na końcu linku
- narzędzia developerskie w przeglądarce

IV wykład
How to Write a Winning Abstract for Kscope /Danny Bryant, Natalie Delemar/

Wykład, który ma pomóc  naszemu zespołowi zaistnieć jako prezenterzy a nie tylko jako statyczni słuchacze : )

Aby móc być prezenterem należy przejść eliminacje. W tym celu należy stworzyć opracowanie.

Tak więc kluczowe elementy takie opracowania to:
- do kogo chcesz skierować swój wykład ?
- nie kradnij treści (don't copy and paste)
- bądź kreatywny
- zakaz promowania i marketingu (produktów, usług, firm)
- bądź konkretny
- musi być myśl przewodnia
- zacznij pisać wcześnie a nie w ostatnim momencie
- spróbuj z kimś się skonsultować i przedstaw mu swoje opracowanie do oceny 

I ciekawostka... generalnie doceniają opracowania od osób, które pierwszy raz próbują : )

V wykład
GET POST ORDS JSON: Web Services for APEX Decoded /Scott Spendolini/

Scott Spendolini to następna legenda jeżeli chodzi o APEX-a. Mnóstwo publikacji, książek itd. 


Systematyka metod requestów: )







W kwestii jakości wpisów proszę o zrozumienie. Treść tworzę bezpośrednio na wykładach, żeby dostarczać najświeższe informacje bez zbędnej zwłoki.



Following on from my blog A Review of Interactive Grid in APEX 5.1.1; I presented a version of this at Scotland UKOUG event in June 2017.

At the heart of this presentation; I wanted to discover more about what the User and Developer perspectives of this new region type were. For example; I wanted to know if users of all levels would find the functionality of the Interactive Grid to be excellent or overwhelming. Similarly, I wanted to know how the Developer was getting to grips with it and what sorts of things they were finding difficult.

You can find out more on the video below as I review the things I like and the things I dislike about the Interactive Grid. I mention the similarities between this and the Interactive Report and I take a look at what I call the blur between simple and tricky.

I really do like the Interactive Grid; it’s improving with each release – and the wealth of functionality is tremendous. I recommend you perform your own assessment and adopt it where appropriate.

The post Presentation: A Review of Interactive Grid in APEX 5.1.1 appeared first on Explorer New.

Using the Oracle node driver on Windows - 25-Jun-2017 19:34 - Trent Schafer
I have a pretty fresh installation of Windows, and I wanted to get going with the Node driver on that system. I know from memory it requires the Oracle client, so the first thing I do is go and install the Oracle instant client.

So, I head over to: http://www.oracle.com/technetwork/topics/winx64soft-089540.html

And what I normally stick to is three packages:
  1. Basic (Light)
  2. SQL*Plus
  3. SDK

With those downloaded I then unzip them all - as long as you downloaded to the same directory, each should hopefully unzip into a single folder: instantclient_12_2 (depending on the version you grabbed, of course). After I unzip all those, I moved the instantclient folder to a more convenient location. So, I just place it at: C:\instantclient_12_2

The next step after that is to set up some environment variables.

First, you will want to update your path so that `sql*plus` is on it. So, add a new entry on your path pointing to: C:\instantclient_12_2

Usually, you will want to set your ORACLE_HOME environment variable, so I also do that.

So, path should have a new entry:


And, similarly ORACLE_HOME


A good test to check this is working is, is SQL*Plus working?



Yep, that looks good.

I already have node and npm installed, so now without consulting the node oracledb install documentation, I'll just give a test to install that package.

Still in command prompt, in a new folder somewhere - I'm testing out in a tmp folder, I run: npm install oracledb.



Ok, it looks like the system is missing some dependencies. Probably a good time to turn to the install documentation. The README says we need the following:


  • Python 2.7
  • C compiler with support for C++ 11
  • Oracle client (done)
  • Set OCI_LIB_DIR and OCI_INC_DIR

My thought process - Python 2.7 is easy, I can head to the python website and download - but a C compiler? Where is the best place to get that? OCI_LIB_DIR and OCI_INC_DIR.. what paths should these be set to, the README doesn't expand.

For the first two requirements - there is a convenient node package, windows-build-tools, which just so happens to include python 2.7 and a C compiler. So, let's first install that.

Just to caution on the safe side, I launch Command Prompt as Administrator and run: npm install -g windows-build-tools


Great - that's looking good. 

How about OC_LIB_DIR and OCI_INC_DIR environment variables. Well, the documentation also links to an INSTALL document which contains more detail. It states:

set OCI_LIB_DIR=C:\oracle\instantclient\sdk\lib\msvc
set OCI_INC_DIR=C:\oracle\instantclient\sdk\include

This is a but different install path, but the same concept applies. Head to your envionrment variables area and add those in, except if you followed my general install path for the instant client C:\oracle\instantclient would be replaces with c:\instantclient_12_2.

Your environment variables page would look like:



Now with that all done, we should be able to successfully install the node Oracle drive. Start a new command prompt window to make sure all your variables are re-evaluated.




Now, if all that was done correctly, you should be able to install the driver. I verified by again running npm install oracledb:



If you have to use Windows, at least you have a path to get up and running! Some would encourage OS X, but I'll leave you by encouraging you to make a switch to Linux ;-)
KScope17 - 2 dzień - 25-Jun-2017 18:02 - Andrzej Nowakowski

Jesteśmy już w San Antonio. Nieco zmęczeni... do San Antonio lecieliśmy z Cincinnati. Lot miał zając 4 godziny z przesiadką w Dallas. Pierwszy kłopot to w Dallas  nie mogli nas wypuścić z samolotu, ponieważ zepsuł się korytarz odprowadzający pasażerów z samolotu. Następnie boarding do samolotu Dallas ->San Antonio został wykonany podwójnie... część pasażerów weszła i po jakieś chwili pilot kazał opuścić pokład... ostatecznie został podstawiony całkiem nowy samolot w nowym Gate-cie.. To wszystko dało spore opóźnienie. Ostatecznie w hotelu zalogowaliśmy się około 1:30 w nocy (efektywnie o 2:30 - przesunięcie czasowe).
Nie ważne : )

W temacie napisałem drugi dzień... pierwszy dzień świadomie opuściliśmy ponieważ nie było ciekawych tematów. Dlatego zaczynamy od drugiego dnia...

I wykład:
Advanced Interactive Grid /John Snyders/

Bierzemy w tym wykładzie udział ponieważ do tej pory baliśmy się używać Interactive Grid ze względu na bardzo jego niską jakość w pierwszej wersji. Ostatnia wersja APEX-a znacznie poprawiła jakość natomiast mając złe doświadczenie póki co wstrzymujemy się z używaniem IG.
Natomiast to co pokazuje John wygląda teraz bardzo obiecującą... zażartowałem z Piotrkiem że za chwilę wystarczy posiadać wiedzę o IG i to wystarczy, żeby zbudować całą aplikację.
Z ważnych rzeczy to zapowiedź co będzie w wersji 5.2:



II wykład:
1. ORDS REST Development Flexibilility /Jeff Smith/

Ja wybrałem właśnie ten wykład Piotrek poszedł na coś innego. Jako, że w firmie kwestie setupu środowiska i elementy integracyjne to moja domena dlatego tym się zainteresowałem.


Wykład był krótki i oprócz informacji na temat podstaw i do czego służy ORDS (nie tylko z pkt. widzenia APEX-a) Jeff poinformował czego można się spodziewać w następnej wersji. Nie zdążyłem pstryknąć fotki więc z tego co zapamiętałem. Ma być dostępna możliwość stopowania, zamykania i restartowania serwisu z pozycji API. Dużo bardziej rozbudowane logowanie. dużo większa interakcja z systemem operacyjnym.

III wykład:
APEX 5.1 Other Advanced New Features /Patrick Wolf/

Wydawało by się, że wszystko wiemy o wersji 5.1... niestety tylko się wydawało : ). To jest wykład na którym był Piotrek. Wyszedł bardzo zadowolony z niego. Mam nadzieję że wysili się i coś też napisze  ; )

IV wykład:
Update from Development /Joel Kallman/
Jak by to ująć...., wykład zdecydowanie motywacyjny. Joel po prostu "pozamiatał". Ciężko jakkolwiek ująć samą treść w tym jednym wpisie. Wydaje mi się, że jego temat wymaga osobnego bardziej obszernego wpisu, który postaram się niedługo zrobić. W każdym bądź razie jedno zdjęcie z początku : )





W kwestii jakości wpisów proszę o zrozumienie. Treść tworzę bezpośrednio na wykładach, żeby dostarczać najświeższe informacje bez zbędnej zwłoki.
Asrock E3C224DI-14S IPMI not reachable - 25-Jun-2017 06:48 - Frank van Bortel
Documentation missing There's definately some documentation missing on the IPMI settings. I managed to lock myself out of the IPMI (also know as 'Integrated Light Out', or ILO) management interface. Not sure how I managed to do that, but in the quest to find out how to restore devine powers, I noticed quite a lot of people suffered from this. And, the solution is quite simple, when you know
I Can't Get No : ) - 24-Jun-2017 11:44 - Andrzej Nowakowski
Tak jak wspominałem w poprzednim wpisie, jadąc na konferencje do Stanów chcieliśmy przy okazji załatwić kilka innych spraw. Jedną z nich miała być wizyta w fabryce u jednego z naszych klientów.

Robiąc aplikacje oprócz głównych profitów związanych z rozliczeniem finansowym są elementy dodatkowe. Według mnie jednym z takich elementów, który wiąże się z ogromną satysfakcją to zobaczenie na żywo jak program, który tworzymy miesiącami lub latami działa w realu. Jak ludzie, którzy go używają go doceniają... Nie mogłem odmówić sobie tej satysfakcji i oczywiście bardzo chętnie przyjęliśmy zaproszenie : )

Nie będę opisywał szczegółów bo to jest temat na kilka wpisów. Możliwe, że w niedługiej przyszłości podzielę się tym z wami tutaj.
W każdym bądź razie tworząc tą aplikację obsłużyliśmy cały proces produkcji drukarskiej. Począwszy od złożenia zamówienia skończywszy na wysyłce. Oczywiście wszystko w APEX-ie. Jak widać da się : )

Myślę że najlepiej jak pokażę kilka zdjęć, które lepiej oddadzą konkret tego projektu.

Na ścianie telewizor z zakolejkowanymi zadaniami. (dashboard w APEX-ie)
Park maszynowy z ogromnymi drukarkami cyfrowymi.

Przy każdej drukarce ekran dotykowy z naszą aplikacją... co myślicie o Piotrka minie ?  ;  )

Przygotowanie do wysyłki - drukowanie etykiet na Zebrze


Zasięg biznesu klienta jest globalny jego wydruki można zobaczyć także w Polsce : )

Podsumowując :...po prostu kliknij i posłuchaj : )


Next