Version ClaSS-0.8.67 release (2009/04/08)
-----------------------------------------

Fix to a problem with the new register turnover time.

Assessment profiles can now be linked with an xsl transform, stored in
the comment field of categorydef.

If a profile transform is set and its slected as the filter option in
the MarkBook then an extra side option is displayed for printing.

A new http script in the MarkBook report_profile_print for printing
assessment profiles.


Version ClaSS-0.8.67 release (2009/04/03)
-----------------------------------------

Reinstating cattable as part of the reportdefs to maintain backward
compatibility for now.

Update your report templates! The comment value now contains an
embedded div. It has to have copy-of and not value-of used in the xslt
to display.

A part fix to the deletion of report entries. Need entryn to be entryn
and not the array index.

Fix to the list of allowed users on budgets - it was broken for older
perms wich used w=0.

Changed the budget column for enrolments to be a budgetroll (its
really a fixed estimate however its called).

New optional $CFG setting of budget_endmonth for the rollover,
defaults to May if not set.

Changed the selection of profile assessments bundled with a subject
report so that only those younger than the report are included.

Added a type=u to groups for superadmin access to staff details.

Suppliers no have addresses and new_suppliers now handles existing
suppliers and their address.

Included a template for printing orders.

The definition of register sessions as single/double is changed to be
single/time where time is turnover time for the PM register. Setting
as 12:00 is equivalent to previous double setting (but double is no
longer valid).


Version ClaSS-0.8.66 release (2009/03/12)
-----------------------------------------

A message button added to the absences list to allow emails to contacts
to remind them to justify unauthorised absences.

Bugfix to tranfer nos when yid=0.

Included postcodes and professions (from their guardians) as part of
the student singlefield function.

The import of assessment scores is now fixed to handle bid=G.

The assessment field in the mark table now goes beyond flagging
columns as assessments, it also has an 'other' value to group special
assessments (like estimates and targets together). Apply patch the
patch!

Have moved materialtype for orders to be a categorydef with
type=mat. Patch includes a few defaults.

The clickToAction js for rowaction buttons now allows for
action=print. It then calls the regular openPrintReport so needs an xslt
transform.

A clicktoprint image class for css added.

The orders_list makes use of the new clicktoprint button calling xslt
order_form.xslt.


Version ClaSS-0.8.65 release (2009/02/20)
-----------------------------------------

Changed the eidsid result field to a varchar(30) to match the ratings -
any grades longer than 3 char were being chopped.

Added a get_age function to display student age from dob.

The fetchReportCategories function renamed to get_report_categories.

Added a clicktoconfigure imagebutton.

A new helper window added for editing categories.

Changed default year for enrolment table to next curriculum year.

The js checkall function now ifnores hidden rows which have been
filtered from the list.

Replaced the ResultQualifier and Method fields for Assessments with
the more useful ResultStatus. They are not removed merely commented
out for now.

Improved the filering of assessments when editing reports in the
MarkBook. Should only dipslay those which are defined with the same
properties as the report column being edited.

Introduced subject specific rating categories. To do this
get_report_categories has been removed from fetchReportDefinition and
has now to be called as part fetchReportEntry because it can be
bid/pid senstive (while RepDef knows only crid/bid).

The rating_name is now a field in the report table. The rating_name is
no longer used in categorydef for report categories (it might still be
used for other types).

The editing of one report has been tidied.

New css class to midlite checked radio boxes inside a row div.

Added the facility to break report comments down into
subcomments. Uses a new categorydef to define them with catdef
type=sub. They need to be activiated for a report in ricatid (TODO:
only manual entry at the moment) and so can be subject specific.

The Comment for a ReportEntry now has value and value_db fields to
allow for the subcomments. The formatted for print value combines all
subcomments in one block with labels and linebreaks. The value_db is
the value for storage, it has no label descriptors, and subcomments
separated by ::: for splitting.

The entries in categorydef for report categories now have type=cat
instead of type=rep.

Transfers in from feeder schools are now counted correctly as part of
the ernolments table.

The orders list now limits display to 15 rows and has previous/next
buttons.


Version ClaSS-0.8.64 release (2009/02/03)
-----------------------------------------

Fix to allow for assessment profiles which have the same name but
apply to different courses (can't have two profiles with same name for
same course, of course!)

The use of cohorts for report_reports is confusing because it doesn't
then include the wrapper and the reports are not thought of as course
specific anyway. Its been eliminated.

Added a reopen action button for closed orders.

Fixed navigation between enrol years when editing enrolment columns.

Fix to budget values in enrolments' table.

Improved the logic of averaging columns in the MarkBook. Plus a
related fix to the special profile column so it doesn't get confused
by columns which are not part of the running average.



Version ClaSS-0.8.63 release (2009/01/22)
-----------------------------------------

Fix for rare erroneous display of a register as complete when current
event is not set.

Fix to the cilumn filter in the MarkBook, the new multiple profiles
had introduced a problem when anything other than 'All' was selected.

Fix to the display of mrs for in the title field caused by an error in
the lang file.

Labelling of the column filter changed to empahsise R for Reports, as
T for tracking is moving to the P for profile assessments.


Version ClaSS-0.8.62 release (2009/01/08)
-----------------------------------------

Removed the categorydef for budget types which was just being too
prescriptive.

Amended the order of budgets on the main orders.php page to list
subbudgets following directly on from their overbudget.

Implemented the order search based on invoice reference number.

Fix to the default start date in the Report book scripts.

The main student lists in InfoBook, SEN and Medical can now have
unlimited numbers of columns. Extra display fields now include
non-privte medical details (ie. allergies and diet).


Version ClaSS-0.8.61 release (2008/12/20)
-----------------------------------------

Bugfix for alumni students. Leavers where getting community name='yid'
and not ='P:yid'. All should now be 'P:yid' with only current students
having name=yid.

Fixed a possible file vulnerability in the export script.

Removed the whole school lists from SEN and MedBook needs a filter
option before listing sids.

Added a general concern to the sentypes.


Version ClaSS-0.8.60 release (2008/12/15)
-----------------------------------------

Changed list_subject_components() to allow for components which cross
all subjects (subject_id=%) being careul that strands do not.

Allowed for multiple assessment profiles for the same currriculum
(crid/bid) areas by making use of the list_assessment_profiles
function in the MarkBook and changing umntype to be defined by
umnfilter. You now get one P filter button for each profile.

Included some of the non-standard absence codes into the calculation
of the attendance summary - without UA and UB were being counted as
absences.


Version ClaSS-0.8.59 release (2008/12/05)
-----------------------------------------

Made some be-spoke additions to the statistics page.

Changed the way the profile assessments are queried in the mark table
to allow for profiles with bid=%.

Made use of the rating_name field in categorydef table to define the
marktype to be used for summary profile columns in the MarkBook.

Added a new list script for profiles.

Allowed the new_assessment scripts to manage both profile assessments
and plain assessments.


Version ClaSS-0.8.58 release (2008/11/07)
-----------------------------------------

Made the xslt based functions compatible with PHP5 using a wrapper
library written by Alexandre Alapetite. These are principally used for
the publish to pdf button in reports. This depends upon the xsl module
for PHP5 being loaded (php5-xsl in Debian).

Work on import_students to allow using the enrolment number as a way
to doing multiple imports for existing students and not just new ones.

Added two fields to info table which allow for other personal ids
(apply the patch!).

Included guardian priority as part of the import scripts and tied
phone numbers.

Exposed the upn field as PersonalNumber.


Version ClaSS-0.8.57 release (2008/10/25)
-----------------------------------------

Implemented, at last, the edit button for changing properties of
pre-existing reports.

New curriculum functions to list all classes a student attends and,
related, all subject teachers of that student.

