SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
October 2013
Who
● Artur Ventura
○ artur.ventura@ist.utl.pt
● David Martinho
○ davidmartinho@ist.utl.pt
● Sérgio Silva
○ sergio.silva@ist.utl.pt
Contents
● Development tools
○ Eclipse
○ GIT
○ Maven
● FenixEdu Architecture
○ Fenix Framework
○ Struts
○ JSPs + Renderers
○ Faces
○ iReports
● FenixEdu Domain
Calendar
● 1st Day
○ FenixEdu Introduction
● 2nd Day
○ Development Tools
■ GIT
■ Maven
■ Eclipse
● 3th Day
○ Domain Model
■ Fenix Framework
● 4th Day
○ Presentation Layer
■ Struts
● JSP
● Struts
● Faces
Today
● What is FenixEdu ?
● Technologies
● Fenix Architecture
● Let’s solve a bug in FenixEdu ?
What is FenixEdu ?
● Academic Management Software
● Open Source Project
○ https://fenix-ashes.ist.utl.pt
○ https://github.com/ist-dsi/fenix
● @ IST and other academic institutions
What is FenixEdu ?
LOC stats
What is FenixEdu ?
Contributors
Technologies @ Fenix
FenixEdu Architecture
MYSQL
Application Container (Tomcat, Jetty)
Fenix Framework
(STM)
Domain
Model
JSP
renderers
Struts
Faces
Jersey
(REST API)
Deployment Architecture
AS1 AS2
MYSQL
Apache
Load Balancer
Beyond Fénix
● DOT - Administrative Management
○ https://dot.ist.utl.pt
■ Missions, Expenditures & SnailMail Tracker,
SIADAP, Processes, Protocols, …
● SOTIS - Publications Management
○ https://sotis.ist.utl.pt
■ Manage researchers’ publications
■ Academic curriculum
● DOCS - Documents Repository
○ https://docs.ist.utl.pt
■ upload, download and share documents within
organization
Let’s fix a bug in Fenix
1. View bug fix request in RT
2. Identify the bug
3. Design fix
4. Implement fix
5. Test it
6. Commit & Pull Request
What’s next for you ?
● create user @ github.com
○ with photo please (faces are nice to identify you)
● create a ssh key
○ https://help.github.com/articles/generating-ssh-keys
○ send public key to sergio.silva@ist.utl.pt
■ put your name, istID & github username in the
email body
● fork fenixedu project
○ > git clone https://github.com/<user>/fenix.git
○ > cat README.md

Weitere ähnliche Inhalte

Ähnlich wie FenixEdu Formação - Dia 1

Ähnlich wie FenixEdu Formação - Dia 1 (20)

DSC GCOE, Nagpur intro session
DSC GCOE, Nagpur intro sessionDSC GCOE, Nagpur intro session
DSC GCOE, Nagpur intro session
 
Running Moodle for High Concurrent Users
Running Moodle for High Concurrent UsersRunning Moodle for High Concurrent Users
Running Moodle for High Concurrent Users
 
edil19
edil19edil19
edil19
 
Ng-Conf 2015 Report : AngularJS 1 & 2
Ng-Conf 2015 Report : AngularJS 1 & 2Ng-Conf 2015 Report : AngularJS 1 & 2
Ng-Conf 2015 Report : AngularJS 1 & 2
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
TYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloudTYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloud
 
Member Orientation Day GDSC UIN Jakarta 2021
Member Orientation Day GDSC UIN Jakarta 2021Member Orientation Day GDSC UIN Jakarta 2021
Member Orientation Day GDSC UIN Jakarta 2021
 
DevOps Italian Tech Week 26/06/2019
DevOps Italian Tech Week 26/06/2019DevOps Italian Tech Week 26/06/2019
DevOps Italian Tech Week 26/06/2019
 
Context Aware Recommendations at Netflix
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at Netflix
 
Project udir
Project udirProject udir
Project udir
 
Using GIT for Everyone
Using GIT for EveryoneUsing GIT for Everyone
Using GIT for Everyone
 
Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo
 
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than EverJava Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
Java Enterprise Applications in the Cloud: Fast, Fun and Easier than Ever
 
SQL for Data Science
SQL for Data ScienceSQL for Data Science
SQL for Data Science
 
TutorStack Devconf.cz.pptx
TutorStack Devconf.cz.pptxTutorStack Devconf.cz.pptx
TutorStack Devconf.cz.pptx
 
Powerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjangoPowerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjango
 
2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing
 
MDID Special Interest Group Meeting
MDID Special Interest Group MeetingMDID Special Interest Group Meeting
MDID Special Interest Group Meeting
 
ATIT - Python Training Course
ATIT -  Python Training CourseATIT -  Python Training Course
ATIT - Python Training Course
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

FenixEdu Formação - Dia 1

  • 2. Who ● Artur Ventura ○ artur.ventura@ist.utl.pt ● David Martinho ○ davidmartinho@ist.utl.pt ● Sérgio Silva ○ sergio.silva@ist.utl.pt
  • 3. Contents ● Development tools ○ Eclipse ○ GIT ○ Maven ● FenixEdu Architecture ○ Fenix Framework ○ Struts ○ JSPs + Renderers ○ Faces ○ iReports ● FenixEdu Domain
  • 4. Calendar ● 1st Day ○ FenixEdu Introduction ● 2nd Day ○ Development Tools ■ GIT ■ Maven ■ Eclipse ● 3th Day ○ Domain Model ■ Fenix Framework ● 4th Day ○ Presentation Layer ■ Struts ● JSP ● Struts ● Faces
  • 5. Today ● What is FenixEdu ? ● Technologies ● Fenix Architecture ● Let’s solve a bug in FenixEdu ?
  • 6. What is FenixEdu ? ● Academic Management Software ● Open Source Project ○ https://fenix-ashes.ist.utl.pt ○ https://github.com/ist-dsi/fenix ● @ IST and other academic institutions
  • 7. What is FenixEdu ? LOC stats
  • 8. What is FenixEdu ? Contributors
  • 10. FenixEdu Architecture MYSQL Application Container (Tomcat, Jetty) Fenix Framework (STM) Domain Model JSP renderers Struts Faces Jersey (REST API)
  • 12. Beyond Fénix ● DOT - Administrative Management ○ https://dot.ist.utl.pt ■ Missions, Expenditures & SnailMail Tracker, SIADAP, Processes, Protocols, … ● SOTIS - Publications Management ○ https://sotis.ist.utl.pt ■ Manage researchers’ publications ■ Academic curriculum ● DOCS - Documents Repository ○ https://docs.ist.utl.pt ■ upload, download and share documents within organization
  • 13. Let’s fix a bug in Fenix 1. View bug fix request in RT 2. Identify the bug 3. Design fix 4. Implement fix 5. Test it 6. Commit & Pull Request
  • 14. What’s next for you ? ● create user @ github.com ○ with photo please (faces are nice to identify you) ● create a ssh key ○ https://help.github.com/articles/generating-ssh-keys ○ send public key to sergio.silva@ist.utl.pt ■ put your name, istID & github username in the email body ● fork fenixedu project ○ > git clone https://github.com/<user>/fenix.git ○ > cat README.md