Data Aquarium Framework

Labels
AJAX(112) App Studio(9) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(178) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(184) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(3) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Data Aquarium Framework
Thursday, March 25, 2010PrintSubscribe
Customizing Web.Config

Code OnTime Generator automatically creates a web.config file for each generated application to ensure that all requested application features will function properly. Every code generation session automatically erases the previous version of the web.config.

You can add custom-tailored web.config entries that will complement the standard configuration file created by code generator.

Run the code generator and select your project. Follow the steps in the project wizard until you reach the Web Server topic. Under the label Web.Config modification instructions you can enter the instructions that will force the code generator to customize the generated web.config during each code generation session.

image

AppendChild Instruction

Suppose you want to add application settings that will drive the web site behavior. Instruction AppendChild will insert two add elements as children of the appSettings element. Note that text in bold is a part of modification instruction.

AppendChild: /configuration/appSettings

<add key="Setting1" value="Value1" />
<add key="Setting2" value="Value2" />

Here is the snippet of the generated web.config:

<configuration>
  <configSections>
    ...........
  </configSections>
  <appSettings>
    <add key="Setting1" value="Value1" />
    <add key="Setting2" value="Value2" />
  </appSettings>
  <connectionStrings>
    <add name="MyCompany" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  .............

The instruction must be followed immediately by a “:”character, a space, and XPath expression that directs the code generator to the existing section of the configuration file.

Don’t be deterred if you are not familiar with XPath. Think of the web.config configuration elements as files and folders in a system of directories. XPath expression is simply a path to an element. Use forward slash to prefix every “file name” on the path and you will do just fine. In our example the instruction is AppendChild and the XPath expression is /configuration/appSettings.

The instruction line is separated with at least one blank line from the actual XML snippet that must be inserted into the configuration file.

You can enter as many instructions and snippets as needed. Simply make sure to have a least one blank line separating any snippet from the next instruction.

InsertBefore and InsertAfter Instruction

Instructions InsertBefore and InsertAfter will allow insertion of a sibling snippet on the same level as the element address by the  XPath expression of the instruction. InsertBefore will insert a snippet above the target element, while InsertAfter will create a sibling snippet right after the target element.

Consider this example:

AppendChild: /configuration/appSettings

<add key="Setting1" value="Value1" />
<add key="Setting2" value="Value2" />

InsertBefore: /configuration/appSettings/add[2]

<add key="Setting3" value="Value3" />

Here is how the web.config will look if you generate your project:

<configuration>
  <configSections>
    .....................
  </configSections>
  <appSettings>
    <add key="Setting1" value="Value1" />
    <add key="Setting3" value="Value3" />
    <add key="Setting2" value="Value2" />
  </appSettings>
  <connectionStrings>
    <add name="MyCompany" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  ..................

Notice that InsertBefore instruction uses XPath expression /configuration/appSettings/add[2]  to indicate that the target of insertion is the second add element under the appSettings node in configuration file. This results in insertion of the key Settings3 just above the key Setting2.

Adding References to Components

Suppose you decided to place a chart component from Microsoft Chart Controls for Microsoft.NET Framework 3.5 on a user control of a Web Site Factory application created as described at http://www.youtube.com/watch?v=8WLl_p-lM1Y.

If you drag the Chart component from the tool bar and drop it on a user control then five component-specific entries will be created by Visual Studio in the web.config file of your project. Open the configuration file in Visual Studio and search for “chart” to locate every snippet.

The next code generation session will re-create the web.config file and the settings will be lost. Use the following web.config modification instructions to register the chart control in your code generation project.

AppendChild: /configuration/appSettings

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />

AppendChild: /configuration/system.web/pages/controls

<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

AppendChild: /configuration/system.web/httpHandlers

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

InsertBefore: /configuration/system.webServer/handlers/add[@name='ScriptHandlerFactory']

<remove name="ChartImageHandler" />

AppendChild: /configuration/system.webServer/handlers

<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

Monday, March 8, 2010PrintSubscribe
Many-To-Many Fields, Code Defaults, Code Filters

The latest release of the Web Site Factory and Data Aquarium premium projects support many-to-many fields, code defaults, and code filters.

Many-To-Many Fields

Learn to define many-to-many fields in ASP.NET AJAX applications without writing a single line of code with Code OnTime Generator. We will show you how to use the Check Box List lookup style with Target Controller property to create many-to-many fields. Automatic insertion and deletion of records in the junction table is supported and explained in the code walkthrough.

Many-To-Many Fields in ASP.NET AJAX Web Apps

Watch the video tutorial on our YouTube channel at http://www.youtube.com/watch?v=Uv7aczHORmc.

Many-to-Many Fields (1409K)

Here is a screen shot of a many-to-many field in action. The five-column list of the territories is displayed at the bottom of the Employee form. The territories that are assigned to the employee are checked.

image

Code Defaults

Learn to assign default values to fields displayed in views of new records in ASP.NET AJAX web applications.

Default Values in Forms in ASP.NET AJAX Web Apps

Watch the video tutorial on our YouTube channel at http://www.youtube.com/watch?v=hdq6I1EVybE.

The screen shot shows the Order Date field of a new order set to a default value.

image

This is how the default value is specified in Code OnTime Designer.

image

Code Filters

Code filters allow to specify a filtering expression automatically embedded into the auto-generated business rule class to programmatically filter out the records in data views.  Learn to create shared programmatic filters to control data access in Web Site Factory applications.  We will explain creation of code filters and provide a C# and VB.NET examples.

Shared Programmatic Filters in ASP.NET AJAX Web Apps

Watch the video tutorial on our YouTube channel at http://www.youtube.com/watch?v=ndaj4ydsiiM.

Sunday, March 7, 2010PrintSubscribe
How do I display a path stored in a field as an image?

Question:

Do you have an example of how we can display the image by using the DataFormatString and HTMLEncode? Basically, our database has a field "photo_url" which store the path to the photo in the file system. Can it behave like an image field in terms of presentation?

Please try the following:

1. Start the code generator, click on the name of your project and press "Design" button, select the data controller name and add a new field to the data controller.

2. If the name of the image field is "PhotoPath" then name the new field "PhotoPathImage".

3. Set the type of the new field to "String".

4. Set "Allow null values." to true.

5. Check "The value of the field is computed at runtime" and enter the same snippet from the data controller's command command1 that selects the actual field "PhotoPath". For example, the Northwind's database Employees.PhotoPath will look as follows:

          "Employees"."PhotoPath".

6. Assign a label to the new field. For example, "Photo Path"

7. Uncheck HTML encoding.

8. Enter <img src="{0}"/> as a data format string.

9. Save the field.

10. Add a new data field to grid1 or editForm1 and set its FieldName to PhotoPathImage.

The field will be presented as an image.