Обсуждение: Project proposal for Google Summer of Code
Hello, I have a project proposal for Google Summer of Code that I want to discuss. As the work is already begun, I want to show a demonstration of what it can do. It is based on my last year work (pgUnitTest): a scripting language to insert random data in a database and test expected results. Basically the goal of the project is to refactor pgUnitTest scripting language to make it easy to use (mix of C and SQL) and integrate this work into pgAdmin3 (I mean provide a patch to integrate it to pgAdmin3) so as to make it more visible to the community. Here is the demonstration: http://pgunittest.projects.postgresql.org/pgUnitTest.swf What do you think about that? Best regards, Mickael
On Wed, Mar 26, 2008 at 10:51 AM, Mickael Deloison <mdeloison@gmail.com> wrote: > Hello, > > I have a project proposal for Google Summer of Code that I want to > discuss. As the work is already begun, I want to show a demonstration > of what it can do. > > It is based on my last year work (pgUnitTest): a scripting language to > insert random data in a database and test expected results. > > Basically the goal of the project is to refactor pgUnitTest scripting > language to make it easy to use (mix of C and SQL) and integrate this > work into pgAdmin3 (I mean provide a patch to integrate it to > pgAdmin3) so as to make it more visible to the community. > > Here is the demonstration: > http://pgunittest.projects.postgresql.org/pgUnitTest.swf > > What do you think about that? Hi Mickael, A couple of things spring to mind. I assume the scripts are all parsed and executed on the client, rather than the server? If so, that seems pretty cool, but perhaps would be more appropriate in pgAdmin as a generic tool that happens to be useful for unit testing amongst other things. The other thought I had was that the demo looks either extremely well mocked up, or you've done a large percentage of the work already. Is that the case? -- Dave Page EnterpriseDB UK Ltd: http://www.enterprisedb.com PostgreSQL UK 2008 Conference: http://www.postgresql.org.uk
2008/3/26, Dave Page <dpage@pgadmin.org>: > Hi Mickael, Hi Dave, > > A couple of things spring to mind. I assume the scripts are all parsed > and executed on the client, rather than the server? If so, that seems > pretty cool, but perhaps would be more appropriate in pgAdmin as a > generic tool that happens to be useful for unit testing amongst other > things. The script is indeed executed on the client side. It is actually a Flex/Bison reentrant parser (no conflict with the rest of pgAdmin). However I do not understand exactly what you mean by "generic tool". > The other thought I had was that the demo looks either extremely well > mocked up, or you've done a large percentage of the work already. Is > that the case? You are right: a large percentage of the work has been done already and the demo is not mocked up at all. The global architecture of the application can be considered as "done". Some code is not very clean because I had to do it quickly for the demonstration (a lot of copies and pastes) and not everything is implemented (there is a TODO list). But I achieved my two goals with this demo: 1) Convince me it is possible (I was not sure at first) 2) Show the community that this is a concrete and feasible project So, the reasons I want to suggest it for Google Summer of Code are: - I need to be mentored for pgAdmin integration, Visual C++ Express integration (like it is in the demo) works but it is not complete at all (syntax highlighting, stop the parser if someone clicks on the "Cancel" button, and a lot of things in the frmQuery form...) - I need to be mentored for documentation, code refactoring and conventions - I need to be introduced to the community through mailing-lists and websites to talk about the project, since this is the real thing I wanted to improve last year (like I said in my final evaluation) Of course, a first part of the project would consist in finishing what I started (the TODO list I talked about above). And the second part would be the integration. Mickael
On Wed, Mar 26, 2008 at 2:53 PM, Mickael Deloison <mdeloison@gmail.com> wrote: > The script is indeed executed on the client side. It is actually a > Flex/Bison reentrant parser (no conflict with the rest of pgAdmin). Cool. > However I do not understand exactly what you mean by "generic tool". I mean a tool for general tasks, not just unit tests. It makes more sense to pitch the project as a new feature to allow scripting within pgAdmin - for example, you could use it to setup a table broken into 100 partitions. That doesn't mean you have to forget the unit tests, just that they become another, albeit important, capability of the feature. > > The other thought I had was that the demo looks either extremely well > > mocked up, or you've done a large percentage of the work already. Is > > that the case? > > You are right: a large percentage of the work has been done already > and the demo is not mocked up at all. The global architecture of the > application can be considered as "done". Some code is not very clean > because I had to do it quickly for the demonstration (a lot of copies > and pastes) and not everything is implemented (there is a TODO list). > But I achieved my two goals with this demo: > 1) Convince me it is possible (I was not sure at first) > 2) Show the community that this is a concrete and feasible project OK. > So, the reasons I want to suggest it for Google Summer of Code are: > - I need to be mentored for pgAdmin integration, Visual C++ Express > integration (like it is in the demo) works but it is not complete at > all (syntax highlighting, stop the parser if someone clicks on the > "Cancel" button, and a lot of things in the frmQuery form...) > - I need to be mentored for documentation, code refactoring and conventions > - I need to be introduced to the community through mailing-lists and > websites to talk about the project, since this is the real thing I > wanted to improve last year (like I said in my final evaluation) > Of course, a first part of the project would consist in finishing what > I started (the TODO list I talked about above). And the second part > would be the integration. OK, sounds good! I look forward to reading your proposal. Please be sure to outline exactly what does and does not need to be worked on. -- Dave Page EnterpriseDB UK Ltd: http://www.enterprisedb.com PostgreSQL UK 2008 Conference: http://www.postgresql.org.uk
2008/3/26, Dave Page <dpage@pgadmin.org>: > I mean a tool for general tasks, not just unit tests. It makes more > sense to pitch the project as a new feature to allow scripting within > pgAdmin - for example, you could use it to setup a table broken into > 100 partitions. That doesn't mean you have to forget the unit tests, > just that they become another, albeit important, capability of the > feature. So you say maybe "pgUnitTest" is not the best name and I agree. Actually the scripting language I created is not only for testing. The basic thing is that you can use control structures (if else, while, for) between you queries to do whatever you want to without requiring any specific language like Java, C or any library. And unit testing is more about code than queries. I am going to find and suggest a better name. > OK, sounds good! I look forward to reading your proposal. Please be > sure to outline exactly what does and does not need to be worked on. This email was just to present the idea. Of course, in the proposal, I will write a precise timeline with what needs to be done exactly.