I had some ideas for 2020’s GSoC projects so I wanted to share them.
1. Advancement of Livetable - Extension
Livetable is probably the most used XWiki extension. It’s great as it is now but there are some upgrades that can be done to enable more customization for styling table data.
These advancements could be in the form of,
Adding options for displaying only a single search bar for all data
Making only certain columns searchable and don’t display other columns search box
Adding Solr search like filter options for data, there can be a full filter mechanism for tables
Options for changing and defining table-specific themes
Improving the table’s responsive behavior, finding ways for better displaying tables on mobile platforms
Adding icon support for delete, view or any other action
Other improvements can be suggested by the students
2. Improvement of Excel Plugin - Extension
Excel plugin is pretty old but it can be very useful for certain firms who make use of Microsoft Office tools.
The project’s activities could be,
Adding support for the newer XLSX format
Importing options for getting the excel sheet as a livetable in XWiki
Creating XWiki objects with the imported data and manipulating them
Merging multiple sheets
Displaying multiple sheets within an excel file as tabbed content in XWiki
3. Mailing Assistant Application
Easy to configure contact forms is where this idea originates from. I didn’t find any plugin in XWiki that could be easily used for creating a contact form. This could probably be done using velocity but having an easy to use UI for configuring options for such applications is necessary for the users.
Application’s functions could include,
UI based creation of contact forms
Macro for including the contact form on any XWiki page
Other possible features could be suggested by the students
4. Interactive Maps Application Macro (?) - Extension
Not sure if this could suffice as a 3 months long project. Integration of some leaflet plugins can also be a part of this.
Please let me know your thoughts on these ideas.
Also, I would like to mentor a project with XWiki in GSoC '20. If there is something that should be done to be a mentor, please let me know.
Thanks for starting this topic! And for the good ideas
FYI, XWiki SAS has hired an intern, Clement Desableau, who will start on Feb 2020 and will work on Livetable v2 for 4 months. The scope of his work is not fully defined but the following ideas below have been discussed with him and will need to be proposed to the XWiki community to gauge the interest. Clement will likely work on an Extension first, before it can replace the existing LT (if the xwiki devs choose so).
Ideas:
Work on the ability to create and edit LT using a spreadsheet view
Headings would contain xproperty definitions
Ability to create/modify page/xobjects by entering data directly in the spreadsheet cells
Realtime-enabled
Other ideas in addition to yours:
Ability to offer several LT views in addition to the current table view:
Card view
Calendar view (would work when one column is of type Date)
AFAIK this is already supported.
Thus my recommendation would be to wait until Clement has finished. AFAIK he’ll work on this from Feb 2020 till May 2020, so in theory it should be possible to have a GSOC student continuing the work. In practice, I think the core dev team will want to take over from Clement and integrate the work the platform/continue it, instead of a student.
Great to hear that Clement would be working on it. The ideas you propose are great, especially the different LT views. That would be really helpful for the users.
Depending upon the development done by Clement, it might be better for a core dev team member to continue the work as LT is an important extension of XWiki and a new student wouldn’t be as much experienced to better implement the new changes. But if it’s something that is not prioritized by the dev team, then the student can be a big help.
It would be great to hear your thoughts about the other ideas as well.
Note that we already support importing spreadsheets (excel, etc) through the office import feature. So all the use cases you mention regarding importing should be done there probably.
AFAIU the Excel plugin is used to view excel files content attached to wiki pages, and there’s no import. Right?
I don’t know how useful this is to the xwiki project but if we want to touch this plugin it should be rewritten using components and made an extension.
Just a thought about the tabular export (CSV, Excel or other possible formats): one key improvement in my opinion would consist in enabling data streaming: unless I’m mistaken, the current exporter builds the whole sheet in memory before sending it over the network, which can cause memory exhaustion in some cases (I faced it in some projects). It seems that the Apache POI framework may allow this, not sure, to be investigated. POI: acronym for “Poor Obfuscation Implementation” apparently :–)
A note about about import in order to mention the Batch Import Application which could either be used as is or extended I guess?
A note about about import in order to mention the Batch Import Application which could either be used as is or extended I guess?
That will be an impressive improvement. Would that be a part of the Improvement of Excel Plugin project?
Is this idea valid for GSoC? The application will be like a UI based implementation of the Mail Sender API with options for graphically creating mailing forms and newsletters.
@ginpachi, This could even replace the Excel plugin possibly I guess, not sure (since plugins are deprecated as far as I understand, in favour of extensions).