Tooltip with script.aculo.us

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Re: Database Integration

Dan Shafer-3
Thanks for the detective work!

Dan

On Jun 3, 2006, at 11:05 AM, Wilkes Joiner wrote:

> It took a while to track it down, but in the comments on squeaksource
> for OmniBase-jf.2.mcz:
>
> "OmniBase is now available for free for commercial and educational
> purposes. Free version of OmniBase is prohibited to be used in the oil
> or military industries."
>
>
> On 6/3/06, Dan Shafer <[hidden email]> wrote:
>> Thanks to everyone who replied to my original query.
>>
>> I suspect that OmniBase may turn out to be best for my purposes. But
>> there is some confusion about its licensing. I've written the author
>> an email; hopefully I'll hear back soon.
>>
>> I've read in the archives of this list that a commercial license is
>> $400. That's affordable in my case. However, his Web site doesn't
>> even mention a commercial product as far as I can tell. His site at
>> least conveyed to me the impression that he has a single product,
>> it's free, and you pay for support. If I understand his support plan
>> correctly, it costs almost $600 because he charges a minimum of 8
>> hours. That's OK but if that's per-incident, of course, it won't
>> work, at least for me.
>>
>> If someone on the list knows the answer, I'd appreciate hearing it.
>> Otherwise, when I do hear from the OmniBase author, I'll report what
>> I hear.
>>
>> Dan
>>
>> _______________________________________________
>> Seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Database Integration

Adrian Lienhard
In reply to this post by Dan Shafer-3
We experienced big concurrency problems (data corruption, lockups)  
with OmniBase on Linux, accessing the same DB from multiple Squeak  
images. Unless you are on Windows I would not recommend OmniBase.  
Furthermore, OmniBase is much less transparent than for example GOODS  
or Magma and can be tricky to use with Seaside.

Adrian

On Jun 3, 2006, at 19:22 , Dan Shafer wrote:

> Thanks to everyone who replied to my original query.
>
> I suspect that OmniBase may turn out to be best for my purposes.  
> But there is some confusion about its licensing. I've written the  
> author an email; hopefully I'll hear back soon.
>
> I've read in the archives of this list that a commercial license is  
> $400. That's affordable in my case. However, his Web site doesn't  
> even mention a commercial product as far as I can tell. His site at  
> least conveyed to me the impression that he has a single product,  
> it's free, and you pay for support. If I understand his support  
> plan correctly, it costs almost $600 because he charges a minimum  
> of 8 hours. That's OK but if that's per-incident, of course, it  
> won't work, at least for me.
>
> If someone on the list knows the answer, I'd appreciate hearing it.  
> Otherwise, when I do hear from the OmniBase author, I'll report  
> what I hear.
>
> Dan
>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Database Integration

David T. Lewis
On Sun, Jun 04, 2006 at 12:03:33PM +0200, Adrian Lienhard wrote:
> We experienced big concurrency problems (data corruption, lockups)  
> with OmniBase on Linux, accessing the same DB from multiple Squeak  
> images. Unless you are on Windows I would not recommend OmniBase.  
> Furthermore, OmniBase is much less transparent than for example GOODS  
> or Magma and can be tricky to use with Seaside.

For the record, I suspect that I may be partly to blame for this.
The Unix file locking in OSProcess has a setting that attempts to
emulate Windows file locking semantics, and I unfortunately distributed
OSProcess with this as the default preference. This emulation
cannot be done correctly for separate Squeak images, which makes
it pretty much useless for any practical application.

So if there were data integrity problems with an OmniBase
application that used file locking with Win32 emulation enabled,
it may not be caused by OmniBase. If anyone tries this again
(and I hope that someone will do so), please make sure that the
Win32 emulating is turned off:
  OSProcessAccessor emulateWin32FileLocking: false

I can't say anything about the other concurrency issues, but I don't
want OmniBase to take the rap for a mistake that I made.

Thanks,
Dave

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Database Integration

