Home

Advanced User Guide for Database Extensions

image

Contents

1. You decide which page s to customize and then choose an insertion point on the page With these two pieces of information a page fragment file can be created on the local file system often referred to as the custom web_root or in the Custom Web Page Management feature in the PowerSchool System Administrator application When rendering the page PowerSchool will gather together all the page fragment insertions for that page and render them as inline HTML with the page Note that each insertion point may have multiple inserted page fragments for any given page and will all be rendered on the page See Appendix A for a complete list of insertion points Page Fragments A page fragment is simply a snippet of content to be added to a target page It could be something simple like the following example p Hello world I m an auto inserted page fragment lt p gt Or a page fragment could be a complex combination of HTML code and jQuery scripts Because page fragments will be inserted in to existing PowerSchool HTML pages they do not require any of the standards HTML lt head gt lt body gt or other tags The main page already contains those tags Custom Insertion Points and Page Fragments 12 PEARSON Advanced User Guide for Database Extensions Standard Insertion Points PowerSchool includes a set of standard insertion points available on every page This means that typically you never need to think about insertion points
2. pea Been OOOO Publisher Contact Enter the contact email for the person creating this plugin Email Plugin File Name Enter the file name for the plugin The zip extension will automatically be added Select Individual Navigate to and select the files to be included in the Files package Only modified or added files appear The list includes both web files and database extensions which are listed under the user_schema_root folder at the end of the list When a file is selected it appears in the Selected Files box Select Files By Select files by searching for the file name Enter the name Search Mask of a file to search for and click Search All files matching the term are added to the Selected Files box Use an asterisk as a wildcard character For example lap would add the file admin students laptop html or html would add all custom files that end in html Selected Files A list of all selected files appears Select one or more files and click Remove Selected to clear those selections from the list 4 Click Create Plugin Zip File The system creates the required plugin xml file and packages it and the selected extension files in one zip file that you can download Note If your browser preference is set to open safe files after downloading disable this preference before creating the zip file Otherwise you will have to re zip the package files before you import the package on the Plugin Install page Known Iss
3. In older versions of PowerSchool the frn tag would always be 005 4 Teachers DCID The Teachers table was table 005 So for a staff member with a DCID of 134 the frn would return 005134 Starting with PowerSchool 7 9 and the ability to create database extensions to the Users table 204 or SchoolStaff table 203 it is critical to create page links that pass the proper FRN For example you want to create a database extension to the Users table and a custom web page to track teacher credentials After creating a U Certificates extension table use the following tlist child tag on your custom web page to create view and delete records aycol s CredNum CredType Credissu tlist child Users U Credentials U Certificates displ edential Type Credential er CredStart CredEnd fieldNames Credential Number Cr Issuer Start Date Expires Date type ht ml Page Customization and Database Extensions 10 PEARSON Advanced User Guide for Database Extensions Because the records on this page all relate to the Users table table 204 construct your page link using 204 teachers USERS_DCID rather than frn or the tlist_child table will not function properly This is what the link might look like lt a href credentials html frn 204 teachers USERS DCID gt Credenti als lt a gt This will ensure the records in the tlist_child table use the DCID field from the Users table rather than the Teachers table Page Customi
4. Sample Code Various Form Elements Using One To One Extensions lt Entry Field gt lt tr gt lt td class bold gt Model Number lt td gt lt td gt lt input type text name Students U Laptop Model Number value size 15 gt lt td gt lt tr gt lt Static Read Only Field Display gt lt tr gt lt td class bold gt Barcode Read Only lt td gt lt td gt Students U Laptop Barcode lt td gt lt tr gt lt Static Read Only Field Inside Input Box gt lt tr gt lt td class bold gt Barcode Read Only lt td gt t d input type text name Students U Laptop Barcode valuez readonlyz readonl y td lt tr gt lt Radio Button gt lt tr gt lt td class bold gt Operating System lt td gt lt td gt lt input type radio name Students U Laptop OS value Windows gt Windows lt input type radio name Students U Laptop 05 value Mac gt Mac lt td gt lt tr gt lt Check Box gt lt tr gt lt td class bold gt Laptop Lost lt td gt Page Customization and Database Extensions 3 PEARSON Advanced User Guide for Database Extensions lt td gt lt input type checkbox name Students U _ Laptop IsLost value 1 gt lt td gt lt tr gt lt Drop Down Popup Menu gt lt tr gt lt td class bold gt Manufacturer lt td gt lt td gt lt select name Students U_ Laptop Manufacturer g
5. displaycols Institution Request Dat e Request Status Scholarship Complettion Date Outcome Notes fieldNames Instituti on Req uest Date Request Status Scholarship Completion Date Outcome Notes type html Using A Proper File Record Number FRN For Staff In order to allow Teachers to access multiple schools using a single account with the Unified Teacher Record feature it was necessary to split the TEACHERS table into two different tables A USERS table to contain all data directly related to the user and the SCHOOLSTAFF table to contain all data directly related to the Teacher School relationship For more detailed information see Knowledgebase article 69896 Technical Information and Field List for Unified Teacher Record available on PowerSource Understanding this new table structure for staff will be important when creating custom pages for staff that use the tlist child tag When creating a link to the new custom page the proper FRN must be part of the link Historically this has been done by adding frn frn to the end of the link For example lt a href z schedulematri x htm frn frn gt schedulematrix html is the page we are linking to frn is located immediately after the page address rv frn is a special tag that would insert the full proper FRN for the staff member currently being viewed on the staff page An FRN consists of two parts the 3 digit table number and the DCID field from that table
6. stylesheet media print gt head body form action admin changesrecorded white html method POST gt we admin_ header frame css breadcrumb start gt lt a href admin home html target top gt Start Page lt a gt amp gt a href home ht ml selectstudent nosearch target top gt Student Selection lt a gt amp gt College Applications lt breadcrumb end gt wc admin navigation frame css Page Customization and Database Extensions 6 PEARSON Advanced User Guide for Database Extensions we title_ student begin css College Applications wc title student end css lt start of content and bounding box gt div classz box round tlist child STUDENTS U_COLLEGEAPP U APPLICATIONS displaycols Institution Request Dat e Request Status p In Compl ettion Date Out come Notes fieldNames Institution Req uest Date Request Status Scholarship Completion Date Outcome Notes type html lt script type text javascript gt var InstValues InstValues 1 Option 1 DE MIC Option 2 InstValues 3 Option 3 InstValues 4 Option 4 InstValues 5 Option 5 InstValues 6 Option 6 InstValues 7 Option 7 InstValues 8 Option 8 InstValues 9 Option 9 InstValues 10 Option 10 tlistText2DropDown I NSTI TUTI ON Inst Values lt script gt lt br gt div class button row gt lt input type hidden name ac
7. Fragments above The page fragment content is wrapped within a jQuery script The following example displays sample code using jQuery rather than an XML file for the emergency numbers example script j hl append span style align right position relative z index 10 gt lt a class dialogDivC title Emergency Numbers href hiddenDi vDi al 0g gt lt img src images emergency_number png gt lt a gt lt span gt lt script gt lt div id hiddenDi vDialog class hide gt lt ul Cl assalt ext gt li Police Fire Ambulance 911 lt li gt li Poison Control 1 800 222 1222 lt li gt lt li gt Superintendent s Office 555 555 1000 lt li gt li gt General Hospital 555 555 0911 lt li gt lt li gt Children s Hospital 555 555 2300 lt li gt li Gas Leak 888 555 6000 lt li gt lt li Mechanical Issues 555 555 1043 lt li gt lt li gt District Emergency Notification System 877 555 9911 lt li gt lt ul gt Custom Insertion Points and Page Fragments 18 PEARSON Advanced User Guide for Database Extensions lt div gt Example screenshot of results after clicking on the telephone icon Start Page Emergency Numbers SEND e Police Fire Ambulance 911 Students Staff Parents Poison Control 1 800 222 1222 e Superintendent s Office 555 555 1000 e General Hospital 555 555 0911 Children s Hospital 555 555 2300 e Gas Leak
8. Headers gt type For mat Name gt ic lt List of Fields gt The following provides additional information on this tag The lt CoreTableName gt lt ExtensionGroup gt lt ExtensionTable gt narrows the query down to a single child table For example a child table to track college applications could be Students U_CollegeApp U_Applications The displaycols are a comma separated list of fields from the one to many table and can include any or all of the defined fields in that table Two special ID fields may also be referenced ID and lt CoreTableName gt DCID In the college example above this would be STUDENTSDCID Page Customization and Database Extensions 4 PEARSON Advanced User Guide for Database Extensions The fieldNames are a comma separated list of the labels that should appear in the auto generated HTML table heading These labels may contain spaces The type parameter specifies a format Valid format options are html or json o html Automatically generate an HTML table that allows for dynamic record creation and deletion o json The output of the tlist_child will be a JSON array with an object name of Results It is not necessary to include fieldNames when using JSON The first field in the array will always be the ID field Add the tlist_child tag wherever you would like the table to appear on your page The following is an example for the college application tracker page tlist child STUDENTS U COL
9. If any of the plugin s file assets you are importing already exist in the Custom Web Page Management site structure PowerSchool will display an error message with details of the problem and the plugin file will not be installed This is to help ensure that different plugins do not overwrite each other Important Information on Plugin Package Enable Disable Delete When the Disable function is selected for a plugin on the Plugin Management Dashboard all associated assets database extensions page customizations message keys etc are disabled as well Custom pages and files associated with a plugin package will not be served from the Custom Web Page Manager while a plugin is disabled Currently PowerSchool does not have a mechanism to indicate if a custom page is associated with a plugin when viewed in the Custom Web Page Manager When the Delete function is selected for a plugin on the Plugin Management Dashboard all file assets associated with a plugin are deleted However deleting the plugin will not delete any tables and fields from the Oracle database that were created by a database extension definition Plugin Packages 23 PEARSON Advanced User Guide for Database Extensions Appendix A List of Insertion Points Page URL admin constraints menu html admin faculty more2 html admin powerschedule menu html admin powerschedule menu_task_nav html admin powerschedule constraints menu html admin powerschedule cours
10. as check boxes Special code and tags have been created which allow the remaining input fields to be changed to drop down menus radio buttons text area or static text It is possible to modify the width of the input fields using Cascading Style Sheets Drop Down Menu Example Within the lt head gt tag add the tlistCustomization js JavaScript file Within the lt form gt tag use tlist_child or tlist_standalone tag to add the tlist auto generated table Directly after the tlist tag use a script similar to the following example for field s you want to change from input text to a drop down menu The script will define the drop down menu options that should be displayed to users and be assigned a variable name Any variable name may be used This script could be repeated if more than one field needs to be displayed as a drop down menu In this case unique variable names must be used for each After the variable defines the value options the following command completes the script tlistText2DropDown lt FieldName lt JavaScript_Variable_Name gt lt DOCTYPE html gt lt ht ml gt lt start right frame gt lt head gt lt title gt College Applications lt title gt we commonscri pts lt script language JavaScript src scripts tlistCustomi zation js type text javascript gt lt script gt lt link href images css screen css re lt link href images css print css rel stylesheet media screen gt
11. nennen nnn nnn 4 tist Hilde eR rev uiv ex uva Ecc ev em rk Ro ve Casas Den CURVE E CE Vena eae o CAR TOR 4 Independent Table Extensions eusssrsnennnnnnnnenn nenn nn nennen nun nnn nenn enn nnn nennen nn nnn 5 List standalone at a eta eek oh eR Tek a ER DE DE ETE eur ior 5 Special Formatting of tlist child and tlist standalone Columns eese 6 Using A Proper File Record Number FRN For Staff cccccecceeseeceeeeeeeaeesaeeeeeeaees 10 Custom Insertion Points and Page Fragments uanunuanannananunnannanannanannanannanannanen 12 HOW It WOFKS 2 iiite cepe tale ee Feet lade Ci d a de Du LER E Ce XR BA OA RUE ash Pa pir Fb taii 12 Page EradtriSntss ees eee EPI EE RR RERUM EAE RE DR ER RERS 12 Standard Insertion Points pises nen naian eee eee eee nun nun nun eee eee ene eene 13 Specify Insertion POINKS ccccecccee cence eee eee ennemis nennen ESSE rna rns 13 Auto Insertions How to Use Defined Insertion POints ceeeeeeeeeee eee eee nn 14 URL Based Auto Insertion of Page Fragment ceeceeeeee eee ee eee ee eee eee een 14 Wildcard Based Auto Insertion of Page Fragments cccceeeeeeee eee eee nennen nenne 16 Moving Inserted Page Fragments To Another Location On the Target Page 16 XML Based Movement of Page Fragment cececeeeeee nennen nun nnnnan nenne nennen 17 jQuery Based Movement of Page Fragments 2z4usHsnnnnen mann an een nennen nennen nenn 18 U
12. the common ones will be available to you This also has a benefit in allowing standardized naming you will not have one page where the footer insertion point is called content footer and another where it is called content_footer The following insertion points should be available on every page in PowerSchool content header top of the page above the blue bar content footer near the bottom of the page above the copyright bar within the content area leftnav footer right below the left navigation but above any PowerSource and or Mobile App content page header located within the commonscripts wildcard should rarely be used The following example displays the first few lines of code from the admin_footer_css wildcard lt div id cust content footer gt cust insertion_point content footer lt div gt lt div id legend style displ ay none gt lt h3 gt text psx txt wil dcards admin footer css legend h3 di v di v end content mai n 5 The very first line defines an insertion point with a name of content footer Special Cases On the Visual Scheduler and Seating Chart pages the content footer will be hidden and unsupported Specify Insertion Points You can add your own insertion points Note that the standard insertion points use this same naming scheme just in standard header and footer files To define an insertion point within the HTML of a PowerSchool page use the follo
13. value prim gt submit button di v lt di v br lt end of content of bounding box gt wc admin footer frame css lt form gt body lt html gt lt end right frame gt Radio Button Example Within the lt head gt tag add the tlistCustomization js JavaScript file Within the lt form gt tag use tlist_child or tlist_standalone tag to add the tlist auto generated table Directly after the tlist tag use a script similar to the following example for field s you want to change from input text to radio buttons The script will define the radio buttons that should be displayed to users and be assigned a variable name Any variable name may be used This script could be repeated if more than one field needs to be displayed as a radio buttons In this case unique variable names must be used for each After the variable defines the value options the following command completes the script tlistText2RadioButton FieldName JavaScript Variable Name Page Customization and Database Extensions 7 PEARSON Advanced User Guide for Database Extensions Note The following is the same code as the drop down example but only the tlist_child and script are shown tlist_child STUDENTS U_COLLEGEAPP U APPLICATIONS displaycols Institution Request Dat e Request Status Scholarship Compl ettion_ Date Outcome Notes fieldNames Institution Req uest Date Request Status Scholarship Compl
14. 555 0911 e Children s Hospital 555 555 2300 Gas Leak 888 555 6000 Mechanical Issues 555 555 1043 District Emergency Notification System 877 555 9911 Wildcard Based Auto Insertion of Page Fragments Wildcard based auto insertions are exactly the same as URL based insertions except for the method of determining the file name wildcards some wildcard name EXTENSION NAME INSERTI ON POI NT NAME txt Note that the content will be inserted on every page where this wildcard is used This means you can cause the same inserted content to show up on many pages by associating with a common wildcard file that is used on all of those pages For example since commonscripts txt is included on every PowerSchool HTML page you can cause content to be inserted at the top of every page in the system by creating a file named like wil dcards commonscripts EXTENSION NAME page header txt Note that the page fragment file will always be placed in the wildcards folder Moving Inserted Page Fragments To Another Location On the Target Page In many cases the predefined insertion point is not the location on the page where you would like to dynamically insert your page fragment contents Rather than adding a custom insertion point to the page which would once again require modifying the source page different techniques can be used to dynamically move the contents of the page fragment to a different location on the page Examples might includ
15. 888 555 6000 Mechanical Issues 555 555 1043 ABCDEFGH District Emergency Notification System 877 555 9911 PK4 K 12 3 4 5 Browse Students l Custom Insertion Points and Page Fragments 19 PEARSON Advanced User Guide for Database Extensions Upload Custom Web Page Files To upload Custom Web Page files use the PowerSchool System Administrator application For more information see the Custom Web Page Management User Guide available on PowerSource Plugin Packages Plugin packages offer a new way to distribute custom solutions between different PowerSchool servers The creation of a plugin package builds a single complete zip file containing database extensions custom pages and page fragments and any associated message keys that have been extracted from the custom pages included in the package Message keys include one or more language translations of text on a custom page ZIP File Format The zip file must be in a specific format Any contents of the zip file that do not conform to the following specifications will be ignored An XML file named plugin xml must be in the root directory of the zip file This file is mandatory If the uploaded zip file does not contain it the plugin installation process will fail Zero or more database extension definition files under the zip file directory user_schema_root Each is an XML file describing a database extension Zero or more page customization files under the zip file dire
16. Advanced User Guide for Database Extensions ALWAYS LEARNING PowerSchool Student Information System PEARSON Released March 2014 Version 1 2 Document Owner K 12 Sales This edition applies to Release 7 11 x of the PowerSchool software and to all subsequent releases and modifications until otherwise indicated in new editions or updates The data and names used to illustrate the code examples reports and screen images may include names of individuals companies brands and products All of the data and names are fictitious any similarities to actual names are entirely coincidental PowerSchool is a trademark in the U S and or other countries of Pearson Education Inc or its affiliate s Copyright 2014 Pearson Education Inc or its affiliates All rights reserved All trademarks are either owned or licensed by Pearson Education Inc or its affiliates Other brands and names are the property of their respective owners Advanced User Guide for Database Extensions Contents Introduction zuunsananunnannanannnnannanannnnannanannnnannanannanannanannanannanannanannanannananannanannanannanen 2 Page Customization and Database Extensions unuanunnanunnnnnnnanunnanunnannnnanunnannnn anne 3 One To One Table Extensi n Spss anO A AER seems semen meses 3 Sample Code Various Form Elements Using One To One Extensions 3 One To Many Table Extensions zesssennnennnnnennenen nen nnnnn nennen nennen
17. Extensions Plugin Package Example Layout The following is an example layout for a Laptop zip plugin package The file names in red must be as shown The user_schema_root folder will not be included in a package that contains only web page files The MessagerKeys folder will not be included in a package that does not contain custom message keys bd plugin xml Y MessageKeys l Laptop CA fr properties Laptop US en properties E Laptop US_sp properties Y L4 user_schema_root l u laptop xmi Y LL WEB ROOT Y admin v students laptop html C It is possible to unzip a plugin package you download from the Internet examine or change the contents to suit your PowerSchool installation and then re zip the file to be imported For example if you wanted to change the field names used in the package you could modify the database extension XML file and any web pages that referenced those fields Creating a Plugin Package To create a plugin package navigate to the Create Plugin Package page select which assets should be included then click the Create Plugin Zip File button 1 Sign in at the District Office 2 Navigate to https lt server gt admin customization CreatePackagePage action The Create Plugin Package page appears Plugin Packages 21 PEARSON Advanced User Guide for Database Extensions 3 Use the following table to enter information in the fields Note Asterisks indicate required fields
18. LEGEAPP U APPLICATIONS di splaycols Instituti on Re quest Date Request Status Scholarship Completion Date Outcome Notes fieldName aa Date Status Scholarship Compl etion Date Out come Notes type htm Independent Table Extensions An independent table extension creates a table that is not associated with any existing PowerSchool table Examples of existing independent tables in PowerSchool are States CountryISOCodeLU LocaleTimeFormat and MIMETypes To view store and retrieve data from your own independent tables use a special HTML tag called tlist_standalone This tag can auto generate an HTML table to display your rows of records including an Add button and Delete buttons for each row that has been created tlist_standalone The following is the format for the tlist_standalone HTML tag al list standalone lt ExtensionGroup gt ExtensionTable displaycols List of Fields E el dNames List of Column Headers gt type Format Name gt The following provides additional information on this tag The lt ExtensionGroup gt lt ExtensionTable gt narrows the query down to a single independent table For example an independent table created to maintain a master list of all higher education institutions could be U CollegeApp U Institutions The displaycols are a comma separated list of fields from the standalone table and can include any or all of the defined fields in that table A database record ID field ma
19. ame directory as the source page s file some page prefix must be the same as the name of the source page without the extension i e html FRAGMENT NAME any arbitrary name to help identify the page fragment and keep its name unique PowerSchool allows multiple fragments to be inserted in to the Custom Insertion Points and Page Fragments 14 PEARSON Advanced User Guide for Database Extensions same page without impacting each other If multiple page fragment insertions are defined for a page the insertion order is intentionally undefined INSERTION_POINT_NAME must match the name of the insertion point to be used in the page to be customized i e content footer txt page fragments are always named with extension txt Example District administrators have requested that a table with emergency phone numbers be placed just below the What s New box on the Start Page Examining the HTML source code for admin home html shows you 73 lt end of search menu gt 74 lt form gt 75 lt div gt 76 we admin_ startpage whats new 77 we admin_ footer css Line 76 inserts the wildcard wildcards admin_startpage_whats_new txt Line 77 inserts the wildcard wildcards admin_footer_css txt which begins with a content footer insertion point If you create a page fragment and use the content footer insertion point on the Start Page the table of emergency numbers would be displayed just below the What s New b
20. ctory WEB_ROOT These may include various types of web files listed below under Installing a Plugin Package Zero or more MessageKey properties files directly under the zip file directory MessageKeys There must be one file per localization The name of the MessageKey properties file is PluginName locale properties where locale is the upper case standard country code followed by an underscore followed by the lower case standard language code For example PluginName US_en properties MessageKey Properties File Format MessageKey properties files are auto generated when the Plugin Package is created and not normally created manually They contain a list of custom message keys used on a particular custom page Each line in the file contains a Key Name Value pairing The Key Name is psx htmlc directory_path pagename original text translated text psx htmlc the standard prefix for messagekeys on customizations directory_path an underscore separated version of the path original_text the original text with spaces replaced by underscores For example CA_fr Canadian French key value pairs for the phrases Operating System and Model Number on page admin students laptop html would look like this psx htmic admin students laptop operating system Syst me d exploitation psx htmlc admin students laptop model number Num ro de mod le Upload Custom Web Page Files 20 PEARSON Advanced User Guide for Database
21. e adding a link to the student pages menu admin students more2 html adding a link to a custom report on the System Reports menu or adding additional input fields to the student demographics page In each of these examples our page fragments could be added to each page using the standard insertion points on each of those pages but our page fragment content would look out of place near the bottom of each page if we used the content footer insertion point Use one of the following methods to move your content Custom Insertion Points and Page Fragments 16 PEARSON Advanced User Guide for Database Extensions XML Based Movement of Page Fragments To move your page fragment contents to a specified location on the target page create an XML file that is paired with your page fragment file As with page fragments the name of the XML file is critical Create an XML file with the following naming convention ladmin some directory some page FRAGMENT NAME INSERTI ON POINT NAME xml The name is the same as the page fragment file it is paired with except with an xml file extension instead of a txt file extension To move your content to a different location on the page the contents of the XML file should use the following format 1 insertionMetadata xml nsz http www powerschool com 2 xml ns xsi z http www w3 0rg 2001 XMLSchema instance 3 xsi schemalocation http www powerschool com insertionmetadata xsd gt 4
22. ecatalog menu html admin powerschedule coursegroups menu html admin powerschedule faculty menu html admin powerschedule requestsetup menu html admin powerschedule sections menu html admin powerschedule students menu html admin reports reporttabs html admin sections menu html admin studentlist counselor massprintresults html admin studentlist counselor menu html admin students more2 html admin students morecustom html admin teacherschedules menu html teachers menu html wildcards admin_footer_css txt wildcards admin_footer_frame_css txt wildcards admin_header_css txt wildcards admin_header_frame_css txt wildcards admin_header_frame_sched_css txt wildcards admin_nav_menu_left_css txt wildcards commonscripts txt Appendix A List of Insertion Points Insertion Point s leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer report tabs leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer leftnav footer content footer content footer content header content header content header leftnav footer page header 2 A PEARSON Advanced User Guide for Database Extensions Page URL Insertion Point s wildcards guardian_footer txt content footer wildcards guardian_footer_yui txt con
23. ement of page fragments Added screenshots for examples Added more details to the Plugin Packages section PEARSON Advanced User Guide for Database Extensions Introduction This guide is designed for advanced users working with the Database Extension features originally released in PowerSchool 7 9 and new features released thereafter For details on Database Extensions see the Database Extensions section of the PowerSchool online help or the System Administrator User Guide for PowerSchool 7 x available on PowerSource Introduction 2 PEARSON Advanced User Guide for Database Extensions Page Customization and Database Extensions You can create customized pages using HTML that access one to one table extensions one to many child tables and stand alone table data elements using various interface elements such as drop down menus radio buttons checkboxes etc as well as allow for conditional elements based on database extension data element values One To One Table Extensions To work with a one to one table extension on a page in PowerSchool reference the primary table the database extension group name and the field name in the following format PrimaryTable ExtensionGroupName Field_Name The examples below show a variety of ways to reference a one to one extension to the Students table For this example we have added a table extension to track loaned laptops The extension group name in these examples is U_Laptop
24. etion Date Outcome Notes type html script type text javascript gt var rbValues rbValues 1 z Yes rbValues 2 No tlistText2RadioButton Scholarship rbValues lt script gt Text Area Example Within the lt head gt tag add the tlistCustomization js JavaScript file Within the lt form gt tag use tlist_child or tlist_standalone tag to add the tlist auto generated table Directly after the tlist tag use a script similar to the following example for field s you want to change from input text to a text area The script will define the size of the text area that should be displayed to users and be assigned a variable name This script could be repeated if more than one field needs to be displayed as a text area tlistText2TextArea lt Field_Name gt lt rows gt lt columns gt Note The following is the same code as the drop down example but only the tlist_child and script are shown tlist_child STUDENTS U_COLLEGEAPP U APPLICATIONS displ aycols Institution Request Dat eu Lu uest Date Request Status Scholarship Completion Date Outcome Notes type html script type text javascript gt tlistText2TextArea Notes 4 50 lt script gt Static Read Only Text Example Within the lt head gt tag add the tlistCustomization js JavaScript file Within the lt form gt tag use tlist_child or tlist_standalone tag to add the tlist auto generated table Directly after the tlist
25. inject location hl how before gt 5 lt insertionMetadata gt Only the contents of line four would change The attributes of the inject tag on line four have the following meanings location The location in the page where the content from the matching page fragment is to be inserted The location is a jQuery selector and as such can have any CSS3 selector value plus extensions supported by jQuery how How the injection is to be done The following four options which operate in the same manner as their jQuery counterparts are supported o before Inject the content as a block before the given location o after Inject the content as a block after the given location o insert Insert the content as a block at the beginning of the body of the element at the given location For example an insert for the hi tag would insert the content at the beginning of an lt h1 gt element o append Insert the content as a block at the end of the content at the given location Example In the page fragment example district administrators requested that a table with emergency phone numbers be placed just below the What s New box on the Start Page It has been decided the long list of phone numbers would look better in a dialog popup window triggered by clicking on an emergency icon The location of this icon should be to the right of the words Start Page After updating the contents of our page fragment to display the new icon and
26. ions URL based The page fragment chosen is based on the URL Uniform Resource Locator used by the browser to request the page from the system Wildcard based The page fragment chosen is based on wildcards that are included on the page using the HTML wc WILDCARD_ FILE syntax These operate essentially identically The only difference is in how the system constructs the conventional file name to fetch the fragment from the file system or Custom Web Page Management application Note that data validation and language translation functionality can be applied to page fragments URL Based Auto Insertion of Page Fragments When creating a page fragment the name of that file is critical for proper operation In URL based auto insertions the source page URL is used in constructing the name of the page fragment For example the URL of the page to be customized is the following http server address admin some directory some page html Note The file s extension may be any of the typically used PowerSchool URL extensions including html htm and action Upon processing a page with this URL the customization module considers all the insertion points on the page looking for a page fragment with the following name ladmin some directory some page FRAGMENT NAME I NSERTI ON POINT NAME txt The page fragment file name is constructed from several parts admin some directory a page fragment file must be placed in the s
27. link to our popup window we are ready to create our XML file to place the icon in the desired location instead of the default content footer insertion point below the What s New box Our file name would be fadmin home Emergency Numbers content footer xml Custom Insertion Points and Page Fragments 17 PEARSON Advanced User Guide for Database Extensions The contents of our XML file would look like this example lt insertionMetadata xml ns http www powerschool com xml ns xsi z http www w3 0rg 2001 XMLSchema instance xsi schemalocation http www powerschool com insertionmetadata xsd gt lt inject location hl how append gt lt insertionMetadata gt Note the location attribute is h1 because Start Page is wrapped in an lt h1 gt tag The how attribute is set to append which will add our content after Start Page but before the closing lt h1 gt tag Example screenshot of results Start Page fe Search Students Staff Parents am View Field List How to Search Browse Students AS CDEP GA JE EMN OP ARS F UMW KY 2 PA K 1 2 3 4 5 6 7T B 9 10 11 12 M SF A jQuery Based Movement of Page Fragments A second method to move your page fragment content to a specified location on the target page is through the use of jQuery which is already included with PowerSchool When using jQuery it is not necessary to create a separate file as described in XML Based Movement of Page
28. ox as requested This is the proper file name format for the example page fragment assuming a fragment name of Emergency_Numbers is used Name of the file being targeted Fragment Name Insertion Point Name lj Ir r l home Emergency Numbers content footer txt The page fragment file would be placed in the admin folder because that is the same location as our targeted file admin home html Example of admin home Emergency Numbers content footer txt page fragment div classz box round h2 class toggle expanded gt Emergency Numbers lt h2 gt lt ul class text gt lt li gt Police Fire Ambulance 911 lt li gt li Poison Control 1 800 222 1222 lt li gt lt li gt Superintendent s Office 555 555 1000 lt li gt lt li gt General Hospital 555 555 0911 lt li gt li Children s Hospital 555 555 2300 lt li gt lt li gt Gas Leak 888 555 6000 lt li gt li Mechanical Issues 555 555 1043 lt li gt lt li gt District Emergency Notification System 877 555 9911 lt li gt lt ul gt lt div gt Custom Insertion Points and Page Fragments 15 PEARSON Advanced User Guide for Database Extensions Example screenshot of results What s New See what s new in the latest feature release of PowerSchool Read more Emergency Numbers e Police Fire Ambulance 911 e Poison Control 1 800 222 1222 e Superintendent s Office 555 555 1000 e General Hospital 555
29. pload Custom Web Page Files unuanunnanunnanunnanunnanunnununnanunnanunnnnunnanunnanunnannnnannnn 20 Plugin Packages unnuununnnnununnanunnanunnanunnunnnnannnnannnn an nun ann nn an nun an nam an nnnannnnannananannnnannnnn 20 ZIP File Format ie ee Lene RR ER ee nee 20 MessageKey Properties File Format erunensseneenennnenennnnnnen enne nnns 20 Plugin Package Example Layout cce cece cece eee eee eee eee e e mense emen 21 Creating a Plugin Package eterne rne dalle aie exp ee nie ta a aa eia 21 Installing a Plugin Package nu ee 22 Important Information on Plugin Package Enable Disable Delete 23 Appendix A List of Insertion Points u uanuannannnnnunnunnunnunnunnuunnunnunnunnunnunnunnunnunen 24 Contents 3 PEARSON Revision History Advanced User Guide for Database Extensions Release Date Version Changes November 2013 1 0 Initial release for PowerSchool 7 9 February 2014 1 1 3 Minor corrections to page fragment section March 2014 Introduction 1 2 3 w U U U U U Ww Updated for new features in PowerSchool 7 11 o tlist child and tlist standalone new JSON output type o XML Based Movement of Page Fragments o MessageKey files in Plugin Packages New appendix listing all insertion points Cleaned up form elements sample code Using CSS Styles to Resize Input Fields Sample HTML code for a page fragment jQuery Based Mov
30. t lt option value gt Select a Company lt option gt option value Acer gt Acer lt opti on option value Alienware gt Alienware lt option gt option value Apple gt Appl e lt opti on lt option value Asus gt Asus lt opti on gt lt option val ue Compaq gt Compaq lt option option value Dell gt Del lt opti on lt select gt lt td gt lt tr gt lt Text Area gt lt tr gt lt td class bold gt Damages Comments lt td gt lt td gt textarea name Students U Laptop Damages Comments cols 50 rows 5 gt lt textarea gt lt td gt lt tr gt One To Many Table Extensions A one to many table extension creates a child table to the designated parent table and allows multiple records to be created that are tied back to a single parent record Examples of existing one to many tables in PowerSchool where the Students table is the parent are Special Programs Logs and Historical Grades To view store and retrieve data from your own one to many tables use a special HTML tag called tlist_child This tag can auto generate an HTML table to display rows of records from the designated child table including an Add button and Delete button for each row you create tlist_child The following is the format for the tlist_child HTML tag CoreTabl eName gt lt ExtensionGroup gt lt ExtensionTable gt displaycols lt Atl si ei ale C ields gt fieldNames lt List of Column
31. tValues 3 University of DDA tlistText2DropDown I NSTI TUTI ON I nstVal ues var rbValues rbValues 1 Yes rbValues 2 No tlistText2Radi oButton Scholarship rbVal ues tlistText2TextArea Notes 4 50 tlistText2StaticText Outcome lt script gt Using CSS Styles to Resize Input Fields As previously noted the default width of all fields in a tlist_child or tlist_standalone table except Boolean fields which are shown as a checkbox is 20 characters wide about 180px To adjust the size of individual columns in the auto generated HTML table use Cascading Style Sheets CSS Each column in the auto generated HTML table will be tagged with a class attribute equal to the field name In our college application tlist_child example the Institution input tag would include class Institution Define CSS styles for these classes to control the width of the column The following example shows the definition of CSS styles for several columns in our tlist_child table Page Customization and Database Extensions 9 PEARSON Advanced User Guide for Database Extensions Note Only the HTML code necessary to demonstrate this example has been included lt ht ml gt lt head gt lt style gt Institution wi dth 215px Request Date width 90px Request Status width 60px Scholarship width 50px lt style gt head body tlist child STUDENTS U_COLLEGEAPP U APPLICATIONS
32. tag use a script similar to the following example for field s you want to change from input text to read only text This script could be repeated if more than one field needs to be displayed as a text area tlistText2StaticText lt Field_Name gt Page Customization and Database Extensions 8 PEARSON Advanced User Guide for Database Extensions Note The following is the same code as the drop down example but only the tlist_child and script are shown tlist_child STUDENTS U_COLLEGEAPP U APPLICATIONS displ aycols Institution Request Dat e Request Status Scholarship Compl ettion Date Outcome Notes fieldNames Institution Req uest Date Request Status Scholarship Completion Date Out come Notes type html script type text javascript gt tlistText2StaticText Outcome lt script gt Multiple Special Formatting Tags Example The following example shows all of the above examples used together Note The following is the same code as the drop down example but only the tlist_child and script are shown tlist_child STUDENTS U_COLLEGEAPP U APPLICATIONS displ aycols Institution Request Dat e Request Status ay Compl ettion Date Outcome Notes fieldNames Institution Req uest Date Request Status Scholarship Completion Date Out come Notes type html lt script type text javascript gt var InstValues InstValues 1 Pearson University InstValues 2 American University Ins
33. tent footer content header wildcards guardian_header txt leftnav footer content header wildcards guardian_header_yui txt leftnav footer wildcards sm_psadmin__no_admin_nav_menu_content txt content footer content footer wildcards sm_psadmin_content txt leftnav footer content footer wildcards sm_psguardian_content txt leftnav footer content footer wildcards sm_psteacher_content txt leftnav footer wildcards subs_footer_css txt content footer wildcards subs_header_css txt content header wildcards subs_navigation_css txt leftnav footer wildcards teachers_footer_css txt content footer wildcards teachers_footer_fr_css txt content footer wildcards teachers footer nf css txt content footer wildcards teachers header css txt content header wildcards teachers header fr css txt content header wildcards teachers nav css txt leftnav footer wildcards title student end css txt student alert ul Appendix A List of Insertion Points 2
34. ue Note When a plugin containing a database extension is installed or modified you must restart the PowerSchool PowerTeacher and ReportWorks services before the new extensions may be used To restart these services open the PowerSchool Installer On the Start page click Restart ReportWorks Services and Restart PowerSchool PowerTeacher Services Installing a Plugin Package Plugin Management is used to import house and manage packaged database extensions and web customizations You can import zipped plugin packages that contain a plugin definition file and at least one web file or database extension The plugin package can include one or more of the following file assets in the zip file Plugin Packages 22 PEARSON Advanced User Guide for Database Extensions o Database extension definition xml files o Custom pages o Page fragments o Page fragment XML files o Image files GIF PNG JPEG JPG o PDF files PDF o CSS files o JavaScript files o Other web directory artifacts o MessageKey properties files How to Import a Plugin Package Use the following procedure to import and install a plugin package 1 Sign in to PowerSchool 2 Navigate to System gt System Settings gt Plugin Management Configuration The Plugin Management Dashboard page appears 3 Click Install 4 Click the Browse button for the Plugin Installation File and locate the zip file that contains the plugin package then click Install Note
35. wing tag cust insertion point POI NTNAME DEFAULT CONTENT The POINTNAME is required and is the name of the insertion point it should be in dot separated form such as page header leftnav footer or content footer When adding your own insertion points to a page be sure to use new unique names The DEFAULT CONTENT is an optional block of content that will be inserted in the page if no insertions are found for this insertion point This should be used rarely If there is no associated content with an insertion point on a page the point should be invisible The following example adds a new insertion point named help pages cust insertion point hel p pages Custom Insertion Points and Page Fragments 13 PEARSON Advanced User Guide for Database Extensions To define an insertion point in an FTL file you can use a similar construction only in FreeMarker syntax lt cust insertion namez POI NTNAME gt DEFAULT CONTENT lt cust inserti on gt The following example adds a new insertion point named help pages to an FTL file in the admin ftl directory lt cust insertion name help pages gt lt cust insertion gt Auto Insertions How to Use Defined Insertion Points An auto insertion is simply the act of taking one or more defined page fragments and dynamically loading them in to the designated PowerSchool page at the specified insertion points There are two ways to define auto insert
36. y also be referenced using the field name ID This field is automatically created when the table is initially defined The fieldNames are a comma separated list of the labels that should appear in the auto generated HTML table heading These labels may contain spaces The type parameter specifies a format Valid format options are html or json o html Automatically generate an HTML table that allows for dynamic record creation and deletion Page Customization and Database Extensions 5 PEARSON Advanced User Guide for Database Extensions o json The output of the tlist_standalone will be a JSON array with an object name of Results It is not necessary to include fieldNames when using JSON The first field in the array will be the ID field Add the tlist_standalone tag wherever you would like the table to appear on your page The following is an example for the master list of all higher education institutions tlist standalone U CollegeApp U Institutions displaycols 1PEDS ID Instituti on Name Institution Type Phone URL fiel dNames I PEDS ID Institution Name Institution Type Phone Number Web Address type html Special Formatting of tlist_child and tlist_standalone Columns By default all of the columns in an auto generated HTML table will be input fields approximately 20 characters wide unless the extended field type is date or Boolean Date fields include the pop up calendar widget Boolean fields are displayed
37. zation and Database Extensions 11 PEARSON Advanced User Guide for Database Extensions Custom Insertion Points and Page Fragments Insertion points are special locations within the source code of a page where customizers can more easily insert dynamic content page fragments PowerSchool insertion points have the following characteristics With insertion points the original source page does not have to be customized in order to add new content to that page This can help dramatically cut down on the number of custom pages that need to be created and subsequently updated when a new version of PowerSchool is released Page fragments can be dynamically inserted in to the default source page Multiple standard Pearson provided insertion points can exist on a page and new insertion points can be added You can physically move fragments around on the page using client side DOM manipulation via standardized XML metadata files or by using JavaScript You can customize every existing and new page in PowerSchool How it Works Pearson has specified a set of standard insertion points This set of insertion points is expandable but primarily consists of a small number of predefined places on the page The standardized insertion points are generally placed in common header and footer wildcards and significant navigation menus This allows standard insertion points to be defined for the vast majority of pages in PowerSchool with minimal effort

Download Pdf Manuals

image

Related Search

Related Contents

ASUS T100TAM User's Manual    Alexandre Fabre - Université Paris 1 Panthéon  Fasani Gate Valves, Cast High Pressure Style B    InLine 22338XL  Patton SmartNode 4120  Series 6000 LHC VME64x-Crate User Manual - W-IE-NE  TP8-28 - Mini Guida Utente (multilingua).indd  Tucano SARM47 mobile phone case  

Copyright © All rights reserved.
Failed to retrieve file