74f68687c3710873fe07fc16fa4b6b19ee946c83
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 |