Merce

PHP

PHP it is

  • PHP has come to us as the language in which others have built large systems, which we maintain and extend. We have worked with Moodle, ATutor, and Drupal on numerous projects where we have extended and customised the basic system as per the customer's needs. For our internal needs, we have also worked with Wordpress blogging software and extended it as per our needs. All of these are large PHP applications.

  • Customisations Our customisations have been in most aspects of the systems we have started with.

    We have added basic dimensions to the underlying entities in some cases. In the case of e-learning systems, we have added support for semesters for courses, something missing from the basic products.

    We have done customisations in infrastructure components, e.g. in the user authentication mechanisms. We have modified these systems to authenticate against our own user databases. We have built our own user portal and passed on authentication from this portal to underlying applications, so that the user does not have to login individually on each underlying application. This has required us to hack the session state of these applications to insert authentication credentials into the sessions of the underlying applications from our portal.

    We have customised the appearance of the UI. We have studied how the underlying system handles its page appearance, and we have made changes to have least impact on the maintenance of the customised system. Where possible, we have restricted our changes to templates and CSS files. Where deeper changes were needed and the product supported themes, we have attempted to restrict our changes to a customised theme. In Wordpress and Drupal, themes have very high expressive power and can change many key elements of the presentation layer's code. Only when changes to the appearance have been too deep to be handled by CSS or themes have we changed the underlying code.

    We have also done development of small systems in PHP, including user portals, etc.

    We have used LDAP libraries in PHP to get and set values in an LDAP server and a Microsoft Active Directory service from our PHP code. We have implemented Web services in PHP, both for the client and server, to integrate various applications on different servers under a common interface.

  • Future workWe have a strong investment in some PHP based open source products, including ATutor, Moodle, and Drupal. We will continue to expand our practice in these products and will continue to deepen our engagement with PHP. We are also exploring PHP frameworks, specifically CakePHP.

RELATED READING