Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 0
Jan 252014
 

První díl: Workoutlog v APEXu – hezky od začátku #1 – úvod
Druhý díl: Workoutlog v APEXu – hezky od začátku #2 – návrh datové vrstvy(1)
Třetí díl: Workoutlog v APEXu – hezky od začátku #3 – návrh datové vrstvy(2)

Dnes pokračování vývoje logu pro cvičební výsledky. Dneska více formou tutoriálu, přecejen v našich končinách ještě APEX není moc rozšířen (a je to škoda) a ještě pořád se jedou povětšinou formsy :-/. Pro začátek počítám s tím, že případný čtenář má APEX již obstarán. Oracle udělal moc šikovnou věcičku a nabízí za registraci možnost vyzkoušet si APEX na svých stránkách zde (Pozor pravidelně purguje registrované workspaces i když předtím varuje emailem).

Druhá možnost je obstarat si ho v sám – v Oracle 11 XE je defaultně, v Oracle 12c pak záleží jestli jedete multitenant conteiner (NONCDB_COMPATIBLE=false) nebo klasickou databázi (NONCDB_COMPATIBLE=true). V případě přístupu multitenant conteiner může mít každé PDB vlastní APEX (a port na kterém jede), v druhém případě je to jednodušší – existuje jen jeden APEX listener a by default na portu 8080. Instalaci lze najít zde.

Ve zkrácené verzi na co se nesmí zapomenout – nastavit parametry Oracle (velikost share pool, job_queue_processes.. ), pospuštět skripty (apexconf.sql, apxchpwd.sql - na změnu hesla administrátora a apexinst.sql pokud APEX není vůbec nainstalován, by default nově je), odemknout účet APEX_PUBLIC_USER (a případně další), odemknout ACL politiku a nastavit port pomocí EXEC DBMS_XDB.SETHTTPPORT(8080); a případně ověřit SELECT DBMS_XDB.gethttpport FROM DUAL; – by nemělo vrátit 0.

A nyní první přístup je na http://localhost:8080/apex/apex_admin

Administrace APEX

A takto nějak by měla vypadat přihlašovací obrazovka pro Administrátora APEXu.  Oracle oficinálně definuje několik rolí, které se podílejí na vývoji v APEXu a to jsou:

  • Developers – Programátoři, vývojáři. Tzn. my ;)
  • Workspace Administrators – Workspace adminstratoři. Tzn. ty co částečně administrují APEX, přidělují vývojářům práva, definují skupiny..
  • End User – prostě uživatelé bez práva vyvíjet aplikaci
  • Instance Administrators – Práva nad celou APEX instancí – konfigurace listeneru, restarty, System Messages atd.

Jak už napovídá url “apex_admin” není ani pro koncové uživatele a neměl by být ani pro developery. Pro programátora doma je pochopitelně nutnost zastat všechny role. Mimochodem prostředí je také napsáno v APEXu, jako speciální aplikace do které by se nemělo hrabat.

Konkrétně v prvním přihlášení nám půjde o to udělat si WORKSPACE a nějakého developer uživatele. Workspace jako místo pro naše aplikace a uživatele jako role developer pod kterým to celé zprogramujeme.  Takže, hébičky, hurá o toho!

Prvně založení WORKAPACE. Pokud vidíte APEX prvně, tak věřte, že Oracle udělal neskutečně kvalitní GUI pro vývojáře. Každá funkcionalita u které se očekává, že se bude hojně používat má typicky link/tlačítko vytažené o úroveň výše a dobře viditelné. U všech průvodců udělal Oracle nejen to, že defaultní hodnoty pokrývají většinu případů, které vývojář ale často mají i svou kratší verzi s méně nastavením či méně kroky, které uspokojí většinu požadavků. Jestli jste někdy viděli takovou tu usability analýzu a návrh GUI, kde se sleduje kolik kliků/tahů myší je potřeba pro dokončení požadavku, tak tohle se Oracle hodně povedlo. Proč o tom mluvím – je to první kliknutí v tomhle tutoriálu a jsou následující možnosti:

  • Kliknout na ikonku Manage Workspaces a po té na Create Workspace
  • Kliknout nahoře v menu na Manage Worskapaces a vybrat Create Workspace
  • a nejrychlejší možnost je kliknout na vytažené tlačítko “Create Workspace”

Takže po rozkliknutí se objeví níže uvedený dialog, který je třeba vyplnit:

  • Workspace name: APEX_WORKOUT (ideálně vybrat název, který lze použít i jako název db schématu a nemělo by se to jmenovat INTERNAL, což je workspace pro takové APEX aplikace jako je apex_admin)
  • Workspace id: 66666 (není třeba vyplňovat, ale pokud se někdo rozhodne tenhle článek následovat, ať to máme stejné)
  • Workspace description: nějaký popis

První formulář při vytváření WORKSPACE

Kliknou na “next” a vítá nás další formulář:

  • Re-use existing schema: NO (žádné databázové schéma nemáme vytvořené, takže vytvoříme nové)
  • Schema Name: APEX_WORKOUT (takticky stejné jako název workspace)
  • Schema Password: APEX_WORKOUT (ano, doma nebezpečně stejné, viz KISS pincip)
  • Space-Quota (MB): 100MB (bude určitě stačit)

Schéma pro workspace

Kliknou na “next” a vítá nás další formulář:

  • Jméno administrátora workspace: ADMIN (necháme)
  • Heslo: ADMIN
  • First name:(nic podstatného pro vývoj, nepovinné pole)
  • Last name: (nic podstatného pro vývoj, nepovinné pole)
  • Email: Povinné, a doporučuji vyplnit správně neb tam případně chodí informace o naplánovaném purge workspace, confirm link pro reset hesla, reporty apod.

