ILIAS Community FAQ
Tabs
Questions
Page Overview
[Hide]- 1 Help
- 2 Bugs
- 3 Security Issues
- 4 Feature Changes
- 4.1 What are the differences between a core development, a plugin and a patch?
- 4.2 How can I suggest a new feature or a feature modification?
- 4.3 What are feature workshops and Jour Fixe meetings?
- 4.4 How can I schedule a feature for a Jour Fixe meeting?
- 4.5 How can I schedule a feature workhop?
- 4.6 How do I find the responsible maintainer for a feature?
- 4.7 Where do I get information on user interface elements and the kitchen sink?
- 4.8 How can I assess the risk or difficulties for a feature idea?
- 4.9 When will new features be released officially?
- 4.10 How are large developments organised?
- 5 General Development Issues
- 6 Sources of Information
1 Help
1.1 Who can and should I address if I need help?
1.2 ILIAS Forums
- If you have any questions how to setup and use ILIAS, just have a look in our community based forums. A lot of engaged ILIAS community members are following the different discussions and help with information and advice. And you find already a huge amount of questions and answers there. Notice: the forums are not intended to be used for reporting bugs or security issues. (See next topics in this FAQ)
- List of ILIAS Forums
1.3 ILIAS Product Manager & Managing Director
- If you have questions related to the ILIAS community and its processes in general, contact our product manager and managing director of the ILIAS society.
- Product Manager/Managing Director: Kunkel, Matthias [mkunkel]
1.4 Component Maintainers
- If you you are planning to develop a new feature for an existing component (e.g. Wiki or Mail) or extend existing functions, please contact the responsible maintainer of this component. You find the right person in the following list.
- List of Maintainers
1.5 ILIAS Service Providers
- ILIAS service providers are offering commercial support for almost anything around ILIAS. These companies are working with ILIAS for years and are active in the community as well. Most component maintainers are working for these service providers.
- List of ILIAS Service Providers (German version)
- List of ILIAS Service Providers (English version)
2 Bugs
2.1 How do I report a bug?
2.2 Can I vote on bugs?
2.3 How can I schedule a bug discussion for a Jour Fixe meeting?
- To schedule a bug report for the meeting you MUST set its status to "Needs JF Decision".
- A comment in the report has to address the Jour Fixe directly and make clear about what the Jour Fixe should decide.
- If possible, the product manager may decide whether an issue is a bug or not beforehand.
3 Security Issues
3.1 How should I report a security issue?
Please make sure to understand, that treating security issues confidentially is required to keep ILIAS installations as safe as possible until the issue is fixed.
Please follow the process described in detail below. You will receive an answer from a member of the ILIAS security group about further steps. Do not file an issue in the bugtracker!
- Write an email to security@lists.ilias.de about your discovery, containing a description of the issue with the scenario in which the problem is triggered and a description of its implications. Please provide all necessary steps to reproduce the issue. We kindly ask you to withhold full disclosure of the issue until a fix is ready and the new release has been build and made available to everyone (full disclosure about 1 week after the new release is published).
- The Security Group will assign an issue manager.
- The issue manager will look into the issue and try and reproduce the problem.
- The issue manager will contact you on behalf of the ILIAS e.V. by email. We are grateful for any further help/information you can provide during the analysis and bugfixing process.
- Depending on the severity and impact of the issue at hand, the developers will build a new release ASAP or continue with the default roadmap.
- Optional: We are very interested in giving proper credit for your finding and your support for the project. If you want to, we can include your name and/or institution in our release notes. We will not publish your name or the name of your institution without your consent.
3.2 Where should I publish my fix of a security issue?
We are delighted when solutions are offered together with the initial report. Please be aware, however, that our repository in GitHub is also open to the general public: commits, commit-messages and pull-requests can be viewed by anyone. It is therefore also better in this case to get in touch with security@lists.ilias.de in order to discuss further steps with us.
3.3 How do I receive security update notifications?
Please subscribe to our admin mailing list (ilias-admins@lists.ilias.de) to get notifications about security updates, updates in general and announcements for ILIAS server administrators.
3.4 Who takes care of security issues?
- Robin Baumgartner, sr solutions ag, Burgdorf, Switzerland
- Tim Bongers, CaT Concepts and Training GmbH, Cologne, Germany
- Rob Falkenstein, University of Freiburg - IT Services, Germany
- Manuel G. Müller, Qualitus GmbH, Cologne, Germany
- David Tokar, WEKA Media GmbH & Co. KG, Kissing, Germany
4 Feature Changes
4.1 What are the differences between a core development, a plugin and a patch?
- A core development is a code change in the trunk of the ILIAS source code that is committed to the ILIAS development repository at GitHub and is or becomes part of an official source code distribution by the ILIAS open source e-Learning e.V. Such a core development could bring new functionality, changes an existing component or removes a feature from the core.
- Core developments MUST be discussed and accepted by the Jour Fixe before becoming a part of the source code.
- Core developments have to be committed by the responsible maintainer or a related pull request by another developer has to be accepted by the responsible maintainer before being merged to the GitHub repository of ILIAS.
- Core developments must not be committed to a release branch but to trunk only. All core developments have to respect the release cycle and committed to trunk before 'coding completed'.
- A plugin is a piece of source code that addresses one of the existing plugin slots in ILIAS and extends the functionality of a standard ILIAS without changing its source code. Plugins are also needed to connect external software to ILIAS. Plugins are a good choice to extend ILIAS for specific purposes that are only needed by a very little amount of customers and have therefore no chance to become a core feature.
- Plugins do need to be discussed in the Jour Fixe and can be developed by anyone.
- Plugins can be published in the data collection 'Extending ILIAS' if they might be interesting for other users, too.
- A patch is a specific change of the existing source code for the purposes of a single customer. Patches are usually done in ILIAS versions from published release branches but need to be redone with every update of the core ILIAS. A patch is the quickest way to change a feature in ILIAS according to the need of a customer, but it has no sustainability and can become a money pit quickly.
4.2 How can I suggest a new feature or a feature modification?
4.3 What are feature workshops and Jour Fixe meetings?
- 1 hour virtual conference
- 2 hour virtual conference
- half day meeting
- full day meeting
4.4 How can I schedule a feature for a Jour Fixe meeting?
- Initial Problem: The proposal MUST outline the problem the proposal tries to solve.
- Conceptual Summary: The feature proposal MUST give a brief summary on how you would like the problem to be solved.
- The request SHOULD be conceptually complete and not leave any conceptual issues open.
- It SHOULD be possible to make a final decision on the proposal (yes/no, selecting one of multiple alternatives).
- User Interface Modifications: All modified and new screens that come with the suggested feature SHOULD be described (textual and/or visual).
- List of Affected Views: The description SHOULD list all views (screens) of ILIAS that are to be modified, removed, or introduced.
- User Interface Details: For each view the description SHOULD list all user interface elements that are newly introduced, modified or removed. The description SHOULD use the terminology of the kitchen sink, if possible (Button, Glyph, etc.).
- For each element their textual appearance (labels of buttons, headings, etc.) SHOULD be provided and for interactive elements their behaviour SHOULD be described (what happens if a button is pressed).
- To support the understanding of the feature screen mock-ups MAY be added.
- New User Interface Concepts: If new user interface elements (elements that do not exist similarly in ILIAS) should be introduced, a pull request for the new elements MUST be provided, according to the guidelines of the UI Framework. If in doubt what new interface elements will be needed, a feature proposal MAY be handed in without a new UI component suggestion. However the Jour Fixe MAY request a UI proposal for a final acceptance. There also might be the possibility that existing UI elements are sufficient for the realisation of the intended functionality.
- Accessibility Implications: If the proposal contains potential accessibility issues that are neither covered by existing UI components nor clarified by guidelines, please list them in this section. For every potential issue please either propose a solution or write down a short risk assessment about potential fallout if there would be no solution for the issue.
- Technical Information: This section will be completed by the responsible maintainer.
- Privacy: This section SHOULD list all personal data that will need to be stored or processed to implement this feature. For each date a short explanation should be given why it is necessary to use that date. This section MUST be completed by the responsible maintainer.
- Security: This section will be completed by the responsible maintainer.
- Related Component / Module: You have to untackle the checkbox before "AAA..." and MUST mark the component(s) that is/are affected by your request.
- Release Status: This is already preset and SHOULD NOT be modified
- Development Status: Change from "Funding Required" to "Interest in Funding" in case you have resources to pay for the feature's development.
- Funded by: Mark the checkbox in front of your institution if you can provide funding. In case, your institution is not listed yet, please notify the product manager.
- Testcases and Approval by Customer should not be tackled and are needed later in the process.
- Maintainers MUST indicate if they support or object the request in general. Objections MUST be listed on the feature wiki page. Objections at this point do not mean that the topic will not be handled during JF.
- The product manager SHOULD indicate if she/he supports or objects the request in general. Objections SHOULD be listed on the feature wiki page. Objections at this point do not mean that the topic will not be handled during JF.
- The maintainer's or product manager's statement to support a feature request in general does not imply the acceptance of the feature. This is only decided in the Jour Fixe.
- Maintainers MUST provide the metadata "Related Component/Module" and "Development Status".
- Maintainers MUST provide all relevant technical information (dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues).
4.5 How can I schedule a feature workhop?
- The proposal MUST outline the problem the proposal tries to solve.
- The proposal SHOULD contain a brief conceptual summary of the proposal.
- The proposal MUST indicate the current/future maintainer of the feature.
- Your name
- Proposed date of meeting
- Proposed location
- URL to feature wiki entry
- Workshop format (1 hour VC, 2 hour VC, half day meeting, full day meeting)
- Name of presenter (the person should be able to answer all non-technical questions related to the feature request)
- Name of responsible maintainer (the maintainer has to participate in the meeting, too)
4.6 How do I find the responsible maintainer for a feature?
4.7 Where do I get information on user interface elements and the kitchen sink?
4.8 How can I assess the risk or difficulties for a feature idea?
- How many parts of ILIAS are influenced by your idea? Will it only introduce a local change in some component or will it affect many components throughout the system?
- How big is your idea? Will it require a minor change to an existing idea only, like adding some configuration, or will it require a whole new world of stuff?
- How big might your idea get? Is it strictly bound to one component or are there components that might profit from a similar feature? Does your idea have implications that make it bigger than initially intended?
- How much development is going on in the affected component? Are there a lot of open feature requests for the component? Are the many new features introduced in every release? Are there a lot of open bugs in the component?
- How many new views and user interface components does your component require? Does it copy some screens already known from other components in the system or does it introduce mechanism in the user interface that are completely new to the system?
4.9 When will new features be released officially?
4.10 How are large developments organised?
- are estimated to require more than 50 person days for implementation (including conceptualization) or
- if maintainers of at least two institutions are required for its implementation.
- Identification of potential large developments for the next release.
- Identification of potential resource bootlenecks and risks resulting from these large developments.
- If possible, a decision which large developments should be tackled for the next release with priority.
These developments will be prioritized when PM and TB plan their resources (e.g. meeting participation).
- The date of the planning meeting will be discussed and announced in a Jour Fixe meeting, usually shortly after a major beta release has been published, and then further disseminated through the admin- and developers-mailinglist as well as on the blog
- Large developments should be added to the corresponding feature collection. For the future (planing for ILIAS 8) we will also ask you to create a a special kind of page in the Feature Wiki.
- At the planning meeting everybody who proposed a development will have 10min to present her proposal and then 10min are reserved for questions. Once all proposals have been presented a short discussion takes place.
- Based on the discussions and the presented features the Product Manager in consultation with the Technical Board will come up with a list of developments that should be prioritized for the upcoming release. The list will be presented, explained, and opened for a final discussion in the following Jour Fixe meeting.
- We kindly ask maintainers to be present at this Jour Fixe.
- Like today, all related feature wiki pages of an accepted development still have to be presented at a JF and the responsible maintainer and the product manager have to accept it.
5 General Development Issues
5.1 How can I participate in the ILIAS development?
- Testing ILIAS versions
- Joining the Online Help team
- Writing concepts
- Providing pull requests
- Developing UI components
- Improving language files and introducing new translations
- Becoming a maintainer and develop components
5.2 How can I contribute code?
5.3 How do I become a maintainer?
5.4 How can I schedule a general development discussion for the Jour Fixe?
5.5 What is the ILIAS development conference and how can I participate?
6 Sources of Information
6.1 What general source of information do you have?
6.2 What kind of mailing lists do you have?
Last edited: 26. Mar 2024, 14:59, Kunkel, Matthias [mkunkel]