7.11.12

APEX 4.2 verfügbar - mit tablet/smartphone templates

Seit ein paar Tagen ist APEX 4.2 released und ich habe gleich eine kleine Smartphone Anwendung gebaut - zur Anmeldung bei Oracle Events...

Testet es mal auf Eurem Smartphone iPhone oder Android...
Sieht schon cool aus!
Es gibt dazu auf der apex.oracle.com Seite auch ein kleines Video, worauf es bei der Erstellung ankommt:



Marc Sewtz, Oracle Product Manager APEX hat auf der Open World 2012 kurz die Vorzüge erklärt:




Ein weitere Funktionalität ist als "Responsive Web Application Development" zu finden. Für tablets, smartphones (vertical und horizontal) or desktop PCs ist dies ideal, weil das der Format der Anwendung sich beim Drehen des Tablets oder Smartphone automatisch anpasst und die Feldbezeichnungen über (statt davor) den Eingabefeldern positioniert werden, wenn der Platz zu klein wird. Auch sind die "Buttons" größer gestaltet, um auf einem iPad oder Tablet PC die Schaltflächen mit dem Finger einfacher bedienen zu können:


Darüberhinaus hat mein fleissiger Kollege Carsten Czarski bereits ein kleines Tutorial innerhalb der Oracle APEX Community erstellt, daß die Vorzüge des JQuery Ansatzes zeigt: EINE Anwendung mit 2 verschiedenen Seitentemplates ! nutzbar für "Standard" Browserder Desktop PC's als auch für Tablets bzw. Smartphones. Danke dafür Carsten! 

Viel Spaß und Erfolg damit !

31.5.12

DOAG Online mit APEX Fokus

Falls noch nicht bekannt: "DOAG Online" wartet mittlerweile mit interessanten Artikeln auf und hat u.a. einen APEX Fokus. Zu Themen wie Datenbank, Development, Infrastruktur und Middleware sowie Applications gibt es gute, aktuelle Beiträge.

Zum Thema APEX und Cloud ist ein Interview mit APEX Chefentwickler Joel Kallman (vom 18.5.2012) zu finden:

Viel Spaß damit!

22.2.12

E-Mailing aus APEX - How To

Gerade bin ich um Hilfe gebeten worden bzgl. E-Mailing...und gebe die Info hier gerne weiter.

Die Aufgabe: Eine E-Mail an alle User/Nutzer einer Anwendung verschicken, die sich bei meinem Event angemeldet haben; sich also in einer DB Tabelle befinden. Ich habe soetwas mal für eine "EVENT-Verwaltung" realisiert.
In der Oracle Datenbank existiert ja eine E-Mail-Engine mit der Utility UTL_SMTP. Ferner enthält APEX die Funktion: APEX_MAIL.
So kann ich mit APEX_MAIL die UTL_SMTP Funktion der DB nutzen.
Es existiert bei mir die Tabelle ANMELDUNGEN mit den Spalten ANREDE, TITEL,VORNAME, NACHNAME, EMAIL, EVENT, SHOW_NO_SHOW

1. Schritt: Erstellung einer Seite ähnlich eines E-Mail Frontends:


 2. Schritt - E-Mail Prozess erstellen:

begin
  for c1 in (
    select anmeldungen.ID,
        anmeldungen.VORNAME as vorname,
        anmeldungen.TITEL as titel,
        anmeldungen.NACHNAME as name, 
        anmeldungen.EMAIL as email,
        anmeldungen.ANREDE as anrede
    from anmeldungen where SHOW_NO_SHOW ='angemeldet'
and EVENT =:P27_WORKSHOP                 
 ) loop
    -- eMail
    if c1.EMAIL is not null then
      APEX_MAIL.SEND(
        P_TO       =>  c1.EMAIL,
        P_CC       => :P27_COPY,
        P_BCC      => :P27_COPY_BCC,
        P_FROM     => :P27_ERSTELLER,
        P_BODY     => 'Hallo'||' '||c1.ANREDE||' '||c1.TITEL||' '||c1.NAME||','||chr(10)||chr(10)||:P27_BODY,
--        P_BODY_HTML =>'Hallo'||c1.VORNAME||','||chr(10)||chr(10)||:P27_BODY,
        P_SUBJ     => :P27_SUBJECT);
    end if;
end loop;
end;

Alle zu meinem Event angemeldeten User befinden sich in meiner Tabelle ANMELDUNGEN; ich möchte die E-Mail nun nur an Teilnehmer dieses Events versenden - so habe ich eine Selektliste :P27_WORKSHOP eingebaut und grenze darüber die Teilnehmer ein. Hinter der Selektliste befindet sich eine LOV auf meine Tabelle EVENTS 
(LOV etwa: select EVENT_NAME d, EVENT_ID r from EVENTS).
Über den Button " E-Mail versenden" wird obiger Prozess ausgelöst.
Eigentlich fertig..

Optional: E-Mail Log
Um den Überblick zu behalten, wann ich welche Mails rausgeschickt habe, befülle ich die Tabelle  ANMELDUNGEN_MAIL_LOG mittels des Prozesses "60 insert_into_mail_log":

Der Prozess wird ebenfalls über den Versenden Button ausgelöst:
Prozess "insert_into_mail_log":
insert into ANMELDUNGEN_MAIL_LOG (subject,datum,versender)
values (:P27_subject,SYSDATE,:P27_ERSTELLER);

Auf meiner Reportseite sieht es dann so aus:
Oben die Liste der erstellten"E-Mail-Templates" (die ich ja wiederverwenden kann...) und darunter das Mail Log.

Viel Spaß und Erfolg damit !