Administrátor workspace

Kliknou na “next” a už není třeba nic vyplňovat a před založením je zobrazen nějaký takovýto sumář:

A pak už jen tlačítko “Create workspace“.
A po chvilce chroustání by se mohla objevit nějaká podobná hláška:
Workspace APEX_WORKOUT provisioned with administrator ADMIN.
Database user APEX_WORKOUT created with default tablespace APEX_5814303561350067 using datafile C:\APP4\AZOR\ORADATA\ORCL12\APEX_5814303561350067.DBF

A nyní přístup o našeho nového workspace přes tento link:http://localhost:8080/apex (bez /apex_admin). Což vypadá nějak takto:

  • Workspace : jméno našeho nově založeného wokrspace APEX_WORKOUT
  • Username: ADMIN
  • Password: ADMIN


Všimněte si na dva nenápadné linky dole, které jsou velice užitečné a umožňují zjistit název svých workspace a resetovat případně heslo – obojí se děje přes email. Proto je dobré ho vyplnit správně i doma. So, kliknout na “Login to Application Express”. Následuje výzva k zadání nového hesla. Které by mělo splňovat následující požadavky:

  • Musí obsahovat alespoň 6 znaků
  • Alespoň jedno číslo (0-9)
  • Alespoň jeden antilopí znak (/,*;=.<-_ atd..)
  • Alespoň jedno velké písmeno

Takže já dávám Apex_0

Po úspěšné změně hesla se dostaneme na hlavní stránku workspace. Největší část obrazovky zabírají 4 velké a důležité ikony, které stojí za to popsat:

  • Application Builder – v tomhle se bude programátor často pohybovat a trávit zde většinu času. A také tam zavítáme ;) Slouží k samotnému vývoji.
  • SQL Workshop – Spousta utilit, toolů a vychytávek pro práci s SQL. Je třeba to rozdělit na věci užitečné (uložené skripty, data workshop) a věci na hovno (většina – query builder, about database, object reports…), které normální programátor nahradí skillem+IDE – PL/SQL Developerem, SQL Developerem, Toadem a SQLPlus* je také lepší pro většinu akcí..
  • Team Development - Pro práci v týmu, jde na dashboardy developerů zapisovat bugy, časy releasů, To-Do.  Asi tu ukáži nějaké založení ToDo jako ukázky, ale není to nic složitého. Hodí se to i pro single-uživatele. Evidence bugů apod. Vše co by člověk musel nosit v hlavě či se někde poznamenávat. Za zmínku stojí featura jménem FeedBack kdy uživatel APEX aplikace může nechat něco jako komentář k aplikaci.
  • Administration - Administrace uživatelů a workspace

Mimo věcí, které jsou na první pohled vidět (že je dostupný patch, top aplikace, top useři..) stojí za zmínku první řádek nad ikonkama, kam může ADMIN napsat něco, čemu se říká “Systém Message”. Pro zprávy typu “Za 30min musíme otočit DB, uložte si práci”.

Máme vytvořen wokrspace, máme ADMINa pro workspace, ale ještě by to chtělo účet pro developera. ADMIN má pochopitelně také právo vytvářet aplikace, ale založme developera pod kterými pojedeme. Na homepage apexu klineme na Administration dále Manage Users and Groups. Následuje přehled uživatelů k danému workspace, měl by tam být jeden řádek, kde vidíme sebe (ADMIN) a nyní tedy na založení developera: Create User a následuje formulář:

První část se – User Identification – věnuje uživateli:

  • Username: APEX_DEVELOPER
  • Email: vlastní..
  • Ostatní pole jsou nepovinná a na funkčnost hébiček to nemá vliv. Nastavení formátu data podle toho, co každému vyhovuje.


Druhá část – Account Privileges – zde je potřeba nějakých změn:

  • User is developer: YES

Všechno ostatní YES a UNLOCKED

Následuje sekce Password – zde je to jednoduché:

  • Password a confirm: dávám Developer_0
  • Require Change of Password on First Use: NO – rozhodně už ho nechci měnit, už takhle jich je dost

A klik na Create user, pak by se měl zase zobrazit list s uživateli k danému workspace – ADMIN a APEX_DEVELOPER:
Apex developer
Super, takže máme workspace se jménem APEX_WORKOUT a uživatele se jménem APEX_DEVELOPER, takže ještě testovací log na http://localhost:8080/apex:

  • Wokrspace: APEX_WORKOUT
  • Username: APEX_DEVELOPER
  • Password: Developer_0

Done! Po té co se pes zaloguje stačí ověřit, že je opravdu developer – v sekci Home – Administration, je vidět že to bylo vykostěno a zbyly tam jen možnosti Monitor Aktivity a Dashboard. A APEX_DEVELOPER tedy nemá právo manipulovat s uživateli, skupinami atd..

To by bylo pro dnešek vše. Takže máme navrhnutu datovou vrstvu (z dílu 2 a 3), dnes jsme vytvořili workspace a apex uživatele který pro něj má ta správná developerská práva. Příště? Vidím to na založení aplikace, ověření účtu v DB a založení tabulek.

 Posted by at 02:53

  2 Responses to “Workoutlog v APEXu – hezky od začátku #4 – APEX workspace&user”

  1. Vyborne,dekuji, uz se nevim dockat dalsi casti tutorialu. Je psan opravdu dobre a srozumitelne.

  2. dik, doufám že bude těch odezev ohledně srozumitelnosti moc nemám :D. APEX je pro mě novinka, takže to budu psát pečlivě, nebo alespon se budu snažit ;)

 Leave a Reply

(required)

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>