Presentation on theme: "A Programmer’s Discussion of SkyCoder and Crystal Reports"— Presentation transcript:
1 A Programmer’s Discussion of SkyCoder and Crystal Reports Presented by Daniel Hornsby and Michael PreslarNorth East Florida Educational Consortium
4 Enabling SkyCoder for a User In order for a user to begin using SkyCoder, they first must be given rights to it. To enable SkyCoder, edit a Secured User’s account, set “Allow User to Access SkyCoder” to ‘Yes’, and then save the changes. That user will then be able to access SkyCoder for any page by clicking the computer monitor icon in the quick access toolbar.
6 What can you use SkyCoder for? Built-in SkyCoder abilities:Hiding or displaying individual fields.Changing field labels.Flagging fields as required fields.Date validation.Using these provided tools, you can slightly change how Skyward behaves by modifying the page’s normal logic.
8 What can you use SkyCoder for? (cont) Field events are actions taken on objects on the page. Common events include:onload – A page has loaded.onclick – Clicking on an object.onmouseover – Hovering over an object.onchange – An object’s value has changed.onfocus – An object has focus (you are now working with the object).onblur – An object no longer has focus.Skyward provides the ability to auto-generate code to attach on the onchange and onblur events. All other events need to be coded specifically.
9 Example #1 – Hiding a Field Using Skyward’s built-in functions, you can hide a field that your district does not use. The field could be a field intended for another state, or just items that your district does not keep track of. In this example, we will look at hiding some Minnesota fields on the Mass Assign Transportation Category utility template screen.
10 Example #1 – Hiding a Field In this window, in the Processing Options group at the bottom, there are three Minnesota-specific fields that Florida does not use. Instead of instructing your users not to use these fields, you can use SkyCoder to remove them from the page. Once the code is in place, your users never have to know these options were once available.
12 Example #1 – Hiding a Field Close the Mass Assign Transportation Category window and then reopen it. When the window reloads, the three Minnesota fields will be gone. Note that the title on the page is now green and italicized. This indicates that there is an active SkyCoder modification on the page, which is useful when trying to remember which pages have been coded.
14 Example #2 – Adding Tooltips to an Object To add tooltips to an object, you will need to add an attribute to an object using SkyCoder. We’re going to add tooltips to some Grade and General Information fields, found under Student Profile > General > Profile. Specifically, the Retained, Graduated, and Expelled fields.
16 Example #2 – Adding Tooltips to an Object Close the window again and reopen it. Now when you hover over the Retained, Graduated, and Expelled fields, you will see the tooltip display with the text that you entered.
17 Using SkyCoder for DOE edits. Using SkyCoder, it is possible to code select Florida DOE state reporting rules into Skyward. This results in MIS spending less time correcting data entry errors prior to state reporting.One example of a DOE rule that can be coded into Skyward is rule #26 of the Prior School Status/Student Attendance rules, which states:If the Entry Code is E01, then the Prior School/Location: District must be the same as the District Number, Current Enrollment, the Prior School/Location: State/Territory or Commonwealth must be FL, and the Prior School/Location: Country must be US.Using SkyCoder, it is possible to code this logic into the Entry/Withdrawal Maintenance page.
18 Example #3 Cross-field Validation (Entry Code and Prior District) The fields mentioned in the DOE rule can be found on the Entry/Withdrawal Maintenance page under Student Profile > Entry/With.The fields that will be involved in this SkyCoder script will be:Entry CodePrior School’s DistrPrior School State/TerrPrior School Country
19 Example #3 Cross-field Validation (Entry Code and Prior District) To trigger any functions from SkyCoder, you first have to add an event to an object. The object that you will want to attach this code onto is the Entry Code field. Fortunately, SkyCoder also features a way to easily attach events to objects using the Add Event group. Attaching an event to the ‘onblur’ event guarantees that the programming logic will occur every time the field is visited.
20 Example #3 Cross-field Validation (Entry Code and Prior District) Your SkyCoder code should now have a generated function called addEvent, using the values you gave the generator. It’s only a function call, however, so the function’s coding is called from elsewhere.To code the remaining logic in the DOE edit rule, you will need to programmatically obtain the following data:Entry code • Prior StatePrior District • Prior CountryTo do that, you will need the values stored within the fields that contain them.
21 Example #3 Cross-field Validation (Entry Code and Prior District) The resulting code below is a rough draft of the SkyCoder logic that will enforce the DOE rule.
22 Example #3 Cross-field Validation (Entry Code and Prior District)
23 Example #3 Cross-field Validation (Entry Code and Prior District) Once the SkyCoder changes are saved, whenever E01 is entered into the Entry Code field of a new student entry record, the prior district, state, and country fields are automatically updated after exiting the field.Before:
24 Example #3 Cross-field Validation (Entry Code and Prior District) Note the prior district, state, and country fields have been updated. Also note that the description fields to the side of the fields are not populated with the description of the code.After:
25 Example #3 Cross-field Validation (Entry Code and Prior District) Possible improvements to the code could be:An alert message informing the user of the DOE rule.Merging other Entry/Withdrawal rules with this one.Coaxing the description of the prior codes into updating.Reformatting the code to avoid some programming bad practices.Instead of a hardcoded (a fixed value), static (does not change) district number, find a way to possibly make the district number validated against dynamic (value can change programmatically).There are many ways to code this one DOE edit. Experiment with different functions and programming styles and find one that suits you best.
26 Other Possible DOE Edits Some other possible DOE edits that are, theoretically, programmable include:Validate Social Security numbers so that they are valid numbers as defined by the Social Security Administration.If a course number equals , then current instruction/service school number must be a private school.In Transportation, Days in Term must be greater than zero and less than one hundred.Grade Promotion Status must be A, D, P, R, N, or Z.Cumulative, State Grade Point Averages must be greater than or equal to zero, and no higher than 40000, unless it is (with four decimal places).If Entry Code is E05, then grade must be either KG or PK.
27 Advanced Crystal Reports Development Report Cards, SecondaryElementaryMiddleHighStudent Class HistoryTest ScoresEOC Grade VerificationUsing Command TablesDynamic Sorting