Feature Wiki
Tabs
ILIAS Page Editor
Page Overview
[Hide]1 General
Maintainer and Tester
- ILIAS Page Editor
- Authority to Sign off on Conceptual Changes: akill
- Authority to Sign off on Code Changes: akill
- Authority to Curate Test Cases: ezenzen
- Authority to (De-)Assign Authorities: akill
- Tester: FH Aachen
- Assignee for Security Reports: akill
- Assignee for Security Issues: akill
- Unit-specific Guidelines, Rules, and Regulations: LINK MISSING
Additional
Roadmap
Without Priority
The following issues are mostly usability issues, that could be tackled as part of the ongoing PER project. - Action to edit translations is hard to find: https://mantis.ilias.de/view.php?id=33957 - Creating instance link areas for new media objects is cumbersome, see README.md
Short Term
Remove jQuery / unmaintained lib dependencies
- Migrate from jQueryUI draggable to a non jQuery lib, e.g. https://shopify.github.io/draggable/
- Migrate from Owl.Carousel to a better maintained lib. Suggested is https://github.com/ganlanyuan/tiny-slider, but there might be a better alternative.
Improve/avoid error messages
- If tags are incorrectly nested in text editing (see e.g. https://mantis.ilias.de/view.php?id=37044), XML errors are presented to the user which are hard to interpret ("Opening and ending tag mismatch..."). We either implement a mechanism that fixes simple XML errors (e.g. adding missing closing tags) or transform these messages to something more readable (e.g. by removing the technical parts and focus on the faulty tag type, e.g. kw, iln, ...)
Continue Page Editor Refactoring (started with ILIAS 7)
https://docu.ilias.de/goto_docu_wiki_wpage_6254_1357.html
Major Goals
- Increase Client side code quality. (JS coding style, use common patterns, bundling techniques, client-server-communication)
- Adapt to PLR layout, make use of tool slate.
- Increase usability, reduce clicks, auto-save.
Increase Robustness of Link Handling / User Input Processing
Link formattings lead to subtle issues (e.g. #30906) sometimes, since they are not part of the DOM structure on the client side and added later via PHP. This may result in invalid XML. There are different possible ways to handle this, e.g. make links part of DOM already on the client side will allow Tiny to tidy up the structure. In PHP the replacement of [xln] ans similar tags could be improved, by processing pairs of opening and closing tags and check their inner content for validity before replacing them with XML counterparts.
In general the old string manipulations should be replaced by DOM manipulations whenever possible when transforming the client side data.
Clarify dependency/relation with Style/Content component
See roadmap in Content Style.
Similar to the system style concepts the small less dependency (css/content.less) should be migrated to sass.
Page Content Integration
Relocate the classes to have all necessary files for a PC in one subfolder. Remove the special case conditionals for using the slate implementation. Simplify the ctrl flow and reuse of create/edit forms.
Mid Term
Performance
Large pages, especially with a high number of elements, e.g. data tables with lots of cells decrease the performance. This is mainly due to the way the model is retrieved in the "all" command ($o->pcModel = $this->getPCModel()). An alternative would be to use an xml -> xslt -> json approach at least for paragraphs and to "bulk-query" them. See https://mantis.ilias.de/view.php?id=29680
Replace or refactor mediawiki word-level-diff code
This code is copied from an older mediawiki version. I compares two versions of page HTML outputs and marks differences. The code should either be replaced by a lib that provides the same functionality, refactored and integrated into own code or at least replaced by an up-to-date code excerpt from mediawiki.
Accordions and Media
Currently media players continue to play if accordions are being closed. A generalised event handling should allow components to act on show/hide events.
Lower Cyclomatic Complexity (Ongoing)
This component suffers from record high cyclomatic complexity numbers. Refactorings should target and split up methods and classes to gain better maintainability.
E.g.
- XSL processing should be outfactored to a separate class
- Rendering should b outfacored to a separate class
Apr. 2019:
> phploc components/ILIAS/COPage
...
Cyclomatic Complexity
Average Complexity per LLOC 0.25
Average Complexity per Class 28.46
Minimum Class Complexity 1.00
Maximum Class Complexity 492.00
Average Complexity per Method 2.95
Minimum Method Complexity 1.00
Maximum Method Complexity 114.00
...
Refactor Update Listeners
If i18n is enabled and a page is copied (e.g. because of a new translation), it is currently not possible to attach an update listener to that page. Because \ilPageObject::copyPageToTranslation statically creates a new instance for the copied page, listeners attached to the source page instance are not copied/executed on update. Of course just copying the update listeners is maybe not sufficient (because copying their arguments could create new issues).
See also https://mantis.ilias.de/view.php?id=29057
Long Term
Internal Links for More Contexts
Internal links are not supported in all contexts. The behaviour of the different link targets is not well defined and thus a general usability issue. A separate activation of these (e.g. only in the learning module) might be feasible. If possible the link concepts should be revised completely.
Integration of new question service
The new questions service should be integrated into the page editor. Especially the client side "self-assessment" player part should be implemented (and factored out into a separate component).
Refactor page question handling
Note this is an older entry. Should be done with integration of the question service.
Render page questions
- ilPCQuestion::getJavascriptFiles loads
- components/ILIAS/Scorm2004/scripts/questions/pure.js
- components/ILIAS/Scorm2004/scripts/questions/question_handling.js
- components/ILIAS/TestQuestionPool/js/ilAssMultipleChoice.js
- components/ILIAS/TestQuestionPool/js/ilMatchingQuestion.js
- (components/ILIAS/COPage/js/ilCOPageQuestionHandler.js)
- ilPCQuestion::getJSTextInitCode loads
- ilias.question.txt... strings
- ilPCQuestion::getQuestionJsOfPage
- uses components/ILIAS/COPage/templates/default/tpl.question_export.html
- returns basix HTML of question (qtitle content)
- adds function renderILQuestion
- this function is declared early here, BUT not called yet
- it contains jQuery('div#container').autoRender call (pure.js rendering)
- ilPCQuestion::getOnloadCode
- adds calls for all renderers renderILQuestion
- inits question answers and callback
- adds calls for all renderers renderILQuestion
Saving page questions
Saving of page question answers is quite strange and includes dependencies to the SCORM component. This should be refactored.
Page Rendering
- ilPCQuestion->getOnloadCode()
- -> ilCOPageQuestionHandler.initCallback('".$url."');
Clicking Answer
- components/ILIAS/Scorm2004/scripts/questions/question_handling.js
- ilias.questions.checkAnswers
- calls ilias.questions.
(), e.g. ilias.questions.assMultipleChoice()
- -> ilCOPageQuestionHandler.js
- ->processAnswer
- -> sendAnswer sends async request to
- -> ilPageObjectGUI->processAnswer
- ->ilPageQuestionProcessor->saveQuestionAnswer
Long Term
2 Projects
The following projects are planned or have been realised for this component:
NEW Projects
- …
Ongoing Projects
Projects On-Hold
Completed Projects
- …
3 Suggested Features
List of suggested features - please add new requests below in alphabetical order [1] )
- ...
Suggested for 11
- Abandonned Global Switch for Page History
- Add new link style class
- Add Wiki Page with High Affordance
- Administration of Page History
- Column Layout : Same Height for all Blocks
- Configuring the availability of general purpose page elements
- Enable Browser Spell Checking in the ILIAS Page Editor
- Introducing Page Templates in Content-tab
- Migrate HTML Export To IRSS And New Zip Process
- New Colour Picker
- Page Editor » File List Editing
- Page Editor » Link Area Editing
- Page Editor » Spacer
- Responsive Interactive Images
- Revision of Language Handling in Page Editor
ALREADY SUGGESTED
- (Project) Splitting-up Tools
- Abandon Global Switch for Page Editor
- Add comments to single text-/media elements
- Anchor-Links for Content Pages
- animation for pictures
- Basic Rich Text Editing
- block activation by learning progress
- Chart
- Choose Text color
- colored blocks in editing mode
- Content Quick-Filter (learning progress controlled)
- Content Quick-Filter (user controlled)
- Context-dependent paragraph styles in advanced lists and tables
- Contexts of the editor and entering
- Copy Content from Media Pool via Page Editor
- Copyright, Artist and License for Media in Page Editor
- device orientation controlled section
- Drill Down Menu for Page Editor
- Full Screen mode for images as a greybox
- Further Improvement of Content Style Editor
- ILIAS page editor for info page - advanced implementation
- ILIAS page editor for starting page
- Improve Content Style
- Improve Page Element »Certificate«
- Improved arranging/sorting of data
- Improved Footnote Handling
- Improving File List Presentation
- Insert HTML5 Code
- Interactive images - change state depending on learning progress
- Internal Links in Content Snippets
- Internal links to Data Collection entries
- Introducing a undo and redo button in ILIAS Page Editor
- Language Settings in User Content
- Linking in ILIAS Editor
- Manual Carousel / Slider Content Element for Page Editor
- New Page Element »My Badges« for Portfolios
- Nudging user who blocks page editor
- Page Editor as Mode
- Page Editor » Accordion Editing (outdated)
- Page Editor » Accordion Presentation
- Page Editor » Advanced Table
- Page Editor » Calling Advanced Settings of Page Elements
- Page Editor » Carousel Revision
- Page Editor » Column Layout Part II
- Page Editor » Content Snippet Editing
- Page Editor » Data Table Editing » Rearranging Rows and Columns
- Page Editor » Editing Advanced Lists
- Page Editor » Employing Column Layout
- Page Editor » Making the Advanced Table responsive
- Page Editor » Media Editing » Part II
- Page Editor » New Create Menu for Page Elements
- Page Editor » Page Editing Improvements
- Page Editor » Page Element Question
- Page Editor » Page Elements of Portfolios
- Page Editor » Page-Element-PlugIns
- Page Editor » Presentation of Object Sets in Page Editor
- Page Editor » Shortcuts in Editing Text
- Page Editor » Specify Target Attribute for External Weblinks
- Page Editor » Text Editing on small devices
- Page Editor » Use Anchor with Internal Links
- Page Editor » Visual Editing of Links
- Page Editor » Reorganise Setting Text Content Menu in Editor Administration
- Page element Chart
- PDF-Printing Page Editor Content
- Poll as Page Editor Element
- Present calendar block on container content page
- Quick-SignUp-Page-Element
- Regulation of individual styles via RBAC / via Edit Settings
- Revision of Clipboard
- Save a page modification automatically
- SCORM player as page object in ILIAS page editor
- Seamless developping instructional material
- Section Editing: Multi-selection of style classes
- Set height of an advanced table row
- Simplify Interaction Between Page Editor and Creation of Objects in Container Objects
- Sortable List
- Suggestions for an Improved ILIAS Page Editor (outdated)
- Switching between content styles
- Tabbed Content Element for Page Editor
- Tools for reactive learning
- Tooltip Links
- Use ILIAS page editor in exercise instructions and assignments
4 Scheduled Features
The following features have been scheduled / published in ILIAS Release 11:
- …
The following features have been scheduled / published in ILIAS Release 10:
The following features have been scheduled / published in ILIAS Release 9:
- (Project) New Page Editor
- Content Snippets in Wiki Pages
- Define preview for videos inserted by the ILIAS page editor
- Introduce ::before selector for lists
- Introduce ::before selector for sections
- New Generic Content Style for ILIAS 9
- Page Editor » Accordion Editing
- Page Editor » Code Editing
- Page Editor » Data Table Editing » Part II
- Page Editor » Employing Page Templates
- Page Editor » Insert Item Group - formerly Insert Resource List
- Page Editor » Interactive Image
- Page Editor » New, Responsive Page Templates
- Page Editor » Presentation of Item Groups in Page Editor
- Page Editor » Section Editing » Part II
- Study Programme: Customize Front Page
- Study Programme: Page Editor Element for Required Actions
The following features have been scheduled / published in ILIAS Release 8:
- Abandon HTML/Javascript in Page Editor Text Paragraphs
- Cron Job: Delete old or orphaned page history entries
- Improve Content-Style-Editor
- Inherit Individual Stylesheet from Parent Object
- Page Editor » Page Template Administration
- Protected Sections in Portfolios from Portfolio Templates
- Protected Sections in Wiki Pages
The following features have been scheduled / published in ILIAS Release 7:
- Page Editor » Auto Save
- Page Editor » Column Layout
- Page Editor » Data Table Editing
- Page Editor » Drag & Drop
- Page Editor » Media Editing
- Page Editor » Multiple Actions to Page Elements
- Page Editor » Page Editing
- Page Editor » Section Editing
- Page Editor » Text Editing
- Page Editor » Transformation of Advanced Table ( former »Abandon the Advanced Table«)
The following features have been scheduled / published in ILIAS Release 6:
The following features have been scheduled / published in ILIAS Release 5.4:
The following features have been scheduled / published in ILIAS Release 5.3:
- Additional Data for Page Editor Plugins
- Context Aware Page Editor Plugins
- Copy and Paste elements in ILIAS Page Editor
- display applied content-style in editor
- ILIAS Page Editor: Column Layout
- Internal Link to User Profile
- Prompting Element in Portfolio
- Update ILIAS-Internal External Links on Copying Container
The following features have been scheduled / published in ILIAS Release 5.2:
- Abandon Auto-Indentation in Source Code Elements
- Content Snippets in Portfolio Pages
- Extending Span Formatting
- ILIAS Page Editor: Links for Sections
- Media object image/media: custom size in percent
- Page List : Numbered List
- RBAC-based activation of sections
- Style Editor: Extensible Character Formats
The following features have been scheduled / published in ILIAS Release 5.1:
The following features have been developed and published in Release 5.0:
The following features have been developed and published in Release 4.4:
- Internal links to Sessions
- Page Editor Plugin Slot
- Save Paragraph And Add New
- Using ILIAS Editor for Questions
The following features have been developed and published in Release 4.3:
- none
The following features have been developed and published in Release 4.2:The following features have been developed and published in Release 4.1:
- …
5 Abandoned, Redundant and Rejected Feature Requests
Suggested to be Abandoned
Accepted to be Abandoned
Removed from Code
Requests that are redundant / already implemented in other requests
- 2017 Concept for Revamping the Page Editor
- Add an append
- Adjusting image size in pages
- Client Side Editing of Image Maps
- Configuration for Page Elements
- Content Page for Session
- Content Snippets in Pages of Container Objects
- Delimiter Tag for Paragraphs
- Enable Content Snippets in General
- Extend Usage of Content Snippets
- gps controlled section
- Help Icon in the Page Editor Panel
- ILIAS page editor for info page - basic implementation
- ImageMap for Content Snippets
- Improvement of Page Layouts
- Include What links here? in Page
- Link-areas in images: coordinates should be easily changeable + grid desirable
- New Media Object - Biological/Chemical Structure
- Page Templates for Blog and Portfolio
- Showing Bibliography in Portfolio
- Upload multiple files in media object at once
- 2017 Concept for Revamping the Page Editor
- Add an append
- Adjusting image size in pages
- Client Side Editing of Image Maps
- Configuration for Page Elements
- Content Page for Session
- Content Snippets in Pages of Container Objects
- Delimiter Tag for Paragraphs
- Enable Content Snippets in General
- Extend Usage of Content Snippets
- gps controlled section
- Help Icon in the Page Editor Panel
- ILIAS page editor for info page - basic implementation
- ImageMap for Content Snippets
- Improvement of Page Layouts
- Include What links here? in Page
- Link-areas in images: coordinates should be easily changeable + grid desirable
- New Media Object - Biological/Chemical Structure
- Page Templates for Blog and Portfolio
- Showing Bibliography in Portfolio
- Upload multiple files in media object at once
Rejected Feature Requests
Last edited: 21. Oct 2024, 15:31, Gruber, Ann-Christin [acgruber]