ALM in IT Thesis Template
Total Page:16
File Type:pdf, Size:1020Kb
Catalog Converter Irina Danilova A Thesis in the Field of Information Technology for the Degree of Master of Liberal Arts in Extension Studies Harvard University June 2009 Abstract The goal of this thesis is to create an easy-to-use tool for converting data from an online catalog of a biotechnology company into a customizable website that can be run locally and can be distributed on CD. The creation of such a converter is dictated by two of the company’s needs. First, there is a need to have a backup of the online catalog accessible through means other than contacting the Internet service provider. Second, there are often requests from distributors to provide them with a version of the catalog that does not include prices, shows no logotype, or is otherwise different from the existing version. Given the cost of printing several versions of the same material, the choice of alternative media arises. The Catalog Converter was created using a variety of tools. The catalog’s data was assembled, cleaned, and sorted in Microsoft Excel. The layout, originally created by a professional graphic designer, was first translated into HTML code with Adobe Dreamweaver. Afterwards, a similar design was achieved by modifying Apache Forrest’s (http://forrest.apache.org/) default template. Finally, the XML templates for webpage creation were generated using the Java programming language. Acknowledgments First of all, I would like to thank my advisor David P. Heitmeyer for his invaluable support, helpful suggestions and wise advice during creation of Catalog Converter creation and especially during the most challenging first steps in choosing the effective tools with which to work. I’m also deeply grateful for his teaching two classes I have taken previously at Harvard Extension School. The skills in HTML and XML I gained during these courses became very useful at the thesis stage. I would also like to thank the Master of Liberal Arts in Information Technology Thesis Advisors, Drs. Bill Robinson and Jeff Parker, and Assistant Director Stephen Blinn. All of them were extremely helpful and patient answering my numerous questions regarding the administrative aspects of the thesis project. The workshop for thesis writers they organized gave a great start for planning the wrap-up of the process. My gratitude goes to a wonderful graphic designer Alexandra Tayts in San Francisco, who created simple but elegant graphic design for this project. And of course, a very special thank you goes to my mother, Nadia, who was constantly reminding me that I have to work on the thesis as hard and as much as possible. iv Table of Contents Table of Contents................................................................................................................ v List of Figures.................................................................................................................... ix Chapter 1 Introduction ........................................................................................................ 1 Chapter 2 Technology Used and Credits ............................................................................ 3 Chapter 3 Catalog Design Stages........................................................................................ 5 Chapter 4 Catalog Converter Implementation .................................................................. 14 Microsoft Excel Stage................................................................................................... 15 Java Stage ..................................................................................................................... 16 Data Parsing and Validation ..................................................................................... 20 Creation of the File Structure.................................................................................... 25 Template Processing ................................................................................................. 28 Apache Forrest Stage.................................................................................................... 36 What is Apache Forrest?........................................................................................... 36 Why an Open Source Content Management System? .............................................. 36 Why Apache Forrest and not Programming Language?........................................... 38 Behind the scenes...................................................................................................... 39 Skin Configuration, Shell Elements.......................................................................... 40 Skin Configuration, Color Scheme and Cascading Style Sheets.............................. 40 PDF ........................................................................................................................... 43 Menu Creation .......................................................................................................... 45 v Static pages ............................................................................................................... 46 Template Creation..................................................................................................... 46 Build.......................................................................................................................... 48 Chapter 5 Testing.............................................................................................................. 50 Chapter 6 Error Handling.................................................................................................. 54 Chapter 7 User Manual ..................................................................................................... 56 1. Tools and Prerequisites ......................................................................................... 56 2. Apache Forrest Installation and Configuration..................................................... 56 3. Data Preparation................................................................................................... 57 4. Apache Forrest Skin Configuration ...................................................................... 63 5. Running Catalog Converter .................................................................................. 64 Chapter 8 Future Development and Improvements.......................................................... 69 Chapter 9 Summary and Conclusions............................................................................... 72 References......................................................................................................................... 74 Appendix 1 Application Code .......................................................................................... 75 Java Code...................................................................................................................... 76 FileManager.java ...................................................................................................... 76 ParsingManager.java................................................................................................. 81 Product. java ............................................................................................................. 92 ProductRecorder.java................................................................................................ 97 ProductTemplateManager.java ................................................................................. 99 Compilation files......................................................................................................... 117 Compile.bat............................................................................................................. 117 vi Configuration files ...................................................................................................... 118 files_config.txt ........................................................................................................ 118 Fragments of the modified Apache Forrest files ........................................................ 119 Skinconf.xml, skin colors and extra css parts only................................................. 119 Skinconf.xml, extra css........................................................................................... 120 Templates for XML Templates................................................................................... 129 directories_template.xml......................................................................................... 129 index_template.xml................................................................................................. 130 product_template.xml ............................................................................................. 131 site_template.xml .................................................................................................... 133 XML Templates.......................................................................................................... 134 index.xml (List of directories) ................................................................................ 134 HCV category index.xml ........................................................................................ 138 101a.xml example of the final XML product file).................................................. 143 site.xml (modified site.xml file, part of Apache Forrest skin)................................ 146 sample xml static page...............................................................................................