0.8 Release

From e107 Wiki

Jump to: navigation, search

Next Major Release - version 0.8

Planned Release Date: TBA

The 0.8 branch, when released, will contain significant improvements in various areas, listed below.

Currently the 0.8 files should be used only for evaluation/test sites - they may change, often substantially, and may contain significant bugs and inconsistencies. (It is also perfectly possible that the code in CVS will be totally broken from time to time.)

For live sites use only the 0.7.x releases, which are primarily to fix bugs - there may be some feature enhancements, but these will be relatively minor.


Contents

Changelog

Changes affecting Admins/Users

Area Feature
Content Management Many improvements and simplifications
Downloads Re-written as a plugin and new features added/bugs fixed
Front Page selection Now uses a hierarchical rule-based system, with the option to force a user to a specific page immediately following login

Image:Front-page.png

Event Calendar Templating of subscription emails by category - including a set of default templates
  • A 'list generator' allowing you to produce event lists for display/print/PDF
multiple templates - to allow a variety of formats
Optional user selector for start/end/category/output
Easy generation of links (queries) for 'fixed format' lists
Options for 'events in next n months'
  • Admin page to display voluntary subscriptions and allow deletion of them
  • More options for recurring events - most variations on weekly and monthly
  • Better handling of recurring events within the display routines
  • Option to create multiple events according to a pattern
  • Various improvements on the templates and code

Image:Event_entry.png

Forum Many improvements - substantially rewritten.
Statistics
  • Month by month stats for browser, OS etc
  • Additional displays
  • Ability to export in CSV format (for off-line analysis)
  • Option to delete old stats
  • Separate core option to log page accesses to a text file (CSV format) for off-line analysis
Schedule A new function to schedule regular tasks e.g. backups

Image:schedule.png

Banlist
  • Date/time of ban logged
  • Different ban types noted
  • Can set optional expiry time and message displayed to user for each ban type
  • Can manually override auto-set ban expiry time
  • Whitelist for admin IP addresses etc
  • Separate field for admin notes
  • Ability to import/export ban list in CSV format (for transfer between sites)

Image:Banlist_screen.png

System Logging
  • New viewer with filters for date/time, IP, user ID etc
  • User audit trail
Selectable by class
Type of logged events selectable
  • Rolling log to help with debugging and abnormal events
  • Option to only delete older admin log events
  • Viewer can show downloads history log

Image:System_Log_Filters.png

Common Settings Sets the number of lines on the log display.

Admin Log

This log retains events until specifically deleted; use this option to delete old events.

User Audit Log

This log tracks user activity. For registered users, only those in the specified class are tracked - you can either make this 'Members' to track everyone, or create a specific user class for logging. You then determine the types of activity which you wish to log. Registration events may be tracked separately.

Image:system_log.png

Rolling Log

This log is used to track abnormal events, assist with debugging etc. It can be disabled. Events are automatically removed after the set number of days.

Users
  • Logging of admin actions
  • Can send email from 'quick add user'
  • Timezone information is now an optional extended user field - upgrade procedure should move across existing data if the field is used.
  • Can auto-generate random login names
  • Password can be included in email when admin creates a user
  • Users can be allowed to log in with email address
User Classes
  • Hierarchical User Class option
  • Optional userclass icon
  • Class visibility control
  • Set initial user classes on signup or confirmation of registration
  • Optional logging of admin changes

Image:inherited_classes.png

User Themes

Can select which themes are available to users, and which class of users can choose their theme.

Public Uploads
  • Class-based restrictions on upload types and file sizes
  • Settings defined in filetypes.xml
  • 'Helper' function to generate the definition file
Bulk Mailer
  • Plugins can contribute email addresses
  • Mail queue auto-emptied by scheduler task
  • Option for start and end times for each mailout
  • More bounce handling options
Security
  • Optional 'salted' passwords
  • Optional CHAP-based login
Alt_Auth
  • Test feature - check out the settings before enabling
  • Copy selected user-related values from the source DB into the E107 user table
  • RADIUS support
  • Support for wider range of password encodings
  • Can use user databases imported from other systems
BBCode
  • [img] can auto-generate link to picture from thumbnail
  • [img] can choose a random image to display
Upload
  • User class-based file type and size restrictions
  • Upload restrictions now in XML file
  • 'Helper' to generate filetypes.xml

Changes affecting Installation

Area Feature
Server requirements The minimum requirement for mySQL will be 4.1.x, with 5.x preferred. (Note that versions of MySQL older than 5.x are no longer officially supported by its developers)
Server requirements The minimum requirement for PHP will be version 5.
Upgrades It will not be possible to upgrade direct from 0.6xx versions direct to 0.8 - you will have to go via a 0.7.x version. So for those remaining 0.6xx users, you are strongly recommended to upgrade now, to iron out any existing incompatibilities

Changes affecting Coders

There is a separate list of [Deprecated and obsolete functions]

Area Feature
Plugin Management function plugInstalled($plugname) can be called to see whether a plugin is installed, and $pref['plug_installed'][$plugname] has its version number, without need for a database query
Plugin Installation plugin.php replaced by plugin.xml file; includes new features such as the ability to specify dependencies (other plugins, including versions; PHP version, MySQL version and more control over prefs. Separate conversion utility to generate the basics of the plugin.xml file from the existing plugin.php file.
File Inspector- Plugin Create snapshot for plugin: (Your plugin will be listed when a writable e_inspect.php file exists in your plugins root directory.) and can be checked via the core 'File Inspector'

Image:File-inspect.png

Upload Handler New coding interface with many more features
  • Upload restrictions now in XML file (filetypes.xml)
  • Class-selectable filetypes and upload limits
  • Limit number of files for an upload
  • Separate routine to display errors
  • Determine final chmod()
  • Limit file size to less than the user and system-set limits
Users
  • New type of extended user field - 'Predefined list'
  • Timezone info is now an optional extended user field - moved out of user table
  • user_new field in user table removed
User Classes New class provides many useful routines - should no longer be necessary to access DB at all
class2.php load The $_E107 array variable can be set prior to loading class2.php to restrict the functions which are loaded - primarily for supplementary loads which may be required by Ajax applications or special theming requirements
IP Addresses IPV6 supported:
  • Use $e107->getip() to get current address (as you should already) - returns it in a 'normalised' format
  • Use $e107->ipDecode() to display address
  • Can be up to 45 characters long - make sure DB and display fields are big enough
DB Access Various changes and enhancements to the db class:
  • db_Fetch(MYSQL_ASSOC) is now the default (halves the amount of data). If you are directly accessing fields by their numeric position, or implicitly accessing them using a list() statement, you will need to specify db_Fetch(MYSQL_NUM)
  • db_Insert(), db_Update() can now be passed an array which defines processing functions for each field (see the definition of the db class)
  • Better support for multible databases, different connections
  • possible to use 'standalone' (i.e. without class2.php loaded)
  • supports SQL_CALC_FOUND_ROWS
General coding
  • New XML interface class, with filter to restrict the amount of data retained in memory
  • New DB table update manager class - changes table definition while minimising data loss
  • thumb.php now in e107_images only (version in e107_files removed).
  • resize handler supports image enlargement
  • PDF class updated (now uses TCPDF) - should be backward compatible, but possible issues
Personal tools