The Model Editor is a very powerful feature and gives you great power to change things about the model that is read when the program is launch.  With great power comes great responsibility.  So first I recommend frequent backups of the Model files.  Next, change only what you really want and need to change.  The Model Editor uses a hierarchical tree view on the left.  As you expand and select branches on the tree on the left side of the screen properties on the right can be updated.  One place to start is the Options branch.  This will allow you to change things like whether or not to show the Font Selection dialog, to Show the counts of records on a child tab, and so on.  



You may also want to select the Navigation Items option in order to change the order of items on the menu, or to change the Navigation from a Tree Style Menu to Navigation Bar style



When you save the changes and the program restarts you can instantly see the results of the change to the Navigation Menu.  By default I have the program set to start with the People List screen.  You may prefer to have another screen come up by default, such as Support Requests or Incidents.  Just choose the startup navigation item from the drop down and when you save and exit the Model Editor your choice will be the new start up item.



While you can change the layout of items by right clicking on a data entry type of form, and this will allow you to change field label text and other things in order to change column headings you would need to use the Model Editor.  Let's do that now.




Further down the tree on the left expand the Views branch - then expand AccessAbleHD2019.Module.BusineesObjects then Expand the Hardware_ListView branch and expand columns.  In this example, we will change the column heading for the Function field to Purpose.  That is the caption.  Notice this field has Predefined Values.  This list of items separated by semicolons will be displayed in a drop down list.  The same thing is the case for Status and Urgency.  So if you wanted to change the values in the drop down list for those items you could just edit the Predefined Values.  In this case I added Undefined to the list.  NOTE:  I have provided more than one List "Views" for Hardware, one with many columns and one with few columns.  You would want to make changes to both list views.




You can make similar changes for Detail Screens. For detail screens instead of the Column branch look for Items as seen below.  



The next screen shots show the changes I made using the model editor.




Another good reason for using the Model Editor is to Add or Change Rules.  You may have noticed certain fields have an * by them to indicate a required field.  An example is the Short Description for a Support Request.  You can also create rules to make a field require a Unique entry.  There are quite a few ways to create Rules to enforce Validity during data entry.  I will show an example of how to create a Required field.





So under the Validation branch I right click on Rules, choose Add, then over to Rule Required Field.  I am going to make the Request Type field required so I click inside the Target Type and scroll down to AccessAbleHD2019.Module.BusinessOBjects.Request Types.  All the target types I will set rules for are under this section (AccessAbleHD2019.Module.BusinessObjects these are the Table - Main Files and Lookup Tables.  




After choosing the Target Type I next choose TargetPropertyName - this is where I will choose the Field in that Table or Business Object.



Next I choose the TargetContextID - this says when will the rule will be checked.  We will choose the Save Context.



The Default ID and Name will be a mix of letters that are not informative.  So we just change the ID to something meaningful like RequestTypeIsRequired then when finished this will fill in the Name the same way.  This makes it easier to read when looking at the Rules that have been set up.  I will also create a rule that makes the Request Type Unique.




Now let me say here that I am requiring an entry, and a unique one at that, for the Request Type Look up field.  I have not set the Request Type field in the Support Requests table (business object) as required or unique, but why?  It may be that you will allow customers to use the web interface to add their own requests - but you might not want them to classify the request.  If I set this field as well as Category and Sub Types fields as required then your customers would have to choose a value for these field in order to save the Support Request record.  Of course you can edit the model to add those rules if you prefer.


To show how these rules work, if I try to save a request type record without typing a value I won't be able to save the Record.  I will see a message telling me that field can't be left blank.



Similarly, if I try to save a value with a duplicate value that will also generate an error message.



Let's talk about the Unique values rule again.  What if you have a Request Type of Install and you want this available for both Request Categories of Hardware and Software.  Once you have added the Request Type of Install intending to use it for Hardware,  you can't add it again.  So what do you do?  Select the Request Category, tab or Request Type and use the Link button to link the existing Install request type to the Software category.


Something else to remember is after making changes to the Model Editor (did you have a backup copy of the model files before making changes?) you need to be sure to save the changes.


There are many other things you can do with the Model Editor, I may post videos on the web site at https://accessablehelpdesk.com so please check periodically.  If you have questions please don't hesitate to email me - even before you buy a site license for the program.