comments inline:
On 8/5/2011 12:36 AM, Cris Ewing wrote:
Thanks a long ton for the effort you've put in on this. I'm beginning to see
the outlines of a really useful system here. I'm especially interested to see
that you are thinking of this really as a complete replacement for the
PasteScript/ZopeSkel/templer ecosystem, as opposed to just a drop-in
replacement for the 'stuff that PasteScript does' (which is how I've been
conceiving it).
As I started down the path of conceptualizing what PasteScript does, I
realized that it does way too much and in focusing on just the
templating part I was left with gaping holes. What I have now is sort of
the second revision of the breakdown of the system, the little bit of
code in the repo right now represents the first pass, where everything
was more Interrogation-centric; the Interrogation being analogous in
that sense to the Template class in PasteScript. It was becoming
inflexible very quickly.
First, I really enjoy the thoroughness of your thought system here. You're
clearly thinking in a large-scale and systematic fashion, and I'm really happy
to see that. I tend to be a lot more slap-dash in my approach and I think your
baseline here will serve us well going forward. Much more so than anything
I've come up with so far.
Thanks, man! The conversations we've had in the past and the work that's
been done on ZopeSkel (and templer) since you've taken the reigns has
served as the foundation for this. We can't loose sight of how
significant the work you (the royal 'you') have done. We also have to
bear in mind that for the success of ZopeSkel, and IMHO, Plone itself,
we *needed* templer, and we needed it *yesterday*. What's happened is
freaking awesome and a huge accomplishment, and it's happened in a
pretty short period of time.
The 'structures' concept in templer solved this problem but
in a very 'band-aid on a arterrial wound' sort of way. :) Your concept of
runners bundling probes to gather information, and then selecting appropriate
skeletons to complete the process is much more elegant.
One thing I haven't done yet is look back over your spec for structures
and the current state of templer.core. As I'm working out the
implementation details for the Skeleton class, I plan to consult both,
and will likely hit you up for thoughts and guidance.
I had to write some C# .net stuff at the end of last year, and have also been
playing with iOS development in XCode.
!!! I was just going through a 'getting started with C in Xcode'
tutorial last night, with the intent of eventually giving Objective C
and Cocca a whack (we should talk more about this off-list sometime).
Both of these have been experiences that leave me loving Python more than
ever, but the one thing both XCode and VisualStudio have is a great set of
project templates to get you started. I'd love to see this system become
something like that. An Eclipse or WingIDE plugin allowing folks to use a
wizard to set up a project in speedy 1-2-3 fashion would be soooooo cool.
You know, I hadn't thought of it that way, but this is another use case
that helps frameworks succeed. I recall people saying that they use
ASP.Net to make web apps not because the code is easier to write, or the
application platform is especially great, but because you go
'click-click-click' and you've got a web app. I think that was the real
utility in AGX, and it's what made me not want to quit Plone when I was
first getting into it.
This also pushes the User Interface abstraction out of its comfort zone
(when I was thinking about it I was thinking console-web-desktop app). I
like this!!
I think this should be in the list of 'first release' implementations. I
think having a 'bridge to Eclipse' UI component ready to go, and
available pre-wired to the 'proof of concept' Runners (python egg,
buildout, crushinator project) would be a big win for Crushinator as a
toolkit.
How close are you to having reference implementations of a simple one of these
in place? Have you begun to move beyond the thought stage and into
implementation?
The requirements are done (I want to do some refinements, and input is
appreciated on that front). I've decided to take the approach of
creating rough plans for implementation of each requirement prior to
'principal coding'. I'm working on those plans right now. I think
another weekend or two of working on it alone would get it knocked out.
Then the coding part becomes pretty trivial. False assumptions can
become setbacks, and the implementation details will need to be updated
as I go along, but since all the hard stuff is already figured out (and
preferably peer-reviewed to help catch any design flaws or potential
problems), the coding is almost brain-dead. That's how I like to work:
head burried in code, no need for cogent thoughts ;)
Of course, that doesn't answer your questions directly...
So I'm definitely attending the Plone Conference in November. That's my
hard deadline to have all of my documentation and projecty bits in
order, at the very least.
Here's what I >need< to do by then:
- Finalize the requirements
- Pin down at least a wireframe implementation plan for each requirement.
- break it down to user stories, tickets, something that we can divvy
up easily in San Francisco
- get github project started, become part of the 'collective' company
(or group, whatever they call it)
Here's what I'd >like< to have done by then on top of that stuff:
- First-pass of the framework objects
- a reference implementation of the basic python egg + a User
Interface that works like paster create -t
Barring any major revelations that compel me to completely rethink the
approach, I can see the getting the implementation details done in the
next couple of weeks. From there it's code-o-rama, and like I said, the
hard descisions are made, so it's just a matter of sitting down and
writing and testing. Realistically, barring any health/family problems,
assuming I'm working on things entirely alone, I should be in reference
implementation mode sometime in the next 4 to 6 weeks.
Thanks,
JJ
--
Josh Johnson
Applications Analyst
Translational Pathology Laboratory
Lineberger Comprehensive Cancer Center
University of North Carolina at Chapel Hill
_______________________________________________
ZopeSkel mailing list
zopes...@lists.plone.org
https://lists.plone.org/mailman/listinfo/plone-zopeskel