[V4REV] How correctly prepare stack for cross-platform use ?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[V4REV] How correctly prepare stack for cross-platform use ?

Ruslan Zasukhin
Hi Revolutioners!

Well, we are almost done with first build of Valentina for Revolution,
And I have meet next problem.

Ivan have prepare about 50 examples working on Windows.
So each example show in the window "Stack Properties" some win dll path.

It is easy to see that such stack do not work on MAC from box.
When I set external to our V4REV_Macho, this NOT add second line into list
of externals but erase info about Windows dll.

So I wonder:

1) if is possible to prepare stack which from box will work on MacOS and
Windows? I.e. It should know about 2 externals, one for each platform.

Or it is normal for Revolution world, that developer must self tune each
stack before use it ???  I hard believe into this.


2) taking into account that I have now on hands 50 example stacks, It not
smile to me manually set external for each of them. So may be exists way

A) automate this job ?

B) may be it is possible that stack itself on load and start set correct
external according to current platform? But again I will need include this
code into each stack ... May be exists way to put this code into some shared
single stack ?


--
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]


_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Klaus major-k
Hi Ruslan,

> Hi Revolutioners!
>
> Well, we are almost done with first build of Valentina for Revolution,
> And I have meet next problem.
>
> Ivan have prepare about 50 examples working on Windows.
> So each example show in the window "Stack Properties" some win dll  
> path.
>
> It is easy to see that such stack do not work on MAC from box.
> When I set external to our V4REV_Macho, this NOT add second line  
> into list
> of externals but erase info about Windows dll.

use the message box oir aprepare a button with this script:

set the externals of stack xyz to "MacExternal.bundle" & CR &  
"Windowsexternal.dll"

So you have both exteranls set :-)

> So I wonder:
>
> 1) if is possible to prepare stack which from box will work on  
> MacOS and
> Windows? I.e. It should know about 2 externals, one for each platform.
>
> Or it is normal for Revolution world, that developer must self tune  
> each
> stack before use it ???  I hard believe into this.
>
>
> 2) taking into account that I have now on hands 50 example stacks,  
> It not
> smile to me manually set external for each of them. So may be  
> exists way
>
> A) automate this job ?
>
> B) may be it is possible that stack itself on load and start set  
> correct
> external according to current platform? But again I will need  
> include this
> code into each stack ... May be exists way to put this code into  
> some shared
> single stack ?

Exactly, you can do by "start using xyz"

A good idea is to use an (empty) substack "xyz", so you simply use
something like:

on openstack
    set the externals of stack "xyz" to "MacExternal.bundle" & CR &  
"WindowsExternal.dll"
    start using stack "xyz"
    ...
end openstack

This way, every open stack can use the external.

Hope that helps

> Best regards,
>
> Ruslan Zasukhin
> VP Engineering and New Technology
> Paradigma Software, Inc
>
> Valentina - Joining Worlds of Information
> http://www.paradigmasoft.com
>
> [I feel the need: the need for speed]

Regards

Klaus Major
[hidden email]
http://www.major-k.de

_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Ruslan Zasukhin
On 6/11/05 10:56 PM, "Klaus Major" <[hidden email]> wrote:

Hi Klaus,

>> B) may be it is possible that stack itself on load and start set
>> correct
>> external according to current platform? But again I will need
>> include this
>> code into each stack ... May be exists way to put this code into
>> some shared
>> single stack ?
>
> Exactly, you can do by "start using xyz"
>
> A good idea is to use an (empty) substack "xyz", so you simply use
> something like:
>
> on openstack
>     set the externals of stack "xyz" to "MacExternal.bundle" & CR &
> "WindowsExternal.dll"
>     start using stack "xyz"
>     ...
> end openstack
>
> This way, every open stack can use the external.

So we have

* one xyz stack
* it have only above one function

* all rest 50 stacks DO NOT have references to this xyz
    this is good.

Not clear to me:
  - so developer must at first manually open xyz in the revolution?
  - then he can use rest 50 projects, right ?

