SlideShare a Scribd company logo
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

More Related Content

Similar to FenixEdu Formação - Dia 1

DSC GCOE, Nagpur intro session
DSC GCOE, Nagpur intro sessionDSC GCOE, Nagpur intro session
DSC GCOE, Nagpur intro session
DSCGCOEN
 
Running Moodle for High Concurrent Users
Running Moodle for High Concurrent UsersRunning Moodle for High Concurrent Users
Running Moodle for High Concurrent Users
GLC Networks
 
edil19
edil19edil19
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
Nicolas PENNEC
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
GLC Networks
 
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 ...
Nir Yungster
 
TYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloudTYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloud
Olivier Dobberkau
 
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
Google Developer Student Clubs UIN Syarif Hidayatullah Jakarta
 
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
Fabio Todaro
 
Context Aware Recommendations at Netflix
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at Netflix
Linas Baltrunas
 
Project udir
Project udirProject udir
Project udir
Patel Sohil
 
Using GIT for Everyone
Using GIT for EveryoneUsing GIT for Everyone
Using GIT for Everyone
GLC Networks
 
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
Stefan Schmidt
 
SQL for Data Science
SQL for Data ScienceSQL for Data Science
SQL for Data Science
GLC Networks
 
TutorStack Devconf.cz.pptx
TutorStack Devconf.cz.pptxTutorStack Devconf.cz.pptx
TutorStack Devconf.cz.pptx
Colm Dunphy
 
Powerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjangoPowerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjango
OMEGA (@equal_001)
 
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
Benito Gonzalez
 
MDID Special Interest Group Meeting
MDID Special Interest Group MeetingMDID Special Interest Group Meeting
MDID Special Interest Group Meeting
Visual Resources Association
 
ATIT - Python Training Course
ATIT -  Python Training CourseATIT -  Python Training Course
ATIT - Python Training Course
Qais Yousef
 

Similar to 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
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 

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