DESIGN AND IMPLEMENTATION OF LABORATORY CONTENT MANAGEMENT SYSTEM (CMS) ilab USING CakePHP FRAMEWORK



Similar documents
Building Library Website using Drupal

PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN

Content Management Systems: Drupal Vs Jahia

Christopher Zavatchen

Elgg 1.8 Social Networking

Developing ASP.NET MVC 4 Web Applications MOC 20486

The Development of Mobile Client Application in Yogyakarta Tourism and Culinary Information System Based on Social Media Integration

Administrator s User Manual for OrangeHRM Version 3.0

Drupal CMS for marketing sites

Open Source Content Management System for content development: a comparative study

Web Application Development and Frameworks

Certified PHP/MySQL Web Developer Course

Developing ASP.NET MVC 4 Web Applications

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Digital Downloads Pro

Build it with Drupal 8

Content Management Systems: Drupal Vs Jahia

ADMINISTRATOR GUIDE VERSION

Trainer name is P. Ranjan Raja. He is honour of and he has 8 years of experience in real time programming.

Development Of Car Rental Management Information System (Case Study: Avis Indonesia)

BUILDING WEB JOURNAL DIRECTORY AND ITS ARTICLES WITH DRUPAL

UH CMS Basics. Cascade CMS Basics Class. UH CMS Basics Updated: June,2011! Page 1

Workshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

WebLink 3 rd Party Integration Guide

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

Document Freedom Workshop DFW 2012: CMS, Moodle and Web Publishing

LearningServer for.net Implementation Guide

Shop by Manufacturer Custom Module for Magento

Web Development. How the Web Works 3/3/2015. Clients / Server

Creating Library Website Using Open Source Content Management System

10CS73:Web Programming

TIMETABLE ADMINISTRATOR S MANUAL

JMS MULTISITE for joomla!

CS3051: Digital Content Management

Content Management System

Checklist of Best Practices in Website

ENTERPRISE WEBSITE DEVELOPMENT

Design Approaches of Web Application with Efficient Performance in JAVA

Welcome to Collage (Draft v0.1)

Social Network Website to Monitor Behavior Change Design Document

Working With Your FTP Site

Web Design Technology

Publish Acrolinx Terminology Changes via RSS

vtiger CRM 4.2 Installation Guide for Linux OS

SIMGallery. User Documentation

HTML5. Turn this page to see Quick Guide of CTTC

Software Development & Education Center PHP 5

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL

Choosing a Content Management System (CMS)

TIME SCHEDULE OBJECTIVES

Richard Victor Ginting 1, Muhammad Kurniawan 2 1,2

SYSTEM DEVELOPMENT AND IMPLEMENTATION

NHS Education for Scotland Knowledge Services Design and Development Framework

Framework as a master tool in modern web development

Bijlage1. Software Requirements Specification CIS. For. Version 1.0 final. Prepared by Saidou Diallo. HvA/Inaxion. November 2009

Localizing dynamic websites created from open source content management systems

Manual for CKForms component Release 1.3.4

WordPress Security Scan Configuration

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

MASTER DRUPAL 7 MODULE DEVELOPMENT

Open Source Content Management System JOOMLA

Abdullah Radwan. Target Job. Work Experience (9 Years)

Oracle Solaris Remote Lab User Guide for Release 1.01

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

W3Perl A free logfile analyzer

Project Plan Log Monitoring Compliance

Installing an open source version of MateCat

Bitrix Site Manager 4.1. User Guide

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Roars. Sudaworld. M roarsinc.com W Roars Technologies Pvt. Ltd. Escalon, Sunnyvale, California, USA 94085

What s really under the hood? How I learned to stop worrying and love Magento

IGW+ Certificate. I d e a l G r o u p i n W e b. International professional web design,

CYCLOPE let s talk productivity

BarTender Web Print Server

Sugar Community Edition User Guide. Version 5.2

