This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
wiki:development:roadmap [2013/03/14 21:25] sunweaver |
wiki:development:roadmap [2016/01/29 20:50] ionic ↷ Links adapted because of a move operation |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ΞX2Go Developer Meetings ====== | ||
+ | {{: | ||
+ | * [[wiki: | ||
+ | * [[wiki: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
====== X2Go Roadmap ====== | ====== X2Go Roadmap ====== | ||
- | ===== Still pending TODOs from April 2011 ===== | ||
- | * **Communication: | + | ===== Pending X2Go Tasks/ |
- | * FIXME Wiki accounts for: John Sullivan, Alexander Crössmann (HEINZ?) | + | |
- | * send Wiki Changes to x2go-commits(? | + | |
- | + | ||
- | ===== Work in Progress | + | |
- | < | + | 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. |
- | TITLE: Improve Documentation | + | |
- | PRIORITY: High | + | |
- | ESTIMATE: 3 months | + | |
- | PROGRESS: 5% | + | |
- | ASSIGNED: Heinz, Morty, Mike, John, Alexander, | + | |
- | DESCRIPTION: | + | |
- | </ | + | |
- | * write man pages for scripts in $PREFIX/bin and $PREFIX/ | + | View our brainstorm pool for X2Go [[wiki: |
- | * improve Python API documentation (Mike -> DONE) | + | |
- | * rework and update Wiki pages (everyone -> TODO) | + | |
- | < | + | ===== Active X2Go Tasks/Features ===== |
- | TITLE: X2go Communications API definition | + | |
- | PRIORITY: Normal | + | |
- | ESTIMATE: 3 month | + | |
- | PROGRESS: 40% | + | |
- | ASSIGNED: Reinhard, Mike, Alex | + | |
- | DESCRIPTION: | + | |
- | </task> | + | |
- | Restructure build concept of NX libraries + x2goagent... | + | |
+ | ==== Sponsored Improvement Requests ==== | ||
- | < | + | We have received funding |
- | TITLE: X2go Communications API definition | + | |
- | PRIORITY: Normal | + | |
- | ESTIMATE: 3 month | + | |
- | PROGRESS: 35% | + | |
- | ASSIGNED: Mike, Basma, Felix, Dick | + | |
- | DESCRIPTION: | + | |
- | </ | + | |
- | Currently the communication between server and client is done by issuing commands to a shell of the server on the client that is accessed using ssh. To do that, a lot of data is transferred | + | |
- | * Define API -> DONE (is committed in GIT) | + | === Prio #1 (not started yet) === |
- | * Reach consensus on the api -> DONE (Well, we didn't get feedback from EVERYONE) | + | **Fix Lockup of OS X client when running multiple sessions // |
- | | + | |
- | | + | |
- | * Implement client-side -> We started with some investigation | + | |
- | | + | |
+ | At present, X2GoClient on OS X goes into an endless loop and has to be force-terminated after the second or third connection attempt. | ||
- | ====== Somewhen (post-Baikal) ====== | + | Task assigned to: Mihai |
- | * Review [[wiki:security: | + | |
- | * Review pulseaudio (If and how to add a pulse-server running on the server and not only the client) | + | |
- | * Merge x2go...bindings package into one Git project x2godesktopbindings that will heavily use xdg commands etc. | + | |
+ | **Run multiple instances of X2GoClient**, | ||
+ | must work on | ||
+ | * Windows | ||
+ | * OS X | ||
+ | * Linux (probably already does) | ||
- | ===== NEAR FUTURE ===== | + | Stefan would love to see X2GoClient gain the multi-session feature from PyHoCa. |
+ | limited to one session. | ||
- | ==== January 2012 ==== | + | Please look at the following screenshots/ |
+ | ^ X2GoClient current look ^ X2GoClient single-session ^ X2GoClient multi-session ^ | ||
+ | | {{: | ||
- | * Move over to AGPL licensing for nearly all X2go Git projects. Here is a list: | + | If that is impossible, we need to make sure that multiple instances of x2goclient can co-exist in RAM. |
- | * cups-x2go.git (TODO) | + | Which will be a challenge |
- | * ltsp-pyhocathinclient.git (TODO) | + | |
- | * pinentry-x2go.git (Is it possible? Does the original code license allow that?) | + | |
- | * pyhoca-cli.git (TODO: Mike) | + | |
- | * pyhoca-gui.git (TODO: Mike) | + | |
- | * python-x2go.git (DONE for python-x2go >= 0.1.2.0) | + | |
- | * x2goadmincenter.git (TODO) | + | |
- | * x2goagent.git (possible? | + | |
- | * x2goclient.git (TODO) | + | |
- | * x2godesktopsharing.git (TODO) | + | |
- | * x2gognomebindings.git (TODO) | + | |
- | * x2golxdebindings.git (DONE) | + | |
- | * x2goplasmabindings.git (TODO) | + | |
- | * x2goserver.git (TODO) | + | |
- | * x2gothinclient.git (TODO) | + | |
- | * x2gotrinitybindings.git (DONE) | + | |
- | * Make some progress on the bugtracker discussion... | + | |
+ | 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). | ||
- | ===== DONE ===== | + | 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) | ||
- | ==== August 2011 ==== | + | 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 " | ||
+ | //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) | ||
+ | |||
+ | < | ||
+ | |||
+ | 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: <none yet> - could be Alex, Mihai, ...? | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | 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: <none yet> - 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: | + | TITLE: |
- | PRIORITY: | + | PRIORITY: |
- | ESTIMATE: | + | ESTIMATE: |
- | PROGRESS: | + | PROGRESS: |
- | ASSIGNED: | + | ASSIGNED: |
- | DESCRIPTION: | + | DESCRIPTION: |
</ | </ | ||
+ | * write man pages for scripts in $PREFIX/bin and $PREFIX/ | ||
+ | * 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) | ||
- | * ENTERING TESTING PHASE!!! (as of 20110728) -> TODO ALL!!!!!! | + | < |
+ | TITLE: Documentation | ||
+ | PRIORITY: Medium | ||
+ | ESTIMATE: 3 months | ||
+ | PROGRESS: 10% | ||
+ | ASSIGNED: Mike, ... | ||
+ | DESCRIPTION: | ||
+ | </task> | ||
- | | + | |
- | * Now dh_install and Makefile copy scripts either to /usr/bin or / | + | |
- | * a script that is called from the client is in /usr/bin -> DONE | + | |
- | * a script used internally in the x2goserver is in / | + | |
- | * A package x2goserver-compat has been added to take up old compatibility scripts. The x2goserver-compat package is only suggested by the x2goserver package, that is: has to be installed explicitly. -> DONE | + | |
- | * Move files from /usr/bin to appropriate directories -> DONE | + | |
- | * $PREFIX/bin (PACKAGE: x2goserver): | + | |
- | * x2golistdesktops | + | |
- | * x2golistsessions | + | |
- | * x2gomountdirs | + | |
- | * x2goprint | + | |
- | * x2goruncommand | + | |
- | * x2gosessionlimit | + | |
- | * x2gostartagent | + | |
- | * x2goumount | + | |
- | * x2goresume | + | |
- | * x2goresume-session | + | |
- | * x2gosuspend-session | + | |
- | * x2goterminate-session | + | |
- | * x2goumount-session | + | |
- | * keeping Symlink from x2goumount_session -> x2goumount-session as the rename would break recent x2goclients | + | |
- | * x2goshowblocks | + | |
- | * x2gocmdexitmessage | + | |
- | * $PREFIX/bin (PACKAGE: x2goserver-compat): | + | |
- | * x2gosuspend -> wrapper for x2gosuspend-session | + | |
- | * x2goterminate | + | |
- | * x2goumount_session -> x2goumount-session | + | |
- | * x2gosuspend-agent | + | |
- | * $PREFIX/ | + | |
- | * x2gocleansessions | + | |
- | * x2godbadmin | + | |
- | * x2golistsessions_root | + | |
- | * $PREFIX/ | + | |
- | * x2gochangestatus | + | |
- | * x2gocreatesession | + | |
- | * x2godbwrapper.pm | + | |
- | * x2gogetagent | + | |
- | * x2gogetdisplays | + | |
- | * x2gogetports | + | |
- | * x2gogetservers | + | |
- | * x2goinsertport | + | |
- | * x2goinsertsession | + | |
- | * x2gosqlitewrapper | + | |
- | * x2golistsessions_sql | + | |
- | * write man pages for scripts in $PREFIX/bin and $PREFIX/ | + | |
- | * create separate folders in source project: bin/, sbin/, lib/, etc/ -> DONE | + | |
- | * rename x2gosuspend-session to x2gosuspend (Mike: CAVE, this can cause compat problems with older clients) | + | |
- | * Morty: Rename it and make a symlink -> DONE, wrapper script | + | |
- | + | ||
- | ==== July 2011 ==== | + | |
< | < | ||
- | TITLE: | + | TITLE: |
PRIORITY: High | PRIORITY: High | ||
- | ESTIMATE: | + | ESTIMATE: |
- | PROGRESS: | + | PROGRESS: |
- | ASSIGNED: | + | ASSIGNED: Mike |
- | DESCRIPTION: | + | DESCRIPTION: |
</ | </ | ||
- | | + | |
- | * First steps are made the change the ramdisk to tmpfs: | + | |
- | * Get audio working out of the box -> DONE | + | |
- | * Get the x2go client working without ldap (copy profile to home) -> DONE | + | |
- | * Get rid of x2gothinclientd package? -> no, other solution found -> DONE | + | |
- | * Create scripts that support the configuration of dhcp, tftpd and nfs (e.g. crate snippets with the right information about paths) -> DONE for tftpd/ | + | |
- | * X2go CD Manager must work -> DONE | + | |
- | * X2go USB mount must work -> DONE | + | |
- | * X2go Smart Card Rules must work -> TESTED, delay between logins | + | |
- | * X2go Thin Shutdown must work -> DONE | + | |
- | ==== June 2011 ==== | + | ==== License Change |
- | * **Communication:** | + | < |
- | * sync at least x2go-commits@lists.berlios.de | + | TITLE: Move over to AGPL-3+ |
- | * Grant code.x2go.org access to Heinz+Alex -> Mike needs SSH keys... (Heinz -> DONE, Alex -> DONE) | + | PRIORITY: Low |
- | * x2gothinclient: feedback needed | + | ESTIMATE: 1-2 years |
- | * x2gothinclient: | + | PROGRESS: 70% |
- | * Start discussion on X2go Bugtracker (on x2go-dev, in progress) | + | ASSIGNED: |
- | * handle mail obfuscation at GMANE (Heinz? -> DONE by Mike) | + | DESCRIPTION: Move from GPL-2+ to AGPL-3+ where applicable |
+ | </task> | ||
- | ==== May 2011 ==== | + | * X2Go Client (todo) |
+ | * X2Go Server (todo) | ||
+ | * Python X2Go (done) | ||
+ | * PyHoca-GUI (done) | ||
+ | * PyHoca-CLI (done) | ||
+ | * X2Go Session Broker (done) | ||
+ | * (other X2Go components? | ||
- | * **Patches, change-of-concepts: | ||
- | * x2goprint (merged to x2goserver/ | ||
- | * x2godropbox (merged to x2goserver/ | ||
- | * **Packaging: | + | ==== X2Go Protocols ==== |
- | * Move installation-logic from debian/ | + | |
- | * Contact pkg-x2go-devel to announce official X2go upstream Git (Mike, DONE) | + | |
- | ==== April 2011 ==== | + | < |
+ | TITLE: Review X2Go Session Handshake | ||
+ | PRIORITY: Low | ||
+ | ESTIMATE: 1-2 years | ||
+ | PROGRESS: 0% | ||
+ | ASSIGNED: Oleksandr, Mike, Morty, ... | ||
+ | DESCRIPTION: | ||
+ | </ | ||
- | * **Communication: | ||
- | * allow git-admin@x2go.org to send posts to x2go-announcement@lists.berlios.de -> Heinz (DONE) | ||
- | * Announce Git officially on x2go-dev -> Heinz (DONE by Mike) | ||
- | * **Packaging:** | + | * Review [[wiki:security:start# |
- | * build up X2go-internal reprepro Repository (Debian: Mike), stable and nightly-built packages (DONE) | + | * Review pulseaudio |
- | * Stable | + | |
- | * Grant Reinhard | + | |
+ | ==== X2Go Server Add-Ons ==== | ||
- | ==== March 2011 ==== | + | < |
+ | TITLE: X2Go Desktop Applet | ||
+ | PRIORITY: Low | ||
+ | ESTIMATE: 1-2 years | ||
+ | PROGRESS: 0% | ||
+ | ASSIGNED: Oleksandr, Mike, ... | ||
+ | DESCRIPTION: | ||
+ | </ | ||
- | * **GIT:** Cleanup work of Uni-Erlangen (Morty) | + | ==== X2Go Session Broker |
- | * [[http:// | + | |
- | * [[http:// | + | < |
- | * [[http:// | + | TITLE: X2Go Session Broker integration into LightDM |
- | * [[http:// | + | PRIORITY: high |
- | * [[http:// | + | ESTIMATE: 1 month |
- | * [[http:// | + | PROGRESS: 100% |
- | * [[http:// | + | ASSIGNED: Mike, ... |
- | * [[http:// | + | DESCRIPTION: Replace UCCS in LightDM' |
- | * [[http:// | + | </task> |
- | * [[http:// | + | |
- | * **GIT:** Move clean branches to git.x2go.org (Mike) | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * **Patches, change-of-concepts:** | + | |
- | * Check x2goserver package integrity | + | |
- | * **Communication: | + | |
- | * feedback from Heinz pending about new version numbering scheme (refer to tags on git.x2go.org) -> Heinz (done) -> OK | + | |