User Tools

Site Tools


events:gsoc2013

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
events:gsoc2013 [2013/03/12 12:30]
sunweaver [PyHoca-PubAppDaemon - transparent X2Go Published Applications Integration into local Desktops]
events:gsoc2013 [2013/03/28 21:02]
sunweaver [Schedule]
Line 1: Line 1:
-====== Google Summer Of Code 2013 ======+====== Google Summer of Code 2013 ======
  
 ===== Contact Information for Applying Students ===== ===== Contact Information for Applying Students =====
Line 16: Line 16:
  
 ===== Schedule ===== ===== Schedule =====
-  * March 18 19:00 UTC Mentoring organizations can begin submitting applications to Google +  * March 18 19:00 UTC -- Mentoring organizations can begin submitting applications to Google 
-  * March 29 19:00 UTC Mentoring organization application deadline +  * March 29 19:00 UTC -- Mentoring organization application deadline 
-  * April 19:00 UTC Google announces the list of accepted mentoring organizations +  * April 08 19:00 UTC -- Google announces the list of accepted mentoring organizations 
-  * April 22 19:00 UTC Students can start handing in their code project proposals +  * April 22 19:00 UTC -- Students can start handing in their code project proposals 
-  * May 3 19:00 UTC Student code projects proposal deadline+  * May 3 19:00 UTC -- Student code projects proposal deadline 
 +  * May 06 -- Mentoring organizations should have requested slots in Google Summer of Code 2013 site at this point 
 +  * May 08 -- Slot allocations published to mentoring organizations 
 +  * May 22 -- First round of de-duplication checks happens; organizations work together to try to resolve as many duplicates as possible 
 +  * May 24 -- Student acceptance choice deadline, initial IRC meeting, sorting out duplicate acceptances of students, mentors must be assigned to students 
 +  * May 27 19:00 UTC --Accepted student proposals announced on the Google Summer of Code 2013 site
  
 +Futher timeline information can be found [[http://www.google-melange.com/document/show/gsoc_program/google/gsoc2013/help_page#2._What_is_the_program_timeline|here]].
 ===== Application of X2Go Project for GSOC2013 ===== ===== Application of X2Go Project for GSOC2013 =====
  
Line 32: Line 38:
 However, if you do not sense affinity to any of the project ideas listed below, feel free to propose your own code project idea. However, if you do not sense affinity to any of the project ideas listed below, feel free to propose your own code project idea.
  
-==== X2Go Client / X2Goplugin on Chromebooks ====+==== X2Go Client / X2Go Plugin on Chromebooks ====
   * As [[http://en.wikipedia.org/wiki/Chromebook|Chromebooks]] are a kind "Thin Client" "look-alikes", it would be a good idea to be able to access Linux machines via X2Go.   * As [[http://en.wikipedia.org/wiki/Chromebook|Chromebooks]] are a kind "Thin Client" "look-alikes", it would be a good idea to be able to access Linux machines via X2Go.
   * As it is only possible to install applications on chromeOS (running on an original chromebook) via the [[https://chrome.google.com/webstore/category/home|Googles webstore]] of Google Chrome, X2Go Client needs to packaged for [[https://chrome.google.com/webstore/category/home|Googles webstore]]. Preferences and maybe session files should be altered and committed, so that users can sync them with their Google account.   * As it is only possible to install applications on chromeOS (running on an original chromebook) via the [[https://chrome.google.com/webstore/category/home|Googles webstore]] of Google Chrome, X2Go Client needs to packaged for [[https://chrome.google.com/webstore/category/home|Googles webstore]]. Preferences and maybe session files should be altered and committed, so that users can sync them with their Google account.
Line 46: Line 52:
   * The weakness of X2Go definitely is the NX Xserver used for display server session on the client   * The weakness of X2Go definitely is the NX Xserver used for display server session on the client
   * This coding project would be a start to gradually update the Xserver extensions shipped with NX   * This coding project would be a start to gradually update the Xserver extensions shipped with NX
-  * During this project you will get a deep insight into Xserver code. You need good C and Cplusplus skills to start this code project.+  * During this project you will get a deep insight into Xserver code. You need good C and Cplusplus skills to start this code project. You have to be a magician with C coding debugging tools!!!
  
 ==== X2Go Desktop Applet ==== ==== X2Go Desktop Applet ====
Line 62: Line 68:
     * Add a session profile storage (on a per-user basis) based on e.g. MongoDB     * Add a session profile storage (on a per-user basis) based on e.g. MongoDB
     * Make these session profiles configurable through a nice WebGUI     * Make these session profiles configurable through a nice WebGUI
-  * The current public implementation of the X2Go Session Broker is written in Python.+  * The current public implementation of the X2Go Session Broker is written in Python. The difficulty is medium. Interests in Web2.0 development strategies is of advantage.
  
 ==== JSON based protocol for communication between X2Go Client and X2Go Session Broker ==== ==== JSON based protocol for communication between X2Go Client and X2Go Session Broker ====
Line 68: Line 74:
   * JSON is a very appropriate data format when two applications what to exchange data objects via text base communication streams   * JSON is a very appropriate data format when two applications what to exchange data objects via text base communication streams
   * Currently, X2Go Client and X2Go Session Broker currently communicate over a plain text base communication protocol. This protocol is not very tolerant about errors   * Currently, X2Go Client and X2Go Session Broker currently communicate over a plain text base communication protocol. This protocol is not very tolerant about errors
-  * To make the client<->broker communication more robust, this shell be changed to X2Go Client+  * To make the client<->broker communication more robust, this shall be changed to X2Go Client
   * However, transparent backward compatibility must be granted at the same time: new X2Go Clients must continue to be able to speak the older broker protocol, new X2Go Session Brokers must be able to understand old X2Go Clients   * However, transparent backward compatibility must be granted at the same time: new X2Go Clients must continue to be able to speak the older broker protocol, new X2Go Session Brokers must be able to understand old X2Go Clients
 +  * Good knowledge of Qt4 and Cplusplus are required for this task
  
-==== Interface between LightDM's remote login feature and X2Go Session Broker ==== 
- 
-  * The remote login feature in LightDM uses UCCS for session brokerage. The UCCS is a very public service. The main caveat is: UCCS offers to store user passwords and these passwords (at time of Ubuntu 12.10 and Ubuntu 13.04) get stored in plaintext at Canonical (or at least can be easily unhashed). A site admin surely would love to have such a web portal as UCCS at hand, so that the remote login feature can be used on the local network without Canonical as the brokerage provide in the loop. 
-  * This code project is to provide a drop-in replacement for the Ubuntu package ''lightdm-remote-session-uccsconfigure'' that replaces UCCS with the X2Go Session Broker as session brokerage provide 
-  * The users shall then be able to use LightDM's remote login feature to launch X2Go and RDP sessions. The session profiles will be provided by the X2Go Session Broker 
-  * Versatile skill are needed for this: C, Cplusplus, XML, JSON, Python. 
        
 ==== PyHoca-PubAppDaemon - transparent X2Go Published Applications Integration into local Desktops ==== ==== PyHoca-PubAppDaemon - transparent X2Go Published Applications Integration into local Desktops ====
Line 96: Line 97:
     * A click on one of those (local) .desktop files (executing a published application) will launch PyHoca-PubAppTrigger. This trigger talks to the PyHoca-PubAppDaemon and initiates the launch of the requested server-side application (via the X2Go Published Applications feature)     * A click on one of those (local) .desktop files (executing a published application) will launch PyHoca-PubAppTrigger. This trigger talks to the PyHoca-PubAppDaemon and initiates the launch of the requested server-side application (via the X2Go Published Applications feature)
    
-The task is rather complex and demands quite a bit of understanding of the FreeDesktop.org specifications. The whole project will be in Python. A draft for the login process is already available on X2Go Git (projects: ''lightdm-remote-login-x2go'' and ''libpam-x2go'').+The task is rather complex and demands quite a bit of understanding of the FreeDesktop.org specifications. The whole project will be in Python. A draft for the login process is already available on [[http://git.x2go.org|X2Go Git]] (projects: ''lightdm-remote-login-x2go'' and ''libpam-x2go'').