Wednesday, September 2, 2009

APEX Rules & Guidelines

After several late nights of nerding I've finally submitted/completed my APEX application for the APEX Developer Competition 2009.

You can demo and download the application here: http://apex.oracle.com/pls/otn/f?p=46865
Note: Demo is no longer up and will not be supported.

This purpose of this application is to allow development teams to create an online Rules & Guidelines development document. The template for this application is based on Patrick Cimolini's (Cayman Islands Government) presentation at ODTUG.

The concept of the R&G template is:

Rule: Follow 100% of the time
Guideline: Follow 90% of the time

Mandatory Headings:

Rule/Guideline: Active voice sentence.
Why:Important for Team Buy-In

Optional Headings:

Result: Illustration of desired outcome
How: How the result is achieved.
Notes: State the non-obvious
See Also: Point to related Rules and Guidelines

You can use this template for both APEX development and your PL/SQL standards. I've included the installation files in the demo application so feel free to install at your organization. If you are using it please post any comments/suggestions on this post and I'll try to write some updates.



22 comments:

  1. Martin,
    Looks very nice! You've got my vote (if I had the right)!
    Roel

    ReplyDelete
  2. Hi Roel & LG,

    Thanks for the feedback! Hope this is useful in your organizations.

    Martin

    ReplyDelete
  3. Martin,
    I tried demo/demo but I can't login into application.

    Lev

    ReplyDelete
  4. Hi Lev,

    It seems that someone changed the demo password. I've reset it to demo again so you should be able to login.

    I'll make sure to restrict the demo user from changing itself in the next release.

    Thanks,

    Martin

    ReplyDelete
  5. Thanks Martin,
    It works now.
    It's looking great.

    What if next version will actually check these rules?

    Lev

    ReplyDelete
  6. Hi Lev,

    Dimitri made a similar suggestion about doing validations for each rule. Patrick Wolf created the APEX Essentials tool which does all the validations. I'll have to see how/if I can tie my application into his.

    Did you enter you chess game into the competition?

    Thanks for the feedback.

    Martin

    ReplyDelete
  7. Hi Martin,

    I didn't enter it to competition - I was to slow (lazy).
    But you can enjoy it here:
    http://apex.oracle.com/pls/otn/f?p=20622:4

    I think that the idea of some kind of source/quality control tool for APEX is in the air.

    I also caught this virus and wrote an application (APEX of course) that uses database trigger to log all changes to the database objects. User could review these changes, compare old and new code for packages, procedures and so on…

    It is not bad but this is just one piece of a puzzle and what we need is source control for apex project plus source control for stored procedures, data model plus quality control for all parts of the project based on rules.

    Lev

    ReplyDelete
  8. It looks very handy. I just wish we were upgraded to Apex 3.2 so I could install it. I tried hacking the file back to 3.1.1, but it failed.

    [sigh]

    You can ask DBAs to upgrade, but it still happens on its own schedule.

    ReplyDelete
  9. Hi Stew,

    If you wanted to launch this internally you could install a XE instance somewhere and run the app on it. I built it on XE so it you shouldn't have any problems running it.

    Martin

    ReplyDelete
  10. Hi,

    I wanted to login to your application using demo / demo but couldn't. Can you check it out.

    Thanks.

    ReplyDelete
  11. Hi,

    You should be able to check it out now. I don't know why people are changing the password. I've updated the trigger so that your password can't be changed.

    Thanks for letting me know.

    Martin

    ReplyDelete
  12. Hi,
    I am sorry but demo/demo does not log me in.

    WHat I am doing wrong?


    Cheers,
    Lars

    ReplyDelete
  13. By the way Stew you can do the steps by David Peake at http://www.oracle.com/technology/oramag/oracle/09-sep/o59browser.html and try APEX 3.2 in The Cloud.

    I have tried it, worked like a charm. Did not install Martin Giffy's app, since it is not mine.

    But try the The Cloud. It will cost you some dollars. But it is worth it.

    ReplyDelete
  14. Hi Lars,

    demo/demo should work now. I think I have a bug with a trigger on the users table so I've had to disable any account management features.

    Thanks for pointing this out.

    Martin

    ReplyDelete
  15. Stew,

    You could install the app in a cloud environment like Lars suggested. Alternatively you could create an account on apex.oracle.com and install the application.

    Lars, please feel free to install and use the application within your organization.

    Martin

    ReplyDelete
  16. Thanks for the tips on installation options, guys. Our DBAs just installed 3.2.1 on a test db instance, so I'm hoping to check this out soon.

    ReplyDelete
  17. Martin,

    Congratulations for winning in Oracle Apex Competition.

    Your application looks very nice and clean.

    What is your email id.

    Thanks,
    Bhavin
    London

    ReplyDelete
  18. Hallo Martin

    Unfortunately like other colleagues on this forum demo/demo doesn't work for me.
    best regards
    adrian

    ReplyDelete
  19. Hi Adrian,

    Thanks for pointing this out. I've fixed it again.

    I obviously have a bug in my code regarding user management that I'll have to address if I update the application.

    Thank you,

    Martin

    ReplyDelete
  20. Demo not work...

    ORA-06550: line 6, column 10: PL/SQL: ORA-04045: errors during recompilation/revalidation of GIFFY.RNG_VAPEX_P1_MENU ORA-00976: Specified pseudocolumn or operator not allowed here. ORA-06550: line 4, column 3: PL/SQL: SQL Statement ignored

    ReplyDelete
    Replies
    1. Hi Alexey,

      The demo is not up and unfortunately I won't be supporting it. There may be plans to create an entirely new version of this application in the future.

      Martin

      Delete