3.2 the Bitnami WAMP
Total Page:16
File Type:pdf, Size:1020Kb
ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA SECONDA FACOLTA’ DI INGEGNERIA CON SEDE A CESENA CORSO DI LAUREA IN INGEGNERIA AEROSPAZIALE Sede di Forlì ELABORATO FINALE DI LAUREA in Attitude Determination and Control Development and implementation of a S/W platform to automatically receive and share satellite data CANDIDATO RELATORE Alessandro Romolo Prof. Paolo Tortora CORRELATORE Prof. Fernando Aguado Anno Accademico [2013/2014] Sessione seconda CONTENTS CONTENTS .................................................................................................................................................... 1 LIST OF FIGURES ........................................................................................................................................... 4 LIST OF TABLES ............................................................................................................................................. 5 ABSTRACT ..................................................................................................................................................... 6 1 INTRODUCTION ..................................................................................................................................... 8 1.1 The Web Database ........................................................................................................................ 9 1.2 Technical information about the database ................................................................................. 10 1.3 Thesis outline ............................................................................................................................... 10 2 WEB PROGRAMMING .......................................................................................................................... 12 2.1 Web Development and Web Programming ................................................................................ 12 2.1.1 HTML .................................................................................................................................... 14 2.1.2 CSS ....................................................................................................................................... 15 2.1.3 JavaScript ............................................................................................................................. 16 2.2 Object-oriented programming .................................................................................................... 17 2.3 PHP .............................................................................................................................................. 18 2.4 Frameworks ................................................................................................................................. 19 3 THE SYMFONY FRAMEWORK ............................................................................................................... 22 3.1 Why Symfony2 ............................................................................................................................. 22 3.2 The Bitnami WAMP ..................................................................................................................... 24 3.3 Understanding the Directory Structure ....................................................................................... 25 3.4 Bundle .......................................................................................................................................... 25 3.5 Controllers, Front Controllers and Environments ....................................................................... 27 3.6 Routing......................................................................................................................................... 28 3.7 Template & CSS ........................................................................................................................... 30 3.8 Database and Doctrine ................................................................................................................ 32 3.8.1 Annotations ......................................................................................................................... 33 3.8.2 Annotations in Doctrine ...................................................................................................... 34 1 4 THE SOFTWARE – CLIENT SIDE ............................................................................................................ 36 4.1 The public area ............................................................................................................................ 37 4.2 The Mission area.......................................................................................................................... 38 4.3 The Ground Station area ............................................................................................................. 40 4.4 The management area................................................................................................................. 41 4.4.1 The Admin area ................................................................................................................... 42 4.4.2 The Users area ..................................................................................................................... 44 5 THE SOFTWARE – STRUCTURE AND OPERATING PRINCIPLE ............................................................... 45 5.1 Structure of the software (bundles) ............................................................................................ 46 5.2 Security ........................................................................................................................................ 48 5.2.1 Cross-site scripting ............................................................................................................... 50 5.3 FOSUserBundle ............................................................................................................................ 50 5.4 Overriding a bundle ..................................................................................................................... 52 5.5 PUGXMultiUserBundle ................................................................................................................ 53 5.6 MainBundle ................................................................................................................................. 54 5.6.1 Controllers ........................................................................................................................... 54 5.6.2 Routing................................................................................................................................. 55 5.6.3 Templates ............................................................................................................................ 56 5.7 MissionBundle ............................................................................................................................. 57 5.7.1 Controllers ........................................................................................................................... 57 5.7.2 Routing................................................................................................................................. 57 5.7.3 Templates ............................................................................................................................ 57 5.8 GroundStation Bundle ................................................................................................................. 58 5.8.1 The Product Entity ............................................................................................................... 58 5.8.2 Controllers ........................................................................................................................... 59 5.8.3 Routing................................................................................................................................. 59 5.8.4 Templates ............................................................................................................................ 60 5.9 ManagementBundle .................................................................................................................... 60 5.9.1 The Mission Entity ............................................................................................................... 61 5.9.2 The User Entities .................................................................................................................. 61 2 5.9.3 Controllers ........................................................................................................................... 62 5.9.4 Routing................................................................................................................................. 63 5.9.5 Templates ............................................................................................................................ 63 5.10 Software Scheme ..................................................................................................................... 64 5.11 Redirect URLs with a Trailing Slash .......................................................................................... 68 6 INSTALLATION ON THE SERVER AND CUSTOMIZATION ...................................................................... 69 6.1 Installation of the Bitnami WAMP with Symfony2 .....................................................................