An email option added to the comments form to email to all subject
teachers.

A new $CFG variable enrol_cutoffmonth is used by the enrolments table
for marking end of application period. The Accepted column now
displays expected start date for each student.

A problem of losing addresses for new contacts fixed in EntryBook
(caused by addresstype) and fixed phones multiplying out of hand when
slecting pre-existing contacts.

Added fields to info table to expand range of application data to
include date, categories and staff child. Renamed enrolnotes to be
appnotes for consistency (apply the patch!).

Included a date field on the invoices.


Version ClaSS-0.8.56 release (2008/10/21)
-----------------------------------------

Bugfix to enrolments_list_action when display is for comid=-1.

Bugfix to the absences_list to correctly filter lates.

Bugifx to column headers in MarkBook export.

Added the tutor's name and a shortcut clicktoemail link to this is the
end of the line which should register_list and student_view pages. The
shortcut links to webmail which prefills their email address for
messaging.

The categorydef script can now filter by secid, and you may want to
manually edit your catdefs to make use of it.

New function get_student_section returns secid.

New function get_tutor_user returns user record for form tutor.

Improved permissions on the SEN pages to allow form tutors and subject
responsibiles to edit.

Assessments profiles now allow for differences in component status.

Bugfix to get component selection working with multiple classes.

Bugfix to fetch_reports missing components.

Improved the order by of marks in the viewtable.

Added SEN and Medical shortcuts to student lists in both Info and
MarkBook.

Relaxed the InfoBook search so it doesn't miss three character
surnames (still not sure the MATCH was!).


Version ClaSS-0.8.55 release (2008/10/10)
-----------------------------------------

Reworked the enrolments' tables. Applications now have a config option
to have 'live' numbers or 'static' numbers to be updated manually.

Bugfix to the incidents table - fresh installs were missing their
category field.

Replaced community_capacity scripts with enrolment_edit to allow a
list of communities to have either capacity or count values
maintained.

A bugfix to fetch_enrolmentAssessments.

Opened up the "other groups" search option to all users of the
InfoBook - this needs have a config option about the types of groups
to be listed.

A bugfix to calculating current balances for budgets - special action
orders (ie. petty cash) without an invoice were being overlooked.


Version ClaSS-0.8.54 release (2008/09/31)
-----------------------------------------

The score table has an extra field called extra for annotating cells
in the MarkBook. This is only implemented so far for homework, the
extra field records wether the work was returned late or not.

Fixed a bug which broken printing contact labels when a contact was
flagged for mail but had no address.



Version ClaSS-0.8.53 release (2008/08/31)
-----------------------------------------

Bugfix to the auto-generating of the budgetcode for sub-budgets.

Renaming a formgroup now renames any associated teaching classes in the
MarkBook too.

A field added to the orderinvoice table to allow for credit instead of
debit - affects only the projected balance for a budget.

Summary attendnace button added to the Register.

Replaced the green square with a select for lates during registration
and has associated latecodes.

Now allows for single or double registration dependent upon the
section of the school as defined in school.php.



Version ClaSS-0.8.52 release (2008/08/13)
-----------------------------------------

Fixed losing the category on the backgrounds.

New config options for enrolment assessments. This allows for a
general assessment to be edited as part of the enrolment page in the
InfoBook. The result of the enrolment assessment is shared with staff
as the first entry in the backgrounds list.

Have moved the Backgrounds out from fetchStudent to a seperate
fetchBackgrounds function. fetchStudent now includes the Medical and
SEN flags.

The year_end scripts now iterates over all sites listed in
$CFG->feeders and calls the httpscripts/transfer_students.php which
responds with the xml for all Students in a yid who are
transfering. The transfer data per student includes all student
details plus all comments.

Made both transfer scripts aware of the current curriculum year to catch
differences between schools.

Bugfix to join_community for when moving between forms.

Having different endmonths for courses was not yet implemented and have
removed this fully from get_curriculumyear() until it is.

Critical change to the method used for handling the curriculum
year. No longer calculated based on the current date but stored as a
special record in the community table in the db. The year_end function
up dates this value +1 when called.


Version ClaSS-0.8.51 release (2008/07/11)
-----------------------------------------

Added a field 'code' to the guardian table for use for ID or fiscal
codes.

Allowed for the option of remote authentication in the httpscripts
when a session does not exist. Aimed at CURLing between ClaSS sites.

The enrolments matrix now makes a remote call to all sites listed in
$CFG->feeders and asks for a count of transfers.

Updated the import_student scripts' handling of saved file definitions.


Version ClaSS-0.8.50 release (2008/07/04)
-----------------------------------------

File import of csv mime-type fixed on windows.

Typo causing error in re-enrolment grid fixed.

Added dutch translation files; thanks go to Steve Boucque.

Bugfix to the handling of components when changing between classes -
sometimes a pid was selected which didn't exist for the class.

Concept of admin permissions groups added and corresponding logbook
function get_admin_perm(). Allows for super-administrator permissions to
be shared out between different users and at the same time restricted to
areas such as budgets, academic, or pastoral.

The report_assessments page now filters out empty columns from the
display table.

With the profile selected in the MarkBook an automatic column is added
giving the overall performance, averaging or tallying, the profile's
assessments for the selected component.

Printing address labels added to the enrolments' lists.

Have fixed the logic of the get_budget_projected() balance claculation
so cancelled orders are excluded.

Cancel is now Back in lang/en, so you could say Back is back!!!

Have adopted the favoured W3C method of prescribing the icon file and
now added classicon.png tothe images directory.

Included an alert for any clicktoaction button which has value cancel
or delete.


Version ClaSS-0.8.49 release (2008/06/07)
-----------------------------------------

Added a simple subject report template which illustrates how to include
attendance data.

Renamed and generalised the js for openCommentWriter to be more widely
useful as openHelperWindow.

Bugfix to the orders_list page when searching.

File upload added to edit_scores for evidencing attainments by storing
work in the eportfolio.

Search orders by supplier added.

Improved the logic and hence the speed of the logbook when the respons
selection has changed, only select books are now reloaded, and
MarkBook selections emptied.

Bugfix to editing an order, setting the quantity to 0 will now blank
the whole item.

Export of a transfer file of closed orders for accounts.

Bugfix to update curriculum which now correctly sets the type for
pastoral groups.

Bugfix to generating classes.

Fixed fatal php5 compatibility issue with report_assessments_view.


Version ClaSS-0.8.48 release (2008/05/30)
-----------------------------------------

Allowed the number of material entries to mutiply as they get filled on
new_order.php.

In the commentwriter the profile statements are now added to the
statementbank instead of straight into the comment.

A reorganisation of the logbook, adopted the tango icons for the
sidebuttons and removed sitelogo. The AboutBook tab is now hidden and
the help button loads it instead. All preparation for 1.0 overhaul.

The classes table now has fields to count number of single and double
period lessons. Reworked classes_matrix.php for this.

Changed the hover css for buttons and links.

The register now has a setAll() function for office and admin users to
flood a whole register in one go with one set value.

The classes_matrix improved and extended to include lesson information
for single and double periods.

Improved FET-compatible timetable export with full activity, teacher
and student information.

Added a covertitle to the reports xml.

Bugfix to the new_order_action ot prevent duplicate materials.

Currently benign folder-open added to edit_scores.

The component table has been given a sequence field to allow more
flexible ordering. And the status field given an extra enum value of "U"
for "Unused" which means it just goes ignored by everything.

Bugfix to missing attendance on reports.

Made the use of divgroup css consistent across all books.

The new_assessment page now filters on the choice of curriculum year.

Added an intermediate step 'processing' to the orderactions.


Version ClaSS-0.8.47 release (2008/05/09)
-----------------------------------------

