| 1 | = Summer of Code 2010 = |
| 2 | |
| 3 | |
| 4 | This page is dedicated to the projects accepted into Google SoC 2010, here's a list of accepted projects: |
| 5 | |
| 6 | || '''Student''' || '''Student email''' || '''Project''' || '''Mentor''' || '''Mentor email ''' |
| 7 | || Andrea D'Amore || and.damore || [wiki:SummerOfCode2010#configfiles Configuration files handling] || [wiki:raimue Rainer Mueller] || raimue || |
| 8 | || [wiki:tzikis Vasileios Georgitzikis] || tzikis || [wiki:SummerOfCode2010#gui MacPorts GUI Improvement] || [wiki:juanger Juan Germán Castañeda Echevarria] || juanger || |
| 9 | || Joe Rozner || || [wiki:SummerOfCode2010#mpwa MacPorts Web Application] || [wiki:wms William Siegrist] || wms || |
| 10 | |
| 11 | |
| 12 | == Configuration files handling == #configfiles |
| 13 | |
| 14 | 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. |
| 15 | |
| 16 | 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. |
| 17 | |
| 18 | Classification: easy to medium task[[BR]] |
| 19 | Programming languages: Tcl[[BR]] |
| 20 | Potential mentor: raimue |
| 21 | |
| 22 | == Graphical user interface == #gui |
| 23 | |
| 24 | 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. |
| 25 | |
| 26 | Some feature proposals: |
| 27 | * Variant selection |
| 28 | * Interactive dependency tree/graph |
| 29 | |
| 30 | The GUI is driven by the MacPorts Framework, which acts as an wrapper of the MacPorts Tcl API to Objective-C. To enhance the GUI you will probably have to implement the respective features in the framework first. |
| 31 | |
| 32 | It would be your task to identify possible improvements for the GUI. This can either be new features or (speed) improvements to existing ones. |
| 33 | |
| 34 | Resources: |
| 35 | * [wiki:MacPortsGUI] |
| 36 | * [wiki:MacPortsGUIFAQ] |
| 37 | * [wiki:MacPortsFramework] |
| 38 | * Pallet port |
| 39 | |
| 40 | Classification: medium task[[BR]] |
| 41 | Programming languages: Objective-C and Tcl[[BR]] |
| 42 | Potential mentors: juanger |
| 43 | |
| 44 | == MacPorts Web Application (MPWA) == #mpwa |
| 45 | |
| 46 | 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. |
| 47 | |
| 48 | Read more about the [source:contrib/mpwa/doc MPWA design and model] and look at the [source:contrib/mpwa/ existing code]. |
| 49 | |
| 50 | Classification: moderate, with good follow through vision, and architecture required[[BR]] |
| 51 | Programming languages: Ruby, perhaps a bit of Tcl[[BR]] |
| 52 | Potential mentor: juanger |