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.
<[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 |
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 |
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 > |
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 |
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 |
On Wed, Jun 6, 2018 at 4:27 AM Marcus Denker <[hidden email]> wrote:
Fine
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 |
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 >> > |
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 |
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 |
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 >>> >> > |
Hi Norbert,
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.
Thank you for the tip, I will have a look because I am specially interested in projects using Beacon. 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 <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |