Re: Checking in

Carl G <[email protected]> Wed, 26 Feb 2025 23:02:04 -0500
Newsgroups gmane.comp.lang.smalltalk.squeak.seaside
Message-ID <CAPYvR9d4CU-1vmPNSAZOeJEyVXJufU28qYUG-ErUdmteBWRddg@mail.gmail.com>
--===============1001524204433457813==
Content-Type: multipart/alternative; boundary="00000000000080dd44062f17c1c9"

--00000000000080dd44062f17c1c9
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hey, I finally got around to trying this.

fileSystem :=3D WAExternalFileLibrary new.

WADispatcher new register: fileSystem at: 'culture'.

fileSystem preferenceAt: #directory put: 'c:\rbdev\public\'

As soon as I do this, the Seaside server is broken and I can't even launch
a browser on it.  I get this:
This site can=E2=80=99t be reached

*desktop-m4pvv3o* refused to connect.


So, maybe there is something else to do?


-Carl

On Sun, Feb 23, 2025 at 8:04=E2=80=AFPM Jupiter Jones <[email protected]=
om>
wrote:

> Hi Carl,
>
> From memory, you shouldn=E2=80=99t need to call updateRoot: on the librar=
ies - I
> believe that=E2=80=99s handled automatically.
>
> In any case, I just installed it to have a look and my educated guess was
> totally wrong :)
>
> From WAExternalFileLibraryTest-#setUp
>
> fileSystem :=3D WAExternalFileLibrary new.
> WADispatcher new register: fileSystem at: =E2=80=98culture'
>
> I guess you might be able to set the directory to serve files from the UI=
,
> or maybe in code with something like=E2=80=A6
>
> fileSystem preferenceAt: #directory put: =E2=80=98/path/to/files=E2=80=99
>
> If you have no luck, I should have time to give this a go tonight or
> tomorrow.
>
> On 24 Feb 2025, at 10:47=E2=80=AFam, Carl G <[email protected]> wrote:
>
> Well, thanks for your help but no luck.   The trouble is that the
> WAExternalFileLibrary seems to be broken?  I dunno.  It throws an excepti=
on
> in this method:
>
> SeasideRenderLoopContinuation>>updateRoot: anHtmlRoot
>
>     | charSet |
>
>     charSet :=3D self application contentType charSet.
>
>     charSet isNil ifFalse: [
>
>         anHtmlRoot meta charset: charSet ].
>
>     anHtmlRoot beHtml5.
>
>     anHtmlRoot title: 'Seaside'.
>
>     self application libraries
>
>         do: [ :each | each default updateRoot: anHtmlRoot ].
>
>     self session updateRoot: anHtmlRoot
>
> It DNUs when it tried to send #default to the library.  I wonder if I can
> make my own subclass of WAFileLibrary and extend it to serve files from a
> disk folder.
>
> It's just puzzling that there isn't a ready made way to do this.  After
> WAExternalFileLibrary does work in Seaside 2.8.
>
> I was hoping to find an answer in the Seaside book at
> http://book.seaside.st/book but the web page is hug or something.  It was
> working a few days ago.
>
> Whose bell do I ring to get that rebooted?
>
> -Carl
>
> On Sun, Feb 23, 2025 at 5:23=E2=80=AFPM <[email protected]> wrot=
e:
>
>> Hi Carl,
>>
>> Disclaimer: I=E2=80=99ve never used a WAExternalFileLibrary so the follo=
wing is
>> an educated guess, but hopefully gives you enough info.
>>
>> I typically configure these kind of things on creation of the applicatio=
n
>> with something like a #configureApplication: method on the class side of=
 my
>> root component...
>>
>> configureApplication: anApplication
>> anApplication preferenceAt: #sessionClass put: MySession.
>> anApplication configuration
>> addParent: MySystemConfiguration instance.
>> anApplication
>> addLibrary: WAExternalFileLibrary;
>> addLibrary: JQDevelopmentLibrary.
>> anApplication
>> preferenceAt: #directory put: =E2=80=98/path/to/serve/from=E2=80=99.
>>
>> Then call this method from the method that installs the web app=E2=80=A6
>>
>> register
>> self configureApplication: (WAAdmin register: self asApplicationAt:
>> =E2=80=98MyAppName')
>>
>> Cheers
>>
>>
>>
>> On 24 Feb 2025, at 8:56=E2=80=AFam, Carl G <[email protected]> wrote:
>>
>> I'm trying a few things trying to make my application serve static
>> files.  Run BASIC dynamically generates PNG files that are rendered into
>> the web page, but I cannot figure out how to make it work after hours of
>> head banging.  The old version of Seaside allows me to add
>> WAExternalFileLibrary in the configuration page.  But I cannot do this w=
ith
>> Seaside 3.5.1 on VW for some reason.  If I try to do the following, I ge=
t a
>> debugger when I launch the app.
>>
>>   (WADispatcher default handlers at: 'runbasicpersonal')
>>     addLibrary: WAExternalFileLibrary
>>
>> If I substitute WAFileLibrary it doesn't blow up, but it doesn't seem to
>> do anything either.  Putting a breakpoint in the handle: method for the
>> instance of WAFileLibrary does not stop.  It seems that the WAFileLibrar=
y
>> is not being used.  My guess is that it's only for serving 'files' that =
are
>> in-memory anyways but I tried it just to see if I could anything work.
>>
>> Any ideas?  What the simplest possible way to add external file serving
>> to my Seaside app?  I absolutely do not want my users to need Apache or
>> something else.  The current version doesn't require it.
>>
>> Thanks in advance.
>>
>> -Carl Gundel, author of Run BASIC
>> http://www.runbasic.com
>> _______________________________________________
>> seaside mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>>
>> _______________________________________________
> seaside mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
>
>

--00000000000080dd44062f17c1c9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey, I finally got around to trying this.<div><br></div><d=
iv><p><span style=3D"font-size:12px">fileSystem</span><span style=3D"font-s=
ize:12px">=C2=A0</span><span style=3D"font-size:12px">:=3D</span><span styl=
e=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">WAExternal=
FileLibrary</span><span style=3D"font-size:12px">=C2=A0</span><span style=
=3D"font-size:12px">new</span><span style=3D"font-size:12px">.</span></p><p=
><span style=3D"font-size:12px">WADispatcher</span><span style=3D"font-size=
:12px">=C2=A0</span><span style=3D"font-size:12px">new</span><span style=3D=
"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">register:</spa=
n><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px=
">fileSystem</span><span style=3D"font-size:12px">=C2=A0</span><span style=
=3D"font-size:12px">at:</span><span style=3D"font-size:12px">=C2=A0</span><=
span style=3D"font-size:12px">&#39;</span><span style=3D"font-size:12px">cu=
lture</span><span style=3D"font-size:12px">&#39;</span><span style=3D"font-=
size:12px">.</span></p><p><span style=3D"font-size:12px">fileSystem</span><=
span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">p=
referenceAt:</span><span style=3D"font-size:12px">=C2=A0</span><span style=
=3D"font-size:12px">#directory</span><span style=3D"font-size:12px">=C2=A0<=
/span><span style=3D"font-size:12px">put:</span><span style=3D"font-size:12=
px">=C2=A0</span><span style=3D"font-size:12px">&#39;</span><span style=3D"=
font-size:12px">c:\rb</span><span style=3D"font-size:12px">dev\public\</spa=
n><span style=3D"font-size:12px">&#39;</span></p><p>As soon as I do this, t=
he Seaside server is broken and I can&#39;t even launch a browser on it.=C2=
=A0 I get this:</p><h1 style=3D"font-size:1.6em;font-weight:normal;line-hei=
ght:1.25em;margin-bottom:16px;margin-top:0px;font-family:&quot;Segoe UI&quo=
t;,Tahoma,sans-serif">This site can=E2=80=99t be reached</h1><p></p><p styl=
e=3D"display:inline;color:rgb(95,99,104);font-family:&quot;Segoe UI&quot;,T=
ahoma,sans-serif;font-size:15px"><strong style=3D"overflow-wrap: break-word=
;">desktop-m4pvv3o</strong>=C2=A0refused to connect.</p></div><div><p style=
=3D"display:inline;color:rgb(95,99,104);font-family:&quot;Segoe UI&quot;,Ta=
homa,sans-serif;font-size:15px"><br></p></div><div><p style=3D"display:inli=
ne;color:rgb(95,99,104);font-family:&quot;Segoe UI&quot;,Tahoma,sans-serif;=
font-size:15px">So, maybe there is something else to do?</p></div><div><p s=
tyle=3D"display:inline;color:rgb(95,99,104);font-family:&quot;Segoe UI&quot=
;,Tahoma,sans-serif;font-size:15px"><br></p></div><div><p style=3D"display:=
inline;color:rgb(95,99,104);font-family:&quot;Segoe UI&quot;,Tahoma,sans-se=
rif;font-size:15px">-Carl</p></div></div><br><div class=3D"gmail_quote gmai=
l_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Feb 23, 20=
25 at 8:04=E2=80=AFPM Jupiter Jones &lt;<a href=3D"mailto:jupiter.jones@mai=
l.com">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex"><div>Hi Carl,<div><br></div><div>From memory, =
you shouldn=E2=80=99t need to call updateRoot: on the libraries - I believe=
 that=E2=80=99s handled automatically.=C2=A0</div><div><br></div><div>In an=
y case, I just installed it to have a look and my educated guess was totall=
y wrong :)</div><div><br></div><div>From=C2=A0WAExternalFileLibraryTest-#se=
tUp</div><div><br></div><div><div>fileSystem :=3D WAExternalFileLibrary new=
.</div><div>WADispatcher new register: fileSystem at: =E2=80=98culture&#39;=
</div><div><br></div><div>I guess you might be able to set the directory to=
 serve files from the UI, or maybe in code with something like=E2=80=A6</di=
