[ANN] Epicea, Ombu and Hiedra packages have new "official" repository

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

[ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias
Hello,

The new "official" repository for Epicea*, Ombu* and Hiedra* packages
in Pharo >= 7 is just Pharo's github
(https://github.com/pharo-project/pharo/).

This will ease to fix a bug or add a feature on those packages. At
least, will be easy to me...

BEFORE:
1. Developer creates PR in github.com/pharo-project/pharo/.
2. Integrator merges PR.
3. I merge "upstream" (smalltalkhub/Epicea) usually several of those PRs.
4. I create a new version in ConfigurationOfEpicea (in smalltalkhub/Epicea).
5. I create a PR in github.com/pharo-project/pharo/ to integrate the
new version in smalltalkhub.

NOW:
Only steps 1 and 2. Yeah!

BTW, I did deprecate:
- Smalltalkhub repo (http://smalltalkhub.com/#!/~MartinDias/Epicea)
for pharo > 6.1 (updated its readme)
- Jenkins job (https://ci.inria.fr/pharo-contribution/job/Epicea/)

Reference to the discussion: https://github.com/pharo-project/pharo/pull/1366

Cheers,
Martín

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

CyrilFerlicot
On 05/06/2018 17:16, Martin Dias wrote:

> Hello,
>
> The new "official" repository for Epicea*, Ombu* and Hiedra* packages
> in Pharo >= 7 is just Pharo's github
> (https://github.com/pharo-project/pharo/).
>
> This will ease to fix a bug or add a feature on those packages. At
> least, will be easy to me...
>
> BEFORE:
> 1. Developer creates PR in github.com/pharo-project/pharo/.
> 2. Integrator merges PR.
> 3. I merge "upstream" (smalltalkhub/Epicea) usually several of those PRs.
> 4. I create a new version in ConfigurationOfEpicea (in smalltalkhub/Epicea).
> 5. I create a PR in github.com/pharo-project/pharo/ to integrate the
> new version in smalltalkhub.
>
> NOW:
> Only steps 1 and 2. Yeah!
>
> BTW, I did deprecate:
> - Smalltalkhub repo (http://smalltalkhub.com/#!/~MartinDias/Epicea)
> for pharo > 6.1 (updated its readme)
> - Jenkins job (https://ci.inria.fr/pharo-contribution/job/Epicea/)
>
> Reference to the discussion: https://github.com/pharo-project/pharo/pull/1366
>

Hello Martin,

Thank you for the clarification.

Can we start to change things in Epicea (like renaming tests packages to
follow the convention) or do you still need to sync the Pharo version?

Have a nice day.

> Cheers,
> Martín
>


--
Cyril Ferlicot
https://ferlicot.fr

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias
On Tue, Jun 5, 2018 at 12:35 PM Cyril Ferlicot D.
<[hidden email]> wrote:

> >
>
> Hello Martin,
>
> Thank you for the clarification.
>
> Can we start to change things in Epicea (like renaming tests packages to
> follow the convention) or do you still need to sync the Pharo version?
>
> Have a nice day.
>

Yes, you can start.

Could this be reopen?
https://github.com/pharo-project/pharo/pull/377
but it was only for Ombu and don't know if it's outdated... I mean, if
any other change to the involved packages was merged since the PR was
created.

Martín

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

hernanmd
In reply to this post by tinchodias
Hello Martin,

2018-06-05 12:16 GMT-03:00 Martin Dias <[hidden email]>:
> Hello,
>
> The new "official" repository for Epicea*, Ombu* and Hiedra* packages
> in Pharo >= 7 is just Pharo's github
> (https://github.com/pharo-project/pharo/).
>

What are Ombu and Hiedra?

Couldn't find any description in the link.

Cheers,

Hernán

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
<[hidden email]> wrote:
> What are Ombu and Hiedra?

Hello Hernán, this is how I described them:

Ombu:
"Epicea has a small subproject, named Ombu, which provides simple
persistence. By default, Ombu uses STON to write the events when they
are announced in the system."
------- from http://smalltalkhub.com/#!/~MartinDias/Epicea

Hiedra:
"It is a small Pharo project to visually connect items in a
history-like graph. It uses Athens, and provides support for Morphic
and Spec."
------- from https://github.com/tinchodias/hiedra which is a repo that
I might close or should say in readme that it's not the official repo

But not sure if I described correctly... in concrete, Hiedra is what's
used from Epicea Spec UI in a TableModel to draw the links between
epicea logs in the left panel.

Cheers, Martín

>
> Couldn't find any description in the link.
>
> Cheers,
>
> Hernán
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

Marcus Denker-4
In reply to this post by tinchodias


> On 5 Jun 2018, at 18:55, Martin Dias <[hidden email]> wrote:
>
> On Tue, Jun 5, 2018 at 12:35 PM Cyril Ferlicot D.
> <[hidden email]> wrote:
>>>
>>
>> Hello Martin,
>>
>> Thank you for the clarification.
>>
>> Can we start to change things in Epicea (like renaming tests packages to
>> follow the convention) or do you still need to sync the Pharo version?
>>
>> Have a nice day.
>>
>
> Yes, you can start.
>
> Could this be reopen?
> https://github.com/pharo-project/pharo/pull/377
> but it was only for Ombu and don't know if it's outdated..

I would not re-open. This is very old. Even from before we moved to the new GIT format.
Which means it can not be merged.

        Marcus
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

Marcus Denker-4
In reply to this post by tinchodias


> On 5 Jun 2018, at 20:49, Martin Dias <[hidden email]> wrote:
>
> On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
> <[hidden email]> wrote:
>> What are Ombu and Hiedra?
>
> Hello Hernán, this is how I described them:
>
> Ombu:
> "Epicea has a small subproject, named Ombu, which provides simple
> persistence. By default, Ombu uses STON to write the events when they
> are announced in the system."
> ------- from http://smalltalkhub.com/#!/~MartinDias/Epicea
>
> Hiedra:
> "It is a small Pharo project to visually connect items in a
> history-like graph. It uses Athens, and provides support for Morphic
> and Spec."
> ------- from https://github.com/tinchodias/hiedra which is a repo that
> I might close or should say in readme that it's not the official repo
>
> But not sure if I described correctly... in concrete, Hiedra is what's
> used from Epicea Spec UI in a TableModel to draw the links between
> epicea logs in the left panel.
>

We should add exactly those description as package level comments.
        https://pharo.fogbugz.com/f/cases/22079/package-comments-for-Ombu-and-Hiedra

What I do not like is that the package name gives no clue what this is about…
Not even the “neighbourhood”. E.g. it does not even get clear that Ombu and Epicea are related…
But we have that problem with many packages.

        Marcus



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias


On Wed, Jun 6, 2018 at 4:27 AM Marcus Denker <[hidden email]> wrote:


> On 5 Jun 2018, at 20:49, Martin Dias <[hidden email]> wrote:
>
> On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
> <[hidden email]> wrote:
>> What are Ombu and Hiedra?
>
> Hello Hernán, this is how I described them:
>
> Ombu:
> "Epicea has a small subproject, named Ombu, which provides simple
> persistence. By default, Ombu uses STON to write the events when they
> are announced in the system."
> ------- from http://smalltalkhub.com/#!/~MartinDias/Epicea
>
> Hiedra:
> "It is a small Pharo project to visually connect items in a
> history-like graph. It uses Athens, and provides support for Morphic
> and Spec."
> ------- from https://github.com/tinchodias/hiedra which is a repo that
> I might close or should say in readme that it's not the official repo
>
> But not sure if I described correctly... in concrete, Hiedra is what's
> used from Epicea Spec UI in a TableModel to draw the links between
> epicea logs in the left panel.
>

We should add exactly those description as package level comments.
        https://pharo.fogbugz.com/f/cases/22079/package-comments-for-Ombu-and-Hiedra

Fine
 


What I do not like is that the package name gives no clue what this is about…
Not even the “neighbourhood”. E.g. it does not even get clear that Ombu and Epicea are related…
But we have that problem with many packages.


I agree. 
In the beginning, when this was a prototype, it made sense to me to have 2 separate projects but at the end they are so closely related that it could be good to move Ombu classes into Epicea.
 
        Marcus



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

hernanmd
In reply to this post by tinchodias
Hello Martin,

2018-06-05 15:49 GMT-03:00 Martin Dias <[hidden email]>:

> On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
> <[hidden email]> wrote:
>> What are Ombu and Hiedra?
>
> Hello Hernán, this is how I described them:
>
> Ombu:
> "Epicea has a small subproject, named Ombu, which provides simple
> persistence. By default, Ombu uses STON to write the events when they
> are announced in the system."
> ------- from http://smalltalkhub.com/#!/~MartinDias/Epicea
>

Ok, so this could be used by any application to log events? Like a
lite version of Beacon logger?
I am trying to get what would be the typical use case for a "common" app.

> Hiedra:
> "It is a small Pharo project to visually connect items in a
> history-like graph. It uses Athens, and provides support for Morphic
> and Spec."
> ------- from https://github.com/tinchodias/hiedra which is a repo that
> I might close or should say in readme that it's not the official repo
>
> But not sure if I described correctly... in concrete, Hiedra is what's
> used from Epicea Spec UI in a TableModel to draw the links between
> epicea logs in the left panel.

Nice!
I am trying again to make re-use of your work if possible :)
I found a reference in EpLogNodeGraphModel. But could
HiRulerController be used off the Epicea case?
Maybe could you provide a stand-alone example?

About the documentation use case:

Class {
        #name : #HiedraExampleModel,
        #superclass : #ComposableModel,
        #instVars : [
                'treeModel rulerController'
        ],
        #category : #HiedraExample
}

{ #category : #initialization }
HiedraExampleModel >> initializePresenter [

        super initializePresenter.

        rulerController := HiRulerController new.

        rulerController treeModel: treeModel.
        treeModel whenRootsChanged: [
                rulerController updateFromTree ].

]


How do you evaluate that code inside Pharo?

Thank you,

Hernán




>
> Cheers, Martín
>
>>
>> Couldn't find any description in the link.
>>
>> Cheers,
>>
>> Hernán
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias
Hernán: I make myself time to answer you, and I think it can feed the
poor documentation of the Ombu package :)

>Ok, so this could be used by any application to log events? Like a
>lite version of Beacon logger?
>I am trying to get what would be the typical use case for a "common" app.

I don't know Beacon. The main features of Ombu are:

* It's optimized to write many new entries in a small window of time:
When you log something, the log writer (OmFileStore) caches it until x
milliseconds passed without activity. It was important for logging a
big project via Metacello; thousands of changes may be cached and
written in one shot.
* It's optimized to browse a large log: The OmBlockFileStore lets you
parse it by chunks. It was important for Epicea UI... when you scroll
a log with thousands of changes.
* Safe for multiple processes logging to same file: OmFileStore uses a
"Semaphore forMutualExclusion".
* Safe for multiple images logging to same directory: Suppose you are
logging stuff, then save the image and, without closing it, you
re-open the image file (spawn) and continue logging... you must avoid
conflicts that could make a log file be inconsistent. To support this
case a similars, OmSessionStore checks if the "Smalltalk session"
changed before writing a new entry in a log. If it changed, the new
entry will be automatically written into a different file.
* Link log files: For example, this information is used in Epicea UI
when you click on "link logs".

Also, I wrote a script in latest Pharo 7 (below). It shows only basic usage:

"Create store in a directory"
directory := FileSystem workingDirectory / 'mylogs'.
directory ensureCreateDirectory.
store := OmSessionStore newWithBaseLocator: directory.

"Write 2 objects (serialized via STON)"
store
    newEntry: (OmEntry content: 'first');
    newEntry: (OmEntry content: 'second').


"Force start writing to a new file. This happens with you re-open an image"

store writingFileReference.
"--> [...] /mylogss/Pharo.938mzjzhbnpo7suavqkhflnr0.ombu"

store resetWithNextStoreName.

store writingFileReference.
"--> [...] /mylogss/Pharo.938mzjt0jwolhkcqd83ji1e7h.ombu"


"Write 2 objects more in the new file"
store
    newEntry: (OmEntry content: 'third');
    newEntry: (OmEntry content: 'fourth').

"(NOW BROKEN) No matter where entries were written, you can access the
complete sequence easily."
store entries.
"--> an OrderedCollection(an OmEntry('first') an OmEntry('second') an
OmEntry('third') an OmEntry('fourth'))"


Regards,
Martín

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

tinchodias
In reply to this post by hernanmd
> How do you evaluate that code inside Pharo?

I don't know... for some reason I used Tonel format to write it. The
package could have a toy example to use it. In fact there is one in
another package (probably HiedraExamples) in sthub/Epicea.

Martín

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

NorbertHartl
In reply to this post by hernanmd


> Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand <[hidden email]>:
>
> Hello Martin,
>
> 2018-06-05 15:49 GMT-03:00 Martin Dias <[hidden email]>:
>> On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
>> <[hidden email]> wrote:
>>> What are Ombu and Hiedra?
>>
>> Hello Hernán, this is how I described them:
>>
>> Ombu:
>> "Epicea has a small subproject, named Ombu, which provides simple
>> persistence. By default, Ombu uses STON to write the events when they
>> are announced in the system."
>> ------- from http://smalltalkhub.com/#!/~MartinDias/Epicea
>>
>
> Ok, so this could be used by any application to log events? Like a
> lite version of Beacon logger?

Do you assume Beacon is not light? Doesn‘t really matter but a lot of people seem to assume it is not.

I think the are on two different axes. Beacon is more about distribution of notifications in the system and Ombu seems to be a store only. So the combination could be cool to have a consumer in beacon that writes to an Ombu Store

Norbert

> I am trying to get what would be the typical use case for a "common" app.
>
>> Hiedra:
>> "It is a small Pharo project to visually connect items in a
>> history-like graph. It uses Athens, and provides support for Morphic
>> and Spec."
>> ------- from https://github.com/tinchodias/hiedra which is a repo that
>> I might close or should say in readme that it's not the official repo
>>
>> But not sure if I described correctly... in concrete, Hiedra is what's
>> used from Epicea Spec UI in a TableModel to draw the links between
>> epicea logs in the left panel.
>
> Nice!
> I am trying again to make re-use of your work if possible :)
> I found a reference in EpLogNodeGraphModel. But could
> HiRulerController be used off the Epicea case?
> Maybe could you provide a stand-alone example?
>
> About the documentation use case:
>
> Class {
>    #name : #HiedraExampleModel,
>    #superclass : #ComposableModel,
>    #instVars : [
>        'treeModel rulerController'
>    ],
>    #category : #HiedraExample
> }
>
> { #category : #initialization }
> HiedraExampleModel >> initializePresenter [
>
>    super initializePresenter.
>
>    rulerController := HiRulerController new.
>
>    rulerController treeModel: treeModel.
>    treeModel whenRootsChanged: [
>        rulerController updateFromTree ].
>
> ]
>
>
> How do you evaluate that code inside Pharo?
>
> Thank you,
>
> Hernán
>
>
>
>
>>
>> Cheers, Martín
>>
>>>
>>> Couldn't find any description in the link.
>>>
>>> Cheers,
>>>
>>> Hernán
>>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

hernanmd
Hi Norbert,

El 7 jun. 2018, a las 03:23, Norbert Hartl <[hidden email]> escribió:



Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand <[hidden email]>:

Hello Martin,

2018-06-05 15:49 GMT-03:00 Martin Dias <[hidden email]>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
<[hidden email]> wrote:
What are Ombu and Hiedra?

Hello Hernán, this is how I described them:

Ombu:
"Epicea has a small subproject, named Ombu, which provides simple
persistence. By default, Ombu uses STON to write the events when they
are announced in the system."
------- from http://smalltalkhub.com/#!/~MartinDias/Epicea


Ok, so this could be used by any application to log events? Like a
lite version of Beacon logger?

Do you assume Beacon is not light? Doesn‘t really matter but a lot of people seem to assume it is not.


I don’t know, never used Beacon. However I know Log4s is not light and I want to replace it in my projects for some simple logging mechanism. 

I think the are on two different axes. Beacon is more about distribution of notifications in the system and Ombu seems to be a store only. So the combination could be cool to have a consumer in beacon that writes to an Ombu Store


Thank you for the tip, I will have a look because I am specially interested in projects using Beacon.

Cheers,

Hernán


Norbert
I am trying to get what would be the typical use case for a "common" app.

Hiedra:
"It is a small Pharo project to visually connect items in a
history-like graph. It uses Athens, and provides support for Morphic
and Spec."
------- from https://github.com/tinchodias/hiedra which is a repo that
I might close or should say in readme that it's not the official repo

But not sure if I described correctly... in concrete, Hiedra is what's
used from Epicea Spec UI in a TableModel to draw the links between
epicea logs in the left panel.

Nice!
I am trying again to make re-use of your work if possible :)
I found a reference in EpLogNodeGraphModel. But could
HiRulerController be used off the Epicea case?
Maybe could you provide a stand-alone example?

About the documentation use case:

Class {
  #name : #HiedraExampleModel,
  #superclass : #ComposableModel,
  #instVars : [
      'treeModel rulerController'
  ],
  #category : #HiedraExample
}

{ #category : #initialization }
HiedraExampleModel >> initializePresenter [

  super initializePresenter.

  rulerController := HiRulerController new.

  rulerController treeModel: treeModel.
  treeModel whenRootsChanged: [
      rulerController updateFromTree ].

]


How do you evaluate that code inside Pharo?

Thank you,

Hernán





Cheers, Martín


Couldn't find any description in the link.

Cheers,

Hernán

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Epicea, Ombu and Hiedra packages have new "official" repository

Guillermo Polito
Hi,

Can we define what we mean by "Light"? Are we talking about 
- memory consumption?
- Dependencies?
- Amount of code?
- Complexity?
- Size of API?

Guille

On Fri, Jun 8, 2018 at 2:31 AM, Hernán Morales <[hidden email]> wrote:
Hi Norbert,

El 7 jun. 2018, a las 03:23, Norbert Hartl <[hidden email]> escribió:



Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand <[hidden email]>:

Hello Martin,

2018-06-05 15:49 GMT-03:00 Martin Dias <[hidden email]>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand
<[hidden email]> wrote:
What are Ombu and Hiedra?

Hello Hernán, this is how I described them:

Ombu:
"Epicea has a small subproject, named Ombu, which provides simple
persistence. By default, Ombu uses STON to write the events when they
are announced in the system."
------- from http://smalltalkhub.com/#!/~MartinDias/Epicea


Ok, so this could be used by any application to log events? Like a
lite version of Beacon logger?

Do you assume Beacon is not light? Doesn‘t really matter but a lot of people seem to assume it is not.


I don’t know, never used Beacon. However I know Log4s is not light and I want to replace it in my projects for some simple logging mechanism. 

I think the are on two different axes. Beacon is more about distribution of notifications in the system and Ombu seems to be a store only. So the combination could be cool to have a consumer in beacon that writes to an Ombu Store


Thank you for the tip, I will have a look because I am specially interested in projects using Beacon.

Cheers,

Hernán


Norbert
I am trying to get what would be the typical use case for a "common" app.

Hiedra:
"It is a small Pharo project to visually connect items in a
history-like graph. It uses Athens, and provides support for Morphic
and Spec."
------- from https://github.com/tinchodias/hiedra which is a repo that
I might close or should say in readme that it's not the official repo

But not sure if I described correctly... in concrete, Hiedra is what's
used from Epicea Spec UI in a TableModel to draw the links between
epicea logs in the left panel.

Nice!
I am trying again to make re-use of your work if possible :)
I found a reference in EpLogNodeGraphModel. But could
HiRulerController be used off the Epicea case?
Maybe could you provide a stand-alone example?

About the documentation use case:

Class {
  #name : #HiedraExampleModel,
  #superclass : #ComposableModel,
  #instVars : [
      'treeModel rulerController'
  ],
  #category : #HiedraExample
}

{ #category : #initialization }
HiedraExampleModel >> initializePresenter [

  super initializePresenter.

  rulerController := HiRulerController new.

  rulerController treeModel: treeModel.
  treeModel whenRootsChanged: [
      rulerController updateFromTree ].

]


How do you evaluate that code inside Pharo?

Thank you,

Hernán





Cheers, Martín


Couldn't find any description in the link.

Cheers,

Hernán




--

   

Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - http://www.cnrs.fr


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13