Or each from 50 projects somehow on open do open that xyz stack also?

--
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]


_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Ruslan Zasukhin
In reply to this post by Ruslan Zasukhin
On 6/11/05 11:49 PM, "Robert Brenstein" <[hidden email]> wrote:

Hi Robert,

> Ruslan and Ivan,
>
> I would make an index stack with each example being a substack of it.
> Then you just need to set the external of this index stack and all
> others will see it without further ado.

I see.

> This gives you also a single file to distribute.

Why single?
But we have also 50 other files located in own sub-folders on disk.


> Furthermore, you can place handlers common to all
> examples in the stack script of the index stack and they will be
> available to all examples. Better factoring this way.

This is EXACTLY what we need!!!

We have this in Valentina for REALbasic and for Director.
Deal is that we need to have few common utility methods that use all
examples to allow easy switch any example between LOCAL and CLIENT/SERVER
mode.

Although in V4RB and V4md it works in reverse way.
Example is MAIN project, and it use as sub-element some shared item.

As I see in Revolution, you suggest way:
    one MAIN stack which have 50 sub-stacks, right ?


> You handle the external path issue in the openStack handler placed on
> the card level (this is important here) of the index  stack. There
> you set the path to the external depending on the platform -- yes,
> you set it up at runtime when the stack loads -- and then initialize
> Valentina (and close it at the end).
>
> Platform() is a function that tells you the OS type. In case of Mac,
> you need further systemVersion() to distinguish between OS9 and OSX.
> Ivan, if you need some extra info about this, contact me off list.
>
> By index stack, I mean a stack that has a list of all examples with
> links to open them individually. It would be nice to include a short
> description of what each example demonstrates (could be just a tool
> tip).
>
> I think this addresses all the issues you raised.

Okay, I like such MAIN stack, with list of all examples.
This will play role of ExampleGuide.

In the V4RB and V4MD we use PDF for this.
Well, in V4REV we also may need PDF yet, because few examples have some text
and even pictures that describe work.


--
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]


_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Robert Brenstein
In reply to this post by Ruslan Zasukhin
>Hi Revolutioners!
>
>Well, we are almost done with first build of Valentina for Revolution,
>And I have meet next problem.
>
>Ivan have prepare about 50 examples working on Windows.
>So each example show in the window "Stack Properties" some win dll path.
>
>It is easy to see that such stack do not work on MAC from box.
>When I set external to our V4REV_Macho, this NOT add second line into list
>of externals but erase info about Windows dll.
>
>So I wonder:
>
>1) if is possible to prepare stack which from box will work on MacOS and
>Windows? I.e. It should know about 2 externals, one for each platform.
>
>Or it is normal for Revolution world, that developer must self tune each
>stack before use it ???  I hard believe into this.
>
>
>2) taking into account that I have now on hands 50 example stacks, It not
>smile to me manually set external for each of them. So may be exists way
>
>A) automate this job ?
>
>B) may be it is possible that stack itself on load and start set correct
>external according to current platform? But again I will need include this
>code into each stack ... May be exists way to put this code into some shared
>single stack ?
>
>
>--
>Best regards,
>

I would make an index stack with each example being a substack of it.
Then you just need to set the external of this index stack and all
others will see it without further ado. This gives you also a single
file to distribute. Furthermore, you can place handlers common to all
examples in the stack script of the index stack and they will be
available to all examples. Better factoring this way.

You handle the external path issue in the openStack handler placed on
the card level (this is important here) of the index  stack. There
you set the path to the external depending on the platform -- yes,
you set it up at runtime when the stack loads -- and then initialize
Valentina (and close it at the end).

Platform() is a function that tells you the OS type. In case of Mac,
you need further systemVersion() to distinguish between OS9 and OSX.

By index stack, I mean a stack that has a list of all examples with
links to open them individually. It would be nice to include a short
description of what each example demonstrates (could be just a tool
tip).

I think this addresses all the issues you raised.

