Guides/Report-Lifecycle.md
... ...
@@ -0,0 +1,55 @@
1
+#Report Lifecycle
2
+
3
+[[_TOC_]]
4
+
5
+##About
6
+
7
+The Izenda reports API has a various methods and properties that can be overridden to implement custom functionality that allows you to control reports, charts, and data at a granular level. Below you will find the order in which those methods are called and the context in which it is executed. You can find out more about our settings API by viewing the [[AdHocSettings|/API/AdHocSettings]] page.
8
+
9
+##ReportList.aspx
10
+
11
+The ReportList page is loaded by default when Izenda first starts up or is navigated to on the web. This can vary if a custom solution is implemented, but the basic flow of the page will remain the same.
12
+
13
+[[InitializeReporting|http://wiki.izenda.us/FAQ/InitializeReporting]]
14
+
15
+The first call must be to InitializeReporting before other API calls are made. This sets the groundwork for all reporting operations.
16
+
17
+[[ProcessDataset|http://wiki.izenda.us/FAQ/ProcessDataSet]]
18
+
19
+ProcessDataSet is where the raw data for reports is available for manipulation, and will be called after initialization, but before any caching is performed.
20
+
21
+GetReportListConfig (webServer)
22
+
23
+GetReportListConfig is an ajax call launched by the report list that is necessary to be called before the report list can be initialized.
24
+
25
+ReportListDataLite (webServer)
26
+
27
+ReportListDataLite is an ajax call launched after the configuration is obtained by the report list and returns a JSON formatted object to the javascript callback specified.
28
+
29
+[[FilteredListReportsDictionary|http://wiki.izenda.us/FAQ/FilteredListReports]]
30
+
31
+FilteredListReportsDictionary is called upon requesting the report list data above and can be manipulated in global.asax.
32
+
33
+[[ListReports|http://wiki.izenda.us/FAQ/ListReports]]
34
+
35
+The ListReports method returns a broader range of reports and can also be manipulated in global.asax. This method performs differently depending on if you use DatabaseAdHocConfig or FileSystemAdHocConfig. This will iterate through each report and perform the following operations:
36
+
37
+getreportnamebyid
38
+
39
+This will simply return the report name based on the ID of the report. This will run for each report before any other steps below are run.
40
+
41
+processdataset
42
+
43
+ProcessDataSet is again called
44
+
45
+ClearCachedReportSet
46
+
47
+The cache is cleared in preparation for the new set of reports.
48
+
49
+preloadreportset
50
+
51
+PreLoadReportSet allows you
52
+loadreportset
53
+ReadXml
54
+postloadreportset
55
+caching occurs