1.      Get the data model right

As the sole input to Designer, it’s perhaps obvious that getting the data model right before you start is going to help you.  But, and it’s a big but, we really can’t stress enough that every minute you spend ensuring that your data model is correct could save you hours of development time.  In fact, it is so key to successfully building an application that we were going to make it tip number two (and three) as well.  Don’t rush your design, and don’t rush to move into Designer to start generating. 

If in any doubt about your data model, check it.  And then check it again.

2.      Name tables and columns meaningfully

Designer uses the table and column names within your database schema as literals on pages in your generated application, so it makes a lot of sense to name your tables and columns appropriately and meaningfully.  On top of which, it can help you in the long run too because you’ll have less need to create a data dictionary or document your schema.  And if you’re planning to do lots of code customisation, you can always switch to Visual Studio and use Intellisense to type in the long names for you.

3.      Favour coding efficiency over normalisation

There are definitely scenarios in application development where placing greater importance on the ease of development than the principle of normalisation is sensible.  Over normalising your database, purely to adhere to the principles of normalisation, can result in messy, complicated code requirements which Designer can’t generate for you and which are time consuming to write and expensive to test.  When confronted with the choice between normalising for the sake of it and sticking to simple, generated code, we opt for the latter.

 If you’re a database purist, you’ll disagree.  But I guarantee we’ll build our app quicker than you will and I’ll bet it has fewer bugs than yours too.

4.      Use lookups

Some people find the idea of creating separate lookup tables for every field in your application time consuming, monotonous and over-engineered.  This can certainly seem the case when building a schema for an application with a large number of fields which will require lookups.  Faced with this scenario, you may be tempted to create a single lookup table, with an additional column specifying the type or nature of the lookup value.  You’ll consider then simply filtering the values displayed in the lookup for particular fields.  Look, you’ll say, my data model is now much smaller!  How clever, you’ll think!  Until you start trying to override the populate methods of every single dropdown in the application.

Considering using a single lookup table as above?  Well, don’t.  You’ll thank us in the end, we promise you.

5.      Reuse the application generator

We frequently find that users are unaware that the application generator can be used again after the first generation of the application.  Well, it can, and it’s something that we would recommend you do on a regular basis.  By reusing the application generator, and changing the generation options in each case, you can fine tune each generated page to your requirements at the click of a button.  Run through the pages your app requires and identify pages which have similar design requirements.  Then fine tune your generation options and run an iteration of the generator for each group of pages.  Less manual customisation to do at a stroke.

6.      Use database literals

Weve already suggested naming your tables and columns meaningfully.  But sometimes it just isnt possible to name a column exactly as youd like it appear on your pages.  Thats when you need to move into the Databases tab within Designer and make your changes.  Its often tempting to override the names of columns on a page in the presentation layer but we would strongly advise against it.  Make your changes in the Databases tab and youve made them across your entire application.  Make them on a page and youve only made them on that page.  And, whats worse, is that even if you then change them in the Databases tab, Designer will consider your page-level change as more important and not override it.

7.      Use the formulas tab

The formulas tab is a key tool to take with you on your route to successful app development.  This is true if youre comparatively new to the product and hesitant to get stuck into the code.  But its also true if youre a seasoned developer who is entirely comfortable with coding.  Simply put, the functionality provided by the formulas tab can be included in your app quicker than you can type it and is less likely to have bugs.  Designer will just make life easier for you, such as automatically handling postbacks if required

8.      The code customisation wizard (CCW)

Weve all encountered complex or unusual user requirements and sometimes there is no avoiding having to use code to get the job done.  However, even then, dont forget to look for a code customisation which might give you a head start.  Its unlikely that youll find a code customisation in the wizard which is exactly what you need.  But, if you find something close (and more often than not, you will) then a good chunk of the work is already done for you.  Even if all it does for you is confirm that youre thinking about tackling it in the right way, its worth it.  Check the CCW first.

9.      Use ASCX controls

Spending some time customising a layout?  Think you might ever need to use it again?  Then build it as an ASCX control and include it on the page rather than building it directly onto the page.  ASCX controls are an integral part of Designer but they are commonly overlooked because, in most cases, Designer doesnt automatically generate them.  Building an ASCX control in Designer is just as easy as building an ASPX page.  But unlike an ASPX page, you can reuse them anywhere.  You can even reuse them in other ASCX controls.

Once yo
u realise how much time you can save by using ASCX controls youll use them everywhere. 

10.     Embrace the product.  Work with it and not against it.

Were you a DBA before you came to use Designer?  If you were then the chances are that youll approach developing your app from the database perspective and try to solve all your challenges with triggers and custom stored procedures. 

Were you a developer?  Yes?  Then you might try and code your way through your app development, thinking less about what Designer could generate for you.

Whatever your background, wed recommend that you try to forget some of your past experience when using Designer.  When you fully understand all that the product can do for you, youll find that you design your applications to suit it; leveraging the power of code generation as far as possible before working on customisation.

 

 
 
  
  

 

 

Copyright 1995-2012 Acid Yellow