Re: Checking in
Otto Behrens <[email protected]> Thu, 27 Feb 2025 08:20:39 +0200
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <CAOJutV5if_3T8NZ8c64=Q0K54h6QD7bkjjYMRShfHfKqXmAYBw@mail.gmail.com> |
--===============6661646305566056608== Content-Type: multipart/alternative; boundary="00000000000003d7e6062f19b141" --00000000000003d7e6062f19b141 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Carl, Should your entry point perhaps be http://localhost:7777/culture/hang.png <http://localhost:7777/hang.png>? Otto Behrens +27 82 809 2375 [image: FINWorks] [image: FINWorks] <http://za.linkedin.com/in/waltherbehrens> www.finworks.biz Disclaimer & Confidentiality Note: This email is intended solely for the use of the individual or entity named above as it may contain information that is confidential and privileged. If you are not the intended recipient, be advised that any dissemination, distribution or copying of this email is strictly prohibited. FINWorks cannot be held liable by any person other than the addressee in respect of any opinions, conclusions, advice or other information contained in this email. On Thu, Feb 27, 2025 at 7:06=E2=80=AFAM Carl Gundel <[email protected]= > wrote: > Thanks Otto. I tried your suggestion, and so the server starts and the > 'culture' entry appears in the seaside page and I can configure it. > > No files seem to be served, sadly, and placing a breakpoint into the > handleFiltered: method (below) doesn't stop there when I try to load a fi= le > in my web browser with http://localhost:7777/hang.png so it seems that > the WaExternalFileLibrary object is not getting its turn to do something > with the request. > > WaExternalFileLibrary>>handleFiltered: aRequestContext > > [ self {breakPoint here} processContext: aRequestContext ] > > on: Error > > do: [ :error | > > aRequestContext responseGenerator > > internalError: error; > > respond ] > I realize that one can use Apache or other web server in front of Seaside= , > but one of the selling points of my product has always been that you don'= t > need Apache. Run BASIC is an easy web programming system for hobbyists, > and so not requiring the web server is an important feature. > > I had no difficulty making this work in Seaside 2.8, and it surprises me > that it is hard to do with newer versions. I'm hoping that it's still > possible if the right bits are twiddled. Do I need to do some additional > configuration? Someover on Discord said that the right class to use is > WAFileMetadataLibrary? ;-) > > Any thoughts appreciated. Thanks again. > > -Carl Gundel, author of Run BASIC > http://www.runbasic.com > > On Wed, Feb 26, 2025 at 11:15=E2=80=AFPM Otto Behrens <[email protected]>= wrote: > >> Hi Carl, >> >> We no longer serve files in this way because we use nginx in front of th= e >> seaside server. From what I can see something like this could work as yo= u >> would be using the current dispatcher. >> >> WADispatcher default register: fileSystem at: 'culture' >> >> HTH >> >> Otto Behrens >> >> +27 82 809 2375 >> [image: FINWorks] >> [image: FINWorks] <http://za.linkedin.com/in/waltherbehrens> >> www.finworks.biz >> >> Disclaimer & Confidentiality Note: This email is intended solely for the >> use of the individual or entity named above as it may contain informatio= n >> that is confidential and privileged. If you are not the intended recipie= nt, >> be advised that any dissemination, distribution or copying of this email= is >> strictly prohibited. FINWorks cannot be held liable by any person other >> than the addressee in respect of any opinions, conclusions, advice or ot= her >> information contained in this email. >> >> >> On Thu, Feb 27, 2025 at 6:05=E2=80=AFAM Carl Gundel <carlg@libertybasic.= com> >> wrote: >> >>> 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 <jupiter.jones@ma= il.com> >>> wrote: >>> >>>> Hi Carl, >>>> >>>> From memory, you shouldn=E2=80=99t need to call updateRoot: on the lib= raries - >>>> 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]> wro= te: >>>> >>>> Well, thanks for your help but no luck. The trouble is that the >>>> WAExternalFileLibrary seems to be broken? I dunno. It throws an exce= ption >>>> 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. Afte= r >>>> 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]> w= rote: >>>> >>>>> Hi Carl, >>>>> >>>>> Disclaimer: I=E2=80=99ve never used a WAExternalFileLibrary so the fo= llowing >>>>> is an educated guess, but hopefully gives you enough info. >>>>> >>>>> I typically configure these kind of things on creation of the >>>>> application with something like a #configureApplication: method on th= e >>>>> 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]> wro= te: >>>>> >>>>> I'm trying a few things trying to make my application serve static >>>>> files. Run BASIC dynamically generates PNG files that are rendered i= nto >>>>> 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 thi= s with >>>>> Seaside 3.5.1 on VW for some reason. If I try to do the following, I= get 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 fo= r the >>>>> instance of WAFileLibrary does not stop. It seems that the WAFileLib= rary >>>>> is not being used. My guess is that it's only for serving 'files' th= at 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] >>>> >>>> >>>> _______________________________________________ >>> seaside mailing list -- [email protected] >>> To unsubscribe send an email to [email protected]= g >>> >> _______________________________________________ >> 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] > --00000000000003d7e6062f19b141 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hi Carl,</div><div><br></div><div>Should your entry p= oint perhaps be=C2=A0<a href=3D"http://localhost:7777/hang.png" target=3D"_= blank">http://localhost:7777/culture/hang.png</a>?<br><br></div><div><div d= ir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><di= v dir=3D"ltr"><div><div dir=3D"ltr"><table width=3D"600" cellpadding=3D"0" = cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;= font-size:medium"><tbody><tr><td width=3D"400" valign=3D"bottom"><p style= =3D"margin:0px;padding:0px"><span style=3D"font-size:18px;color:rgb(146,148= ,151);font-family:Calibri,sans-serif;font-weight:700">Otto Behrens</span><b= r></p><p style=3D"font-size:18px;font-weight:700;color:rgb(146,148,151);fon= t-family:Calibri,sans-serif;margin:0px;padding:0px"><span style=3D"font-siz= e:14px;font-weight:300;margin:0px;padding:0px">+27 82 809 2375</span></p></= td><td width=3D"200" valign=3D"middle"><img src=3D"https://www.finworks.biz= /signature/finworks-signature-logo.png" width=3D"200" height=3D"38" alt=3D"= FINWorks" style=3D"display:block;border:0px;width:200px;height:38px;margin:= 0px;padding:0px"></td></tr></tbody></table><table width=3D"600" cellpadding= =3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family= :Times;font-size:medium"><tbody><tr><td height=3D"5"></td></tr></tbody></ta= ble><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" s= tyle=3D"color:rgb(0,0,0);font-family:Times;font-size:medium;border-bottom:1= px solid rgb(200,28,36)"><tbody><tr><td height=3D"15"></td></tr></tbody></t= able><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" = style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><tbody><tr><t= d height=3D"20"></td></tr></tbody></table><table width=3D"600" cellpadding= =3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family= :Times;font-size:medium"><tbody><tr><td width=3D"15" valign=3D"top" style= =3D"display:inline-block"><a href=3D"http://za.linkedin.com/in/waltherbehre= ns" style=3D"color:rgb(17,85,204)" target=3D"_blank"><img src=3D"https://ww= w.finworks.biz/signature/finworks-linkedin-logo.png" width=3D"15" height=3D= "15" alt=3D"FINWorks" style=3D"display:inline-block;border:0px;width:15px;h= eight:15px;margin-top:1.5px;padding:0px"></a></td><td width=3D"250" valign= =3D"top" style=3D"display:inline-block"><a href=3D"http://www.finworks.biz/= " style=3D"color:rgb(200,28,36);font-family:Calibri,sans-serif;margin-left:= 10px;margin-top:0px;padding-top:0px;font-size:11pt;display:inline-block" ta= rget=3D"_blank">www.finworks.biz</a></td></tr></tbody></table><table width= =3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rg= b(0,0,0);font-family:Times;font-size:medium"><tbody><tr><td height=3D"10"><= /td></tr></tbody></table><table width=3D"600" cellpadding=3D"0" cellspacing= =3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:m= edium"><tbody><tr><td><p style=3D"font-size:10px;color:rgb(146,148,151);fon= t-family:Calibri,sans-serif;text-align:justify">Disclaimer & Confidenti= ality Note: This email is intended solely for the use of the individual or = entity named above as it may contain information that is confidential and p= rivileged. If you are not the intended recipient, be advised that any disse= mination, distribution or copying of this email is strictly prohibited. FIN= Works cannot be held liable by any person other than the addressee in respe= ct of any opinions, conclusions, advice or other information contained in t= his email.</p></td></tr></tbody></table></div></div></div></div></div><br><= /div><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" = class=3D"gmail_attr">On Thu, Feb 27, 2025 at 7:06=E2=80=AFAM Carl Gundel &l= t;<a href=3D"mailto:[email protected]">[email protected]</a>> = wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0= px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir= =3D"ltr"><div class=3D"gmail_attr">Thanks Otto.=C2=A0 I tried your suggesti= on, and so the server starts and the 'culture' entry appears in the= seaside page and I can configure it.</div><div class=3D"gmail_attr"><br></= div><div class=3D"gmail_attr">No files seem to be served, sadly, and placin= g a breakpoint into the handleFiltered: method (below) doesn't stop the= re when I try to load a file in my web browser with <a href=3D"http://local= host:7777/hang.png" target=3D"_blank">http://localhost:7777/hang.png</a> so= it seems that the WaExternalFileLibrary object is not getting its turn to = do something with the request.</div><div class=3D"gmail_attr"><p><span styl= e=3D"font-size:12px">WaExternalFileLibrary>>handleFiltered:=C2=A0</sp= an><span style=3D"font-size:12px">aRequestContext</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"f= ont-size:12px">self {breakPoint here}</span><span style=3D"font-size:12px">= =C2=A0</span><span style=3D"font-size:12px">processContext:</span><span sty= le=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">aRequestC= ontext</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"fon= t-size:12px">]</span><span style=3D"font-size:12px">=C2=A0</span></p><p><sp= an 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">on:</span><span style=3D"font-size= :12px">=C2=A0</span><span style=3D"font-size:12px">Error</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">do:</span><span style=3D"font-size:12p= x">=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">:</span><span style= =3D"font-size:12px">error</span><span style=3D"font-size:12px">=C2=A0</span= ><span style=3D"font-size:12px">|</span><span style=3D"font-size:12px">=C2= =A0</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=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-siz= e:12px">aRequestContext</span><span style=3D"font-size:12px">=C2=A0</span><= span style=3D"font-size:12px">responseGenerator</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=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px= ">internalError:</span><span style=3D"font-size:12px">=C2=A0</span><span st= yle=3D"font-size:12px">error</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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0</span><span st= yle=3D"font-size:12px">respond</span><span style=3D"font-size:12px">=C2=A0<= /span><span style=3D"font-size:12px">]</span></p></div><div class=3D"gmail_= attr">I realize that one can use Apache or other web server in front of Sea= side, but one of the selling points of my product has always been that you = don't need Apache.=C2=A0 Run BASIC is an easy web programming system fo= r hobbyists, and so not requiring the web server is an important feature.</= div><div class=3D"gmail_attr"><br></div><div class=3D"gmail_attr">I had no = difficulty making this work in Seaside 2.8, and it surprises me that it is = hard to do with newer versions.=C2=A0 I'm hoping that it's still po= ssible if the right bits are twiddled.=C2=A0 Do I need to do some additiona= l configuration?=C2=A0 Someover on Discord said that the right class to use= is=C2=A0<span style=3D"font-size:12px">WAFileMetadataLibrary?</span>=C2=A0= ;-)</div><div class=3D"gmail_attr"><br></div><div class=3D"gmail_attr">Any = thoughts appreciated.=C2=A0 Thanks again.</div><div class=3D"gmail_attr"><b= r></div><div class=3D"gmail_attr">-Carl Gundel, author of Run BASIC</div><d= iv class=3D"gmail_attr"><a href=3D"http://www.runbasic.com" target=3D"_blan= k">http://www.runbasic.com</a></div><div class=3D"gmail_attr"><br></div><di= v dir=3D"ltr" class=3D"gmail_attr">On Wed, Feb 26, 2025 at 11:15=E2=80=AFPM= Otto Behrens <<a href=3D"mailto:[email protected]" target=3D"_blank">ot= [email protected]</a>> wrote:<br></div><blockquote class=3D"gmail_quote" s= tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad= ding-left:1ex"><div dir=3D"ltr"><div>Hi Carl,</div><div><br></div><div>We n= o longer serve files in this way because we use nginx in front of the seasi= de server. From what I can see something like this could work as you would = be using the current dispatcher.</div><div><br></div><div>WADispatcher defa= ult register: fileSystem at: 'culture'<br></div><div><br></div><div= >HTH</div><div><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr">= <div><div dir=3D"ltr"><table width=3D"600" cellpadding=3D"0" cellspacing=3D= "0" border=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:medi= um"><tbody><tr><td width=3D"400" valign=3D"bottom"><p style=3D"margin:0px;p= adding:0px"><span style=3D"font-size:18px;color:rgb(146,148,151);font-famil= y:Calibri,sans-serif;font-weight:700">Otto Behrens</span><br></p><p style= =3D"font-size:18px;font-weight:700;color:rgb(146,148,151);font-family:Calib= ri,sans-serif;margin:0px;padding:0px"><span style=3D"font-size:14px;font-we= ight:300;margin:0px;padding:0px">+27 82 809 2375</span></p></td><td width= =3D"200" valign=3D"middle"><img src=3D"https://www.finworks.biz/signature/f= inworks-signature-logo.png" width=3D"200" height=3D"38" alt=3D"FINWorks" st= yle=3D"display: block; border: 0px; width: 200px; height: 38px; margin: 0px= ; padding: 0px;"></td></tr></tbody></table><table width=3D"600" cellpadding= =3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family= :Times;font-size:medium"><tbody><tr><td height=3D"5"></td></tr></tbody></ta= ble><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" s= tyle=3D"color:rgb(0,0,0);font-family:Times;font-size:medium;border-bottom:1= px solid rgb(200,28,36)"><tbody><tr><td height=3D"15"></td></tr></tbody></t= able><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" = style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><tbody><tr><t= d height=3D"20"></td></tr></tbody></table><table width=3D"600" cellpadding= =3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family= :Times;font-size:medium"><tbody><tr><td width=3D"15" valign=3D"top" style= =3D"display:inline-block"><a href=3D"http://za.linkedin.com/in/waltherbehre= ns" target=3D"_blank"><img src=3D"https://www.finworks.biz/signature/finwor= ks-linkedin-logo.png" width=3D"15" height=3D"15" alt=3D"FINWorks" style=3D"= display: inline-block; border: 0px; width: 15px; height: 15px; margin-top: = 1.5px; padding: 0px;"></a></td><td width=3D"250" valign=3D"top" style=3D"di= splay:inline-block"><a href=3D"http://www.finworks.biz/" style=3D"color:rgb= (200,28,36);font-family:Calibri,sans-serif;margin-left:10px;margin-top:0px;= padding-top:0px;font-size:11pt;display:inline-block" target=3D"_blank">www.= finworks.biz</a></td></tr></tbody></table><table width=3D"600" cellpadding= =3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family= :Times;font-size:medium"><tbody><tr><td height=3D"10"></td></tr></tbody></t= able><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" = style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><tbody><tr><t= d><p style=3D"font-size:10px;color:rgb(146,148,151);font-family:Calibri,san= s-serif;text-align:justify">Disclaimer & Confidentiality Note: This ema= il is intended solely for the use of the individual or entity named above a= s it may contain information that is confidential and privileged. If you ar= e not the intended recipient, be advised that any dissemination, distributi= on or copying of this email is strictly prohibited. FINWorks cannot be held= liable by any person other than the addressee in respect of any opinions, = conclusions, advice or other information contained in this email.</p></td><= /tr></tbody></table></div></div></div></div></div><br></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Feb 27, 2025= at 6:05=E2=80=AFAM Carl Gundel <<a href=3D"mailto:[email protected]= m" target=3D"_blank">[email protected]</a>> wrote:<br></div><blockq= uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p= x solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr= ">Hey, I finally got around to trying this.<div><p><span style=3D"font-size= :12px">=C2=A0 fileSystem</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">WAExternalFileLibrary</span><sp= an 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-si= ze:12px">=C2=A0 WADispatcher</span><span style=3D"font-size:12px">=C2=A0</s= pan><span style=3D"font-size:12px">new</span><span style=3D"font-size:12px"= >=C2=A0</span><span style=3D"font-size:12px">register:</span><span style=3D= "font-size:12px">=C2=A0</span><span style=3D"font-size:12px">fileSystem</sp= an><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12p= x">at:</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"fon= t-size:12px">'</span><span style=3D"font-size:12px">culture</span><span= style=3D"font-size:12px">'</span><span style=3D"font-size:12px">.</spa= n></p><p><span style=3D"font-size:12px">=C2=A0 fileSystem</span><span style= =3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">preferenceA= t:</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-si= ze: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:12px">=C2=A0<= /span><span style=3D"font-size:12px">'</span><span style=3D"font-size:1= 2px">c:\rb</span><span style=3D"font-size:12px">dev\public\</span><span sty= le=3D"font-size:12px">'</span></p><p>As soon as I do this, the Seaside = server is broken and I can't even launch a browser on it.=C2=A0 I get t= his:</p><h1 style=3D"font-size:1.6em;font-weight:normal;line-height:1.25em;= margin-bottom:16px;margin-top:0px;font-family:"Segoe UI",Tahoma,s= ans-serif">This site can=E2=80=99t be reached</h1><p></p><p style=3D"displa= y:inline;color:rgb(95,99,104);font-family:"Segoe UI",Tahoma,sans-= serif;font-size:15px"><strong>desktop-m4pvv3o</strong>=C2=A0refused to conn= ect.</p></div><div><p style=3D"display:inline;color:rgb(95,99,104);font-fam= ily:"Segoe UI",Tahoma,sans-serif;font-size:15px"><br></p></div><d= iv><p style=3D"display:inline;color:rgb(95,99,104);font-family:"Segoe = UI",Tahoma,sans-serif;font-size:15px">So, maybe there is something els= e to do?</p></div><div><p style=3D"display:inline;color:rgb(95,99,104);font= -family:"Segoe UI",Tahoma,sans-serif;font-size:15px"><br></p></di= v><div><p style=3D"display:inline;color:rgb(95,99,104);font-family:"Se= goe UI",Tahoma,sans-serif;font-size:15px">-Carl</p></div></div><br><di= v class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Feb 2= 3, 2025 at 8:04=E2=80=AFPM Jupiter Jones <<a href=3D"mailto:jupiter.jone= [email protected]" target=3D"_blank">[email protected]</a>> wrote:<br></di= v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde= r-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Carl,<div><br><= /div><div>From memory, you shouldn=E2=80=99t need to call updateRoot: on th= e libraries - I believe that=E2=80=99s handled automatically.=C2=A0</div><d= iv><br></div><div>In any case, I just installed it to have a look and my ed= ucated guess was totally wrong :)</div><div><br></div><div>From=C2=A0WAExte= rnalFileLibraryTest-#setUp</div><div><br></div><div><div>fileSystem :=3D WA= ExternalFileLibrary new.</div><div>WADispatcher new register: fileSystem at= : =E2=80=98culture'</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 some= thing like=E2=80=A6</div><div><br></div><div><span style=3D"color:rgb(0,0,0= )">fileSystem=C2=A0</span>preferenceAt: #directory put: =E2=80=98/path/to/f= iles=E2=80=99</div><div><br></div><div>If you have no luck, I should have t= ime to give this a go tonight or tomorrow.</div><div><br><blockquote type= =3D"cite"><div>On 24 Feb 2025, at 10:47=E2=80=AFam, Carl G <<a href=3D"m= ailto:[email protected]" target=3D"_blank">[email protected]</a>> = wrote:</div><br><div><div dir=3D"ltr">Well, thanks for your help but no luc= k.=C2=A0 =C2=A0The trouble is that the WAExternalFileLibrary seems to be br= oken?=C2=A0 I dunno.=C2=A0 It throws an exception in this method:<br><br><p= ><span style=3D"font-size:12px">SeasideRenderLoopContinuation>>update= Root:=C2=A0</span><span style=3D"font-size:12px">anHtmlRoot</span></p><p><s= pan 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 s= tyle=3D"font-size:12px">charSet</span><span style=3D"font-size:12px">=C2=A0= </span><span style=3D"font-size:12px">|</span></p><p><span style=3D"font-si= ze:12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">char= Set</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-s= ize:12px">:=3D</span><span style=3D"font-size:12px">=C2=A0</span><span styl= e=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><span style=3D"font-size:12px">contentType</span><span s= tyle=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">charSet= </span><span style=3D"font-size:12px">.</span></p><p><span style=3D"font-si= ze:12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">char= Set</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-s= ize:12px">isNil</span><span style=3D"font-size:12px">=C2=A0</span><span sty= le=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-siz= e:12px">=C2=A0=C2=A0=C2=A0=C2=A0=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">meta</span><span style=3D"font-size:12= px">=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">charSet</sp= an><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12p= x">]</span><span style=3D"font-size:12px">.</span></p><p><span style=3D"fon= t-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">beHtml5</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">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</span><span style=3D"font-size:12px">'</span><span style= =3D"font-size:12px">Seaside</span><span style=3D"font-size:12px">'</spa= n><span style=3D"font-size:12px">.</span></p><p><span style=3D"font-size:12= px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-size:12px">self</spa= n><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><span style= =3D"font-size:12px">libraries</span><span style=3D"font-size:12px">=C2=A0</= 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">do:</span><span sty= le=3D"font-size:12px">=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">:= </span><span style=3D"font-size:12px">each</span><span style=3D"font-size:1= 2px">=C2=A0</span><span style=3D"font-size:12px">|</span><span style=3D"fon= t-size:12px">=C2=A0</span><span style=3D"font-size:12px">each</span><span s= tyle=3D"font-size:12px">=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:</span><span style=3D"font-size:12px">=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">]</span><span style=3D"font-siz= e: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-siz= e:12px">=C2=A0</span><span style=3D"font-size:12px">session</span><span sty= le=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">updateRoo= t:</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-si= ze:12px">anHtmlRoot</span></p><p><span style=3D"font-size:12px">It DNUs whe= n it tried to send #default to the library.=C2=A0 I wonder if I can make my= own subclass of WAFileLibrary and extend it to serve files from a disk fol= der.</span></p><p>It's just puzzling that there isn't a ready made = way to do this.=C2=A0 After WAExternalFileLibrary does work in Seaside 2.8.= </p><p>I was hoping to find an answer in the Seaside book at=C2=A0<a href= =3D"http://book.seaside.st/book" target=3D"_blank">http://book.seaside.st/b= ook</a>=C2=A0but the web page is hug or something.=C2=A0 It was working a f= ew days ago.</p><p>Whose bell do I ring to get that rebooted?</p><p>-Carl</= p></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr= ">On Sun, Feb 23, 2025 at 5:23=E2=80=AFPM <<a href=3D"mailto:terra.austr= [email protected]" target=3D"_blank">[email protected]</a>> wrote= :<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.= 8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Carl,<= div><br></div><div>Disclaimer: I=E2=80=99ve never used a=C2=A0WAExternalFil= eLibrary so the following is an educated guess, but hopefully gives you eno= ugh info.<br><div><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>configureApplication: anApplication</div><div>anApplication preferenc= eAt: #sessionClass put: MySession.</div><div>anApplication configuration</d= iv><div>addParent: MySystemConfiguration instance.</div><div>anApplication<= /div><div>addLibrary: WAExternalFileLibrary;</div><div>addLibrary: JQDevelo= pmentLibrary.</div><div>anApplication</div><div>preferenceAt: #directory pu= t: =E2=80=98/path/to/serve/from=E2=80=99.</div><div><br></div><div>Then cal= l this method from the method that installs the web app=E2=80=A6</div><div>= <br></div><div><div>register</div><div>self configureApplication: (WAAdmin = register: self asApplicationAt: =E2=80=98MyAppName')</div></div><div><b= r></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 = <<a href=3D"mailto:[email protected]" target=3D"_blank">basicforge@gm= ail.com</a>> wrote:</div><br><div><div dir=3D"ltr">I'm trying a few = things trying to make my application serve static files.=C2=A0 Run BASIC dy= namically generates PNG files that are rendered into the web page, but I ca= nnot figure out how to make=C2=A0it work after hours of head banging.=C2=A0= The old version of Seaside allows me to add WAExternalFileLibrary in the c= onfiguration page.=C2=A0 But I cannot do this with Seaside 3.5.1 on VW for = some reason.=C2=A0 If I try to do the following, I get a debugger when I la= unch the app.<div><br></div><div>=C2=A0 (WADispatcher default handlers at: = 'runbasicpersonal')=C2=A0<br>=C2=A0 =C2=A0 addLibrary: WAExternalFi= leLibrary<br><br></div><div>If I substitute WAFileLibrary it doesn't bl= ow up, but it doesn't seem to do=C2=A0anything either.=C2=A0 Putting a = breakpoint in the handle: method for the instance of WAFileLibrary does not= stop.=C2=A0 It seems that the WAFileLibrary is not being used.=C2=A0 My gu= ess is that it's only for serving 'files' that are in-memory an= yways but I tried it just to see if I could anything work.</div><div><br></= div><div>Any ideas?=C2=A0 What the simplest possible way to add external fi= le serving to my Seaside app?=C2=A0 I absolutely do not want my users to ne= ed Apache or something else.=C2=A0 The current version doesn't require = it.</div><div><br></div><div>Thanks in advance.</div><div><br></div><div>-C= arl Gundel, author of Run BASIC</div><div><a href=3D"http://www.runbasic.co= m/" target=3D"_blank">http://www.runbasic.com</a></div></div>______________= _________________________________<br>seaside mailing list --=C2=A0<a href= =3D"mailto:[email protected]" target=3D"_blank">seaside@li= sts.squeakfoundation.org</a><br>To unsubscribe send an email to=C2=A0<a hre= f=3D"mailto:[email protected]" target=3D"_blank">sea= [email protected]</a><br></div></blockquote><br></div><= /div></blockquote></div>_______________________________________________<br>= seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= on.org" target=3D"_blank">[email protected]</a><br>To unsu= bscribe send an email to=C2=A0<a href=3D"mailto:[email protected]= oundation.org" target=3D"_blank">[email protected]</= a><div></div><div><br></div></div></blockquote></div><div><br></div></div><= /div></blockquote></div></div>_____________________________________________= __<br>seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= undation.org" target=3D"_blank">[email protected]</a><br>T= o unsubscribe send an email to=C2=A0<a href=3D"mailto:[email protected]= queakfoundation.org" target=3D"_blank">[email protected]= .org</a><br></blockquote></div>____________________________________________= ___<br>seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= oundation.org" target=3D"_blank">[email protected]</a><br>= To unsubscribe send an email to=C2=A0<a href=3D"mailto:seaside-leave@lists.= squeakfoundation.org" target=3D"_blank">[email protected]= n.org</a></blockquote></div> _______________________________________________<br> seaside mailing list -- <a href=3D"mailto:[email protected]= g" target=3D"_blank">[email protected]</a><br> To unsubscribe send an email to <a href=3D"mailto:[email protected]= kfoundation.org" target=3D"_blank">[email protected]= </a><br> </blockquote></div> --00000000000003d7e6062f19b141-- --===============6661646305566056608== 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] --===============6661646305566056608==--