[Glass] loading glass questions

Dale K. Henrichs dale.henrichs at gemtalksystems.com
Fri Nov 15 09:28:30 PST 2013


Otto,

I can imagine that you will be getting mixed results when trying to use GLASS1 with other packages ... You do an explicit load of ConfigurationOfGsMisc which is also covered by packages in GLASS1 and that may be confusing things ... The Gofer versions must be coming from Metacello and you are not necessarily using the latest and greatest Metacello Preview release ... you could try:

 Metacello new
  baseline: 'Metacello';
  repository: 'github://dalehenrich/metacello-work:master/repository';
  load: 'ALL'.
  ] on: Warning
    do: [:ex |
      Transcript cr; show: ex description.
      ex resume].

Instead of loading 1.0-beta.32 of Metacello ... Of course, you should make a local clone of Metacello and reference it as well ... 

Instead of using repository overrides, I think that you should use `project locks`[1]. By using `locks` you will be able to point directly at your cloned repositories instead of having to maintain a monster thirdparty mcz repo...which is more important for the git-based repos ...

The announcements references are probably coming from direct references to the GsMisc project ....I'm  a bit worried about the fact that I know that there are references in a lot of the extant configurations to specific versions of ConfigurationOfGs* projects that will also potentially cause this kind of confusion and of course moving forward we will want to be able to reference particular versions of the GLASS1 repository that are required... 

I think that the best answer will be that we'll actually need to change how the GLASS dependencies are referenced from the various projects when using GLASS1 because we want to reference the version of GLASS1 instead of the versions of the various sub projects ...

I also don't like the name GLASS1 and have been considering a rename to something more descriptive like GsWebEdition(?)...Seaside hasn't been included in the GLASS project for quite some time, so the GLASS acronym is a bit confusing for folks ...

To do this correctly, we'd need to invent new platform attributes when using GsWebEdition (I'll use this name for now) so that the metacello configs can be correctly editted, Instead of:

   gemstone, gemstone2.4.x, gemstone3.x, etc.

we'd use 

  gswebedition, gswebedition2.4.x, gswebedition3.x, etc.

I think this would give us the cleanest break ... It entails editting a bunch of configurations, but I the move to GsWebEdition is a pretty significant move and I think warrants this kind of treatment ...

Fortunately, I'm getting close to finished with the internal GemStone work I've been spending most of my time on so I should have more time to devote to working on this transition...

[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md#locking
----- Original Message -----
| From: "Otto Behrens" <otto at finworks.biz>
| To: glass at lists.gemtalksystems.com
| Sent: Friday, November 15, 2013 3:27:08 AM
| Subject: [Glass] loading glass questions
| 
| Hi,
| 
| I'm loading GLASS (cloned from github.com/glassdb/glass) starting
| with
| extent0.seaside.dbf in GS 2.4.4.4. thirdPartyMonticelloRepository is
| a
| variable pointing to a local directory repository containing mcz's.
| Does this approach make sense?
| 
| I start with updating metacello:
|     Gofer it
|         repository: thirdPartyMonticelloRepository;
|         package: 'ConfigurationOfMetacello';
|         package: 'ConfigurationOfGsMisc';     "If I don't do this,
| loading glass later on breaks"
|         load.
| 
| and then (in short):
| 
|    project := ConfigurationOfMetacello project.
|    version := (project version: '1.0-beta.32')
|         repositoryOverrides: {thirdPartyMonticelloRepository};
|         load
| 
| then load glass:
| 
|    Metacello new
|       baseline: 'GLASS1';
|       repository: 'filetree://<local clone of
| github.com/glassdb/glass>/repository';
|       onUpgrade: [ :ex :existing :new | <print stuff>. ex allow ];
|       onDowngrade: [ :ex :existing :new | <print ! Blocking
| downgrade>. ex disallow ];
|       load
| 
| Some questions.
| 
| 1. During this load, I get a lot of downgrade attempts. For example:
| "! Blocking downgrade Gofer 1.0.5.1 -> Gofer 1.0.2". Why this? We're
| trying to load from a filetree.
| 2. I get "redirecting to
| http://seaside.gemtalksystems.com/ss/announcements/Announcements.g-dkh.15.mcz",
| for example. If I look in the filetree repo, Announcements.g is on
| version dkh.16. So why try to load dkh.15?
| 
| I suspect this is because we have a ConfigurationOf and BaselineOf
| mix
| that does not work together. Is there a way to override the
| versioning
| in a ConfigurationOf class?
| 
| Thanks
| Otto
| _______________________________________________
| Glass mailing list
| Glass at lists.gemtalksystems.com
| http://lists.gemtalksystems.com/mailman/listinfo/glass
| 


More information about the Glass mailing list