A Server-Side Feature Detection System for an Enterprise Web CMS

A Server-Side Feature Detection System for an Enterprise Web CMS

A Server-Side Feature Detection System for an Enterprise Web CMS Master’s Thesis 60 Credits Henrik Hellerøy Spring 2013 A Server-Side Feature Detection System for an Enterprise Web CMS Master’s Thesis 60 Credits Henrik Hellerøy SPRING 2013 Department of Informatics, University of Oslo Abstract Mobile devices have in later years become increasingly popular to use for browsing the Web. With this increased popularity, the limitations of the devices, along with the complexity of modern Web pages, have become apparent. Several methods have been introduced to alleviate the issues encountered on the “Mobile Web”, including Responsive Web Design (RWD) and Device Experiences (DE). In this thesis, I present the Web technologies and concepts involved historically, along with their perceived problems today. Furthermore, I present an implementation of a system utilizing a third concept for improving performance on the Web: Responsive Web Design + Server Side Components (RESS), implemented as a server-side feature detection plugin for a Content Management System (CMS) named Enonic. This plugin strives to improve the CMS’s future friendliness, as well as looking into the viability of RESS as a concept for improving “Mobile Web” performance. My results demonstrate that the plugin may provide a more flexible and future friendly method for creating Web sites that are responsive not just on the client side, but also on the server side. The results also show that the plugin achieves this without imposing a significant latency increase in HTTP requests made to the CMS. The code for the implementation can be accessed from my GitHub repository at: https://github.com/helleroy/enonicDetector i ii Acknowledgements This report has been written as a master’s thesis for 60 credits at the Department of Informatics, University of Oslo. The work was performed in the period August 2012 to April 2013, under the supervision of Håvard Tegelsrud of Bekk Consulting AS and Dag Langmyhr from the Department of Informatics, University of Oslo. I would like to thank Håvard for providing me with excellent advice and feedback whenever I needed throughout, for bringing his own expertise to help me complete the implementation as well as this report, and lastly for being an all-around fantastic person to work with! To Dag I extend my gratitude for taking the time to assist me with his extensive experience and providing much-needed quality control during the final hours of my work. The thesis was written in cooperation with Bekk Consulting AS, to which I would like to express thanks for providing me with the resources and expertise needed throughout the whole process, from finding a problem statement and finalizing the thesis. Finally I would like to thank my family and friends for all their love and support. iii iv Table of Contents Abstract ................................................................................................................................................. i Acknowledgements ........................................................................................................................ iii 1 Introduction ................................................................................................................................ 1 1.1 Background ........................................................................................................................................ 1 1.1.1 Web performance.................................................................................................................................... 2 1.1.2 Making the back end smarter ............................................................................................................. 3 1.1.3 Future Friendly ........................................................................................................................................ 4 1.2 Thesis description ............................................................................................................................ 4 1.2.1 Structure ..................................................................................................................................................... 5 2 Theory ........................................................................................................................................... 7 2.1 Technologies ...................................................................................................................................... 7 2.1.1 Hypertext Markup Language (HTML) ............................................................................................ 7 2.1.2 Cascading Style Sheets (CSS) .............................................................................................................. 9 2.1.2.1 Media Queries .................................................................................................................................................... 12 2.1.2.2 Fluid Grids ........................................................................................................................................................... 13 2.1.3 JavaScript (JS) ......................................................................................................................................... 14 2.1.3.1 Polyfills and Shims ........................................................................................................................................... 16 2.1.4 Java .............................................................................................................................................................. 17 2.1.4.1 Spring Framework ........................................................................................................................................... 18 2.2 Concepts ........................................................................................................................................... 19 2.2.1 Progressive Enhancement and Graceful Degradation ........................................................... 19 2.2.2 Web Content Management Systems (WCMS) ............................................................................ 20 2.2.3 Responsive Web Design (RWD) ...................................................................................................... 20 2.2.4 Mobile First .............................................................................................................................................. 22 2.2.5 Device Detection .................................................................................................................................... 23 2.2.5.1 Device Description Repositories (DDR) ................................................................................................. 23 2.2.5.2 Client-Side feature detection ....................................................................................................................... 24 2.2.6 Responsive Design + Server Side Components (RESS).......................................................... 24 2.3 Related work ................................................................................................................................... 26 2.3.1 RESS with Detector ............................................................................................................................... 26 2.4 Summary .......................................................................................................................................... 30 3 Enonic CMS ................................................................................................................................ 31 3.1 Background ..................................................................................................................................... 31 3.2 Datasources ..................................................................................................................................... 32 3.3 Device Detection and Classification ....................................................................................... 33 3.4 Plugins ............................................................................................................................................... 33 3.5 Summary .......................................................................................................................................... 35 4 Implementation....................................................................................................................... 37 4.1 Conceptualization ......................................................................................................................... 37 4.1.1 Storing the gathered data .................................................................................................................. 38 4.2 Implementation ............................................................................................................................. 39 4.2.1 Technologies ........................................................................................................................................... 39 4.2.2 Application flow ..................................................................................................................................... 40 4.2.3 Plugin configuration ............................................................................................................................. 42 4.2.4 The database ..........................................................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    105 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us