Implemented sub-budgets as a "New budget" call from the
order_limit.php page, and the costlimits of sub-budgets are tallied by
the get_balance_ functions. NB. This does not allow for
sub-sub-budgets!

Added a specialaction field to the ordersupplier table to distinguish
non-suppliers like petty cash who bypass the delivery and invoice
actions.

The orderinvoice table has ben given currency and debitcost fields,
the latter used for charging against the budget exclusively, the other
cost fields are optionaly and purely for information only.

Bugfix to the new_staff.php page in the EntryBook which was producing
a fatal error in PHP5.

Bugfix to the install process which was failing to create the
categorydef table.

Bugfix to maxlength setting in xmlelement_input() for decimal and
integers.

Added a starter .htaccess file as part the toplevel directory
structure in install. Amended the install README to mention this.


Version ClaSS-0.8.46 release (2008/05/05)
-----------------------------------------

Added a list_formgroups() function for consistency.

Improved the staff_details page to select by username or surname and
to seperate out disabled logins to another list. Allowed get_user() to
take uid or username as key.

The MarkBook column filter now recognises profile assessments distinct
form tracking and reporting.

Tidied up SEN related things. Including, moving the SEN array out of
the main fetchStudent call to its own fetchSEN() function. Same as for
MedicalFlag, the SENFlag is sufficient within Student everywhere
except in the SEN book. Altered the sentype db table; sentype field is
now char(4) - fixing a bug; an entryn field added.

Allowed for multiple SENtypes per student.

Managment of access permissions for budgets is now part of the
orders_limit.php page.

Included login stats under usage_statistics for parents and students
accessing the eportfolios.

Bugfix to the get_budget_current() function.

Added the commentwriter icon for class teachers in the ReportBook's
report_reports_list.php.

Allowed for passing different filetypes to export the script.php.

First version of FET compatible timetable export added to Admin.


Version ClaSS-0.8.45 release (2008/04/25)
-----------------------------------------

A page of statistics added as an option under Report > Manage will
count homeworks for staff and subjects over the past two weeks and the
whole academic year for comparison.

A new eportfolio function epf_get_fileurl() works out the url to grab
a file from the eportfolio. Currently only implemented for photo icons
which are placed on the student_view.php page.

Added the path to the eportfolio's data directory as a $CFG variable
in school.php.

The Order book now takes account of an order's currency when
calculating the balance of a budget. The exchange rates are set as a
$CFG array in school.php.

Removed the fonter javascript and icon from logbook - as it never
worked well, was rarely used and the native Firefox control is what
users should learn to use.

Bugfix to the list_teacher_users() function which was not always
returning the epfusername.

Knocked the mange eportfolio page into meanigful shape. Included an
option to set a default student photo based on their current
yeargroup.


Version ClaSS-0.8.44 release (2008/04/18)
-----------------------------------------

Introduced a utf8_to_ascii function to replace use of iconv for
transliterating utf8 characters to their ascii equivalents. The iconv
is better but is too sensitive to server config (at least for now).

Seperated out the contacts in the eportfolio function so they can be
updated (and emailed logins seperately).


Version ClaSS-0.8.43 release (2008/04/11)
-----------------------------------------

A very crude js function sessionAlive() added to the logBook. It runs
an xmlhttprequest every 15 minutes to prevent php sessions timing
out. Only used for office users who want permanent logins and have PCs
located well away from students.

The contact_details page now lists all relationships for that
contact. In other words, siblings for the most part. When linking an
existing contact to another student the form pre-fills with
relationship, priority, and mailings to match their pre-existing
relationship.

Annotated contacts with a pop-up note, just a single new field to
the guardian table (apply the patch!!!).

Added an inactive flag to the ordersupplier table with default '0' being
active. The orderbudget table has an overbudget_id field to allow for
subbudgets or budget components. Both still to be implemented.


Version ClaSS-0.8.42 release (2008/04/07)
-----------------------------------------

In the enrolments_matrix, have now enabled editing the capacity for a
yeargroup. And to allow it to change between years, by storing in the
'AC' community for that enrolyear and yeargroup. Still need to make
sure that the year-end scripts carry the new capacity across to the
year community.

Existing orders can now be amended, at least up until they have been
authorised.

New js function sidtbaleFilter which can hide rows based on them
having a radio input value being checked. This is put to work in the
enrolments_list page.

The costlimit for a budget can be edited by users with budget
authorisation (x=1) permissions.

Orders can be searched for and listed by any office user but the
budget details (and hence the ability to lodge a new order against a
budget) won't be listed in their orders.php page unless they have the
permissions (r=1 or w=1) like any othe ruser.

An order can be flagged as being petty cash which negates the need for
a supplier and any invoices. Once authorised and it is also closed with
immediate effect.


Version ClaSS-0.8.41 release (2008/03/17)
-----------------------------------------

Bug fix to list_sid_responsibles() - form tutors are now being sent
emails!

Brought the section table into play to represent large organisational
sections of a school. A section is really a grouping of yeargroups
and/or courses. It can have a group for permissions and an address. By
default the installation creates a "Whole School" section with secid=1
which you may want to re-name.

The new_budget script now requires a budget to belong to a section.

The categorydef table has a new type='bud' for enabling budgets which
are not tied to curriculum subjects like 'Stationary' etc.

The groups table has been given a type field to make the different
sorts of groups explicit. This also allows for groups with functions
beyond academic and pastoral to be incorporated. So, currently
a=academic (was implicitly crid and bid with yid NULL), p=pastoral (was
implicitly yid) and b=budget (uses nothing else).

Used the $CFG->clientid variable as a per school distinguisher when
generating the eportfolio accounts. This gets prepended to staff
usernames, all pastoral communities, and to teaching class
communities.

The order book can now navigate by budget year, and the value is
maintained between pages. Orders can now be searched by status.

Bugfix to the order of columns in the Report attendance.

The eportfolio now uses the epfusername during the remote login and
NOT tid; the two can be different when multiple class installations
share the same elgg installation. The school's clientid is appended to
the start of all tids when creating the eportfolio user account to
ensure usernames stay unique across schools.



Version ClaSS-0.8.40 release (2008/02/21)
-----------------------------------------

Renamed the portfolio scripts so that eportfolio is used consistently
throughout.

Added the eportfolio function library.

The enrolments_matrix can now handle R for students repeating a year.

An attendance summary is now included in reports, using
fetchAttendanceSummary() which contains the rules for calculating the
various statistics. This in turn calls upon the basic
count_attendance() to do the db count.

The report_attendance script now accepts a from and to date, and uses
the new attendance summary functions to do the reporting. Added a
template for printing a detailed attendance report.

Reworked the report_comments scripts to be in-line with checksids and
improved the table to high-light ups and downs in student progress. 

New templates for printing from the Report book, progress_summary
added for detailed reporting of comments, and incidents_summary for
listing of incidents.

The fetchComments() now takes an end and a start date.

New fetchCategorydef() function for returning any set of categorydefs
based on their type.


Version ClaSS-0.8.39 release (2008/02/13)
-----------------------------------------

Bugfixes for the handling of alumni in fetchEnrolment and join_community.

Full implementation of the admissions logic to the applications and
enrolments tables, including correct tallying of projected roll and
spaces etc. both for current and future academic years.

Added the ability to access the current roll to the enrolments_list
page to allow students to be flagged as leavers moving between current
and previous states.


Version ClaSS-0.8.38 release (2008/02/06)
-----------------------------------------

Moved the enrolments pages over to use enrolments_list instead of
community_list. And changed the the way enrolment status is selected
to be checkboxes.

Added preliminary version of a second table to the enrolments matrix
to cover re-enrolments for next academic year.

