Application Factory

Labels
AJAX(112) App Studio(7) 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(177) 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(183) 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(2) 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
Application Factory
Sunday, January 23, 2011PrintSubscribe
Mixed Authentication

Code On Time web application generator supports ASP.NET Membership and several other authentication mechanisms. ASP.NET Membership is an attractive option for Internet applications and can be also successfully used in intranet applications deployed within network boundaries of an organization for use by a specific group of business users.

Web application administrator can use the advanced user manager provided with each generated application to create user accounts and manage roles.

Large organizations frequently mandate the need for a single sign-on mechanism to eliminate the need to manage multiple passwords and users accounts.

  1. Typically a user name token is created and validated by the authentication software deployed to the local network. The user name token is embedded into each web request coming to a server. The authenticated user name can be found in a page request header variable.
  2. Another option is to use the active directory identity name that can be available if Windows Authentication is enabled in your web application.

You can take advantage of either option to implement a mixed authentication based on ASP.NET Membership option available in Code On Time database web application. Only the users registered in the ASP.NET Membership database of your application can access the application.  User roles will also be derived from the membership database.

Users can self-registered to use the application and  will be able to access the application page when the user account is approved by administrator. Administrator can also create all authorized user accounts and assign the same “secret” password to all user.

Single sign-on is enabled through changes to the login user control. Open file ~/App_Code/Controls/Login.ascx and modify the code-behind file as shown below.

C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Security.Principal;

public partial class Controls_Login : System.Web.UI.UserControl
{
    
    protected void Page_Load(object sender, EventArgs e)
    {
         // Mixed authentication sample
        if (!Page.User.Identity.IsAuthenticated)
        {
            string userName = null;
            // 1. read the identity from the page request header variable
            userName = Request.Headers["UserName"];
            // 2. read the identity from the identity of the current Windows user
            userName = WindowsIdentity.GetCurrent().Name;
            // simulate the user name and ignore methods (1) and (2)
            userName = "admin";
            if (!String.IsNullOrEmpty(userName))
            {
                MembershipUser user = Membership.GetUser(userName);
                if (user != null)
                    FormsAuthentication.RedirectFromLoginPage(user.UserName, false);
            }
        }
    }
}

Methods of “silent” authentication are marked as (1) and (2). This particular example ignores the obtained information and simply assigns explicitly the user name “admin” to variable “userName”.  Application makes a lookup request to identify the user as a valid ASP.NET Membership user. If that is the case then the user is automatically signed into the web application.

The login control is generated the first time only. Your changes to the code-behind file will stay intact with subsequent code generations.

Adjust the sample to reflect your actual single sign-on method.

Thursday, January 20, 2011PrintSubscribe
Charting Preview

Code On Time announces support for new type of view called “Chart”. The feature is based on the excellent charting capabilities built into chart component available in Microsoft Data Visualization tools.

Chart views are similar to grid views. An additional configuration step requires selection of a chart type.  A developer will also have to indicate which data fields will be rendered as X and Y values. Web application generator automatically configures appropriate presentation for the selected chart type.  A dedicated chart control is created for each chart view defined in an application. This will allow precise customization of the chart presentation.

End User Capabilities

The new feature allows advanced data visualization with adaptive filtering and sorting. 

image

Adaptive filters are available from the first option on the action bar.

image

The next screen shot shows the view with multiple value filters applied to the data.

image

An alternative access to the chart filters is available though the view selector as presented in the next screen shot.

image

Chart views automatically fit into the real estate available in the data view container. Learn more about data view containers at /Documents/UGP2%20-%20User%20Controls.pdf.

image

Availability

The chart view support will be shipped in the release scheduled to go out this week. The initial release will support charting in ASP.NET 4.0 projects only with a limited set of chart types. We expect to support dozens of chart types that will require no programming.

Developers will be able to customize charts manually to take the full advantage of data visualization components.

The feature will be included in Premium and Unlimited subscriptions.

The new feature does not require any external components.

Thursday, January 13, 2011PrintSubscribe
Data Controller URL Parameters

Code On Time applications recognize several URL parameters that allow constructing simple URL actions to open a multiple-purpose page in “new”, “edit” , or “view” mode.

The following URL will start a record in "new" mode.
 
http://dev.codeontime.com/demo/websitefactory1/Pages/Customers.aspx?_controller=Customers&_commandName=New&_commandArgument=createForm1

image
 
The following URL will start the Products page with product #7 displayed in "edit" mode.
 
http://dev.codeontime.com/demo/WebSiteFactory1/Pages/Products.aspx?ProductID=7&_controller=Products&_commandName=Edit&_commandArgument=editForm1

image
 
The following URL will select a Product record with ID = 35 in "view" mode:

http://dev.codeontime.com/demo/WebSiteFactory1/Pages/Products.aspx?ProductID=35&_controller=Products&_commandName=Select&_commandArgument=editForm1

image

The “_controller” parameter is optional if your page presents a single data controller. You have to use this parameter to ensure that master-detail pages will respond correctly. The following URL will navigate to the protected Suppliers page and will select supplier #22 in “edit” mode. You will have to sign in to access the page.

http://dev.codeontime.com/demo/WebSiteFactory6/Pages/Suppliers.aspx?SupplierID=22&_controller=Suppliers&_commandName=Edit&_commandArgument=editForm1

image

Notice that cancellation or successful Insert, Update, or Delete action will automatically navigate back to the previous page that was loaded in the browser prior to navigation with data controller URL parameters. This convenient behavior will save time that is typically needed to write redirection logic in similar situations.