= Summer of Code 2010 = This page is dedicated to the projects accepted into Google SoC 2010, here's a list of accepted projects: || '''Project''' || '''Student''' || '''email''' || '''Mentor''' || '''email ''' || [wiki:SummerOfCode2010#configfiles Configuration files handling] || Andrea D'Amore || and.damore || [wiki:raimue Rainer Mueller] || raimue || || [wiki:SummerOfCode2010#gui MacPorts GUI Improvement] || [wiki:tzikis Vasileios Georgitzikis] || tzikis || [wiki:juanger Juan Germán Castañeda Echevarria] || juanger || || [wiki:SummerOfCode2010#mpwa MacPorts Web Application] || Joe Rozner || jrozner || [wiki:wms William Siegrist] || wms || == Configuration files handling == #configfiles MacPorts has no way to track configuration files. Currently if a configuration file is part of a port it will get overwritten on every upgrade which makes it less useful. At the moment, many ports only install default configuration files and the user has to copy it to the original location. But this always requires manual action and the user is not informed of updates in this configuration file. For this task, investigate how other package management systems handle this. Find the best way to support it in MacPorts and implement it. See also #2365. Classification: easy to medium task[[BR]] Programming languages: Tcl[[BR]] Potential mentor: raimue == Graphical user interface == #gui Extend and improve the existing [wiki:MacPortsGUI basic GUI] which has been implemented as part of GSoC 2008/2009. Pallet is at the moment functional to install/uninstall ports, but for example it cannot handle variants yet. Also, it is slow if you have many ports installed. Features to be implemented: * Variant selection * List Library, Compile, and Runtime Dependencies * Growl notifications * Queueing of operations * Fix the framework to work with the latest MacPorts version The GUI is driven by the MacPorts Framework, which acts as a wrapper of the MacPorts Tcl API to Objective-C. To enhance the GUI we are going to implement the respective features in the framework first. For more information on the roadmap, progress, and suggested features, visit the [wiki:MacPortsGUI GSoC2010 Improvement]. Resources: * [wiki:MacPortsGUI] * [wiki:MacPortsGUIFAQ] * [wiki:MacPortsFramework] * [wiki:MacPortsGUI GSoC2010 Improvement] * Pallet port Classification: medium task[[BR]] Programming languages: Objective-C and Tcl[[BR]] Mentors: juanger == MacPorts Web Application (MPWA) == #mpwa A very good start has been made on a Web Application for MacPorts to serve as a basis for easier user submission and maintenance of ports, not to mention monitoring of port build status, browsing of ports, etc. This work is known as MPWA and is written in Ruby on Rails. This task is to complete the work on MPWA so that it is usable for day to day usage by the MacPorts community. Work is needed on user credentials and authentication, port dependency integration, port submission and tracking, etc. This is a very exciting project and can help MacPorts scale to support a larger community. Read more about the [source:contrib/mpwa/doc MPWA design and model] and look at the [source:contrib/mpwa/ existing code]. Classification: moderate, with good follow through vision, and architecture required[[BR]] Programming languages: Ruby, perhaps a bit of Tcl[[BR]] Potential mentor: juanger