The js getLabel function now checks for an id attribute on the input
before wasting searching for the label.


Version ClaSS-0.8.37 release (2008/01/30)
-----------------------------------------

Moved the portfolio functions out to lib/eportfolio_functions.php
these will never be generally included and need therefore to be
specifically loaded when needed.

The new_homework_action.php now checks for an eportfolio and posts the
homework to the class blog.

Fixed a bug in new_homework which was posting the stage as the
course_id in the homework table.

Added a total applied column to the enrolments table. This still clicks
through to community_list but with a special type of allapplied which
accumulates students of every enrolmentstatus into a single list.

Bugfix to printing the marktable.

The comment writer will pre-complete the report comment with
statements which the student has been graded, if the report is linked
to a profile. This is still experimental and needs to be incorporated
into report_edit.

The epfusername is now part of the Student xml-array.

Added a plain text field to categorydef. Currently only used for
report summaries to provide a proforma blank for comments.


Version ClaSS-0.8.36 release (2008/01/16)
-----------------------------------------

Gave an onclick to the ClaSS logo so it can act as a refresh for the
current book; modified the js function loadBook() to work with this.

Added get_epfusername() function and a new field to the info table
to store the epfusername in.

Added title and epfusername fields to users table for staff.

Fixed the report_reports_publish to pdf to handle landscape.

Fixed a bug in fetchsinglefield function when displaying second
contacts from student_list in the InfoBook.

Have added a profile_name field to the assessment table. This is a
categorydef.name which allows assessments to be grouped in to a
profile. The name is also the markdef name used by that profile.

Tweaked the comment-writer textarea to better fill the available space.



Version ClaSS-0.8.35 release (2007/12/14)
-----------------------------------------

The teacher_matrix now has a new editclasses button to allow staff to
add/change teaching classes on a subject by subject basis - previously
only possible by the administrator using the class_matrix and done for
a whole course at once. 

Access to the classes table has been moved out to a curriculum
function update_subjectclassdef() and get_subjectclassdef().

The changes to the classes are effected using
populate_subjectclassdef() and the class_matrix.php script amended to
use these functions.

Tidied up the report_reports_list table.

Completed the new_assessment_scores scripts in the ReportBook to allow the
import of scores for an assessment in the form of a grid. Columns are
identified by either valid bid or pid values for that course and the
first value in a row identifies the student either by enrolment number
or their sid on the ClaSS db.

The MarkBook's component list now groups validating strands underneath
their parent component.

Improved the comments search to include type and subject properly.


Version ClaSS-0.8.34 release (2007/12/08)
-----------------------------------------

xmlelement_input() now adds validation patterns for decimal, numeric
and email.

An order tracking system added to Admin, its called the OrderBook but
is not a real book just a set of scripts within admin. It has a
distinct set of tables in create_orderbook.php which can be considered
optional.

Have reworked the style field in the report table to be
paper-orientation (portrait or landscape) and this is now passed to
the js printing function which will orient the pop-up window
appropriately - the page setup option still needs to be set manually
to either landscape or portrait.

Bugfix to MarkBook averages and sums to trim whitespace from the
midlist.

Improved the way edit_reports checks assessments to include/exclude
based on component status - the component status for the report column no
longer has to match that of the assessments to work.

The student_list in the InfoBook now has buttons for sending emails to
students and contacts - this depends on both the WebMail being
configured for the user and the $CFG->emailoff option being no.

The check_yesno script can no have an optional pop-up alert on the yes
checked option by setting $checkalert to the message. 

Added an alert to warn about emails to contacts for the comments.

The InfoBook now displays medical categories on the
student_view_medical page but only those which are flagged as rating=1
in the categorydef table. No editing of the values is allowed.

Fixed the column action scripts so they match the component of any new
columns to the currently selected value.

The edit_scores page now displays attendance data for set and due
dates when editing homework scores.

Added a quick display function for attendance td cells to
html_functions.



Version ClaSS-0.8.33 release (2007/11/20)
-----------------------------------------

Added DisplayFullSurname as a field in the Student array for use by
user roles' who prefer student lists with surname first.

Given access to the register for support staff but buttoned down more
of the student_view content.

Included a new xmlelement_display() function which prints a single
formatted td cell suitable to fill out a listmenu table.

Have added fetchMedical() and got the medbook working. This is based
on storing medical notes in the background table and having notes of
different medical categories enabled by having entries in
categorydef. The first two categories will be shared with all staff
through the InfoBook, the rest remaining for exclusive use of the
medical staff.

The db patch loses the unloved medical table and gives five example
medical categories.

Fixed sen permissions for staff with roles other than sen.

Bugfix to summary assessments.


Version ClaSS-0.8.32 release (2007/11/14)
-----------------------------------------

Bugfix to the contact_details.php in the InfoBook which was confusing
gids when they share an address.

New list_course_subjects() function.

Exposed the detail field of the class table to allow an annotation
describing a class. Displayed as a qtip title in the MarkBook and the
teacher_matrix in Admin. It can be edited through the class_edit.php
page.

The enrolments_matrix table is now defined by the $enrolmentsteps
array, accessed through list_enrolmentsteps() which simply retrieves
it from getEnumArray(). This makes it customisable through the
schoolarray.php file. Each step must itself be an item in the
enrolment status array.

The ability to filter the MarkBook columns from the bookoptions by
type has been provided using the $umntype bookvar. It provides four
options classwork, homework or tracking (reports and assessments).

Fixed a bug in class_matrix.php which prevented blank records being
updated even when cribbid entry existed.

Allowed grouping of the MarkBook buttons with the css class
buttongroup. Split the New button into two buttons one for classwork
(as before) and one for homework.

A new db table added for homework. This is currently only used by the
new_homework.php scripts.

The xmlarray_form() has had its main guts split off into a new function
xmlelement_input() which does the work for a single field in the
array. This can now be used by xmlarray_divform() too, which produces
a div instead table formatted form.

Added $cidsno to the MarkBook to keep track of the number of classes;
homeworks can only be set on a class by class basis and cidsno>1 means
the homework functions are filtered out.

The info table has had a field for ethnicity added and made part of
the Student array. It is disabled by default. Check the
schoolarays.php config file to switch on and for some example
ehtnicity arrays.

Added an option to flag comments to be emailed home to contacts. This
needs the $CFG->emailguardiancomments option set to 'yes'.

The lib functions have been rearranged to reduce the size of the
files; some of community_functions being been split off into
curriculum_functions.

The listing of subject components has been moved out to a new function
list_subject_components(). Recursive use of this function now allows for
components of components (or strands).

The markbook.php has had its listing of components updated to include
strands alongside their parent components.

The generate_assessment_columns script now iterates across strands
too. A component with strands has no assessments of its own but it
does have an assessment for each of its strands. The primary
distinction is that unlike components the strands can not have report
columns and hence no written comments for reporting.

The assessment table has had strand_status added. This is identical to
component status and is used to identify which if any of the strands
are to be applied. Setting this to none would mean, as in the past,
the assessment only exists for the parent component.

Strandstatus is an extra field after componentstatus in the import
assessments file format.

Gave some colour to the diferent types of mark columns.

In transition to upgrading the MarkBook, the edit_reports pages have
been taken over by new_edit_reports etc. These don't rely on the
viewtable and so lift the restriction that assessments must have mark
columns to access them. All changes in values now go through
update_mark_score and update_assessment_score functions. A new
function which finds a specific mid for an assessment based on
crid/bid/pid is key. This is also put to work in the ReportBook for
edit_scores.

Components in the MarkBook now use (id,name) pairs and so can replace the
list_components.php script with list_select_list() calls.

Changed the way report_reports_list checks for completed subject
reports to match the fact that mark columns are no longer obligatory
for assessments during reporting.

