====== ΞX2Go Developer Meetings ======
{{:wiki:development:x2go-mascot-ccc.png?nolink&100 |}}
* [[wiki:development:planning:start|Planning the next meeting]].
* [[wiki:development:planning:meetings_list|Past ΞX2Go Developer Meetings]]
----
====== X2Go Roadmap ======
===== Pending X2Go Tasks/Features =====
We have a pool of ideas that will be started working on some time in the future. Anyone who wants to start working on those ideas is welcome to contact us via IRC or the x2go-dev mailing list.
View our brainstorm pool for X2Go [[wiki:development:new-feature-brainstorming|here]].
===== Active X2Go Tasks/Features =====
==== Sponsored Improvement Requests ====
We have received funding from an anonymous donor that wishes to see the following issues fixed/features added:
=== Prio #1 (not started yet) ===
**Fix Lockup of OS X client when running multiple sessions //sequentially//**
At present, X2GoClient on OS X goes into an endless loop and has to be force-terminated after the second or third connection attempt.
Task assigned to: Mihai
**Run multiple instances of X2GoClient**, or multiple sessions from one instance, all simultaneously (kind of how pyhoca-gui works)
must work on
* Windows
* OS X
* Linux (probably already does)
Stefan would love to see X2GoClient gain the multi-session feature from PyHoCa. In fact, the GUI design of the taskbar icon's context menu hasn't made sense from the start, if X2GoClient is and will always be
limited to one session.
Please look at the following screenshots/mockups for a display of the current situation and two alternatives:
^ X2GoClient current look ^ X2GoClient single-session ^ X2GoClient multi-session ^
| {{:wiki:development:x2goclient-current-look-notgood.png?200|}} | {{:wiki:development:x2goclient-if-limited-to-one-session.png?200|}} | {{:wiki:development:x2goclient-multiple-sessions.png?200|}} |
If that is impossible, we need to make sure that multiple instances of x2goclient can co-exist in RAM.
Which will be a challenge for OS X.
h1 has a design in mind that addresses multi-sesson support in one X2Go Client instance (also x2goclient2.git on git.x2go.org is capable of that, but at the moment it is half-baked and probably temporarily discontinued).
Steps:
- Fix Multi-Instance on Windows
- Write wrapper to turn Multi-Instance into Multi-Session mode (especially important for OS X, where Multi-Instance isn't supported)
Task assigned to: Mihai, Mihai, and again, Mihai - with some help by Mike#2 for the Windows client
=== Prio #2 (not started yet) ===
**Rebase the "Pulseaudio on Mac" code**
//Side note: You need to coordinate your efforts with Mike#2 regarding the microphone mute function.//
Task assigned to: Mihai
**Improve x2go-broker functionality (shadowing, stable release)**
Task assigned to: Mike#1 (8h)
**Improve x2go-broker documentation**
Task assigned to: Mike#1, Stefan (12-16h)
**General improvement on documentation**
Task assigned to: Stefan, aided by Mike#1 (hard to say, Mike#1 will coach Stefan for an equivalent of 4h to get things straight, no matter how long it takes)
**HTML5 Client** tagged as unrealistic given current budget
If budget remains, a HTML5 client would be nice.
//There seems to be a disagreement amongst the developers regarding how such a client should be implemented.//
- One option would be to copy what other remote solutions are using - which means sub-par performance compared to our native NX/X2Go speeds.
- A from-scratch approach would bring native speeds, but is a time and money sinkhole.
Task assigned to: - could be Alex, Mihai, ...?
**Alternative to NX-Rewrite** tagged as unrealistic given current budget
h1 has some ideas what other F/LOSS codebases might be suitable as a time- and money-saving alternative to doing the NX-Rewrite.
He should mention them on x2go-dev to get more feedback, then a competent C/C++ coder should look at the alternatives and evaluate them for suitability.
Task assigned to: - could be Alex, Mihai, ...?
=== Work in Progress ===
**Infrastructure and procedures** for regularly releasing a new Mac client, at least in the next 1-3 years.
(jenkins build slave, cloud-based OS X hosting)
Task assigned to: Stefan (currently researching hosting options); might be expanded to Mike#1, Mihai, Alex and Mike#2
==== Improve Documentation ====
TITLE: General Documentation
PRIORITY: High
ESTIMATE: 3 months
PROGRESS: 5%
ASSIGNED: Everyone
DESCRIPTION: Use this wiki to provide a good documentation for X2Go
* write man pages for scripts in $PREFIX/bin and $PREFIX/sbin (Mike -> DONE)
* improve Python API documentation (Mike -> DONE)
* rework and update Wiki pages (everyone -> TODO)
* enrol as many people as possible in helping with the docs (Mike -> TODO)
TITLE: Documentation of X2Go Session Handshake
PRIORITY: Medium
ESTIMATE: 3 months
PROGRESS: 10%
ASSIGNED: Mike, ...
DESCRIPTION: Make the X2Go session handshake more transparent
* [[wiki:development:session-handshake|X2Go session handshake documentation]]
TITLE: Documentation of X2Go Session Broker
PRIORITY: High
ESTIMATE: 2 weeks
PROGRESS: 90%
ASSIGNED: Mike
DESCRIPTION: Make X2Go Session Broker usable by site admins
* [[wiki:advanced:x2gobroker:start|X2Go Session Broker documentation]]
==== License Change ====
TITLE: Move over to AGPL-3+
PRIORITY: Low
ESTIMATE: 1-2 years
PROGRESS: 70%
ASSIGNED: Heinz, Oleksandr, Mike, ...
DESCRIPTION: Move from GPL-2+ to AGPL-3+ where applicable
* X2Go Client (todo)
* X2Go Server (todo)
* Python X2Go (done)
* PyHoca-GUI (done)
* PyHoca-CLI (done)
* X2Go Session Broker (done)
* (other X2Go components?)
==== X2Go Protocols ====
TITLE: Review X2Go Session Handshake
PRIORITY: Low
ESTIMATE: 1-2 years
PROGRESS: 0%
ASSIGNED: Oleksandr, Mike, Morty, ...
DESCRIPTION: Take a closer look at problem in the session handshake
* Review [[wiki:security:start#x2goprint|X2Go Printing]]
* Review pulseaudio (If and how to add a pulse-server running on the server and not only the client)
==== X2Go Server Add-Ons ====
TITLE: X2Go Desktop Applet
PRIORITY: Low
ESTIMATE: 1-2 years
PROGRESS: 0%
ASSIGNED: Oleksandr, Mike, ...
DESCRIPTION: Provide a universal replacement for the currently available desktop bindings
==== X2Go Session Broker ====
TITLE: X2Go Session Broker integration into LightDM
PRIORITY: high
ESTIMATE: 1 month
PROGRESS: 100%
ASSIGNED: Mike, ...
DESCRIPTION: Replace UCCS in LightDM's remote login by X2Go Session Broker (sponsored project)
==== first attempt at documenting missing NX-libs features for certain applications and desktop environments ====
^Feature/Application or DE^NX-libs Version^V. req'd for Gnome 3.14^V. req'd for KDE5 ^
|XServer: RANDR| | | |
|XServer: RENDER| | | |
|XServer: Composite| | | |
|XServer: GLX| | | |
|XServer: DRI| | | |
|XServer: BIGREQUESTS| | | |
|Client: libXrandr| | | |
|Client: libXrender| | | |
|Xinerama| | | |
|MESA| | | |
|VirtualGL| | | |