Lukas Renggli
> On Sun, Jun 04, 2006 at 12:03:33PM +0200, Adrian Lienhard wrote:
> > We experienced big concurrency problems (data corruption, lockups)
> > with OmniBase on Linux, accessing the same DB from multiple Squeak
> > images. Unless you are on Windows I would not recommend OmniBase.
> > Furthermore, OmniBase is much less transparent than for example GOODS
> > or Magma and can be tricky to use with Seaside.
>
> For the record, I suspect that I may be partly to blame for this.
> The Unix file locking in OSProcess has a setting that attempts to
> emulate Windows file locking semantics, and I unfortunately distributed
> OSProcess with this as the default preference. This emulation
> cannot be done correctly for separate Squeak images, which makes
> it pretty much useless for any practical application.
>
> So if there were data integrity problems with an OmniBase
> application that used file locking with Win32 emulation enabled,
> it may not be caused by OmniBase. If anyone tries this again
> (and I hope that someone will do so), please make sure that the
> Win32 emulating is turned off:
>   OSProcessAccessor emulateWin32FileLocking: false
>
> I can't say anything about the other concurrency issues, but I don't
> want OmniBase to take the rap for a mistake that I made.

This wasn't the problem, we've tried everything and discovered a
couple of problems, some are fixable others are very hard to
understand. We still don't know what exactly caused the stated
problems, maybe they are related to the ones below, maybe this is
something else ...

- OmniBase is designed on the Win32 locking semantics, that is very
different to the one provided by Unix systems. Things like atomically
opening files in a locked state is not possible in Unix and has to be
emulated somehow.

- The Squeak file primitives cache state (such as the file-size) in
some low-level structures and this is deadly for a file accessed by
multiple images at the same time. The solution to this problem is that
files have to be closed and reopened to get valid file-size
information, however this opens a new range of possible concurrency
issues.

Cheers,
Lukas

PS: OmniBase works very well on Unix if the database is accessed by
only one image at once. Multiple parallel processes within a single
image work fine as well.

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Tooltip with script.aculo.us

Gaetan Le Brun
In reply to this post by Philippe Marschall
I've tested your demo and as you said, it's a bit buggy.
I will try to make it works better.
 
Now I know how to integrate javascript in my web apps :).
 
Thanks for all,
 
Gaëtan
 
On 6/2/06, Philippe Marschall <[hidden email]> wrote:
> Give me a moment and I'll hack a demo together.

http://squeaksource.com/seachart/Tooltip-pmm.1.mcz

- Create a new application with TTDemo as the root component.
- Add SUScriptLibrary
- Add TTScriptLibrary

It's a bit buggy, and does have no CSS at all. You can take it as a
starting point.

Cheers
Philippe
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



--
------------------------------------------------------------
Gaëtan Le Brun
4 avenue Pierre Donzelot
35000 Rennes
------------------------------------------------------------
Email : [hidden email]
Cell : +33 685 226294
------------------------------------------------------------
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Getting Started Recipe

Michael Roberts-2
In reply to this post by Dan Shafer-3
Dan Shafer wrote:
> Is there anywhere a step-by-step recipe for how to get started and build
> a "core" Seaside Web app?

Hi Dan,

I'm not sure if you've got your answer.  What do you mean by a "core"
Seaside web app?

I can tell you how to get 'hello world' going but I'm not sure that's
what you want?

Cheers,

Mike
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Getting Started Recipe

Dan Shafer-3
I was thinking along the lines of using the Counter example. The idea  
is just to provide step-by-step instructions for starting to build a  
Seaside-aware app in Squeak (what do you do first? what do you  
subclass? what do you need installed?) through deployment on a  
typical server configuration. The focus should be on setting up for  
and deploying an app rather than on the "how do you code Seaside"  
kind of stuff (though that probably comes next).

Dan

On Jun 5, 2006, at 2:38 PM, Michael Roberts wrote:

