Forms/Menus v4 Overview!!

From: <cjen_at_ocvaxa.cc.oberlin.edu>
Date: 26 Jul 93 14:21:35 EDT
Message-ID: <1993Jul26.142135.27_at_ocvaxa.cc.oberlin.edu>


>Jennifer, since you've taken the Forms 4.0 course, how would you compare
>Forms 4.0 to 3rd party graphical development tools and to Forms 3.0?

Well, I don't have time to put something together separately for the list, but I can post my outline from an overview that I just delivered to my colleagues.

Please, anybody who has corrections or additions, let me know. I'd like to stay up to date.

The outline follows my .sig. It only addresses v3 vs. v4 issues.

Please keep in mind that the course I took used a beta version, and things are still constantly changing.

Jennifer Amon
bamon_at_ocvaxc.cc.oberlin.edu


Miscellaneous:



o CDE - Cooperative Development Environment

        Forms, Reports, Graphics, etc. - all use the same layout editor

o v4.0 only supported on v7 database.

     (runs on v6 but only supported on v7)

o Expected release dates:

        Motif                officially, 4th Q 1993 for all
        Macintosh
        PC

o Oracle manuals will eventually be released electronically in

   Oracle*Book format.

o PL/SQL versions:

   o v1.1 of PL/SQL in Oracle*Forms
   o v2 of PL/SQL in RDBMS

o if PC, then run in Super-VGA mode

New features:



o Horizontal scrolling
o You don't have to connect to the database to use the developer. You

   can change the appearance of a form without ever connecting. o You can generate forms without ever connecting to the database, if

   the form contains no PL/SQL code with database table and column    references.
o Runtime - dynamic change of where/orderby.

        examples: include check boxes for online help to specify form, 
        block or field level help

o No runmenu, everything now from runform o run_product can call Oracle*reports from a form with the current

   query results.
o Can have multiple modules open at the same time in the developer.

   o Forms
   o Menus
   o Libraries
o Can access non-Oracle data

Files:



o Forms
   o  executable     *.fmx
   o  binary source  *.fmb
   o  ascii source   *.fmt (not available yet)
o  Menus
   o  executable     *.mmx

   o binary source *.mmb
   o ascii source *.mmt (not available yet)

Items:



o New properties:

   o enabled
   o navigable
o Named Visual Attributes

   o Local to a form
   o Can't be assigned to many items at once o Text items (fields)

   o Can be wrapped in a narrow field.
   o Wrap mode can be specified, e.g. wrap at character or at word.    o Can have a scroll-bar for wrapped items.    o Can keep position within a text item, so that when the user returns

      to the item, the cursor is in the same position as when he left the item. o Display items (non-base table text item) o List items (see a list and pick one)

   o Two kinds: pop-list and T-list
   o Hardcoded values, can't come from a table o Buttons (trigger for action)

   o can be "default" meaning that RETURN presses the button o Check boxes

   o value for checked
   o value for unchecked
   o specify checked or unchecked for display of "other" values    o default value must be the "checked" or "unchecked" value o Radio groups

   o can pick only one value
   o can have an "other" button in the group for display of non-

      specified values
o Image items

   o not supported in character mode
   o can put an image on a button
o Sound, not supported yet, but coming in the future o Alert Boxes

   o 1 - 3 Buttons
   o Modal

Triggers:



o Automatically created triggers are commented o Can fire in ENTER QUERY mode
o WHEN-XXX

   o fires in addition to normal processing o ON-XXX

   o fires instead of normal processing o PRE-XXX

   o just before normal processing
o POST-XXX

   o just after normal processing
o KEY-XXX

   o instead of normal key action
o Examples of name changes:

   o  ON-NEW-FIELD-INSTANCE   WHEN-NEW-ITEM-INSTANCE
   o  ON-VALIDATE-FIELD       WHEN-VALIDATE-ITEM
   o  ON-NEW-RECORD           WHEN-NEW-RECORD-INSTANCE
   o  ON-DATABASE-RECORD      WHEN-DATABASE-RECORD
   o  ON-VALIDATE-RECORD      WHEN-VALIDATE-RECORD
   o  ON-REMOVE-RECORD        WHEN-REMOVE-RECORD
   o  ON-CLEAR-BLOCK          WHEN-CLEAR-BLOCK
o New triggers:
   o  WHEN-BUTTON-PRESSED
   o  WHEN-CHECKBOX-CHANGED
   o  WHEN-RADIO-CHANGED
      o  assigned to whole group, not individual selection
   o WHEN-TIMER-EXPIRED
   o  ON-POPULATE-DETAILS
   o  ON-CLEAR-DETAILS
   o  ON-DELETE-MASTER

Windows/Canvases:



o A canvas is like a painting, on which items are placed o A window frames a canvas or a portion of a canvas o There can be only one window associated with each canvas, but there

   can be multiple canvases assigned to a given window o A new block can appear on a new canvas in a new window or on a new

   canvas in the same window, or on a stacked canvas in the same window. o Windows may be modeless (unrestricted) or modal (must acknowledge) o No more page 0, non-displayed items are put on a null canvas

Blocks:



o Can have scroll-bar for moving through the records o Handles Master-detail-detail properly

   o Use integrity constraints for Master-detail o Specification of action on master delete

   o cascading delete
   o non-isolated (no delete if details exist)    o isolated (delete even if details) o Can specify next-navigation block, previous-navigation block o Navigation style (from last item in the block)

   o same_record
   o change_record
   o change_block

LOV's:



