[ANN] Epicea, Ombu and Hiedra packages have new "official" repository
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
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
On Tue, Jun 5, 2018 at 12:35 PM Cyril Ferlicot D. <cyril.ferlicot@gmail.com> 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
On 5 Jun 2018, at 18:55, Martin Dias <tinchodias@gmail.com> wrote:
On Tue, Jun 5, 2018 at 12:35 PM Cyril Ferlicot D. <cyril.ferlicot@gmail.com> 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
Hello Martin, 2018-06-05 12:16 GMT-03:00 Martin Dias <tinchodias@gmail.com>:
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
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
On 5 Jun 2018, at 20:49, Martin Dias <tinchodias@gmail.com> wrote:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
On Wed, Jun 6, 2018 at 4:27 AM Marcus Denker <marcus.denker@inria.fr> wrote:
On 5 Jun 2018, at 20:49, Martin Dias <tinchodias@gmail.com> wrote:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
Hello Martin, 2018-06-05 15:49 GMT-03:00 Martin Dias <tinchodias@gmail.com>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
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
Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand <hernan.morales@gmail.com>:
Hello Martin,
2018-06-05 15:49 GMT-03:00 Martin Dias <tinchodias@gmail.com>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
Hi Norbert,
El 7 jun. 2018, a las 03:23, Norbert Hartl <norbert@hartl.name> escribió:
Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand <hernan.morales@gmail.com>:
Hello Martin,
2018-06-05 15:49 GMT-03:00 Martin Dias <tinchodias@gmail.com>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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
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 <hernan.morales@gmail.com> wrote:
Hi Norbert,
El 7 jun. 2018, a las 03:23, Norbert Hartl <norbert@hartl.name> escribió:
Am 06.06.2018 um 22:00 schrieb Hernán Morales Durand < hernan.morales@gmail.com>:
Hello Martin,
2018-06-05 15:49 GMT-03:00 Martin Dias <tinchodias@gmail.com>:
On Tue, Jun 5, 2018 at 3:30 PM Hernán Morales Durand <hernan.morales@gmail.com> 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 <http://www.cnrs.fr>* *Web:* *http://guillep.github.io* <http://guillep.github.io> *Phone: *+33 06 52 70 66 13
participants (7)
-
Cyril Ferlicot D. -
Guillermo Polito -
Hernán Morales -
Hernán Morales Durand -
Marcus Denker -
Martin Dias -
Norbert Hartl