Robert
_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Robert Brenstein
In reply to this post by Ruslan Zasukhin
At 00:16 +0300 12.06.2005, Ruslan Zasukhin wrote:
>  > This gives you also a single file to distribute.
>
>Why single?
>But we have also 50 other files located in own sub-folders on disk.

Single stackfile -- all you example stacks are within a single file.
Database and other files come extra, of course.

>As I see in Revolution, you suggest way:
>     one MAIN stack which have 50 sub-stacks, right ?

Yes. Extra files can be placed in subfolders with your main stack
figuring out the correct path to their root folder and passing it in
a global, so example stacks can use relative paths.

>Okay, I like such MAIN stack, with list of all examples.
>This will play role of ExampleGuide.
>
>In the V4RB and V4MD we use PDF for this.
>Well, in V4REV we also may need PDF yet, because few examples have some text
>and even pictures that describe work.

You can include pictures next to or in the text in stacks, but having
printable PDF might be useful anyway.

You could use tabbed interface in the example stacks, with one of the
tabs being description.

Robert
_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Jan Schenkel
In reply to this post by Ruslan Zasukhin
--- Ruslan Zasukhin <[hidden email]>
wrote:

> Hi Revolutioners!
>
> Well, we are almost done with first build of
> Valentina for Revolution,
> And I have meet next problem.
>
> Ivan have prepare about 50 examples working on
> Windows.
> So each example show in the window "Stack
> Properties" some win dll path.
>
> It is easy to see that such stack do not work on MAC
> from box.
> When I set external to our V4REV_Macho, this NOT add
> second line into list
> of externals but erase info about Windows dll.
>
> So I wonder:
>
> 1) if is possible to prepare stack which from box
> will work on MacOS and
> Windows? I.e. It should know about 2 externals, one
> for each platform.
>
> Or it is normal for Revolution world, that developer
> must self tune each
> stack before use it ???  I hard believe into this.
>
>
> 2) taking into account that I have now on hands 50
> example stacks, It not
> smile to me manually set external for each of them.
> So may be exists way
>
> A) automate this job ?
>
> B) may be it is possible that stack itself on load
> and start set correct
> external according to current platform? But again I
> will need include this
> code into each stack ... May be exists way to put
> this code into some shared
> single stack ?
>
>
> --
> Best regards,
>
> Ruslan Zasukhin
>

Hi Ruslan,

You have received answers from other
Revolution/Valentina developers with regards to this
question.
Nevertheless I thought it was necessary to point out
that this is not an issue for those using the revDB
wrapper around Valentina.
I hope this revdb driver is going to be updated for
Valentina 2.0 in the near future ?

Best regards,

Jan Schenkel.

Quartam - Tools for Revolution
<http://www.quartam.com>

=====
"As we grow older, we grow both wiser and more foolish at the same time."  (La Rochefoucauld)


               
__________________________________
Discover Yahoo!
Find restaurants, movies, travel and more fun for the weekend. Check it out!
http://discover.yahoo.com/weekend.html 

_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution
Reply | Threaded
Open this post in threaded view
|

Re: [V4REV] How correctly prepare stack for cross-platform use ?

Ruslan Zasukhin
On 6/13/05 11:00 PM, "Jan Schenkel" <[hidden email]> wrote:

Hi Jan,

> You have received answers from other
> Revolution/Valentina developers with regards to this
> question.

> Nevertheless I thought it was necessary to point out
> that this is not an issue for those using the revDB
> wrapper around Valentina.

You mean examples?

Well, you still may wish study some new features of Valentina 2.0
Which you can reach via SQL also, so via RevDB.

For example, 2.0 have cool new feature Links, Binary Link.
Any other DBMS do not have it.

And yes, it is possible to use this via SQL also


> I hope this revdb driver is going to be updated for
> Valentina 2.0 in the near future ?

Yes of course. Nearest time.

--
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]


_______________________________________________
use-revolution mailing list
[hidden email]
http://lists.runrev.com/mailman/listinfo/use-revolution