Technical Features

CourseSales.com is accessed through a web browser, and can be used on most client platforms.

For users

CourseSales.com is accessed online through a web browser.

User's machine:

  • Laptops and personal computers with standard hardware specifications (e.g. able to browse the Internet with ease) should be able to access CourseSales.com without difficulty, including:
    • Windows XP, Vista, 7
    • Linux
    • Macintosh
    • UNIX
  • Browsers ( javascript must be enabled ):
    • Internet Explorer 6 and above
    • Firefox 4 and above
    • Safari
    • Opera
    • Others are likely to work too
  • Broadband network connection
  • We target a screen resolution of at least 1,280 pixels wide

For IT people

CourseSales.com has been built on a solid foundation of widely used open source software and design patterns.  CourseSales.com uses a rigorous object oriented architecture built with PHP and the MySQL relational database. 

Our framework follows the Model View Controller (MVC) pattern, with an emphasis on optimising standardisation and avoiding duplicate code.  Our own powerful set of base classes and standards contribute a solid foundation for all functions, to produce consistency in code and in the user experience.  We use JQuery to support features on the user interface.

CourseSales.com is a true multi-tenanted application, with a wide range of configuration options to provide subscribers with their own set of features.

Security and control over access is managed by:

  • SSL between the browser and the server
  • Login based on your own dedicated sub domain
  • Three strikes account locking on wrong passwords - with IP logging
  • Logout on idle timeout
  • Role based access control, specified to the level of a CourseSales.com class and action
  • A single dedicated class on the server to validate all requests.

CourseSales.com also presents secure services (APIs) to the outside world that enable third party applications to interact with it, to for example retrieve information about courses or accept registrations.

Most data in CourseSales.com cannot be deleted, only marked as 'Inactive'.  CourseSales.com automatically maintains an audit trail for add, update and inactivate actions, with the user timestamp and details of the record changed.  Inactive records can be reactivated at any time.

The application can be scaled both up and out using clustering.  The application is stateless.  Call patterns to the database are managed by a single class, which the database is optimised to serve. 

With performance we prioritise views over updates, so our database design has features oriented towards that goal.  We use asynchronous background processes operating on a low priority trickle basis to decouple online interactions from more complex workloads.

If you are looking to implement CourseSales.com rather than web source it, our software uses the LAMP stack ( Linux / Apache / MySql / PHP ).

  • We recommend RedHat, Suse or Debian Linux (or variants including CENTOS and Ubuntu ) Enterprise editions
  • We can assist you with sizing the application, however as a guideline a server with over 50 gb of mirrored disk, and 2 Intel Xeon processors (or similar) with 2 gb of RAM would be sufficient as a starting platform for many applications.

 

Æ