Hi Katie:

I think Bryan's example is pretty close to a good example of adding an Item to the detail view -- and quite similar to what I hoped to do for that case. I think the only real issue here that remains is that I'd like to introduce 3 key CPIA ideas, a Kind, an instance and a tree of blocks in a context that is simpler than this detail view case -- and hoped to do it in fewer lines of code. I don't have to do that in the detail view and could do it in a different place, e.g. a developer only "learning CPIA" skin. Neither Bryan nor Alec think that's a good idea -- and if I understand them correctly -- they think we shouldn't introduce any CPIA concepts except as they relate to a particular part of Chandler. I thought understanding basic CPIA concepts first would make understanding them in Chandler easier.

Jon

Katie Capps Parlante wrote:

Arguments about proper uses of the annotation mechanism aside (more later), I agree with Bryan that his example is reasonably simple. It is arguably simpler than John's example because it uses the existing HeadlineArea, instead of defining a new one. It also has the advantage of using an api consistent with the other existing parcels.

Perhaps an MP3 isn't a great hello world example, as it doesn't add any additional visible attributes with simple types. Or perhaps the button counts, and use of the "about" attribute.

"DetailTrunkSubtree" is a mouthful, but of course we've already discussed that (Bug 4281).

Cheers,
Katie

Bryan Stearns wrote:

But this is the central point of my objection, John: I believe this is a bad example, because it doesn't help the developer learn a couple of important concepts that they're sure to need to play in the real Chandler world, and *aren't hard to explain*.

John Anderson wrote:

I think your example is similar to what I was proposing for my future example explaining how to add an Item to the existhing detail view. I think it introduces more than basic CPIA concepts not appropriate for a trivial hello world example -- which I had hoped would only introduce a new Kind, instance and a trivial tree of blocks viewer for it:

#A new Kind
class MP3(Note):
   audio = schema.One (schema.Lob)

#An instance
   song = MP3.update(parcel, "French Rock",
                     about = "French Rock")
#A viewer
blocks.Trunk.ViewableKind(MP3.getKind(repositoryView)).detailView = view

#blocks making up the view:
   view = blocks.BoxContainer.update( .... )
attributeEditorBlock = blocks.ControlBlocks.AEBlock.update( .... )

   button = blocks.ControlBlocks.Button.update( .... )



Bryan Stearns wrote:

I've attached a simpler version of the sample to the bug - no other changes required, and it shows the normal way to add a detail view.

https://bugzilla.osafoundation.org/attachment.cgi?id=1259

...Bryan

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev





_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to