Home
        Advanced User Guide for Database Extensions
         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
 
 
    
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