v><div><br></div><div><span style=3D"color:rgb(0,0,0)">fileSystem=C2=A0</sp=
an>preferenceAt: #directory put: =E2=80=98/path/to/files=E2=80=99</div><div=
><br></div><div>If you have no luck, I should have time to give this a go t=
onight or tomorrow.</div><div><br><blockquote type=3D"cite"><div>On 24 Feb =
2025, at 10:47=E2=80=AFam, Carl G &lt;<a href=3D"mailto:[email protected]=
m" target=3D"_blank">[email protected]</a>&gt; wrote:</div><br><div><div=
 dir=3D"ltr">Well, thanks for your help but no luck.=C2=A0 =C2=A0The troubl=
e is that the WAExternalFileLibrary seems to be broken?=C2=A0 I dunno.=C2=
=A0 It throws an exception in this method:<br><br><p><span style=3D"font-si=
ze:12px">SeasideRenderLoopContinuation&gt;&gt;updateRoot:=C2=A0</span><span=
 style=3D"font-size:12px">anHtmlRoot</span></p><p><span style=3D"font-size:=
12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">|</span=
><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px"=
>charSet</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"f=
ont-size:12px">|</span></p><p><span style=3D"font-size:12px">=C2=A0=C2=A0=
=C2=A0=C2=A0</span><span style=3D"font-size:12px">charSet</span><span style=
=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">:=3D</span>=
<span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">=
self</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-=
size:12px">application</span><span style=3D"font-size:12px">=C2=A0</span><s=
pan style=3D"font-size:12px">contentType</span><span style=3D"font-size:12p=
x">=C2=A0</span><span style=3D"font-size:12px">charSet</span><span style=3D=
"font-size:12px">.</span></p><p><span style=3D"font-size:12px">=C2=A0=C2=A0=
=C2=A0=C2=A0</span><span style=3D"font-size:12px">charSet</span><span style=
=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">isNil</span=
><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px"=
>ifFalse:</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"=
font-size:12px">[</span></p><p><span style=3D"font-size:12px">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">a=
nHtmlRoot</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"=
font-size:12px">meta</span><span style=3D"font-size:12px">=C2=A0</span><spa=
n style=3D"font-size:12px">charset:</span><span style=3D"font-size:12px">=
=C2=A0</span><span style=3D"font-size:12px">charSet</span><span style=3D"fo=
nt-size:12px">=C2=A0</span><span style=3D"font-size:12px">]</span><span sty=
le=3D"font-size:12px">.</span></p><p><span style=3D"font-size:12px">=C2=A0=
=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">anHtmlRoot</span><s=
pan style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">be=
Html5</span><span style=3D"font-size:12px">.</span></p><p><span style=3D"fo=
nt-size:12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px"=
>anHtmlRoot</span><span style=3D"font-size:12px">=C2=A0</span><span style=
=3D"font-size:12px">title:</span><span style=3D"font-size:12px">=C2=A0</spa=
n><span style=3D"font-size:12px">&#39;</span><span style=3D"font-size:12px"=
>Seaside</span><span style=3D"font-size:12px">&#39;</span><span style=3D"fo=
nt-size:12px">.</span></p><p><span style=3D"font-size:12px">=C2=A0=C2=A0=C2=
=A0=C2=A0</span><span style=3D"font-size:12px">self</span><span style=3D"fo=
nt-size:12px">=C2=A0</span><span style=3D"font-size:12px">application</span=
><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px"=
>libraries</span><span style=3D"font-size:12px">=C2=A0</span></p><p><span s=
tyle=3D"font-size:12px">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0</s=
pan><span style=3D"font-size:12px">do:</span><span style=3D"font-size:12px"=
>=C2=A0</span><span style=3D"font-size:12px">[</span><span style=3D"font-si=
ze:12px">=C2=A0</span><span style=3D"font-size:12px">:</span><span style=3D=
"font-size:12px">each</span><span style=3D"font-size:12px">=C2=A0</span><sp=
an style=3D"font-size:12px">|</span><span style=3D"font-size:12px">=C2=A0</=
span><span style=3D"font-size:12px">each</span><span style=3D"font-size:12p=
x">=C2=A0</span><span style=3D"font-size:12px">default</span><span style=3D=
"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">updateRoot:</s=
pan><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12=
px">anHtmlRoot</span><span style=3D"font-size:12px">=C2=A0</span><span styl=
e=3D"font-size:12px">]</span><span style=3D"font-size:12px">.</span></p><p>=
<span style=3D"font-size:12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=
=3D"font-size:12px">self</span><span style=3D"font-size:12px">=C2=A0</span>=
<span style=3D"font-size:12px">session</span><span style=3D"font-size:12px"=
>=C2=A0</span><span style=3D"font-size:12px">updateRoot:</span><span style=
=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">anHtmlRoot<=
/span></p><p><span style=3D"font-size:12px">It DNUs when it tried to send #=
default to the library.=C2=A0 I wonder if I can make my own subclass of WAF=
ileLibrary and extend it to serve files from a disk folder.</span></p><p>It=
&#39;s just puzzling that there isn&#39;t a ready made way to do this.=C2=
=A0 After WAExternalFileLibrary does work in Seaside 2.8.</p><p>I was hopin=
g to find an answer in the Seaside book at <a href=3D"http://book.seaside.s=
t/book" target=3D"_blank">http://book.seaside.st/book</a> but the web page =
is hug or something.=C2=A0 It was working a few days ago.</p><p>Whose bell =
do I ring to get that rebooted?</p><p>-Carl</p></div><br><div class=3D"gmai=
l_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Feb 23, 2025 at 5:23=
=E2=80=AFPM &lt;<a href=3D"mailto:[email protected]" target=3D"_bl=
ank">[email protected]</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div>Hi Carl,<div><br></div><div>Disclaime=
r: I=E2=80=99ve never used a=C2=A0<span>WAExternalFileLibrary so the follow=
ing is an educated guess, but hopefully gives you enough info.</span><br><d=
iv><br></div><div>I typically configure these kind of things on creation of=
 the application with something like a #configureApplication: method on the=
 class side of my root component...</div><div><br></div><div><div>configure=
