[Grok-dev] Re: SVN: Sandbox/ulif/grokintrospector/ Create a sandbox
for Grok-related introspector stuff.
Philipp von Weitershausen
philipp at weitershausen.de
Fri Jun 20 14:37:00 EDT 2008
Martijn Faassen wrote:
>> Because I expect some heavy problems during the switch from grok.admin
>> to a separate grokadmin (or megrok.adminui or whatever) package, I
>> *started* it as a real grok.admin extension, to make sure the
>> functionality is available, although there should be major problems with
>> the outfactoring. grok.admin is therefore not the place not the place,
>> the introspector is supposed to be in future.
>
> I'm not sure whether doing this on two tracks is the best idea. Why not
> focus on getting the separate grokadmin to work first and then starting
> on the grok introspector? This avoids um.. complicated merges. :)
Right. It also helps with code reviews (complicated merges and code
reviews don't go together very well).
>> This way I can track the changes needed to implement introspector
>> functionality and the changes needed to factor out grok.admin from grok
>> better. But that does not seem to be a reasonable thing for others, so I
>> will put that all together tonight and see, how I can differ that
>> changes later on.
>
> If it's just prototyping I think it's a reasonable approach.
>
> I do think that an independent grokadmin is hopefully not *that* far
> away, and I was assuming you were going to get that working and then
> would start with the introspector. If you introduce a different skin or
> something, it might even run in parallel with the current built-in admin
> UI so we have less to coordinate and can take out the built-in grok
> admin when we're ready.
>
>> Anyway, I will make it all grok branches, if that is better traceable by
>> others.
>
> Yes, I think sandbox copies of existing projects should be discouraged
> in favor of branches (with externals pointing to them). They're
> technically the same thing, but it's a bit more clear to the project
> what's going on if you do it this way.
Right. I don't think anybody has to be afraid of having his or her work
visible to others. I know I can be a bit harsh when serving as the
"checkin police", but it's all intended to ensure the quality of the
software.
Ben Collins-Sussman (one of the original subversion hackers and head of
the Google Open Source department) recently wrote a very nice article
about why it's important to share your work in communities:
http://blog.red-bean.com/sussman/?p=96.
>>> I think we should be focusing on simple light-weight packages that
>>> are developed independently of other packages (such as Grok) as much
>>> as possible.
>>>
>>> Note that Grok extensions tend to be called 'megrok.*'. So I'd
>>> suggest megrok.admin and megrok.introspector for the package names.
>>
>> megrok packages, as far as I've seen, are extensions of grok
>> functionality. I got the impression, that they give _developers_ the
>> possibility to do new things. The admin UI will instead become a
>> standalone application (depending on grok, but not really 'extending'
>> it) and giving _end users_ the possibility to do new things. Therefore I
>> thought it would be better placed in `grokapps` or similar places than
>> in megrok. I might be wrong on this as well and will change also that
>> namespacing.
>
> There is a difference, indeed. The admin UI itself (without
> introspector) is something a non-developer might want to install,
> possibly, though I'd say it's still mostly a development tool. The
> introspector is definitely a development tool. So in a way it does give
> new features to Grok, though it's not a traditional extension. I do
> think there is a different however.
>
> We could introduce a 'grokui' namespace for what you're doing. A future
> automatic always-present CRUD UI along the lines of the Django admin UI
> could also be in this namespace (though I hope we'll also see a CRUD
> development framework that allows people to develop custom CRUD UIs.
> Different discussion).
I'm not too keen on introducing yet another namespace. We already have
the top-level package 'grok', and the namespace packages 'megrok' and
'grokcore'.
While there might be a superficial difference between the admin
interface and, say, RDB integration, it's hard to draw the line where
exactly the "coreness" of a package ends and begins. For instance, when
deploying a Grok app, I might not even need or want the admin interface
installed. After all, it's yet another application written in Grok
that's installed next to my own application. Same goes for the CRUD
interface.
I personally think it's absolutely fine to call these things
megrok.admin
megrok.autocrud
megrok.introspector
as they're actual extensions working *on top* of the original Grok
framework. Whether or not they're enabled in a default grokproject
buildout is another question.
Or to rephrase, I'd rather broaden the scope of the 'megrok' namespace
(it's just a namespace, after all) rather than introduce yet another
namespace.
More information about the Grok-dev
mailing list