Server-Side Scripting and Web Development. By Susan L. Miertschin

PROPOSED SOLUTIONS FOR THE DESIGN & DEVELOPMENT OF COUPON WEBSITE

BarTender Print Portal. Web-based Software for Printing BarTender Documents WHITE PAPER

EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators

FileMaker 11. Instant Web Publishing Guide

DreamFactory & Modus Create Case Study

How to install phpbb forum on NTU student club web server

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server

DotNet Web Developer Training Program

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

Introduction to Web Content Management Systems Site Development SYLLABUS FALL 2012

system and integration with other internal platforms. Sr. Developer August 2011 August 2012

Installation and Deployment

Cabarrus County SharePoint Governance

Transcription:

DESIGN AND IMPLEMENTATION OF LABORATORY CONTENT MANAGEMENT SYSTEM (CMS) ilab USING CakePHP FRAMEWORK Sunu Wibirama 1, Ir.Lukito Edi Nugroho, M.Sc., Ph.D. 2, Indriana Hidayah, S.T. 3 ABSTRACT The making of ilab Content Management System (CMS) begins with a fact that there are only a few amount of web based open source CMS implemented for laboratory management. Also, laboratory management in Electrical Engineering UGM has not optimalized the advantage of information technology yet. Thus, the making of web based laboratory CMS hopefully can increase the quality and effectivity of laboratory management in Electrical Engineering UGM. ilab CMS was made with CakePHP framework. CakePHP is a framework based on PHP scripting language with Model-View-Controller (MVC) architecture and using Object Oriented Programming (OOP) concept for source code writing. The synthesis of MVC and OOP concept and also adequate framework documentation are the main reasons of using CakePHP as a framework to built a laboratory CMS application which is structured, easy to understand, and easy to develop. Keyword : Content Management System (CMS), laboratory, CakePHP, ilab, Model- View-Controller (MVC). 1 Author, Fresh Graduate Student of Electrical Engineering Department, UGM 2 Supervisor I, Lecturer of Electrical Engineering Department, UGM 3 Supervisor II, Lecturer of Electrical Engineering Department, UGM 1

1. Introduction Information technology as a branch of knowledge in contemporer computer engineering has given a lot of alternative solutions for management development and automatization of data transfer in various field of work. One of information technology implementation which is required by student, lecturer, laboratory staff, and institution staff of university is the use of Content Management System (CMS) for laboratory and practicum management. The goal of the research is learning and understanding implementation of CakePHP framework for creating CMS, also developing it into an application which is used for laboratory management. 2. Basic Theory 2.1. Content Management System Content Management System (CMS) is an application which is used for managing several methods related with web publishing. Based on Douglas [7], a CMS generally can be customized by adding or subtracting spesific feature, so that only several features needed which will be published to the user. Currently, CMS is widely used to create bulletin board, online trading website, community website, online photo gallerym and so on. Fraser [8] explained that Content Management System consists of at least three elements : - Content Management Application (CMA). CMA will manage application content components, including picture, text, and so on. - Metacontent Management Application (MMA). MMA will manage information carried by application content components. - Content Delivery Application (CDA). CDA will pick content components, read the information within, and render the result for user consumption. One of several various kind CMS is used and implemented for laboratory. It is called LIMS (Laboratory Information Management System). LIMS, based on Crandall dan Auping [6] can be explained briefly as a combination between software and computer hardware used in laboratory to manage laboratory sample, user, instrument, standard and other funcionalities using database, report generator and computer network capabilities 2.2. Framework CakePHP Framework is a basic tool used for reducing overhead resulting from web development activities [13]. Framework generally has a class library for accessing database, templating, session management and several reusable program codes. CakePHP is an open source framework used for developing web applicaton which has basic concept of CRUD (Create, Read, Update, Delete) [1]. 8 User View 1 7 Apache / IIS 2 Dispatcher 3 Controller 4 requestaction() 4 5 Redirect Database 6 Model Picture 1. CakePHP Architecture [3] 3. System Design 3.1. Requirement Analysis Almost all of laboratories in Electrical Engineering Department, Gadjah Mada University had same problems related to practicum (lab work) and resource management. Problems and solutions were tried to be solved by design and implementation of laboratory Content Management System are shown in table 1. Table 1 Laboratory Problems and Solutions Problems Solutions 1. Traditional practicum registration 1. Automatization of practicum registration 2. Traditional data 2. Automatization of 2

