ebook img

B.3 jCommunity features list at my arrival PDF

48 Pages·2008·1.67 MB·French
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview B.3 jCommunity features list at my arrival

E´cole Polytechnique de l’Universit´e de Tours 64, Avenue Jean Portalis 37200 TOURS, FRANCE T´el. +33 (0)2 47 36 14 14 Fax +33 (0)2 47 36 14 22 www.polytech.univ-tours.fr D´epartement Informatique 4`eme ann´ee 2007-2008 Rapport de stage (Internship report) PHP Development and support for Jcommunity E´tudiant : Encadrants : Jonathan COURTOIS Ben CAUBERE [email protected] [email protected] Carl ESSWEIN [email protected] Universit´e Franc¸ois-Rabelais, Tours Version du 5 septembre 2008 Table des mati`eres Greetings 6 Introduction 7 1 Presentation of the work environment 8 1.1 Ireland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Galway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Joobisoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Subject 11 2.1 Before my arrival . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Objectives to achieve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 jCommunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.2 The working of jCommunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 jStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3 Required elements for understanding 16 3.1 Content Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.1.2 Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.3 Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.4 PHP and OOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 The MVC pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1 Generalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.2 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.3 View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.4 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.5 In our case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 The Joobi software suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4 jStudio and the library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4.1 The library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4.2 The Joobi framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4 Realization 27 4.1 Training part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Support part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3 Development part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3.1 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3.2 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3.3 jCommunity development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3.4 jStudio development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Development for Jcommunity III TABLE DES MATIE`RES Conclusion 38 A Liens utiles 40 A.1 Webographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 A.2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 B Screenshots 41 IV Development for Jcommunity Table des figures 1.1 Map of Ireland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Map of county Galway with Galway city highlighted . . . . . . . . . . . . . . . . . . . . . 9 1.3 Logo of the company Joobisoft Solutions Ltd. . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1 Login jCommunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Registration page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 Profile page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Inbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.7 View to add a filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Management of the registration page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Logo Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Joomla tiered architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3 MVC basic scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Detailed structure of Joobisoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1 Part of CB plugins listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Various debug display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3 Database Design of jCommunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4 Connection list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.5 Example of members listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.6 Listing of widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.7 Acajoom tab in the profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.8 Acajoom picklist in the registration page . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.9 IP tab in the profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.10 IP recording preferences on jCommunity . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.11 Random members module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.12 Profile completed module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.13 Menu module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.14 My group listing in the frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.15 Group information in the backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.16 Conversation with my improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.17 Example of using search plugin in members . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.18 Files automaticly created in the tree and not add to the SVN repository yet . . . . . . . . 36 4.19 PHP editor in jStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 B.1 jCommunity main page (dashboard) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 B.2 jCommunity features list at my arrival (part 1) . . . . . . . . . . . . . . . . . . . . . . . . 42 B.3 jCommunity features list at my arrival (part 2) . . . . . . . . . . . . . . . . . . . . . . . . 43 B.4 Example of support on joobi forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 B.5 jStudio, listing of views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Development for Jcommunity V Greetings First of all, I would like to thank the people at Polytech’Tours especially Jean-Louis Bouquard and Carl Esswein, who efficiently answered my questions and requests, and helped me find a grant to go to Ireland. I would also like to sincerely thank the Joobi team, a really kind and helpful group of people. Chris K., Ben Caubere and Pierre de la Celle, who welcomed me into the company and helped during all my internship. Adrien Barborier, Nicolas Claverie, for all the help they gave me concerning the projects I was working on. And also the other interns : Renaud, Maud and Jonattan. 6 Development for Jcommunity Introduction As part of my studies, I had to do an internship for a 3 month period in order to apply for the se- cond year of engineering school (Polytech’Tours), specialty computing. I wanted to do my internship in an Anglo-Saxon country in order to improve my English skills. So I’ve looked for companies based in United Kingdom and Ireland. One day, in January, I received an email from Joobi where they wanted to interview me through Skype. So, I did this interview with Pierre de la Celle. The next day, I’ve received a confirmation email saying that I was accepted. It was the beginning of a new adventure. I did this training as a Joomla! components developer. Joomla!, as we will see further, is a Content Management System1 (CMS) providing its users powerful tools to quickly and easily develop websites and components that go along. During this internship, I was in charge of developing new features for the product jCommunity and manage the client support of this same product. After a month and a half, when my skills had increased, I was also put in charge of adding new features to jStudio, the main product to develop the others. Thisreportisdividedintofourmainparts.Firstofall,thereisabriefoverviewoftheworkenvironment. Ireland,GalwayCityandJoobisoft aresuccessivelypresented.Then,Idescribemymain assignmentsduring this internship. The next part is devoted to a presentation of work tools. Explanations about everything that needs to be detailed for a better understanding of the report are detailed in this section. Besides, I develop the realization of jCommunity/jStudio improvements. 1. Content Management System : family of software aiming at the conception and dynamic updating of websites. Development for Jcommunity 7 CHAPITRE 1 Presentation of the work environment I had the opportunity to spend the 3 months of my 4th year Engineering internship in Ireland. A lot of reasons made me choose this internship offer and, for the first part of this report, it seems important for me to briefly present the context of my training in Ireland. The Republic of Ireland; Galway, the city where I stayed; and finally the company I worked in, are presented here. 1.1 Ireland Ireland is the third largest island in Europe, and the twentieth largest in the world. It lies to the north-west of Continental Europe. Politically, the Republic of Ireland (known as Eire) covers five sixths of the island, while Northern Ireland (aka Ulster), part of the United Kingdom, covering the remainder in the north-east. The population of the island is slightly under six million, with more than 4 million for the Republic of Ireland. Since the early 1990s as the result of a prodigious economic boom known as the ”Celtic Tiger”, Ireland became one of the richest European countries, while it was one of the poorest in 1988. Mainlythanks to alow a corporate taxationrate, Europeanaid, industrialpolicies and demographics, a lot of international companies established themselves in Ireland. As a result, Ireland became one of the wealthiest per capita countries in the world, showing an average wealth per head of nearly 150,000 e. Figure 1.1 – Map of Ireland 8 Development for Jcommunity Galway 1.2 Galway Galway is the only big city in the province of Connacht in Ireland and capital of County Galway. The city is located on the west coast of Ireland. In Irish, Galway is also called Cathair na Gaillimhe, which is a translationof”CityofGalway”.ThepopulationofGalwaycityandenvirons,asof2006,is72,729,ofwhich 72,414 live in the city limits and 315 live in the city’s environs in County Galway. Galway City (that is, the population inside the city limits) is the third largest in the Republic of Ireland, or fifth on the island of Ireland. However, the population of the wider urban area, is fourth largest in the Republic of Ireland (sixth on the island) after Dublin, (Belfast,) Cork, Limerick (and Derry). The City is Ireland’s fastest growing city. Galway City has a strong local economy with complementary business sectors, including manufacturing industry,tourism,retailanddistribution,education,healthcareandservicesthatincludefinancial,construc- tion, cultural, and professional. Most of the people employed in Galway work in either the commerce or professionalsector;withalargenumberalsoemployedinmanufacturing.Mostindustryandmanufacturing in Galway, like the rest of Ireland, is hi-tech due to the Celtic Tiger economic boom. Figure 1.2 – Map of county Galway with Galway city highlighted 1.3 Joobisoft Joobisoft Solutions Ltd., formerly Acajoom Services was a company founded by Chris K in September 2007.ChrisK.,whomonhisdemandI’mnotabletorevealhislastname,graduatedfromaFrenchengineer school. He has worked in different places, including ten years in the USA. Then, at the beginning of 2006, he moved to Ireland and decided to start his own business in the web development field. After the release of his first Joomla! component, he decided to found Joobisoft with the 3 students who just finished their internships in Acajoom Services. The name Acajoom Services comes from the first Joomla! component created by Chris K. This com- ponent is able to send automatic newsletters. It’s quite a ”simple” component (in terms of what it does), but because no similar component existed and still does not exist for Joomla!, Acajoom became a great success. It still is one of the most downloaded components on the official Joomla! website. Most of the Development for Jcommunity 9 Chapitre 1. Presentation of the work environment profits made by the company still come from Acajoom. Of course, other components are under develop- ment. Among others, jCommunity, a users and communities management tool, which is the component on which I worked; and jStore, a product and orders management software, are about to be released. When I arrived in June, the persons in the company were the 4 funders and shareholders, and 4 interns. Seven of them worked in Galway offices, and one was teleworking from Japan. As a start-up, it’s difficult for Joobisoft to hire ”real” employees. The founders do not have the employee status, because insurance costs for companies could be high. To stay legal, the trick is to hire interns that stay from 3 to 6 months. As students, they are still covered and do not need any company insurance. Therefore, Joobisoft is a young company : the employees’ average age is 26. Figure 1.3 – Logo of the company Joobisoft Solutions Ltd. 10 Development for Jcommunity

Description:
37200 TOURS, FRANCE. Tél. +33 (0)2 47 36 14 14. Fax +33 (0)2 47 36 14 22 www.polytech.univ-tours.fr. Département Informatique. 4`eme année.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.