My Google Summer of Code proposal
My name is Tamás Demeter and I study at University of Szeged. I have 5 years of PHP, HTML and CSS experience. I want to have fun in the "boring" summer (no school, less programming :( ).
I am working as a professional Drupal site builder since the end of August (I worked in the video crew at Drupalcon Szeged). I would gladly take more participation in the community than now (right now I only hack together themes, and 10-line-long tiny custom modules with Drupal). Sometimes I submit patches, but that is all what I have done for Drupal.
I have 2 project ideas for this summer. I would gladly take one of it and write code during the whole summer.
WYSIWYG module creator
Overview
The basic idea is the following: most of the simple modules are using “components”, and connects inputs and outputs with variables. A component is a class, which has inputs, and based on that it outputs something. If we connects these components, then we have can make the business logic of the module. It will only handle basic tasks, but it will make a good job when someone have to make a very little module, which basically implements a hook, and calls 3-4 functions, and returns data.
Goal
By the end of the summer, I will make the user interface (my plan is SVG with jQuery), the interpreter and components to the core. My module will only ships components for the core, but it will supply a hook, so every module can easily register component classes.
Technical implementation plans
In the backend, I will define a very easy description script language with XML or YAML syntax, because later I can use the “script language” to generate a polyglot source file (it will be valid for my parser, and it will be a valid PHP code), which can be the “compiled” version. (but this is not for now)
From the HTML part, the frontend will be a simple textarea with the raw code. If the JavaScript is enabled, then this textarea hides, and the jquery builds the GUI with SVG and divs. To make things more clear, here is an example mockup for the UI:

There are 4 players in this game. The first is a string, which has no input, and there is only one output, which returns the string itself. The second player is the my_action_block, which is a defined block (blocks can be defined the same way). When called, this block takes one parameter, and returns an executable code (=function). The eq_comparable is a bit more tricky component. It takes 4 parameters: the first two are objects, which will be compared with the == operator. The third parameter is a function, which will be executed if the first two parameters are equals, the forth parameter is also a function, which will be executed if the first two parameters are not equals. The hook_form_alter component supplies 3 variables, and takes one. The evaluation starts with the hook_form_alter's return value, and it will recursively go through the graph, and returns the data (in this case it will be NULL, because the hook_form_alter is working with a reference variable).
Difficulity: Hard
Freemind Integration
Overview
I have started pimping up the freemind module for Drupal. Currently it exports and displays taxonomy vocabularies. The plan is to continue the development of this module, and implement some awesome features in the summer.
Goals
The first goal is the Views2 integration. With hierarchial terms, my module will be able to display nodes in a hierarchial format.
The second goal is vocabulary editor. It will be a freemind applet, and you can edit a hierarchial vocabulary in a freemind-style.
Implementation plans
The first part will be a views plugin. I already started writing a skeleton for that, but I haven't implemented anything yet.
The second will be a bit more tricky stuff. First, I have to write a freemind plugin to the applet, and a Drupal XML-RPC interface, to handle the requests.
Difficulity: Medium

Comments
Submit your idea NOW!
Hi there- if you want to participate in the SoC this summer you must submit this idea NOW!
According to the Summer of Code 2009 timeline the cutoff time for student submissions is 12pm (noon) PDT
It doesn't matter at this stage what shape your proposal is in, the most important thing for you to do is post your idea to the site, you can refine it, find a mentor, etc. later. If you have any questions or problems, please feel free to contact me. However, this is Google's rule, not Drupal's, so please don't ask for an extension, because we cannot give you one.
--
Alex Urevick-Ackelsberg
ZivTech: Illuminating Technology
Alex Urevick-Ackelsberg
ZivTech: Illuminating Technology
if you want to use SVG then
if you want to use SVG then maybe its a good idea to take a look at the Drawing API. It just got a new contributor who does the D6 version quite eagerly, it would be great to see a new SoC project build on an earlier one. Would you chose to build on it I would also be available to help out with the API of course.
no progress yet?
I am also interested ( but in a drupal 7 version).
features (combined with context) detects your changes to
-> content type
-> views
->blocks
and saves this to your module.
This does a part of what you want to do.