Stef wrote:
>Hi danny
>
>I would like to integrate your help system in pharo so we will have see how we 
>can proceed.
>...
>Yes this is good for my ego :)))

Hey, hey ... and it is not good for my ego if you keep saying it is danny's 
help system! Ever looked
at the project and code?  ;)


While I appreciate that Danny wants to contribute to the project I think his 
changes are not 
aligned with the original goals, design and ideas. 

First and most important: I want a simple model for the help system, which I 
first provided as  

          HelpTopic
            HelpBook
            HelpPage

after Danny's changes the baseline now looks like this:

          HelpTopic
            DynamicHelpPage
             ClassAPIHelp
             MethodListHelp
             PackageAPIHelpBook
            HelpBook
            HelpPage

I have several problems with these three introduced classes: 

  - They do not stand the "is a" inheritance test since a book 
(PackageAPIHelpBook) now "is a" page (DynamicHelpPage)
  - To make it even worse the class DynamicHelpPage adds three new instance 
variables (using blocks) totally ignoring the 
    ivars inherited from HelpTopic (leaving unused slots in the instances). 
  - the three new classes are more intended towards extracting/building the 
three types of dynamic help informations 
    (package, class, method), 
    So the behavior is more oriented towards "building" a book or page - but 
this is what the (yet unfished) builders 
    are used for. Therefore the classes are also misplaced.
  - there is no single test provided

Sorry Danny - but your changes look more like a quick way on getting a dynamic 
help "hacked in" than 
a clean design towards a stable Pharo help system!

However - I'm in the midst of refactoring all this and hope to provide an even 
simpler model than the one 
I originally used. Please be a little bit patient before we all jump into this 
"feature adding thing".


Stef/Danny wrote:
>>I would like to add it in a modular way. Does anybody has a nice idea?
>I am not sure what you mean by modular. It has a Metacello configuration.

Yes, it has a Metacello configuration which currently separates the test from 
the Core model/UI. 
My further work will provide an exchangable and more enhanced UI and no 
dependency on the Help system itself 
(at least for in image docu). I'm currently testing some ideas.

>my point is if you imagine that we want a small system with good packages 
>where do we put the helpSystem.

I intend to use pragmas to decouple this. So you could comment your code 
without having the help system 
installed. 

We have to make a clean distinction for the help system for:
  - in image documentation on classes/methods/packages/test cases that can also 
be accessed by the usual tools like browsers
  - big-picture like help (books, tutorials)

I know you are all eager to play with the first in the help system but I think 
the second has more value 
and need for a help system.


>A nice idea on squeak-dev was to add support for a simple structured markup 
>language like Markdown in class comments. We could use this to write "big-
>picture" documentation directly in a class comment.

Yes ... but a class comment is as the name implies just a comment for a class. 
You typically dont write a "big-picture"
documentation in a class comment. If you write a documentation on how to use 
Streams, Collections or Exception Handling 
... which is the class you would use for the comment? 

Dont get me wrong: I like well described classes but the Help system should 
mainly address the "big-picture" documentation 
for tools, frameworks, the system, ...

Adding other types like the dynamic API help are easy to integrate/generate.

Another goal is to use the HelpSystem to document a (commercial) software you 
have written in Pharo or reuse the content for a 
documentation appearing on a website.

Danny wrote:
>In a package you put in the most important class a comment that looks somehow 
>like this:

How do you measure the importance of a class ... ? ;)


Stef wrote:
>we can load HelpSystem and use it but since we want to have core
>we should get it in Pharo but still make sure that everything in Core is 
>adapted to give info
>to Pharo.

Two simple goals:
  - help is always optional and core could be without it
  - infos provided should not be dependent on the help system itself (for 
comments)

>In addition I would like to have a tag for promoting test to be list in the 
>help.
><documentation>
>
>Would be nice.

Yes, there are many things that would be nice like generating books/pages from 
tests or examples
or even dynamically build UML diagrams. We can have that in future. But first 
we need a simple and good
model we can built on and I'm working on it. Maybe I released too early ...

Thanks
T.



-- 
GMX DSL: Internet, Telefon und Entertainment für nur 19,99 EUR/mtl.!
http://portal.gmx.net/de/go/dsl02

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to