The absences list has had lates filtered from it.


Version ClaSS-0.8.31 release (2007/10/11)
-----------------------------------------

Changed the way perms are handled for form tutors. The tutor no longer
joins the group for that yid, instead they are checked for
independently and always receive rwe=1 perms.

A new option added to the yeargroup_matrix page, available to admin
and office roles, produces basic demographic statistics of male/female
ratios and nationalities broken down by yeargroup. This adds
countin_community_gender() to the functions.

New and crude display_date() function which improves the presentaiton
of dates. Cannot yet be used for input boxes though!

Added secondnationality field to the info table and Student array.

Introduced the concept of an entry test, or assessments specifically
used during the entry process. These can be specific to the course of
entry and fetch_enrolmentAssDef() will find the relevant ones based on
the yeargroup a student is enroling for. The assessments for
enrolments are distinguished by stage='E' and bid='G' and
year='0000'. The scores display as part of the community_list page for
enrolments.

Editing of enrolment assessments added to the student_view_enrolment
page.

The update_assessment() function has been relaxed to allow blanked
scores to be deleted from eidsid table.

Improved student_scores in the InfoBook by using the Assessment's
element to condense all asses with equivalent year and element values
into the same table row. This means a row can transcend courses and is
truly cross-curricular.

Fixed the report_incidents and report_comments pages to be able to
handle selection of students by cohort.

Finished edit_scores with working component selection and the ability to
edit numerical scores.


Version ClaSS-0.8.30 release (2007/10/03)
-----------------------------------------

A new page edit_scores.php added to the ReportBook and linked to from
the manage assessments option. Allows the editing of all scores for
all students in the cohort associated with that assessment. Scores are
displayed on a subject by subject basis.

The student_view_enrolment page was inadvertantly unsubscribing
students from form groups. It now only updates community membership
if something has changed to avoid this.

Finally changed the mark table (apply the patch!) to remove the
long-deprecated visible and hidden fields. Also, added "hw" as a value
to the marktype field. To allow bigger grading schemes the grades
fields is now text instead of varchar.

Made some rudimentary use of the maxlength attribute in the
loadRequired() js function to try to style the width of input fields.

Made subject_classes available to office users in Admin - office users
need access to a course to make use of it though.

Moved import_assessment_scores to the new edit_scores page in the
ReportBook.

Fine grained the access permissions on the form and yeargroup pages to
allow read only. Added the district user to the year and form perms
for read only. Bugfix to adding teachers to a formgroup which was not
finding the perms group to add them to.

Migrated the comments_action page to use the phpmailer send_email_to()
function.

Much user feedback on the input of addresses suggests simplicity is
the answer. As a result fields have been merged and dropped to provide
basically "Address line 1", "Address line 2" and "Address line 3" plus
the postcode and country stored separately. The patch to the address
table tries to gentle in its logic for existing data.

The address labels.xsl template is updated correspondingly.

Exposed to the new_assessment option in the ReportBook to all users
with a course responsibility but tied down the permissions of related
functions to configure. This allows edit_scores to be accessed by any
with write perms for a course.


Version ClaSS-0.8.29 release (2007/09/19)
-----------------------------------------

Bugfix to list_community and added $listtype of 'yeargoups'.

Fixed problem with getSubjectPerm when checking for all courses.

Added text/csv to the mime-type check for file_import_csv script.

The streetno field has been dropped form the address table. The patch
will merge streetno with the building field (so be prepared!).

A new CFG option to emailguardianincidents which will cause incidents
to be emailed to parents if they have an email address entered and are
flagged to receive all mailings.

Bugfix to the register which was recording tid instead of $tid upon
updates.

The comment box is now turned on for absences (but could still be
nicer with a popup) and is displayed in both the Register and
MarkBook.

Added a timestamp field to the attendance table which is displayed as
part of the onhover comment. To make the timestamp of use when logging
arrivals outside of registration (effectively signing-in) then
register_list_action.php has to now compare the input with the
existing record and only update accordingly.

A new field in the users table allows for a webmail username which can
be derived from the user's email address. But not yet turned for the
staff_details.php page.

The logic of the enrolment action pages has been improved to allow
students to move straight to the current roll.



Version ClaSS-0.8.28 release (2007/09/12)
-----------------------------------------

To aid customisations which are preserved across upgrades, the
schoolarray.php and scholllang.php files have been added to the
toplevel directory. Instructions are in the in the files.

More logically ordered the countries selection.

The list_communitities() function now properly orders formgroups and
yeargroups.

The Register's absence_list now provides a shortcut link to each form
group.

Fixed report_assessments_view.php to handle assessments with numerical
scores as well as grades and to work when the chosen responsibility is
for only a subject.

Started new ReportBook option for summarising attendance.

Added the teacher's name to the display of comments and incidents in
the InfoBook.

Bugfix to the incidents, emails were always reporting open status.


Version ClaSS-0.8.27 release (2007/09/11)
-----------------------------------------

Tidied the address labels to have the title and country properly
displayed.

Contacts now have four blank phone records by default and only four
phone records as a maximum.

The EntryBook now cycles through up to two new contacts for each
student.

Added an attendance code 'L' for authorised lates.


Version ClaSS-0.8.26 release (2007/09/10)
-----------------------------------------

Fixed bug with Add New Contact which was only affecting new contacts
created from student_view in the InfoBook but was setting gid=0 for
each new one.

Moved the emails for new PINs code from the Admin passwords page to be
a part of the update_user function. So, any new PIN is always emailed
to the member of staff (as long as $CFG->email options are set). This
also now uses the send_email_to() function instead of just plain mail().

Added the status to emails for incidents.


Version ClaSS-0.8.25 release (2007/09/02)
-----------------------------------------

Bug fixed the staff_details page which was choking on the new senrole
field, this needed senrole adding to the permissions' functions and
confusion in the use of $key (when it should be $index) before using
the set_list_vars.

Some database changes to finalise the incident tracking and "inc"
entries to categorydef to get started.

The Incidents has been moved from fetchStudent() to its own
fetchIncidents() function and Actions added to include the incident's
history.

To allow new actions to be added on to the end of an open Incident
then the js function clickToAction() has had a new action added and it
sets no_db to -1 (similar to report entries) to flag the submit to the
action page as a new entry.

Some alternative divs added to the topform and brough in and out by
the clickToAction to keep the user aware of the topform's status. The
css id formstatus is only in the InfoBook at the moment.

Fixed the create_infobook.php install script so that the enrolstatus
has the full compliment of enum values - should have been done back in
0.8.13!

Rejigged report_incidents_list page in the ReportBook to high-light
students with "Open" Incidents. Bugfix for passing sids on the
clickthru to the InfoBook too.

Tidied form_edit_action of warnings.

Added a new user role called "district" for access to only the Admin
book by those responsible for a overseeing a group or district of
schools. Limits to only accessing pages for overall statistics.


Version ClaSS-0.8.24 release (2007/08/17)
-----------------------------------------

Moved the path to phpmailer library out of the functions and into a
new $CFG option in school.php.  Use of phpmailer will soon be
obligatory for all emails and this is therefore now a dependency and
mentioned in the install README as such.

Added a multiline option for importing csv records split across
multiple lines - which is often the case with spreadsheet exports for
student records.

Slight changes to the guardian and student tables to lengthen the
forename and surname fields. The guardian title field is made an enum
and this replaces the prefix field (which was never implemented
anyway).

Added a new field senrole to the users table to allow any user to be
given acces to the seneeds tab (it is was restricted to role=sen
previously). This senrole field is checked in the logbook to add the
seneeds to the book array if needed. Also senrole can be set to yes or
no in the staff_details page by an admin user.

