Extract the non-seaside-dependent part

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Extract the non-seaside-dependent part

Damien Cassou
Hi guys,

Stéphane and I would like to extract the non-seaside-dependent part of
Pier (namely the document model and exporters) into their own project
(potential codename 'Pillar'). This would allow us to:

- have smaller images for our use of Pier syntax to write books (with
statuc HTML, LaTeX and ePub generation)

- maybe include Pillar in Pharo itself so we can use it to write
comments and have them rendered in the code browser (something like
http://forum.world.st/attachment/4686978/0/Screen%20Shot%202013-05-13%20at%201.09.40%20AM.png)

Do you have any opinion or piece of advice?

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Philippe Marschall
On Fri, Oct 4, 2013 at 9:33 AM, Damien Cassou <[hidden email]> wrote:

> Hi guys,
>
> Stéphane and I would like to extract the non-seaside-dependent part of
> Pier (namely the document model and exporters) into their own project
> (potential codename 'Pillar'). This would allow us to:
>
> - have smaller images for our use of Pier syntax to write books (with
> statuc HTML, LaTeX and ePub generation)
>
> - maybe include Pillar in Pharo itself so we can use it to write
> comments and have them rendered in the code browser (something like
> http://forum.world.st/attachment/4686978/0/Screen%20Shot%202013-05-13%20at%201.09.40%20AM.png)
>
> Do you have any opinion or piece of advice?

Which parts of Pier-Model depend on Seaside? Is it solely the renderer
classes in Magritte descrptions?

Cheers
Philippe

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
On Sun, Oct 6, 2013 at 11:35 AM, Philippe Marschall
<[hidden email]> wrote:
> Which parts of Pier-Model depend on Seaside? Is it solely the renderer
> classes in Magritte descrptions?


I may not have been clear. I want to separate everything that does not
depend on Seaside into its own project. This includes the parser, and
the document items.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Philippe Marschall
On Sun, Oct 6, 2013 at 1:04 PM, Damien Cassou <[hidden email]> wrote:
> On Sun, Oct 6, 2013 at 11:35 AM, Philippe Marschall
> <[hidden email]> wrote:
>> Which parts of Pier-Model depend on Seaside? Is it solely the renderer
>> classes in Magritte descrptions?
>
>
> I may not have been clear. I want to separate everything that does not
> depend on Seaside into its own project. This includes the parser, and
> the document items.

I thought that Pier-Model does not depend on Seaside, the Seaside
dependent parts should be in Pier-Seaside. The only reason why
Pier-Model would depend on Seaside is renderer classes specified in
Magritte descriptions.

Cheers
Philippe
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
On Sun, Oct 6, 2013 at 1:50 PM, Philippe Marschall
<[hidden email]> wrote:
> I thought that Pier-Model does not depend on Seaside, the Seaside
> dependent parts should be in Pier-Seaside. The only reason why
> Pier-Model would depend on Seaside is renderer classes specified in
> Magritte descriptions.


so, what about extracting the Pier-Model package into its own project
with its own name?

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Philippe Marschall
On Sun, Oct 6, 2013 at 2:07 PM, Damien Cassou <[hidden email]> wrote:

> On Sun, Oct 6, 2013 at 1:50 PM, Philippe Marschall
> <[hidden email]> wrote:
>> I thought that Pier-Model does not depend on Seaside, the Seaside
>> dependent parts should be in Pier-Seaside. The only reason why
>> Pier-Model would depend on Seaside is renderer classes specified in
>> Magritte descriptions.
>
>
> so, what about extracting the Pier-Model package into its own project
> with its own name?

Pier-Model is its own package already.

Cheers
Philippe
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
On Sun, Oct 6, 2013 at 3:00 PM, Philippe Marschall
<[hidden email]> wrote:
> Pier-Model is its own package already.


I'm talking about a dedicated *project* (with its own Configuration).
I want the wiki separated from the CMS.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

DiegoLont
If you take the configuration of Pier3 and load it by:

ConfigurationOfPier3 project stable load: 'Pier-Model'

it loads Pier-Model, Pier-Pharo-Model and Magritte Core. This means there is no Seaside loaded then. So I think you do not need a separate configuration and / or project.

On Oct 7, 2013, at 9:19 AM, Damien Cassou wrote:

> On Sun, Oct 6, 2013 at 3:00 PM, Philippe Marschall
> <[hidden email]> wrote:
>> Pier-Model is its own package already.
>
>
> I'm talking about a dedicated *project* (with its own Configuration).
> I want the wiki separated from the CMS.
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
On Mon, Oct 7, 2013 at 10:15 AM, Diego Lont <[hidden email]> wrote:
> If you take the configuration of Pier3 and load it by:
>
> ConfigurationOfPier3 project stable load: 'Pier-Model'
>
> it loads Pier-Model, Pier-Pharo-Model and Magritte Core. This means there is no Seaside loaded then. So I think you do not need a separate configuration and / or project.


I understand (and understood) what you are both saying: technically, I
don't need a separate project. That's for sure. But technically, Pier,
Magritte and Seaside don't have to be separate projects as well,
right?

I think it would make sense to separate the wiki (that can be used in
many projects) from the CMS. Not because there is a technical problem
having both in the same place. But because developing, testing, and
depending on the wiki will be simplified. If you think about
communication, a concurrent to Markdown cannot be "Pier", because Pier
is much larger. However, "Pillar" is a concurrent of Markdown.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Stephan Eggermont-3
In reply to this post by Damien Cassou
Hi Damien,

>From a community point of view, this does not seem to be defendable.
I'd strongly hope that changes in the core of pier (support for multiple
languages?) would be propagated to the presentation layer.

Stephan
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

DiegoLont
In reply to this post by Damien Cassou

On Oct 7, 2013, at 11:30 AM, Damien Cassou wrote:

> On Mon, Oct 7, 2013 at 10:15 AM, Diego Lont <[hidden email]> wrote:
>> If you take the configuration of Pier3 and load it by:
>>
>> ConfigurationOfPier3 project stable load: 'Pier-Model'
>>
>> it loads Pier-Model, Pier-Pharo-Model and Magritte Core. This means there is no Seaside loaded then. So I think you do not need a separate configuration and / or project.
>
>
> I understand (and understood) what you are both saying: technically, I
> don't need a separate project. That's for sure. But technically, Pier,
> Magritte and Seaside don't have to be separate projects as well,
> right?
>
> I think it would make sense to separate the wiki (that can be used in
> many projects) from the CMS. Not because there is a technical problem
> having both in the same place. But because developing, testing, and
> depending on the wiki will be simplified. If you think about
> communication, a concurrent to Markdown cannot be "Pier", because Pier
> is much larger. However, "Pillar" is a concurrent of Markdown.
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki


Damien,

I do not understand your mail.

Pier-Model depends on Magritte Core. And Pier-Seaisde depends on Magritte Seaside. And other display-layers then Pier-Seaside are possible as well and when they are stable enough we should add them to Pier, and not the other way around. At least, that is what I think. But I have the feeling this is not about the display of Pier, since you name Markdown.

But maybe you want to isolate the part that Pier uses to parse its CMS? Currently Pier-Model has a PRDocument parser integrated into Pier-Model-Document itself. It might make sense to extra this part, so you can exchange this for Markdown and also the other way around.

Cheers,
Diego
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
In reply to this post by Stephan Eggermont-3
Hi Stephan,

On Tue, Oct 8, 2013 at 3:08 PM, Stephan Eggermont <[hidden email]> wrote:
> >From a community point of view, this does not seem to be defendable.
> I'd strongly hope that changes in the core of pier (support for multiple
> languages?) would be propagated to the presentation layer.

