Filling a Niche PHP, MySQL, and Open Source Web by utg65734


									   Filling a Niche:
   PHP, MySQL, and Open
   Source Web Applications at
   Chad Kieffer, Web Developer
   Los Alamos National Laboratory
   DOE InterLab 2003
   Friday, November 7th, 2003

LA-UR 038001 11/2003
Alternate Presentation Title:
Cool, Free PHP Stuff on the Web
       (Without the sticky legal issues
       surrounding music sharing)

LA-UR 038001 11/2003
   LANL in the News
   • Challenge: Make it quick and easy for
     content developers to post simple news
     content without knowing HTML or HTML
     authoring tools
   • Solution: Build simple database-driven
     content management tool with web-based
     administration tools

LA-UR 038001 11/2003
   Web Development Evolution
   • 1994: In the beginning, there was HTML
   • 1996: Perl CGI for form & text processing (ex.
     Press Releases)
   • 1997: Dreamweaver library items/ templates
   • 1998: Apache server-side includes
   • 1999: Investigated JSP and ASP
   • 2002: Now there is PHP/MySQL

LA-UR 038001 11/2003
   Factors in our Team Evolution
       • IT department focused on
         enterprise-level applications
       • Able to hire and develop dedicated

LA-UR 038001 11/2003
   How Our Team Thinks

LA-UR 038001 11/2003
   Why PHP and MySQL?
   •     Already in LAMP environment
   •     Free
   •     Fast and powerful
   •     Cross-platform
   •     Easy for non-programmers to learn
   •     PHP supports most popular databases
   •     Growing popularity
   •     Many useful open source applications

LA-UR 038001 11/2003
   Why Not PHP/MySQL?
       • No corporate source of support
       • Poor XML support
       • Not truly object oriented (yet)
       • Developer tools are immature
       • No stored procedures or triggers

LA-UR 038001 11/2003
   Open Source: Pros and Cons
   • Pros
           – Free
           – Standards friendly
           – Great community support with little corporate
   • Cons
           – Little corporate support (training, installation)
           – Poor documentation
           – Potentially steep learning curve

LA-UR 038001 11/2003
   Open Source Applications
 • Candy stores:,
 • Test drive at
 • Popular Applications
          –    MySQL administration: phpMyAdmin
          –    Image Management: Gallery
          –    Collaborative project management: phpCollab
          –    Discussion board: phpBB
          –    Code documentation: phpDocumentor
          –    Full-featured web portals: PostNuke, Tiki, GAIM
          –    Groupware and e-mail: Horde, Squirrel Mail

LA-UR 038001 11/2003
   If You Haven’t Built It
   Maybe Someone Else Has
   • Web-based genealogy application
   • Uses standard genealogy data format
     (GEDCOM 5.5)
   • Maybe we could use it for organization

LA-UR 038001 11/2003
    Sample LANL Applications
    • PHP public class library Payroll Calendar , RSS Feeds
    • Service request forms:
           IPSR, 3rd Party Software Requests, ESA-WMM HE
    • Conference registration forms
    • Content management: LANL in the news, Protecting
           Information, Helpdesk, R&D proposal tracking, Licensable
           technologies directory, Personnel skills directories
    • Utilities: Network Registration Service, Web Publishing Assistant,
           Authorities Manager, Phone book
    • Training: Simple quizzes
    • Many dynamic enhancements to static sites

LA-UR 038001 11/2003
   Development Practices
   • No widely accepted PHP application
     framework (MVC, Struts, .NET)
   • Fusebox framework for PHP
   • Source management (not yet)
           – CVS

LA-UR 038001 11/2003
   PHP Authoring Tools
   •     Macromedia Dreamweaver (Mac/PC)
   •     Zend Studio (Mac/PC/Linux)
   •     Eclipse + TruStudio Plugins (Mac/PC/Linux)
   •     BBedit (Mac)
   •     Homesite (Win)
   •     Ultraedit (Win)

LA-UR 038001 11/2003
   LANL Developer Community
   • PHP Study Group
   • Bring together PHP developers from other
     groups to share ideas, work, and
   • Expand PHP public class library

LA-UR 038001 11/2003
   Closing Remarks
   • Contact me at
   • Would love to expand the PHP developer
     community within DOE
   • If you embrace open source, give back to
     the community

LA-UR 038001 11/2003
   LANL Payroll Calendar
   • Problem: Tedious update process of static
     calendar graphics
   • Solution: Found a freely available PHP
     class that creates and displays an HTML
     table-based calendar for a specified
     month and year

LA-UR 038001 11/2003

To top