fetchStudent now includes a call to schoolarray to allow for localised
changes to fields.

A new field added to info table and included as part of the $Student
and $Enrolment arrays to record admission's notes. This is revealed as
a onhover on the admin enrolments' page and can be edited as part the
enrolments screen in the Infobook.

Included joining enrolment community as part of import_students when
they have a yeargroup_id set. Current enrolment year is default and not yet
changeable.

Added mailing as a field to the student import definition.

Bugfix to the default values in the Entrybook's session vars.

Bugfix to the display of text fields in the xml array.

All values in enum fields are expected to be uppercase, added
strtoupper for slected values on the html functions to cover for this.


Version ClaSS-0.8.23 release (2007/08/06)
-----------------------------------------

Added a title field to the guardian table which is used for new
DisplayFullName field in the $Contacts array. Apply the patch!

New action button for office users on the student_list page for
printing address labels. This uses checksidsAction to call
contact_labels_print.php and has a new template called labels. Need
some way of configuring the default label style (ie. template name) in
the school.php file. 

Fixed a bug in year_end_action which had been introduced back in
0.8.16. Needed to lift the unique contstraint on the secondary index
in the community table.

Changed to the student_scores scheme so it now only displays genuinely
cross-curricular (subject_id=%) assessments in the table. Need to
display subject_id=G in a seperate table, and allow for click on
subject header to subject specific perhaps?

Started transition of the incidents to full incident tracking
system. A new table incidenthistory added and flag for closing and
incident added to the existing table.


Version ClaSS-0.8.22 release (2007/07/06)
-----------------------------------------

Generalised the js checksidsAction to work in any context; the sids
don't have to be checked checkboxes but can be in the hidden xml-div
instead. It now grabs the name of the xsltransform to use from the
returned xml if one is not already set in the xml-div.

The extrabuttons array can now take a pathtoscript attribute to be
used by checksidsAction instead of the default pathtobook when it has
to call outside of its own book. A further attribute can point to a
named hidden xml-div instead of the default id=xml-checked-action.

The improved checksidsAction used to replace student_reports_print in
the InfoBook.

Simplified the list scripts for reports and wrappers to use a single
select (including both previous and current).

Using background images in the css to add some shine to the user
interface. A vertical gradient effect added to the selery li elements
and a hrizontal gradient to the book tabs.

 
Version ClaSS-0.8.21 release (2007/06/27)
-----------------------------------------

Bugfix to checkyesno script.

Fixed the student_scores tracking page to do averages for plain
numerical results as well as grades.

Dropped the subject and course fields from the grading table (apply
the patch!!!) and made corresponding changes to the select
queries. The crid/bid fields in markdef is sufficient to filter for
nearly all purposes and the crid part of the key was not being used
consistently.

The definition of grade schemes has been moved out to its own file
gradeschemes.xml in the curriculum packs. Curiiculum packs need to be
upgraded!!!


Version ClaSS-0.8.20 release (2007/06/22)
-----------------------------------------

A new 'dif' marktype added to the mark table in preparation for the
new option.

Brought the install pages within the lang translations scheme - still
need to convert index.html and instal.php fully.

Started migrating all assessment related stuff to function calls; now
using update_assessment_scores() in both the MarkBook and ReportBook.

New table 'derivation' to be used for linking to dependent marks and
assessments.

The derivation field for an assessment can now be used to calculate
either SUM or AVE or RANK based on the scores of other assessments
identified by their element.

A suite of new functions in lib/fetch_assessment.php handle the
derivation of assessment scores. The update_assessment_score function
includes a call to check the derivation table and run an update of
derived assessments if neccessary.

New field added to the assessment table to flag the existence of
overall statistics exist for that assessment.

Two new httpscripts in the ReportBook, accessed as a rowaction button
from the new_assessments page. So, calculate_assessment_statistics
stores both an overall stage average for every bid-pid in the eidsid
table with sid=0 for and individual cross-curricular sid averages with
bid='G'; it generates a a new eid for each stage to do this. Also,
calculate_assessment_rank is available when an assessment is created
using the derivation RANK(element) and it generates student ranks
based on their score for the assessment identified by element. Neither
the ranks nor averages are dynamic, they need ot be updated using the
button as required.

Improved the algorithm for how fetchReports calls to fetchAssessments.

Now generalised the checksidsAction javascript function to be used in
any context, passing whatever parameters are listed in the embedded xml.

Added a new button to the edit_reports page, and the neccessary check
boxes, which uses checksidsAction to print simple summaries of student
reports for just the bid of the current class. Uses a new template
called subject_report_summary.

Fixed fetchSubjectReports so combining reports with contrary numbers of
assessments does not ommit any.

Bugfix to a typo in checkcurrentRespon in permissions, it was
over-looking subject responsibilities.

The moodle libraries which were being used for ldap development have
been removed from the repository until a time when ldap is back on the
roadmap.



Version ClaSS-0.8.19 release (2007/05/31)
-----------------------------------------

Minor bugfix to edit_scores to make cancel button work - sub_action() was
not being called.

Tweaked the #ddd dull grey background colour to be less dull.

New scripts in the infobook and a new div on the student_view page to
display and edit enrolment properties of a student. Will also show the
history of their application in future. A new fetchEnrolment()
function added which is specicifically for this purpose and no other.

The enrolments and accomodation pages in the Admin book both now make
use of the new community_list scripts. Which should become general
purpose for listing sids and editing in any type of community in
future. These now allow click-throughs from the table of numbers to
the list of students relating to that position on the
accomodation/enrolment table. Enrolment fully working. Only partially
implemented for accomodation so far.

The access to enrolment communities through yeargroup_edit has now
been deprecated because of the above.

Two new css classes (hilife and lowlife).

Any sids not on current roll and listed in InfoBook are now
de-emphasised using the lowlife class.

New onchange js function for checkboxes in listmenus which
de-emphasises/emphasises the table row based on its checked status.

Made the event handlers for the checkrowIndicator part of loadRequired
and standardised the trId to have a "sid-" prefix to be consistent
with the sidtable functions.


Version ClaSS-0.8.18 release (2007/05/25)
-----------------------------------------

Consistently renamed the set_XXX vars scripts.

New functions to list_courses and list_course_stages.

In the Admin book, renamed the logcounter page and added a new option
to call from it which gives overall statistics for the current
academic year. Working towards more in depth stats.

Locked down the permissions in the InfoBook a little further. For role
of 'support' and 'office' there is no access to the comments, incidents
or tracking. Also 'support' can only view and not edit.

A new field for the list_vars called filter. This can be used for enum
fields to limit their values to just the enum values which exist in
the database table named by $listfilter. Has been implemented for the
InfoBook search fields.

Migrated list_stage.php over to use list_vars.

Included some ad hoc stuff to calculate overall totals for the Admin
book's accomodation page.

Hooked in set_accomodation to the editing of student details from the
InfoBook.

The search for accomodation communities temporarily(!) lists all students
who have ever belonged regardless of start and end date.

Revealed the capacity as a new column on the yeargroup_matrix for
admin and office roles.


Version ClaSS-0.8.17 release (2007/05/11)
-----------------------------------------

The ugly redirect.php script has finally been updated to call
script/set_action_post_vars.php and include only those vars for
posting which are listed by the parent page in the array
$action_post_vars.

Bug-fix to column_copy.php in the MarkBook when copying grades.

Renamed new_mark2 and new_mark_action to be consistent with other
action scripts; now new_mark_action1 and new_mark_action2
respectively.

Removed the dead and unused scripts column_hide.php and column_show.php.

Expanded the xmlarray capabilities to allow for a default_value, this
is set by xmlarray_form() when the field value is empty.

Have working first versions of the admin pages for enrolments and
accomodation. These use coutin_community to show a spreadsheet of the
student numbers subscribed.