this won't be impacted at all. Pillar will be a dependency of
Pier-Seaside, just like Pier-Model is a dependency of Pier-Seaside
now.


--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
In reply to this post by DiegoLont
On Tue, Oct 8, 2013 at 3:29 PM, Diego Lont <[hidden email]> wrote:
> Pier-Model depends on Magritte Core.


only a subset of Pier-Model depends on Magritte-Core. Look at what I
put on the Pillar project:

Gofer new smalltalkhubUser: 'Pier' project: 'Pillar'; configurationOf:
'Pillar'; load.
(ConfigurationOfPillar project version: #bleedingEdge) load

(note how I put Pillar in the Pier team because I think this is were
it belongs right now. I'm not trying to steal anything :-)).

Pillar contains the document model of Pier (PRDocumentItem subclasses,
the parser, the abstract visitor, and the text and wiki writers).
These parts do not depend on anything (neither Seaside, nor Magritte).
Pillar has 2 additional packages to export static HTML (what is
currently done in Pier-Book) and LaTeX. The HTML exporter depends on
Seaside-Core (but just for the brushes which I plan to rewrite for
Pillar because I don't need most of the things in Seaside-Core. Pillar
can then be used to write books and class documentation just like
Markdown and other wiki syntaxes.

Pillar does not contain any CMS-related feature. These features are
kept in Pier: the structures (PRPage, PRStructure,...) the context
handling, most of the visitors that update the document model and
query it... Pillar does not contain any view (so, no Pier-Seaside or
Pier-Morphic that are parts of the CMS).

To summarize:

- Pillar is a syntax, its parser, a document model, and exporters

- Pier is a CMS that uses the Pillar syntax and document model to
describe its content, but that could use any other wiki syntax
provided there is a parser which creates a pillar document model for
it.

> And Pier-Seaisde depends on Magritte Seaside. And other display-layers then Pier-Seaside are possible as well and when they are stable enough we should add them to Pier, and not the other way around. At least, that is what I think. But I have the feeling this is not about the display of Pier, since you name Markdown.

No, I'm not talking about the display of Pier, you are right. Pier
keeps its views and I'm not interested in them because I want to write
static books (in HTML, LaTeX, markdown, ePub...).


> But maybe you want to isolate the part that Pier uses to parse its CMS?


yes!


> Currently Pier-Model has a PRDocument parser integrated into Pier-Model-Document itself. It might make sense to extra this part, so you can exchange this for Markdown and also the other way around.


we agree :-)

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

DiegoLont
Hi Damien,

I agree it makes sense to extract something like Pier-Pillar, the way you describe this.

I do not agree to make this a separate project, as this is only one package. But that is my thought.

Cheers,
Diego

On Oct 9, 2013, at 10:06 AM, Damien Cassou wrote:

> On Tue, Oct 8, 2013 at 3:29 PM, Diego Lont <[hidden email]> wrote:
>> Pier-Model depends on Magritte Core.
>
>
> only a subset of Pier-Model depends on Magritte-Core. Look at what I
> put on the Pillar project:
>
> Gofer new smalltalkhubUser: 'Pier' project: 'Pillar'; configurationOf:
> 'Pillar'; load.
> (ConfigurationOfPillar project version: #bleedingEdge) load
>
> (note how I put Pillar in the Pier team because I think this is were
> it belongs right now. I'm not trying to steal anything :-)).
>
> Pillar contains the document model of Pier (PRDocumentItem subclasses,
> the parser, the abstract visitor, and the text and wiki writers).
> These parts do not depend on anything (neither Seaside, nor Magritte).
> Pillar has 2 additional packages to export static HTML (what is
> currently done in Pier-Book) and LaTeX. The HTML exporter depends on
> Seaside-Core (but just for the brushes which I plan to rewrite for
> Pillar because I don't need most of the things in Seaside-Core. Pillar
> can then be used to write books and class documentation just like
> Markdown and other wiki syntaxes.
>
> Pillar does not contain any CMS-related feature. These features are
> kept in Pier: the structures (PRPage, PRStructure,...) the context
> handling, most of the visitors that update the document model and
> query it... Pillar does not contain any view (so, no Pier-Seaside or
> Pier-Morphic that are parts of the CMS).
>
> To summarize:
>
> - Pillar is a syntax, its parser, a document model, and exporters
>
> - Pier is a CMS that uses the Pillar syntax and document model to
> describe its content, but that could use any other wiki syntax
> provided there is a parser which creates a pillar document model for
> it.
>
>> And Pier-Seaisde depends on Magritte Seaside. And other display-layers then Pier-Seaside are possible as well and when they are stable enough we should add them to Pier, and not the other way around. At least, that is what I think. But I have the feeling this is not about the display of Pier, since you name Markdown.
>
> No, I'm not talking about the display of Pier, you are right. Pier
> keeps its views and I'm not interested in them because I want to write
> static books (in HTML, LaTeX, markdown, ePub...).
>
>
>> But maybe you want to isolate the part that Pier uses to parse its CMS?
>
>
> yes!
>
>
>> Currently Pier-Model has a PRDocument parser integrated into Pier-Model-Document itself. It might make sense to extra this part, so you can exchange this for Markdown and also the other way around.
>
>
> we agree :-)
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
>
> _______________________________________________
> Magritte, Pier and Related Tools ...
> https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Extract the non-seaside-dependent part

Damien Cassou
On Wed, Oct 9, 2013 at 11:06 AM, Diego Lont <[hidden email]> wrote:
> I do not agree to make this a separate project, as this is only one package. But that is my thought.


Look at the source code of Pillar, it already contains several
packages. And I think it is big enough to have its own configuration.
But if everyone else agree with you, I will do what you propose.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki