The APEX QA Plugin

Preview:

Citation preview

|

The APEX QA Plugin

Oliver Lemm

Competence Center Leader APEX

Seattle, 24.06.2014

|

MT AG

LEGAL STATUS OWNER MANAGED AG

CITY RATINGEN

FOUNDED IN 1994

EMPLOYEE 190 EMPLOYEE

SUB-COMPANIES MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG)

business by integration

BUSINESS

INTELLIGENCE SOLUTIONS SOCIAL BUSINESS

SOLUTIONS MOBILE

SOLUTIONS

APPLICATION

DEVELOPMENT INTEGRATION

SERVICES IT SYSTEM

SERVICES

|

About me

Oliver Lemm, Competence Center Leader APEX

Born in 1980, married, two daughters

Studied Applience Science 2001-2006

Since 02/2007 employed at MT AG in Ratingen

Working with APEX since its inception back in 2007

Responsible for project-leading and archtitect for APEX projects

- https://apex.mt-ag.com & http://oliverlemm.blogspot.com

- Organizing APEX UserGroup Düsseldorf

You can find me here:

- Online: Xing, LinkedIn, Twitter, Google plus

- Offline: DOAG Conference, DOAG Development Conference, ODTUG

Kaleidoscope, Regional APEX UserGroup (Meetup)

Kscope 2014, Seattle 3

| |

Agenda

ODTUG KScope 2014

1. The Requirements

2. The Concept

3. Region Plugin vs. Process Plugin

4. Live Demo

5. The Implementation

6. Conclusion & Perspective

4

| |

The Requirements

ODTUG 2014 5

|

The Requirements

ODTUG 2014 6

Reusable

Flexible

Easy to use

Easy to deploy

Integrated

| |

The Concept

ODTUG 2014 7

|

The Concept

Every check a rule

Categories

Objecttypes Message

Comment

Exclude

Activate / deactivate Layer

Predecessor

ODTUG 2014 8

|

The Concept

Support new Developers

Show the problems in Realtime when developing

Support Developer & Tester

Get the complexity of the application

ODTUG Kscope 2014 9

| | ODTUG 2014 10

Region Plugin vs. Process Plugin

|

Region Plugin vs. Process Plugin

ODTUG 2014 11

| |

Livedemo

ODTUG 2014 12

|

Livedemo - Install the Plugin

1. Download @ Apex-plugin.com

2. Extract

3. Go to your application and Import the plugin

\APEX\region_type_plugin_com_mtag_olemm_qa_region.sql

4. Install the Database Objects, using SQL Workshop

\plugin_qa_install.sql

5. Import the Rules, using SQL Workshop

\DML\plugin_qa_rules.sql

6. Go to Global Page and Region Region Plugin

ODTUG KScope 2014 13

|

Plugin Preferences

ODTUG KScope 2014 14

Default Values used

|

Livedemo @ apexea.oracle.com

ODTUG KScope 2014 15

| |

The Implementation

ODTUG KScope 2014 16

|

The Implementation

ODTUG 2014 17

Plugin

Configuration

Region Attr.

Plugin Attr.

Package

Render Region

Execute Process

Edit Link

Run Rules

Type Table

Rules

|

The Rule Table – PLUGIN_QA_RULES

PIQA_ID Primary Key

PIQA_NAME Name of the Rule, Unique Key

PIQA_CATEGORY APEX, DDL or DATA

PIQA_OBJECT_TYPES ITEM:REGION:DA:BUTTON:..

PIQA_ERROR_MESSAGE Message which comes up when hitting the rule

PIQA_EXCLUDE_OBJECTS objects which should not be checked

PIQA_ERROR_LEVEL 1=Error, 2=Warning, 4=Information

PIQA_IS_ACTIVE 1=active / 0=deactivated

PIQA_SQL rule based on SQL with maxlength of 32767 char

PIQA_PREDECESSOR_IDS colon delimited ID‘s which has to throw no msg

PIQA_LAYER rule on PAGE or APPLICATION level

ODTUG Kscope 2014 18

|

Example Rule - LOV Extra Values ‚YES‘

piqa_name Display Extra Value is Yes

piqa_category APEX

piqa_object_types ITEM

piqa_error_message Display Extra Value is Yes

piqa_comment Identifiy LOV Items with Extra Values YES

piqa_exclude_objects null

piqa_error_level 2

piqa_is_active 1

piqa_sql <query>

piqa_predecessor_ids null

piqa_layer PAGE

ODTUG 2014 19

|

Example Rule – LOV Extra Values ‚YES‘ - Query with param as (select :1 piqa_id, :2 app_id, :3 page_id from dual)

select t_plugin_qa_rule( piqa_id => piqa.piqa_id

,piqa_category => piqa.piqa_category

,piqa_error_level => piqa.piqa_error_level

,piqa_object_type => piqa.piqa_object_types

,piqa_error_message => piqa.piqa_error_message

,object_id => aapi.item_id

,object_name => aapi.item_name

,object_value => aapi.lov_display_extra

,object_updated_user => aapi.last_updated_by

,object_updated_date => aapi.last_updated_on

,apex_app_id => aapi.application_id

,apex_page_id => aapi.page_id

,apex_region_id => aapi.region_id)

from plugin_qa_rules piqa

join param p on p.piqa_id = piqa.piqa_id

join apex_application_page_items aapi on aapi.application_id = p.app_id and aapi.page_id = p.page_id

where aapi.display_as = 'Checkbox' and aapi.lov_display_extra = 'Yes'

ODTUG 2014 20

|

Other included rules for Example

Display Dynamic Actions

Help Labels without Help

Label Alignment left

Named LOV

No Never Condition

Page is Public

Page without ALIAS

Page without Pagegroup

ODTUG Kscope 2014 21

|

Using the Plugin

ODTUG Kscope 2014 22

• Region Global Page

• APEX_Application.g_edit_cookie_session_id IS NOT NULL Visibility

• Mailing

• DBMS_Scheduler Job

| |

Conclusion & Perspective

ODTUG KScope 2014 23

|

Comparison

ODTUG KScope 2014 24

QA Plugin

Advisor

Application Tracker

External Tools

|

Perspective

ODTUG Kscope 2014 25

Features

Import

Export

Advisor

Aggregation

Icons

Logs

|

Conclusion

ODTUG 2014 26

helpful flexible

Easy entry expandable

APEX QA Plugin

|

Conclusion

Use It Create your

Rules

Give Suggestions

back

ODTUG KScope 2014 27

|

Book Recommendation

ODTUG 2014 28

|

Telefon:

Telefax:

E-Mail:

www.mt-ag.com

Thanks for your patience…

Competence Center Leader APEX

+49 2102 30961-164

+49 2102 30961-10

Oliver.Lemm@mt-ag.com

Oliver Lemm

Recommended