Version ClaSS-0.8.16 release (2007/05/07)
-----------------------------------------

Use patch-0.8.16.sql to bring the db into line with the changes!

The student firstlanguage field has been brought in to line with CBDS
2007, renamed language and allows a char4 code. This is accompanied by
the addition of the languagetype field. Maintains compatibility by
maintaing the old firstlanguage codes in the language list but these
should be deprecated.

All nationality and country fields (in tables guardian, student, and
address) are moved to char2 and now use the iso codes. The patch which
updates the database will curtail entries to their first two letters
and, be warned, this may lose you data! It is straightforward to check the
nationailities you have against there relevant iso code and add some
entries to the patch to convert them in advance of the change
(examples are included).

Added new field companyname to the guardian table and exposed both
this and the profession fields through the Contact array.

The transportmode field has been included as part of the Student
array. While the transportroute field has been dropped from the info
table and will be superceded by membership of the communities for
school buses.

Attempted to solve a problem with the selct fields in the bookoptions;
options of different lengths also had different css widths and made
clicking difficult. Have had to use fixed widths in px to get around
this, as nothing else worked. Firefox rendering css problem?

Have added a new contact option and associated scripts to the
EntryBook. This still needs tying in with a new student though.

Incorporated selerySwitch into the js to allow selerylabel fields to
switch the input fields the user sees. Used first as part of the
contact search options.

Completed the set of html_functions with a new list_select_enum().
 
The entrybook session variables now use the book_session_variables
script.

A new field "capacity" (or maximum size) added to the community table
to limit available places for enrolments.

Simplified the yeargroup_edit screen (as the "students already in"
column was redundant).

A new enrolments_matrix.php option added to the Admin book. Available
only to admin and office roles, this is work in progress.

The academic year has been added to the Entrybook sideoptions for use
when entering students into the enrolments process.

Migrated both the list scripts for year and enrolment_status over to use
the new list_select functions.

Changed the naming of the communities during the enrolments procedure.
New fields year and season have been added to the community table to
allow enrolments to work with different academic sessions. The
prospective year of entry is the same as the curriculum year (though
strictly this is tied to a course!). The prospective yeargroup for
enrolment is recorded as part of the name of the community. NOTE they
are only subscribed to a yeargroup community once they join the
current roll, yeargroup and form communities only exist for the
current cohort and so their year/season fields remain empty.

Added option of a local lang file which sits outside of the class
application path. Create schoollang.php in the toplevel directory to
have any string customised for the school (as opposed to the
language).

Incorporated a button to unlink a contact from a student as part of
contact_details.php. The contact remains in the database.

Both the EntryBook and InfoBook pages for contact details have been
given a select field as part of the action buttons which pulls an
existing contact record from the database and allows it to be linked
to the student. Have made the relationship a required field.

A new table for accomodation and an eccompanying section of the
student profile has been added. This allows the managment of details
for boarders including their arrival and departure times. A student is
subscribed to a new type of community 'accomodation' which is named
based on their gender and accomodation category with memebership
linked to the dates of the stay.

The sequence of pages in the EntryBook has been changed to incorporate
giving a new student both a boarder stay (if boarder set on first
page) and a first contact (second contact needs adding?).

A crude new script in the Admin book to give a snapshot of the class
sizes for a course.

Temporary fix to the display of community names; now can use the
detail field if it is not null. And displays the year for the
enrolment communities.



Version ClaSS-0.8.15 release (2007/04/16)
-----------------------------------------

Exposed the nationality field for the guardians.

Incorporated a choice of contactfield for searching in the
quick_search.php which defaults to surname.

Added the ISO two letter country codes, these are translated in the
countries.php file which is part of each lang pack. These still need
to be implemented for the nationality and country fields.

Office and admin roles can now search in the infobook using a choice
of fields for both contact and student. The fields can be extended.


Version ClaSS-0.8.14 release (2007/04/02)
-----------------------------------------

The use of listvariables for list_community.php had broken the cohort
matrix. Had to bugfix by making selectedvalue for arrays to be
correctly handled.

Also the import_students dob was broken. This needs to be made clever.


Version ClaSS-0.8.13 release (2007/03/30)
-----------------------------------------

Standardised on an externalparams array for constructing the link in
all the externalbooks.

New field added to table users to hold the emailpasswd and used to feed
to the external webmail app (use the patch!!!). This is encrypted
before storing in the db using endecrypt taken from moodlelib. The
same function is needed at the other end (in the webmail app) to
decrypt the password upon receipt.

The xmlprocessor function is under development for publishing reports
to files. The feature is currently an admin only button for the
report_reports_list.php page. It needs a new (and temporary!)
toplevel directory called reports to publish the html files in, one
per student. Set the $CFG->html2ps path and you'll very slowly get pdf
too.

Added hostfamily as a valid value for the boarder field and a list of
additional categories to the enrolment status field. Both additions
are outside the CBDS.

Exapanded the communties available for enrolment, and added matching
entries to enrolmentstatus in the info table (patch
needed!!!). Reworked yeargroup_edit pages to work with these.

The join_community function changed to take account of the extra
enrolment possibilities and the previous generic enquired:enquired,
aplied:applied and accepted:accepted:accepted communitites are now
superceded. The patch will update them to read accepted:AC etc.

New feature is student export in the InfoBook as an action
button for the student_list - needs choice of fields adding.

The db tables form and tidcid both had the old varchar(10) for
teacher_id, now corrected in the new patch.

Made list_community.php compatible with listoptions.

Reorganised the infobook search scripts and added the option to search
any community for office and admin users.

Adopted phpmailer library for handling email. This needs instructions
added to the install. It is called only from send_email_to(), a new
function adapted from Moodle to handle attachments. Requires new
config settings for email in school.php, including optional smtp options.

Bugfix to book_variables.php which was missing the get value for cancel.

First crude implementation of searching for contacts in the
InfoBook. This has added contact_list.php as the main page for the
results and some changes to contact_details.php to work when no sid is
selected.

The contacts can now call on fetchDependents() function to list the
contents of the gidsid table. Although its an xml-array Dependents
does not fit with the rest of the Student xml logic and will remain
localised to the contacts pages of the InfoBook.

Made the lists for yeargroup, form, academic group printable by adding
viewcontent ids.


Version ClaSS-0.8.12 release (2007/03/15)
-----------------------------------------

The rowaction buttons are now generated using a library call to
html_functions, uses the same extrabuttons function as the other
buttonmenus.

Updated the medium.xsl report template to use summary elements.

Added portfolio_accounts to the Admin book - in a state of heavy
development and not ready for use yet.

Fixed up the ents_list form in the InfoBook.

Version ClaSS-0.8.11 release (2007/03/12)
-----------------------------------------

Added a logout call for the eportfolio to the js logout function.

Added eportfolio_db_prefix to the school.php config options to bring
into line with how these often implement shared databases.

Bugfix to the new http/report_reports_print.php which was not getting
the transform right. This is now passed through the imbedded
xml-check-action div in the report_reports_list.php page.


Version ClaSS-0.8.10 release (2007/02/28)
-----------------------------------------

A third rating of 'general' added to the comments.

Removed the length limit for incident details.

Added a pastoralemailfooter to lang/en/class.php which is used by both
incidents and comments.

New options added to school.php. $CFG->emailoff disables sending all
emails to staff (only the administrator user's email address will be
active). $CFG->emailcomments will notify responsibile staff by email
of new commments, in the same way that incidents are already
posted. Incidents can now be turned off with $CFG->emailincidents.

Bugfix to the EntryBook which solves new students with enrolstatus of
'enquired' not joining their community group.