Application: anApplication</div><div><span style=3D"white-space:pre-wrap">	=
</span>anApplication preferenceAt: #sessionClass put: MySession.</div><div>=
<span style=3D"white-space:pre-wrap">	</span>anApplication configuration</d=
iv><div><span style=3D"white-space:pre-wrap">		</span>addParent: MySystemCo=
nfiguration instance.</div><div><span style=3D"white-space:pre-wrap">	</spa=
n>anApplication</div><div><span style=3D"white-space:pre-wrap">		</span>add=
Library: WAExternalFileLibrary;</div><div><span style=3D"white-space:pre-wr=
ap">		</span>addLibrary: JQDevelopmentLibrary.</div><div><span style=3D"whi=
te-space:pre-wrap">	</span>anApplication</div><div><span style=3D"white-spa=
ce:pre-wrap">		</span>preferenceAt: #directory put: =E2=80=98/path/to/serve=
/from=E2=80=99.</div><div><br></div><div>Then call this method from the met=
hod that installs the web app=E2=80=A6</div><div><br></div><div><div>regist=
er</div><div><span style=3D"white-space:pre-wrap">	</span>self configureApp=
lication: (WAAdmin register: self asApplicationAt: =E2=80=98MyAppName&#39;)=
</div></div><div><br></div><div>Cheers</div></div></div><div><br></div><div=
><br></div><div><br><blockquote type=3D"cite"><div>On 24 Feb 2025, at 8:56=
=E2=80=AFam, Carl G &lt;<a href=3D"mailto:[email protected]" target=3D"_=
blank">[email protected]</a>&gt; wrote:</div><br><div><div dir=3D"ltr">I=
&#39;m trying a few things trying to make my application serve static files=
.=C2=A0 Run BASIC dynamically generates PNG files that are rendered into th=
e web page, but I cannot figure out how to make=C2=A0it work after hours of=
 head banging.=C2=A0 The old version of Seaside allows me to add WAExternal=
FileLibrary in the configuration page.=C2=A0 But I cannot do this with Seas=
ide 3.5.1 on VW for some reason.=C2=A0 If I try to do the following, I get =
a debugger when I launch the app.<div><br></div><div>=C2=A0 (WADispatcher d=
efault handlers at: &#39;runbasicpersonal&#39;)=C2=A0<br>=C2=A0 =C2=A0 addL=
ibrary: WAExternalFileLibrary<br><br></div><div>If I substitute WAFileLibra=
ry it doesn&#39;t blow up, but it doesn&#39;t seem to do=C2=A0anything eith=
er.=C2=A0 Putting a breakpoint in the handle: method for the instance of WA=
FileLibrary does not stop.=C2=A0 It seems that the WAFileLibrary is not bei=
ng used.=C2=A0 My guess is that it&#39;s only for serving &#39;files&#39; t=
hat are in-memory anyways but I tried it just to see if I could anything wo=
rk.</div><div><br></div><div>Any ideas?=C2=A0 What the simplest possible wa=
y to add external file serving to my Seaside app?=C2=A0 I absolutely do not=
 want my users to need Apache or something else.=C2=A0 The current version =
doesn&#39;t require it.</div><div><br></div><div>Thanks in advance.</div><d=
iv><br></div><div>-Carl Gundel, author of Run BASIC</div><div><a href=3D"ht=
tp://www.runbasic.com/" target=3D"_blank">http://www.runbasic.com</a></div>=
</div>_______________________________________________<br>seaside mailing li=
st -- <a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a><br>To unsubscribe send an email t=
o <a href=3D"mailto:[email protected]" target=3D"_bl=
ank">[email protected]</a><br></div></blockquote><br=
></div></div></blockquote></div>
_______________________________________________<br>seaside mailing list -- =
<a href=3D"mailto:[email protected]" target=3D"_blank">sea=
[email protected]</a><br>To unsubscribe send an email to <a h=
ref=3D"mailto:[email protected]" target=3D"_blank">s=
[email protected]</a><br></div></blockquote></div><br=
></div></div></blockquote></div>

--00000000000080dd44062f17c1c9--

--===============1001524204433457813==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
seaside mailing list -- [email protected]
To unsubscribe send an email to [email protected]

--===============1001524204433457813==--