myisern lime myisern : a web-based collaboration database by kevin english university of hawaii, ics...
TRANSCRIPT
MyIsern LimeMyIsern Lime
MyIsern : A Web-based Collaboration DatabaseMyIsern : A Web-based Collaboration Database
By Kevin EnglishBy Kevin English
University of Hawaii, ICS 613University of Hawaii, ICS 613
ISERN LIME OverviewISERN LIME Overview
Build with PHP5 Framework SymfonyBuild with PHP5 Framework Symfony
Objected-Oriented, takes advantage of new Objected-Oriented, takes advantage of new
features in PHP5.features in PHP5.
Encapsulates SQL with Object-Relational Encapsulates SQL with Object-Relational
MappingMapping
MySQL backend database.MySQL backend database.
Tesing with Lime, Build with Phing.Tesing with Lime, Build with Phing.
Quick DemoQuick Demo
Demo LoginDemo Login
Demo Collaborations, Organizations & Demo Collaborations, Organizations &
Researchers CRUD screens.Researchers CRUD screens.
Edit Researcher ScreenEdit Researcher Screen
View OrganizationsView Organizations
List ResearchersList Researchers
View CollaborationView Collaboration
PRIME DIRECTIVE #1PRIME DIRECTIVE #1
The system successfully accomplishes a useful The system successfully accomplishes a useful
task.task.
PROPRO: Easy to use, familiar CRUD interface.: Easy to use, familiar CRUD interface.
PROPRO: ISERN Collaboration Data can be tracked: ISERN Collaboration Data can be tracked
CONCON: Not very generic: fields specific to ISERN.: Not very generic: fields specific to ISERN.
CONCON: Limited User Interface: Limited User Interface
PRIME DIRECTIVE #2PRIME DIRECTIVE #2
An external user can successfully install and use An external user can successfully install and use
the system.the system.
PRO: PRO: Installation Guide is available Installation Guide is available
PROPRO: User Interface is very intuitive, doesn’t : User Interface is very intuitive, doesn’t
need training or docs.need training or docs.
CON: CON: Installation takes many steps.Installation takes many steps.
CONCON: Will work better in Linux Environment.: Will work better in Linux Environment.
PRIME DIRECTIVE #3PRIME DIRECTIVE #3
An external developer can successfully understand An external developer can successfully understand
and enhance the system.and enhance the system.
PRO: PRO: Good Developer’s Documentation.Good Developer’s Documentation.
PRO: PRO: Built with elegant, user friendly Built with elegant, user friendly
programming language (PHP)programming language (PHP)
CON: CON: Symfony Framework has learning curve.Symfony Framework has learning curve.
Development ProcessDevelopment Process
WEEK 1WEEK 1
Learn SymfonyLearn Symfony
Data ModellingData Modelling
Controller/View Controller/View
ImplementationImplementation
Apache ConfigurationApache Configuration
WEEK 2WEEK 2
Write Tests with LimeWrite Tests with Lime
Build System with Build System with
PhingPhing
Installation and Installation and
Developer's Docs.Developer's Docs.
Incomplete TasksIncomplete Tasks
Collaboration Field ValidationsCollaboration Field Validations
Reports, Reports, ReportsReports, Reports, Reports
Web 2.0 Front-end Web 2.0 Front-end
Upload ImagesUpload Images
Developer’s ToolDeveloper’s Tool
Lime Framework (Demo)Lime Framework (Demo)
PRO: Easy to write tests. PRO: Easy to write tests.
PRO: Data Fixtures can be used for functional testing.PRO: Data Fixtures can be used for functional testing.
CON: Infancy, have to place one test per file.CON: Infancy, have to place one test per file.
Phing (Demo)Phing (Demo)
PHP clone of ANT.PHP clone of ANT.
You can write your own task in PHP.You can write your own task in PHP.
ConclusionConclusion
Stay away from Java!Stay away from Java! Using the right tool for the job makes a difference Using the right tool for the job makes a difference
in output, productivity and sanity.in output, productivity and sanity.
Symfony had very good docs but has growing to Symfony had very good docs but has growing to
do. do.
Testing and Build Tools make life much easier. Testing and Build Tools make life much easier.