Integration/Tutorials/Architecture.md
... ...
@@ -2,19 +2,21 @@
2 2
3 3
[[_TOC_]]
4 4
5
+##Introduction
6
+
5 7
Izenda Reports is a web application that runs on Microsoft's Internet Information Server (IIS). The application is built on Microsoft's ASP.NET platform, and code level customizations can be made in VB.NET or C#. Users connect to our application using a browser, then are served pages and can build reports using the pages. Ultimately, the reports that they build are saved on a server's file system or in a database.
6 8
7 9
Izenda Reports provides architecture centered on customization. The application is built using ASP.NET controls. Building the application using controls allows for a highly extensible object oriented architecture. There are four main components that comprise the user interface (UI). These components are pages in the application with which the user interacts.
8 10
9 11
A general description is given here. For more detail, please click on the page name for more detail.
10 12
11
-Database and Application Performance
13
+##Database and Application Performance
12 14
13 15
Izenda Reports was designed with end-user performance in mind. We are 100% AJAX, desktop applications seem slow in comparison.
14 16
15 17
For optimal performance of your views, and database we suggest indexing any field that maybe joined in views, sorted, or filtered by. For example in SQL this can be done using the index tuning wizard.
16 18
17
-###Report List Page (ReportList.aspx)
19
+##Report List Page (ReportList.aspx)
18 20
19 21
Report List (ReportList.aspx, example here) is first page the user typically interacts with unless given a link to a specific report. This page displays the list of reports. By default, it displays uncategorized reports first (in alphabetical order) and then displays an alphabetized list of the reports by category. If allowed, users may:
20 22
... ...
@@ -22,7 +24,7 @@ Report List (ReportList.aspx, example here) is first page the user typically int
22 24
* Click the modify icon to load the report in the report designer
23 25
* Click the delete icon to delete the report
24 26
25
-###Report Viewer Page (ReportViewer.aspx)
27
+##Report Viewer Page (ReportViewer.aspx)
26 28
27 29
Report Viewer (ReportViewer.aspx, example: here) is used to view a report that has already been designed. Modifications to the report can be made without permanently altering or overwriting the report in any way. If permitted, users may:
28 30
... ...
@@ -32,7 +34,7 @@ Report Viewer (ReportViewer.aspx, example: here) is used to view a report that h
32 34
* Navigate to the report list page
33 35
* Load the report into the report designer page
34 36
35
-###Report Designer Page (ReportDesigner.aspx)
37
+##Report Designer Page (ReportDesigner.aspx)
36 38
37 39
Report Designer (ReportDesigner.aspx, example: here) is used to create and modify reports. The page structure is a tabbed menu at the top, followed by a toolbar of icons, and then the page content. Using this page, users will be able to:
38 40
... ...
@@ -46,11 +48,11 @@ Report Designer (ReportDesigner.aspx, example: here) is used to create and modif
46 48
* Change visual elements of the report, titles, descriptions, colors, etc.
47 49
* Preview the report after selecting all of the above
48 50
49
-###Settings Page (Settings.aspx)
51
+##Settings Page (Settings.aspx)
50 52
51 53
Settings Page (Settings.aspx, example here): the user, typically an admin, can set the most important settings that affect the UI and the application experience with this page. The changes made in the page primarily affect the Report List, Report Viewer, and the Report Designer.
52 54
53
-###The Global.asax file and why it is important
55
+##The Global.asax file and why it is important
54 56
55 57
The Global.asax file, also known as the ASP.NET application file, is a file that contains code for responding to application-level and session-level events raised by ASP.NET or by HTTP modules. At run time, Global.asax is parsed and compiled.
56 58
... ...
@@ -58,7 +60,7 @@ The Global.asax is not a page in the application, it is not served, and it is st
58 60
59 61
Please see the Global.asax section for a full discussion.
60 62
61
-###Web Forms
63
+##Web Forms
62 64
63 65
In order to understand how the pages described above fit into our application and how to modify them, we provide a quick overview of ASP.NET web forms and controls.
64 66
... ...
@@ -66,7 +68,7 @@ Web forms are UI elements which give our web application its look and feel. Web
66 68
67 69
Web forms are made up of two components: the visual portion (the ASPX file such as the ReportList.aspx page), and the code behind the form, which resides in a separate class file (ReportList.aspx.cs).
68 70
69
-###Controls
71
+##Controls
70 72
71 73
ASP.NET controls are components that are created and run on the server and encapsulate the user-interface and other related functionality. They are used in ASP.NET pages (ASPX) and in ASP.NET code-behind classes ( ASPX.CS or .CS ).
72 74
... ...
@@ -74,14 +76,14 @@ After performing whatever operation they are designed to do, the control renders
74 76
75 77
However, the same DropDownList control might render WML if the target is a portable phone. ASP.NET controls do not necessarily map to any one markup language, but have the flexibility to target the appropriate markup language.
76 78
77
-###How Izenda Reports Uses Web Forms and Controls
79
+##How Izenda Reports Uses Web Forms and Controls
78 80
79 81
80 82
Each page in our application is a web form which contains the appropriate controls. As an example, let's examine the Report List ASPX page. It can be found in the root Izenda Reports application directory (ReportList.aspx). The page contains an include directive so that the code behind (ReportList.aspx.cs) is used if modified. It contains the standard html tags, then it includes a header user control which can be customized to our application's specifications. The server controls are placed between the ``` <FORM> </FORM> ``` tags.
81 83
82 84
When overriding the default behavior of pages, you may include other user or server controls by editing the code behind for the pages or by recompiling Izenda Reports into your web application.
83 85
84
-###Izenda Reports Customization via Code
86
+##Izenda Reports Customization via Code
85 87
86 88
By default, Izenda Reports allows many different settings customizations. However, when integrating, you may have to write custom code. Izenda Reports is an object oriented ASP.NET web application, and so it uses the concept of "classes" for maximum flexibility and organization.
87 89