Feature Wiki

Information about planned and released features

Tabs

StaticURL: Shortlinks

1 Initial Problem

Permanent links allow communicating links to specific ILIAS objects. However, permanent links are cryptic and cannot be remembered.

2 Conceptual Summary

In order to be able to generate simple and understandable cutom links, the entry Shortlink should be added in the Administration » Layout and Navigation.

The shortlink feature registers a DeepLinkHandler like other components, its namespace would then be "shortlink" for example. In the administration, new shortlinks can be created as suggested, these could point to magazine objects, for example, the new UI Component "Tree(Multi)Select" could be used for this. Shortlinks in the form of the following would then be possible:

  • https://ilias.de/goto.php/shortlink/konferenz2023 resp.
  • https://ilias.de/go/shortlink/konferenz2023

The .htaccess could be used to simplify the shortlink even further or make it more explicit:

RewriteRule ^shortlink/(.*)$ goto.php/shortlink/$1 [L].

This would make the shortest possible URL:

  • https://ilias.de/shortlink/konferenz2023

3 User Interface Modifications

3.1 List of Affected Views

  • Administration > Layout und Navigation > Shortlink (new) 

3.2 User Interface Details

{ For each of these views please list all user interface elements that should be modified, added or removed. Please provide the textual appearance of the UI elements and their interactive behaviour. }

3.3 New User Interface Concepts

{ If the proposal introduces any completely new user interface elements, you might consult UI Kitchen Sink in order to find the necessary information to propose new UI-Concepts. Note that any maintainer might gladly assist you with this. }

3.4 Accessibility Implications

{ If the proposal contains potential accessibility issues that are neither covered by existing UI components nor clarified by guidelines, please list them here. 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. }

4 Additional Information

4.1 Involved Authorities

If this request is related to multiple components, please list both authorities for all related components.

4.2 Technical Aspects

{ Necessary technical information have to be provided here, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues. }

4.3 Privacy

{ Personal data that will need to be stored or processed to implement this feature have to be listed here. For each date give a short explanation why it is necessary to use that date. }

4.4 Security

{ Does the feature include any special security relevant changes, e.g. the introducion of new endpoints or other new possible attack vectors. If yes, please explain these implications and include a commitment to deliver a written security concept as part of the feature development. This concept will need an additional approvement by the JourFixe. }

4.5 Contact

Person to be contacted in case of questions about the feature or for funding offers:  Lorenz, Katharina [klorenz]

4.6 Funding

Funding status and funding parties are listed in the block 'Status of Feature' in the right column of this page.

If you are interested to give funding for this feature, please get into contact with the person mentioned above as 'Contact'.

5 Discussion

2025-08-25 Kiegel, Colin [kiegel]: Interesting Proposal

  • What will be the lifetime of a shortlink? Is there a mechanism to "delete" shortlinks that are not used anymore?
  • IMO "/shortlink", "/go/shortlink" "/goto.php/shortlink" are still quite long - maybe be bold and just use 1-2 letters instead, e.g. "/s", "/go/s" "/goto.php/s"?

6 Implementation

Feature has been implemented by {Please add related profile link of this person}

6.1 Description and Screenshots

{ Description of the final implementation and screenshots if possible. }

6.2 Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

6.3 Privacy

Information in privacy.md of component: updated at {date} by {user} | no change required

6.4 Approval

Approved at {date} by {user}.

Last edited: 25. Aug 2025, 12:00, Kiegel, Colin [kiegel]