ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or… (sneak preview)

One picture speaks more than a thousand words (a pity for someone as verbally skilled and graphically challenged as myself). However, for once, I will try to let the pictures speak for themselves. I present: dynamic, run-time User Extensibility in ADF applications:

Our starting point is a straightforward ADF application that I have generated using JHeadstart (however, that is not essential in this story). I will show how I have enabled the end user to add fields to this application, allowing him/her to record additional information about Departments and Employees – and search on them as well. ....

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf1 deptvirgin 

In order to start maintaining the User Extended data for the Department entity, I first check the UE Edit Mode? checkbox. Now my page shows the Edit UE fields button. 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf2 deptuemode

 Pressing the button brings up a popup window where I can define additional fields for the Department Entity:

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf3 editdeptue

 

Press the New UE Field button. The Enter New UE Field dialog is shown, where I can define a new field for the Department entity:

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf4 newdeptuefieldbudget

 

After closing the UE popup and refreshing the Departments page, the new field is shown in the overflow right dialog: 

 

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf5 newdeptuefieldappears

 I can enter a value for the Yearly Budget for Department 10 and save the results. Without adding a column to the DEPARTMENTS table, I can now store additional information about Departments!

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf6 newdeptuefieldcanbesaved

I decide that the Budget field should be mandatory. And I also want to be able to query Departments on their budget value. I press the Edit UE Field Metadata icon. The Edit UE Field dialog pops up. I check the Queryable? and Mandatory checkboxes and save the changed metadata. 

 

 

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf7 budgetmandatoryandqueryable 

After refreshing the Departments page, I can now see the Required * in front of the Budget Field as well as the Budget item in the Search form:

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf8 queryableandmandatory

 

Now I can query on Budget, to only return Departments for which the Budget starts with a four. 

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf10 queriedonbudget

 

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf11 newuepropertypicture

 

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf12 pictureproperty

 

Let’s now upload a picture of our Accounting Department’s building:

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf13 uploadedpicture

 

 Let’s turn our attention to Employees. They can do with some additional properties too!

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf14 employeesnoueyet

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf15 newempuefields

 

 

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf16 displaynewempuefields

 UE Fields defined for an Entity in one page of course apply in other pages as well. When we look at Employees in another page, we also see the new UE field(s). Here I have searched for Employee with Senior function level and at least a single character in their first name:

 

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf18 searchedonempue 

 

Let’s change the Dropdownlist for Function Level to a set of Radio Buttons:

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf19 dropdwontoradio

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf20 showdropdowntoradio

Let’s now manage the Function Level domain – add a new function levels for our interns, as well as properly sequence the allowable values:

ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf21 managedomains

After refreshing the page we can see the effect of the modified domain:

 ADF Flex Fields or ADF User Extensibility or "The End User driving the Application" or "ADF goes APEX" or... (sneak preview) ueadf22 newdomainvalue

One Response

  1. Joe August 19, 2009