Finally working with cohorts in the ReportBook. Using lisinCohort and
listinCommunity for matching students to academic and pastoral responsibilities
respectively when it comes to collating subject reports or whatever.

Added a sitestatus div which is swapped in and out with sitelogo to
provide a progress or activity indicator in the bottom left
corner. Controlled by javascript progressIndicator(). Used during
xmlHttp requests - could be used for messages too?

Have moved the "Preview selected" form buttons over to use an xmlHttp
request instead of a page reload. New javascript function
checksidsAction grabs the sids from the checked boxes and makes a call
to reportbook/httpscripts report_reports_print.php.

openPrintReport() can now take the xml directly passed as a third term
as well as grabbing it from a hidden div in the page to allow for
above.

Removed the redundant code in column_edit.php for linking marks to
assessments.

Implement cohorts to filter for relevance in list_assessments.

Cleaned up the naming of cohort, community and permissions functions
to be consistent with the rudimentary conventions described in the
head of functions.php.

fetchAssessments can no take an eid as an optional value to return all
results for just that one assessment (before it returned ALL results).

The report_assessments scripts now work with cohorts and consequently
can handle assessments across multiple courses correctly
side-by-side. The recoding has increased the speed of this slug
hugely; it is now actually useful!

Added $book sensitivity to the extrabuttons functions so they can have
their description in the book lang files instead of all in class.php.

Improved list_stage and list_assessment so they can filter for rbid as
well as rcrid responsibilities.

Implemented sencurriculum to allow per subject statements of need, the
current statements are maintained as a starting 'General' subject. New
category field added to the sencurriculum table to flag for type of
extra support provided - this also needs new 'sen' types in the
categorydef table loaded. The database field sentype changed from an
enum to a char(3). This all needs patch-0.8.10.sql to be applied!

Updating to match CBDS changes, SEN NationalCurriculum is now
NCmodifications.

Started to standardise the list_scripts to use the same named
variables and then a function call to list_select().

Bugfix for the comment.xsl templates.

Version ClaSS-0.8.9 release (2007/01/30)
----------------------------------------

Corrected all varchar(250) fields in the infobook tables to be plain text
fields - needs patch-0.8.9.sql!

In bookfunctions.js, makeLabel was not being used to prepare the
xmltag by fillxmlTable but it is now.

Added second contact options to the student display fields in the InfoBook.

Bugfixes to the import_stats and new_stats pages in the ReportBook.


Version ClaSS-0.8.8 release (2007/01/22)
----------------------------------------

The loginaside text had gone missing - it needed the
loadBookOptions("logbook") to be called at the end of login.php.

Have renamed fputcsv to be file_putcsv as it conflicts with the stock
fputcsv function in PHP5.

Version ClaSS-0.8.7 release (2007/01/19)
----------------------------------------

A bugfix to the register which fixes the completion list. It was
failing to exclude students who had left a registration group. The
leavingdate clause has been added to the check_CommunityAttendance
function.

Tracked down missing D grades in the ReportBook to scoreToGrade()
function mistaking grades with score value zero for null strings.
Now use is_numeric for scoreToGrade() and scoreToPercent().

Added Element and Derivation to the new_assessments form.

Renamed xmlpreparer to be xmlechoer and now using xmlpreparer to
return xml for use by xslt_process.

Added phonenumber to the info table and fixed the length of the email
field to 240 - needs patch-0.8.7.sql.

Use phonenumber field for 'MobilePhone' in the Student xml fields.

Email, MobilePhone and FirstContact all added to the studentfields 
displaying from the select lists in the InfoBook student list.

The padding of the span element used by qtip was causing a problem for
onhover and has bee replaced by giving the span just the width and
height of its contents - it must now have a content or qtip!

The find_sids script has a problem with matching three letter
names. Best for now is to pull out results for an exact match. But its
only a work round not a solution.

Version ClaSS-0.8.6 release (2007/01/03)
----------------------------------------

A bugfix to the register to allow the display of a fresh attendance
event even correctly. Achieved with a simplification of the code by
adding the fresh event to the end of the existing AttendanceEvents.

Version ClaSS-0.8.5 release (2006/12/20)
----------------------------------------

Added a timezone setting to $CFG and included in classdata to set for
all pages. Really only needed by the Register when the school's
timezone differs form the servers.

Bug fix to responables page. The pastoral buttons needed their
rowaction container to work.

Moving towards using listCommunties function in both admin and
register, to list all communities of one type.

Added completion_list to the register to list the status of
registration groups for the current event. This also uses a new xsl
template to print the registers.

To allow xsl printing within the register the events have been given
an AttendanceEvent xmlarray.
 
Added simple nav buttons to the register_list to move back in time one
week at a time.

Version ClaSS-0.8.4 release (2006/12/16)
----------------------------------------

Now made the book_session_variables script available to host pages to
handle post and get for vars that maintain state between reloads. It
doesn't do anything extra upon var change so is currently only used in
the seneeds book.

Filtering the student_list in seneeds book by sentype, yeargroup, and
sen review date now implemented as part of the sideoptions.

Added checkeveid to the session vars in the Register, it now maintains
the selected column.

Version ClaSS-0.8.3 release (2006/12/12)
----------------------------------------

Bug-fix to list_report_wrappers, the requiredor form elements need to
be arrays if named the same or a blank value can be passed.

Moved formfunctions to bookfunctions and userinterface to hostfunctions.
Moved viewstyle to bookstyle and parentstyle to hoststyle.

Basic absence lists added to the register.

Bug-fix to eliminate multiple assessments cells being printed. Now
uses the assessment element to check they only exist once.

Added requiredor class to the javascript validation for eitheror
fields. Implemented in the reportbook to start with.

Changed MarkBook table colours to match the other books.

Cosmetic changes to the marktable including addition of a shortcut
link for student_view.

Moved out the page variables from each of the book host pages to
scripts/book_variables.php.

Reorganised the infobook search to allow onsidechange for the groups.

Version ClaSS-0.8.2 release (2006/11/30)
----------------------------------------

First working version of the register completed. Now records
absent or present status; when present lateness; when absent a absence code.

Added create_register to the install process
which creates two new tables, event and attendance.

New javascript extension to the UI added for highlighting selected
table columns and student rows. Currently only implemented in the
register. Uses a css class "selected".

The css of the sideoptions has been cleaned up with a new class selery.

Moved commentdate to a default value in commentDisplay and moved to
using mktime to do the claculation.
 
Removed the unused date variable from the User class.

Have dropped the nicetitles code in favour of the neater leaner
qTip. This means all the popup title attributes are now moved out to
span elements. All much tidier.

Added to the css and html_functions tp provide a new "selery" class
which replaces the ugly select elements on the sideoptions. Requires
two lines of javascript to work and part of the userinterface code.

Increased the length of the email field in the guardian table.

Added js for font resizing using a third sidebutton in the logbook.


Version ClaSS-0.8.1 release (2006/11/09)
---------------------------------------------------- 

Changed password to pin for the staff_details form, added list_role,
and used list_book for the firstbookpref.

Changed naming of teacher id and staff number in the entrybook.

Moved the setting of $tab=1 into the head_options.

A statement of intent, adding library, medical, and sen to the array
of user roles - even though they don't yet do anything.

Removed the limitation of needing all books enabled for the 'admin'
role by adding a non-role to the the books array called 'all'. This now
takes care of telling index.php about pre-loading all viewbooks. 

Added SENeeds book which displays just sids flagged with SEN='Y'. Uses
a new getSENPerm to allow access for pastoral and sen responsibles to
change the sen records.

Now check for admin role in report_reports and for users with more
than one pastoral responsibility.

Fixed bug in list_student_reports which caused no reports to be
displayed, and added selections for individual course reports as well
as report wrappers.
