In these pages you will find information regarding how everything related to the FenixEdu project as an Organisation works. The information here should guide you as you are contributing, learning or simply deploying one of our applications in your own organisation. These pages are focused on how as a project we work.
What is FenixEdu
The FenixEdu project started FenixEdu is a group of people working to improve societal development by improving the education process. We do this by creating open source software solutions for education. By making teaching easier, faster and more resource efficent, we help putting more educated people back in society, triggering a societal growth feed back loop. More knowledgeable persons on the world means better lifes for everyone.
FenixEdu Project started in 2002 at Instituto Superior Técnico, one of the top high education engineering schools in Portugal. FenixEdu’s main goal was to develop an advanced Student Information System for Higher Education Institutions.
The architecture of the system was designed from the start to be fully web based, in order to provide wide availability and easy user interaction, independent of client software and operating systems, but assuring the high security standards, tight access control and log action control required by a critical information system.
The FenixEdu system is an integrated platform that works at all levels of the academic process. It implements a powerful academic Content Management System (CMS), which can be used at course, degree, department or institution level, an advanced Student Management System (SMS), a complete Learning Management System (LMS) and it also integrates all components required by a standard academic management platform. This includes management and support of all academic tasks, including on-line student applications and admission process, on-line enrolment and registration, evaluation and grade records, degree planning, design and aproval, full management of academic records, at graduation and post-graduation level, publication registration and archive of grades and student curricula, room, course and teacher scheduling and distribution, fee payment and control, quality control through on-line surveys and many other academic tasks. At the curricular unit (course) level, the system provides an information board and an easy to use CMS, planning and scheduling tools, publication of class summaries, publication of bibliographic references, documents and exercises, e-learning support and evaluation, student management and communication channels, RSS feeds, registration of the number of attendees and many other functionalities.
As stated before, the system provides also full support to all academic back office and management, including the workflow required by most academic processes. This includes design, planning, and approval of degree and courses (including contents, base bibliography, structure and planning), European Credit Transfer and Accumulation System (ECTS) validation, formal approval by the scientific board of courses, degrees and teaching staff, issue of diplomas and certificates, etc. The platform also handles thesis theme proposals, application and distribution, thesis registration, and associated academic tasks. The system includes also a complete curriculum management platform for teaching and research staff, enabling an overall view and balance of scientific production at individual, department and institutional levels.
The current version of the system encompasses a wide range of functionalities related to almost every component of the academic process. The complexity of the business model and of the underlying information system poses significant challenges from a software engineering perspective. As such, the system is often used both as a source of research problems and as a testbed for validating new research approaches that address the development of highly complex applications with rich domain models. One result of this tight integration between research and development was the introduction of an innovative software architecture for developing applications with persistent, transactional, rich domain models. This new architecture combines a Domain Specific Language (DSL) for implementing the structure of the domain model with a Software Transactional Memory (STM) to control concurrent accesses to the application’s data. Both the DSL and the STM used in this new architecture were designed and developed from scratch to suit the needs of the FenixEdu project. However, since they are independent from the application layer, they were already extended to several other applications and adopted in different contexts. In this sense, the FenixEdu project turned out to be one of those rare cases of software systems that change the technological environment that surrounds them.
The FenixEdu academic platform is supported on an advanced identity management subsystem, which provides system wide user authentication to all computer and network services. The identity management backend is supported on Kerberos and LDAP (Lightweight Directory Access Protocol (LDAP), and provides web single sign-on based on Yale Central Authentication Service (CAS). The identity management subsystem also has full SAML 2.0 federation support based on OpenSAML, which provides full support for interoperability based on standard SAML (Security Assertion Markup Language) attributes, being fully compatible standard SAML based federations (namely Shibboleth based federations).
This identity management subsystem also supports strong authentication based on the Portuguese National Identity Card (named Cartão de Cidadão) and, moreover, is fully integrated with the European e-ID interoperability sub system, developed in the scope of the European project STORK. Digital signature of documents and actions is also possible using the Portuguese National Identity Card.
The overall system was developed from scratch as an open source project based on the LGPL (GNU Lesser General Public License), in order to offer a basis for open contributions, free distribution, free availability, and customization to special requirements and needs at different institutions. This distribution model enabled several higher education institutions to implement the FenixEdu system with the support of independent private companies and, at the same time, it enabled to enlarge the technical support of the platform, which does not rely today only on internal IST resources, given the wider implementation basis and technical support. This strategy contributed also to the long-term project sustainabilityIST started developing Information Systems to manage its internal information back in the 80's. Around the year 2000 it became clear that those systems couldn't grew as fast as the school wanted them. The internet was burgeoning and the old systems were written in very old plataforms without world wide network access. A new system was designed and has been in continous improvement since then.
Since its inception, FenixEdu chose to release all its software using open source. By doing so we can include in our community all the stakeholders that use our systems. FenixEdu software is used as a teaching tool as well we listen to students to improve on their user experience.
If you have any doubt or something has a problem please contact us at email@example.com