Design and Implementation of Lab CMS

10 downloads 0 Views 576KB Size Report
management. Also, laboratory management in Electrical Engineering UGM has not ... generally has a class library for accessing database, templating, session ...
DESIGN AND IMPLEMENTATION OF LABORATORY CONTENT MANAGEMENT SYSTEM (CMS) ‘iLAB’ USING CakePHP FRAMEWORK Sunu Wibirama1, 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, ModelView-Controller (MVC).

1

Author, Fresh Graduate Student of Electrical Engineering Department, UGM Supervisor I, Lecturer of Electrical Engineering Department, UGM 3 Supervisor II, Lecturer of Electrical Engineering Department, UGM 2

1

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

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.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].

2. Basic Theory 1

2.1. Content Management System

Apache / IIS

User

2

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

Database

Dispatcher

8

3 7

View

6

5

Model

Controller

4

4 Redirect

requestAction()

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

1. 2.

2

Problems Traditional practicum registration Traditional data

1. 2.

Solutions Automatization of practicum registration Automatization of

3.

4.

management No resource repository for accesing moduls and all of practicum administrations No online information media for laboratory news

3.

4.

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.

data management Creating online resource repository accessed from department intranet

Apache Web Server

User CMS

Creating online information media

Database CMS iLab Dispatcher

FILENAME

5.

6. 7.

index

Restricting access and administering privileges for common user (not admin). Automatization of installation process Creating a user friendly system .

Controller

View

FILENAME

Model

add FILENAME

PAGE

News

edit delete FILENAME

Controller Practicumname

PAGE

Practician

........... FILENAME

...........

Controller News Controller Practician

FILENAME

Controller Practicumschedule Controller Assistant Controller Project Controller Resource

PAGE

..........

.......

Model News Model Practician Model Practicumname Model Practicumschedule Model Assistant Model Project Model Resource .......

Picture 2. MVC Architecture in CMS iLab

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.2. Interface design 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. 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

Keyword pencarian (melalui path url)

Mendapatkan ID menuju url halaman Tidak

User ID dari objek atau parameter lainnya

Hasil ditampilkan ke user

Redirect ke halaman error

Cek keamanan (apakah user diperkenankan melakukan aksi ?)

Apakah objek ada di database ?

Ya

Lakukan filtering untuk objek (spam filtering, HTML formatting, data validation

Ya

Validasi request data dan alokasi resource (database) MODEL

Memasukkan ID yang direquest ke proses

Proses data yang dimasukkan (form, post, search)

Memproses data yang dimasukkan

Tidak CONTROLLER

Redirect ke halaman error

Parsing layout berdasarkan aksi dari proses (html, rss, etc)

Gunakan template untuk tampilan layout modul

Tampilan akhir : layout konten + layuot modul

masukkan konten ke dalam template layout konten

Ambil konten yang akan ditampilkan Menampilkan data lakukan filtering dan validasi tampilan konten

Picture 4. CMS iLab Program flow

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.

Picture 3 . iLab Use Case Design

3.5. CMS iLab Components The application is divided into several parts explained below.

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 .

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.

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

VIEW

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.

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.

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 :

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.

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.

5

Bibliography

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.

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.

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.

3. Anderson, J.; & Masters, L.E. (ed). 2007.CakePHP Framework. [Online]. http://www.cakephp.org/ Accessed on August 16th, 2007 4. Bird, Graham. 2006. How Cake Works. [Online]. http://grahambird.co.uk/cake/tutorials/ howitworks.php. Accessed on August 16th, 2007

6. Future Work

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 3rd, 2007

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.

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-ViewController 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 16th, 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