o Can be specified for use in validation o Have "auto-reduction"
o  Can have "auto-display"
o  Can have "auto-confirm"
o  Can have "auto-skip"

o Long-list (forces a specification of narrowing parameters) o One LOV used in multiple places (to return the same values to the

   same place(s))

Relations:



o Change a relation and the triggers are also changed appropriately o Can be modified after creation of default block o Can be created outside of default block creation o Query options on detail block

   o Immediate auto-query
   o Deferred with Auto Query
   o Deferred without Auto Query

Timers:



o Display a clock
o Check the status of a runtime condition periodically o Display time-conditional alerts
o examples:
      Would you like help?
      It's been x minutes since your last commit.

Layout Editor:



o Proportional spacing of multi-record display o Proportional change of spacing of multi-record display o Standard graphical tool box
o Rulers
o Objects can be aligned vertically or horizontally

   o Align Top
   o Align Bottom
   o Align Center
   o Distribute
   o Stack
o Objects can be overlapped
o Grid lines with adjustable grid spacing and adjustable unit of

   measure
o Graphical objects can be created or imported, grouped, etc.

   o TIFF
   o JFIF
   o BMP
   o Oracle Graphical Format (object created by Oracle*Graphics)

Change of Terminology:


o  Enforce Key                 Copy
o  Page                        Canvas
o  Echo Input                  Secure
o  Field                       Item
o  XXX_FIELD                   XXX_ITEM
o  SET_FIELD                   SET_ITEM_PROPERTY
o  FIELD_CHARACTERISTIC        GET_ITEM_PROPERTY
o  BLOCK_CHARACTERISTIC        GET_BLOCK_PROPERTY
o  APPLICATION_CHARACTERISTIC  GET_APPLICATION_PROPERTY
o  CALL                        CALL_FORM
o  CALL_QUERY                  CALL_FORM

Query:



o Case insensitive query

Sharing Code:



o PL/SQL Procedure Library

   o When procedure is changed, no forms need be regenerated.    o All procedures called into memory when one is used in form. o Copy Objects (same as before)
o Reference Objects (same as before)

System Variables:



o System.mode

   o NORMAL
   o ENTER-QUERY
   o QUERY

Functions and Packaged Procedures:



o Now called BUILT-INs
o  LIST_VALUES vs. SHOW_LOV('lov_name',x,y)
o  READ_IMAGE_FILE('filename', 'file_type', 'item_name')
o  SHOW_ALERT

   o predefined constants: ALERT_BUTTON1, ALERT_BUTTON2, ALERT_BUTTON3 o CREATE_TIMER

Menus:



o Menu items

   o Plain
   o Check
   o Radio
   o Separator
o Startup code (like a key-startup trigger) o List or Tree display
o RUN_PRODUCT for interactive run of reports, etc. o Roles have not changed, and are still not the v7 database roles

Conversion:



o Forms (v3 to v4)
   o  Field             Text item
   o  Input Allowed     Enabled, Navigable
   o  Echo Input (ON)   Secure (OFF)
   o  Enforce Key       Copy
   o  LOV               Text item, LOV, and Record Group
   o  Trigger names
   o  Popup pages       New canvas and window
o Menus (v5 to integrated forms/menus v4)

   o Must attach to a form after conversion

Things that will work that we thought wouldn't under the new version:



o Stacked Canvases, e.g. pop-up page shows the next x columns of a

   wide table.
o No regen needed for different runtimes, simply runform40x or

   runform40 for GUI vs. CM on the same platform. I'm sure that the    regen would be needed for different platforms.

Things that won't work that we thought might under the new version:



o Menu parameter validation for type
o Menu LOVs (not sure yet)
o Reordering of items is now a pain - no spreadsheet

Things that may be a problem for us:



o No character mode development environment, no MAC version yet. o host(command) sends command to client host, e.g. MAC or PC o release date of the "real" (non-beta) versions is late - probably

   in Oct. or Nov.
o MS Windows will be the platform of choice. We'll have to always

   wait for others.
o .fmt file output not available yet, so conversions a mess to

   cleanup. Can't search/replace trigger names. o generate does not automatically save the source to a file. Save

   creates *.fmb or *.mmb. Generate creates *.fmx or *.mmx. o list items data is hard-coded, doesn't come from a table. o checkbox default must be the checked or unchecked value. o User defined (named) visual attributes cannot be assigned to more

   than one text item at a time.
o Items "grouped" in the layout editor are ungrouped when you end the

   design session.
o Images, only JFIF and TIFF currently supported

Outstanding Questions:



o Macintosh Development Environment release date?
o  Menus, number of parameters still limited to 58?
o  Menus, parameter validation of types?
o  Menus, parameter LOVs?
o  Forms, Use of Integrity Constraints - If you specify the use of 

   integrity constraints, will they be used even if disabled? During    the development phase, the DBA is constantly disabling and re-enabling    constraints in order to maintain something. o Will the conversion change names of things within trigger text, e.g.

   something in a DO_KEY() or in an EXECUTE_TRIGGER()? o When will the ascii *.fmt files be available? o Forms, Text Item Case insensitivity - If you use this, do the

   indices on the base tables get used or bypassed? o Forms, size limit on dynamic where and order_by? o Forms, debugging still shows trigger firings? What about on-error

   and on-message.
o In a multiplatform environment, the host commands will go to

   different machines. Is there a way to know on which platform the user    is running, so that the proper command can be constructed accordingly? o Can v4 forms be run from old v5 menus? o What is the minimum PC configuration to run the developer as a client

   to a VMS database?



the end Received on Mon Jul 26 1993 - 20:21:35 CEST

Original text of this message