[OPEN-ILS-DEV] libjs

Eric Lesage lesagee at iro.umontreal.ca
Thu Feb 15 21:57:18 EST 2007


On Tue, 13 Feb 2007, Mike Rylander wrote:

> On 2/11/07, Mike Rylander <mrylander at gmail.com> wrote:
>
> Right.  That's exactly the direction I want to go as we work towards
> 1.2, so please keep me in check there.  For the remainder of 1.0, it
> doesn't seem like it's worth the effort to extricate ourselves from
> the current situation, so I'm not going to worry about it too much.  I
> doubt very highly that anyone other than PINES will be going live on
> the 1.0 code, and if they are they can always come here (or talk to a
> commercial interest) for help.

Ok.

> As far as upgrades at the schema level go, there are some very thorny
> problems to take into account.  At the base, it's relatively easy to
> create a pile of ALTER TABLE and like commands   that will do most of
> the work, but it's never going to be that easy for non-trival
> installations.  With that in mind, I want to avoid schema changes
> (post-1.0.x) inside any major release that can't be handled with
> /very/ trivial upgrade SQL -- and entirely if possible. So, starting
> with 1.2, how about ...
>
> Given a version number constructed like X.Y.Z.abc :

> That's just off the top of my head and may need to be reworked a good
> bit, but comments would be appreciated.

Sounds good. (Maybe you'd want to coordinate the nomenclature with the 
wiki.)

>> There are of courses many issues with this, especially with decentralized
>> software. I've not analyzed if/how you version interfaces elsewhere (i.e.,
>> for opensrf services) and how deep the schema affects the services... At
>> some level one must take care that all services run on a coherent idea, or
>> that provisions are made for multiple concurrent interfaces.
>
> OpenSRF actually has a mechanism for versioning the API such that
> later clients can take advantage of increased functionality using the
> same method names.  This is something that I'd personally love to see
> us exploit, but it isn't really needed right now -- the API is getting
> broader but not changing internally.
>
> As far as the DB affecting the staff-client-level API and the middle
> layer (via object definitions and the like), that's taken care of by
> the IDL XML.  A new version of the IDL is installed with each release
> and surrounding code is generated based on that.  The staff client
> gets this code remotely, and the middle layer and backend use the IDL
> directly to construct queries (SQL and otherwise).
>
> Is that generally what you were asking about?

Yes, thank you for the information. What I was looking at was the question 
of availability. What I gather is that when there is a system upgrade, a 
given staff client is tolerant enough to refetch the IDL and work with it 
even if the tables have changed a bit, so not everything has to be done at 
once (well, up to the limits defined in the version scheme you defined).

Regards,

-- 
Eric Lesage


More information about the Open-ils-dev mailing list