Dynamic report options pages operate by communicating with the report server, getting the options that should be shown to a user and displaying them. It is intended as a drop in alternative to running reports on the report server itself and custom JSP pages. It offers a few advantages over current available functionality:
- Infinite Campus uses the stored and encrypted credentials that were entered when setting up the report server, so users do not need to have their own credentials to run reports. See SSRS Server Configuration for more information.
- Since the request is coming from the Infinite Campus application server, it will not run into issues related to firewalls.
- It should look and feel like other Infinite Campus tools.
- Less to maintain for districts.
- Higher level of security.
Setting Up Dynamic Report Options
To get started, set up the connection to the report server and map the report into the outline.
Assuming the report has no parameters, you should be able to visit the link that was created and run the report from there. If there are parameters, you need to know there is built in handling for specific context values based off the configured name in the SSRS report.
While any usages of these parameters require matching case sensitivity, consider non-case sensitive matches to be reserved as well.
Parameter name | Value | Notes | Field type |
calendarID | Selected calendarID | 0 for all calendars, -1 for no calendars | Text suggested |
schoolID | Selected schoolID | 0 for all schools, -1 for no schools | Text suggested |
districtID | Selected districtID | No notes | Text suggested |
year | Selected school year | 0 for all years, -1 for none | Text suggested |
currentUserID | Logged in user’s userID | No notes | Text suggested |
selectedPersonID | Selected personID | Will display NULL if Person is not selected in Context Type field. | Text suggested |
selectedSectionID | Selected sectionID | Will display NULL if Section is not selected in Context Type field. | Text suggested |
selectedCourseID | Selected courseID | Will display NULL if Course is not selected in Context Type field. | Text suggested |
Anything starting with ‘studentAdhoc_’ | Not automatic, but special behavior | Student adhoc filter picker. Will be passed as a list of personIDs from the filter after it has been evaluated. | Text, must allow multiple values and allow blank value (""). Cannot be required. |
connectionString | Connection string to campus database | If you want to build the connection string dynamically this will allow you to do it. | Text suggested |
auto_districtNumber | Selected districtNumber | No notes | Text suggested |
auto_schoolNumber | Selected schoolNumber | No notes | Text suggested |
If any of the above fields have Available Values defined (such that they would show up as drop-lists or multi-selects in SSRS), the report owner needs to ensure that those values include what will be sent. If a value is sent to SSRS that the report does not consider valid, it will error. The error text on this error may not be particularly descriptive or useful.
The following fields are either used internally or reserved for future use:
Parameter name | Notes |
contextCalendarID | Used by adhoc filters, internal |
contextEndYear | Used by adhoc filters, internal |
selectedCourseMasterID | Reserved for future use |
selectedHouseholdID | Reserved for future use |
selectedGroupID | Reserved for future use |
selectedAddressID | Reserved for future use |
selectedPOSAccountID | Reserved for future use |
selectedUserID | Reserved for future use |
selectedPersonnelID | Reserved for future use |
auto_ | Reserved for future use |
To require fields, they should be marked as not allowing null values with the following exception:
- Any parameter that uses ‘Allow multiple values’ must use ‘Allow blank value’ to determine if it is required since those fields can’t take nulls.
Letting the report server determine values via queries, and updating the values based on user input, is supported and should work as expected. Be aware that as those queries may run multiple times, so they should be relatively performant.
Restrictions
- Validation beyond fields being supported and in the list of options Infinite Campus receives from the report server is not supported at this time, this includes custom validation messages and custom validation expressions.
- Links to images or other reports in Word/HTML report formats are not supported and may cause users to be prompted for SSRS credentials.
- Default-dependent values will not show in their respective fields within SSRS Dynamic Report screens due to a limitation with Microsoft's SSRS SOAP API. For example, if you have a Calendar field and a Grade Level field, the Grade Level will not populate a default value based on the Calendar field's default value.