management 3. No resource repository for accesing moduls and all of practicum administrations 4. No online information media for laboratory news 3.2. Interface design data management 3. Creating online resource repository accessed from department intranet 4. Creating online information media 5. Restricting access and administering privileges for common user (not admin). 6. Automatization of installation process 7. Creating a user friendly system. CMS ilab consists of four interface design : - User page - Login page. - Administration page. - Administration menu page. 3.3. Database design Creating association between database entities was the first step of CMS ilab database design. There are 15 entities associating 15 CMS ilab funcionalities. Several of them allocated for practicum management are Practicumnames, Practicumschedules, Practicians, and Assistants. Others allocated for administration page, news board and repository are Userstatuses, Users, Projects, Resources, Newscategories, News, Links, Guestbooks, Homes, Profiles, and Settings. user and being the business logic of application. View is a part of application directly interacting with user, rendering the result of data processed by Controller. index add edit delete...... PAGE News PAGE Practician PAGE... User CMS View Apache Web Server Dispatcher Controller Controller News Controller Practician Controller Practicumname Controller Practicumschedule Controller Assistant Controller Project Controller Resource... Database CMS ilab Picture 2. MVC Architecture in CMS ilab Model Model News Model Practician Model Practicumname Model Practicumschedule Model Assistant Model Project Model Resource... Picture 3 shown Use Case diagram of CMS ilab. There are 5 users in CMS ilab : Admin, Lecturer, Laboran, Member, and Guest. Guest is lab participant (practician) dan lab assistant. The others are different actor with different access privileges. This Use Case diagram has 10 sub systems (moduls). Default system, located on the left side, is accessed by all users, including Guest. Administration system, located on the right side, is a system accessed only by user having an account in database. Picture 4 explains briefly the program flow of CMS ilab in MVC architecture. Model handles data sanitation and input validation from user. Sanitated and validated data then processed by Controller. The result of data processing is rendered by View in web interface made with pieces HTML, CSS, Javascript and PHP codes. User gets the result and all information processed by the system via this web interface using their web browser. 3.4. System Architecture Design Picture 2 explains implementation of Model-View-Controller (MVC) architecture in CMS ilab. Model is a part of application which consists of class related to database and manages association between tables. Controller is a part of application which consists of class handling request from CMS 3