> Dan Shafer wrote:
>> Is there anywhere a step-by-step recipe for how to get started and  
>> build a "core" Seaside Web app?
>
> Hi Dan,
>
> I'm not sure if you've got your answer.  What do you mean by a  
> "core" Seaside web app?
>
> I can tell you how to get 'hello world' going but I'm not sure  
> that's what you want?
>
> Cheers,
>
> Mike
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Getting Started Recipe

Blanchard, Todd
In reply to this post by Dan Shafer-3
Generally, I
Subclass WASession so I can manage app state.
Subclass WAComponent and add method
rendererClass
        ^WARenderCanvas
to get a component-aware base class for all other components.
Subclass my base component to create the home page component and add class side method
canBeRoot
      ^true
Visit the /seaside/config app create a new seaside app, choose my session class for session and home page class for base component and include scriptaculous as a js library for AJAX goodness, and I'm off.



-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Dan Shafer
Sent: Monday, June 05, 2006 2:52 PM
To: The Squeak Enterprise Aubergines Server - general discussion.
Subject: Re: [Seaside] Getting Started Recipe

I was thinking along the lines of using the Counter example. The idea is just to provide step-by-step instructions for starting to build a Seaside-aware app in Squeak (what do you do first? what do you subclass? what do you need installed?) through deployment on a typical server configuration. The focus should be on setting up for and deploying an app rather than on the "how do you code Seaside"  
kind of stuff (though that probably comes next).

Dan

On Jun 5, 2006, at 2:38 PM, Michael Roberts wrote:

> Dan Shafer wrote:
>> Is there anywhere a step-by-step recipe for how to get started and
>> build a "core" Seaside Web app?
>
> Hi Dan,
>
> I'm not sure if you've got your answer.  What do you mean by a "core"
> Seaside web app?
>
> I can tell you how to get 'hello world' going but I'm not sure that's
> what you want?
>
> Cheers,
>
> Mike
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Getting Started Recipe

Michael Roberts-2
In reply to this post by Dan Shafer-3
Dan Shafer wrote:
> I was thinking along the lines of using the Counter example. The idea is
> just to provide step-by-step instructions for starting to build a
> Seaside-aware app in Squeak (what do you do first? what do you subclass?
> what do you need installed?) through deployment on a typical server
> configuration. The focus should be on setting up for and deploying an
> app rather than on the "how do you code Seaside" kind of stuff (though
> that probably comes next).

ah ok, no worries.

There are two parts to this.  The first is confirming that you have got
Seaside working on your local machine.  The second is to write your own
app.  For the first, use the counter example:

1. Start with a pre-loaded Seaside image, e.g. from www.seaside.st.
2. Point your browser at the counter example, e.g.
localhost:9090/seaside/counter

If you see the counter then you can carry on.

3. Subclass WAComponent.

4. Implement the method renderContentOn: e.g.

renderContentOn: html
        html heading: 'Hello'

5. Implement canBeRoot on the class side

canBeRoot
        ^true

6. Implement initialize on the class side
initialize
        "self initialize"
        self registerAsApplication: 'test'

7. Highlight the expression in the comment and do-it.

8. Point your web browser at /seaside/test and you should see 'hello'.

At this point you have your running Seaside app.  You have made a root
component, initialized it and rendered something.  That's it really.

In terms of deploying Seaside on a server I would bow to the more
experienced on this list.  A good starting point would be to run your
image behind a web proxy, e.g Apache, to hide the port from your
clients.  If you read the mailing list archives and tutorials you can
use a rewrite rule or ProxyPass/ProxyReverse to set the proxing up.
Apache isn't the only way of doing it but it's a good start if you
already have Apache on your server host.

What's a typical server configuration?  I don't know.  Do you mean in
terms of software or hardware?  I can't really comment on hardware but a
stack of RAM is clearly going to help.  As for software then you need to
install a VM and drop your seaside image on the box.  Use Monticello to
manage your source code.  Take care of your images. etc.

There are many directions you can take for deployment but I'd
concentrate on writing your app and having fun.

Cheers,

Mike
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
12