Standards Layer
Delve into the realm of Plex development with insights from the 11th CA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE. Discover the importance of a good standards library, environment string usage, and date prompting for efficient development practices. Explore innovative ideas shared by a seasoned programmer/analyst to enhance usability and streamline workflows for Plex developers.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Standards Layer Useful additions Group 177 1 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Speaker I currently live in Boise Idaho where I work for United Heritage Insurance. I have been a Plex developer since about 2000, working in Texas, South Carolina, Georgia, and now here. I have enjoyed many of the Plex/2E conferences and gatherings where I have learned a lot. I hope to be able to share some ideas I have had to boost usability for other Plex developers. Jeremy Stent Programmer/ Analyst III 2 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Welcome Message I hope that this talk will give you some ideas for ways to improve your standards library, and thus reduce what you have to do manually in each panel. 3 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
A good standards library Must have inherited copies of most functions from patterns Allows customization at a few points Reduces code re-entry Gives a common place to adjust look and feel Requires developers to use entities fields and functions from the standards layer 4 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Environment String Purpose Allows us to identify at a glance what level we are running in. Reduces entry of data in wrong environment Helps with knowing where a screen print came from 5 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Environment String Composition A field or Static on your UIBasicShell An external client function that looks up and caches the value Code in the UIBasicShell to call the function and to set the value of the field or static Code in the UIBasicShell to prepend the value to the Title 6 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Environment String Requirements Placing the field or static on each panel A place to store the environment Database INI Compiled into a function that exists in each environment 7 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Date Prompting Purpose Automatically support prompting for any input capable date field Not needed for .NET 8 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Date Prompting Composition Have a meta function that looks at all dates (in a region) Add function to the Prompt subroutines in the patterns UIBasicShell OR Update and EditDetailGrid 9 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Negative Number Validation Purpose Allow marking numbers that should not be negative. Make the validation happen automatically. 10 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Negative Number Validation Requirements A name to be applied to number fields Use the Fld special Type NME triple Meta function to review fields for validation Code added to edit Validate edit points EditInsert, EditUpdate, EditDetailGrid, etc. 11 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Date Range Validation Purpose Try and prevent pre-1900 numbers in Date7 fields Causes program crashes in DB2 SQL date handling Try and reduce dates accidentally entered out of range 12 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Date Range Validation Requirements A name to be applied to date fields that may be older Use the Fld special Type NME triple Meta function to review fields for validation An Original variable in edit functions Code added to edit Validate edit points EditInsert, EditUpdate, EditDetailGrid, etc. 13 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Banded Grid Purpose Allow banding of grid rows to ease reading Issues Can slow down grid loading Can conflict with other code to set grid states If the user re-sorts the data the banding no longer fits 14 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
15 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Banded Grid Composition New pattern that inherits from Grid (and one for Grid2) Panel design change at Grid to have two states with different colors Code added to Load Page for Grid that alternates the state of the grid based on the grid row count Make any grid panel you want to be banded inherit from the new pattern as well. 16 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Bug Report Purpose Allow users to file a more informative bug report. Try and collect information that may help with understanding the problem. 17 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Bug Report Requirements Modify UIBasicShell with a hotkey to trigger a bug report Add code to UIBasicShell to dump all fields in all variables to a text file Add code for the hotkey to dump the fields and then open up a program for submitting the bug Disable the hotkey on FrameChild Add event and code to Frame Child to append fields to text file Add code to FrameParent to request all children to append data to file 18 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Bug Report Enhancements Have bug report program grab a screen print of current screen Have bug report program send email or submit files by FTP or web service. 19 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Caching Combo Box Purpose Reduce server round trips for dynamically loaded combo boxes Prerequisite No or little chained filtering between boxes Usage of dynamically loaded combo boxes ProcessGroup on Client (ODBC or new pattern) 20 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Caching Combo Box Requirements Function to load a few columns from a table into a local cache (SharedData or other) LoadCombo pattern that will load from cached values 21 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Warning on CascadeDelete Error Purpose Give an informative message when a cascade delete would error. 22 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Warning on CascadeDelete Error Requirements Extra code in the UI Functions that would delete to check for cascade delete errors Delete, EditGrid.EditGrid, EditDetail.Edit, EditDialog.EditSuite.Grid, etc. 23 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Extra Ideas Pattern to clear output fields Pattern to add a Native Dialog with user controlled buttons Pattern to add Extra Subroutines edit point Pattern to support minimum panel resize Has Close Button 24 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE
Contact +208 475-0958 jstent@unitedheritage.com plex@jstent.net www.unitedheritage.com 28 11thCA 2E/CA PLEX WORLDWIDE DEVELOPER CONFERENCE