User Keyword pencarian (melalui path url) Mendapatkan ID menuju url halaman Tidak Redirect ke halaman error Validasi request data dan alokasi resource (database) ID dari objek atau parameter lainnya Apakah objek ada di database? Ya Memasukkan ID yang direquest ke proses MODEL Hasil ditampilkan ke user Cek keamanan (apakah user diperkenankan melakukan aksi?) Tidak Redirect ke halaman error Ya Lakukan filtering untuk objek (spam filtering, HTML formatting, data validation Proses data yang dimasukkan (form, post, search) Memproses data yang dimasukkan CONTROLLER Parsing layout berdasarkan aksi dari proses (html, rss, etc) Gunakan template untuk tampilan layout modul Ambil konten yang akan ditampilkan Menampilkan data Tampilan akhir : layout konten + layuot modul masukkan konten ke dalam template layout konten lakukan filtering dan validasi tampilan konten VIEW Picture 4. CMS ilab Program flow Picture 3. ilab Use Case Design 3.5. CMS ilab Components The application is divided into several parts explained below. CakePHP Framework CakePHP Framework is the main part which is used to build CMS ilab. Within the application structure, class files are located in cake/ folder. The framework s version is 1.1.10.3825 (stable). Main Library (Webroot) Main library (webroot) consists of several files needed for supporting application interface. It consists of pictures, CSS (Cascading Style Sheet), Javascript, and some files for installation process and uploaddownload mechanism. The main library is located in app/webroot/ folder. Secondary Library Other part of ilab is secondary library. It supports main library by providing extra funcionalities for user. Some of them are : - Kcaptcha Library; - Pagination Library; - MySQL to XLS Converter Library. Configuration Class CMS ilab needs several configuration variable, related to installation type, database configuration, session configuration, production type configuration, and so on. CakePHP framework locates all of configuration classes inside app/config/ folder. The most important configuration files are core.php, routes.php and database.php. Main Module CMS ilab has ten main modules designed to fulfill general requirement for each laboratory. Each module consists of three parts called Model, Controller, and View. There are Home Module, News Module, Profile Module, Practicum Module, Resource Module, Project and Research Module, Guestbook Module, Link Module, User Module, and Setting Module which are built as main module of CMS ilab. 4

Secondary Modul Beside main module, CMS ilab uses secondary module. There are Login Module and Installer Module. They use no database table because none of them have database entities. 4. System Implementation 4.1. System Evaluation Evaluation Method Evalution process during implementation section is aimed to get information related to performance and durability from each module. Evalution process will give us detail information of application bug and several error occured during implementation process. The evaluation process is divided into three steps : 1. Interface Evaluation. Interface evaluation has been done by running application with different internet browsers which are often used by user to access internet, such as Internet Explorer, Mozilla Firefox, Opera, and Safari. 2. System Installation Evaluation. System installation evaluation has been done by implementing CMS ilab on three different operating systems and running it thorugh different netwok architectures, without and with proxy server. 3. User and System Interaction. This evaluation shows the user respon upon CMS ilab performance. The evaluation has been done by asking several tester to fill some quizes related to CMS ilab. The tester are laboratory staff, laboratory administrator, laboratory assistant, laboratory participant (practician) and common user. Interface Evaluation CMS ilab generally could run without significant problem when it was accessed with different web browser. Nevertheless, CMS ilab user interface had not accomodated several browsers yet. There were some bugs related to CSS and Javascript rendering depended on the browser. CMS ilab ran perfect without any problem on Mozilla Firefox, although it needed more time to render the interface compared with other browsers. The use of Mozilla Firefox is recommended to guarantee all funcionalities run without problem. Picture 5. CMS ilab Interface System Installation Evaluation System installation evaluation had been done by implementing CMS ilab on three different operating systems, i.e Microsoft Windows XP Service Pack II, Ubuntu Linux 6.0, and OpenBSD 3.9. Installation implementation on three different operating systems with different charateristics needs spesific procedures. Several requirements which are needed to run CMS ilab on all operating systems are : - Activation of mod_rewrite module in Apache Web Server. By default, CakePHP uses mod_rewrite to access all directories within. - GD Library (for image rendering) and XSLT (for spreadsheet rendering) must be activated in PHP installation. - The use of.htaccess is allowed. - app/config directory should be accessible by system, especially if the operating systems are Ubuntu Linux and OpenBSD. Therefore, its access privilege sholud be set in 755 or 777 with command chmod through command prompt ot konsole. If the system uses Microsotf Windows XP, we don t have to set the access privilege. - Configuration of ibrowser plugin in TinyMCE library is manually set by adding absolut path of ilab installation in the configuration file. 5

User and System Interaction The last evaluation showed that ilab user interface generally easy to access and use by user. Some bugs related to user interface will be fixed on the next ilab development. 5. Conclusion CakePHP Framework can be used as a tool to develop an integrated application such as Content Management System which is involved a lot of modules. By understanding the funcionality of CakePHP library class, CakePHP Framework can be developed into various web applications. The process of designing and implementing CMS ilab is successfully done. CMS ilab has ten modules which are used to accommodate general requirement of laboratory in Electrical Engineering Gadjah Mada University. 6. Future Work CMS ilab is still possible to be improved into more complex application. Several things related to ilab which can be improved i.e : - Advanced development of ilab interface and simplification of secondary navigation on ilab sidebar. - Development of system logic in Model and Controller classes. - Development of system module by creating new module or special mechanism for module installation based on web interface which support ilab user to easily add or subtract suitable module. - Development of installation module so that user can easily install the system without any manually-done-by-user configuration on various operating system. - Integration of CMS ilab with practicum (lab work) registration based on SMS (Short Message Service) by mobile phone. Bibliography 1. Anderson, J.; & Masters, L.E. (ed). 2006a. CakePHP Programmer's Reference Guide. USA : CakePHP Software Foundation, Inc. 141 p. 2. Anderson, J.; & Masters, L.E. (ed). 2006b. CakePHP-API Documentation version 1.1.8.3544. USA : CakePHP Software Foundation, Inc. 3. Anderson, J.; & Masters, L.E. (ed). 2007.CakePHP Framework. [Online]. http://www.cakephp.org/ Accessed on August 16 th, 2007 4. Bird, Graham. 2006. How Cake Works. [Online]. http://grahambird.co.uk/cake/tutorials/ howitworks.php. Accessed on August 16 th, 2007 5. Cevasco, Fabio. 2006. An Overview with CakePHP Framework. [Online] http://hades.phparch.com/ceres/public/ article/index.php/art::cakephp::overvie w. Accessed on January 3 rd, 2007 6. Crandall, Karen S.; & Auping, Judith V. 1987. Laboratory Information Management System (LIMS)- A Case Study. Ohio, USA : National Aeronautics and Space Administration (NASA). 18 p 7. Douglas, Robert T.; Little, Mike; & Smith, Jared W. 2006. Building Online Communities with Drupal, phpbb, and Wordpress. USA : Apress. 561p. 8. Fraser, Stephen R.G. 2002. Real World ASP.NET : Building a Content Management System. USA : Apress. 405 p. 9. Gibbon, Dr. Gerst. 1996. A Brief History of LIMS. USA : Laboratory Automation and Information Management (journal issue 32, 1996). 6

10. Gillespie, Helen. 1994. Lab Data Management. USA : Scientific Computing and Automation (journal July 1994). 11. Krasner, G.E.; & Pope, Stephen T. 1988. A Description of the Model-View- Controller User Interface Paradigm in the Smalltalk-80 System. California, USA : Parc Place Systems. 34 p 12. Shan, Tony C.; & Hua, Winnie W. 2006. Taxonomy of Java Web Application Frameworks. Beijing, China : IEEE International Conference on e-business Engineering (ICEBE '06). 8 p. 13. Siswoutomo, Wiwit. 2005a. PHP Enterprise : Kiat Jitu Membangun Web Skala Besar. Jakarta : Elex Media Komputindo. 356 h. (In Indonesian Language). 14. Siswoutomo, Wiwit. 2005b. PHP Undercover : Mengungkap Rahasia Pemrograman PHP. Jakarta : Elex Media Komputindo. 356 h. (In Indonesian Language). 15. Smith, L.; & Scheeper, Inus. 2004. Bika Lab System Workflow. [Online]. http://bikalabs.com/images/diagrams/fl owdiagramstandard. Accessed on August 16 th, 2007 16. Sunarfrihantono, Bimo. 2006. Makalah Kuliah Analisis dan Perancangan Sistem Informasi : Pengembangan Sistem Informasi. Yogyakarta : Teknik Elektro UGM. 22 h. (In Indonesian Language). 17. Wagito. 2003. Pemrograman Berorientasi Objek : Teori dan Aplikasi dengan C++ Berbasis Windows dan Linux. Yogyakarta : Gavamedia. 238 h. (In Indonesian Language). 7