Re: Checking in
Carl G <[email protected]> Thu, 27 Feb 2025 10:00:58 -0500
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <CAPYvR9deKXO_fGGt5Xmz=9j0D_rpNtWgr+K=gAngjupyrE0+aw@mail.gmail.com> |
--===============6006389428062392483== Content-Type: multipart/alternative; boundary="000000000000e2b2da062f20f5db" --000000000000e2b2da062f20f5db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Wow Otto, that did it! I'm so glad. Thanks to you and to everyone else who has helped me to figure this out. I would like to not need to specify the 'culture' part of the path, but this will do nicely for now, and now that it works I can apply some energy later to making it work exactly as I desire! Thanks again! -Carl On Thu, Feb 27, 2025 at 1:20=E2=80=AFAM Otto Behrens <[email protected]> wr= ote: > 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 recipien= t, > 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 oth= er > information contained in this email. > > > On Thu, Feb 27, 2025 at 7:06=E2=80=AFAM Carl Gundel <[email protected]= om> > 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 f= ile >> 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 tha= t >> 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 additiona= l >> 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 >>> the seaside server. From what I can see something like this could work = as >>> you 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 th= e >>> use of the individual or entity named above as it may contain informati= on >>> that is confidential and privileged. If you are not the intended recipi= ent, >>> be advised that any dissemination, distribution or copying of this emai= l is >>> strictly prohibited. FINWorks cannot be held liable by any person other >>> than the addressee in respect of any opinions, conclusions, advice or o= ther >>> 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@m= ail.com> >>>> wrote: >>>> >>>>> Hi Carl, >>>>> >>>>> From memory, you shouldn=E2=80=99t need to call updateRoot: on the li= braries - >>>>> 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 th= e >>>>> 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]> wr= ote: >>>>> >>>>> Well, thanks for your help but no luck. The trouble is that the >>>>> WAExternalFileLibrary seems to be broken? I dunno. It throws an exc= eption >>>>> 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 file= s 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]> = wrote: >>>>> >>>>>> Hi Carl, >>>>>> >>>>>> Disclaimer: I=E2=80=99ve never used a WAExternalFileLibrary so the f= ollowing >>>>>> 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 t= he >>>>>> 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]> wr= ote: >>>>>> >>>>>> 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 hour= s of >>>>>> head banging. The old version of Seaside allows me to add >>>>>> WAExternalFileLibrary in the configuration page. But I cannot do th= is 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 see= m >>>>>> to do anything either. Putting a breakpoint in the handle: method f= or the >>>>>> instance of WAFileLibrary does not stop. It seems that the WAFileLi= brary >>>>>> is not being used. My guess is that it's only for serving 'files' t= hat are >>>>>> in-memory anyways but I tried it just to see if I could anything wor= k. >>>>>> >>>>>> Any ideas? What the simplest possible way to add external file >>>>>> serving to my Seaside app? I absolutely do not want my users to nee= d >>>>>> 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] >>>> >>> _______________________________________________ >>> 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] > --000000000000e2b2da062f20f5db Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Wow Otto, that did it!=C2=A0 I'm so glad.=C2=A0 T= hanks to you and to everyone else who has helped me to figure this out.=C2= =A0 I would like to not need to specify the 'culture' part of the p= ath, but this will do nicely for now, and now that it works I can apply som= e energy later to making it work exactly as I desire!</div><div><br></div><= div>Thanks again!</div><div><br></div><div>-Carl</div><br><div class=3D"gma= il_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Th= u, Feb 27, 2025 at 1:20=E2=80=AFAM Otto Behrens <<a href=3D"mailto:otto@= finworks.biz">[email protected]</a>> 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 dir=3D"ltr"><div>Hi Carl,</div><div><= br></div><div>Should your entry point perhaps be=C2=A0<a href=3D"http://loc= alhost:7777/hang.png" target=3D"_blank">http://localhost:7777/culture/hang.= png</a>?<br><br></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" ce= llspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;fo= nt-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><br></= p><p style=3D"font-size:18px;font-weight:700;color:rgb(146,148,151);font-fa= mily:Calibri,sans-serif;margin:0px;padding:0px"><span style=3D"font-size:14= px;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/sig= nature/finworks-signature-logo.png" width=3D"200" height=3D"38" alt=3D"FINW= orks" style=3D"display: block; border: 0px; width: 200px; height: 38px; mar= gin: 0px; padding: 0px;"></td></tr></tbody></table><table width=3D"600" cel= lpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);fon= t-family:Times;font-size:medium"><tbody><tr><td height=3D"5"></td></tr></tb= ody></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;border-= bottom:1px solid rgb(200,28,36)"><tbody><tr><td height=3D"15"></td></tr></t= body></table><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" borde= r=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><tbod= y><tr><td height=3D"20"></td></tr></tbody></table><table width=3D"600" cell= padding=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/walther= behrens" style=3D"color:rgb(17,85,204)" target=3D"_blank"><img src=3D"https= ://www.finworks.biz/signature/finworks-linkedin-logo.png" width=3D"15" heig= ht=3D"15" alt=3D"FINWorks" style=3D"display: inline-block; border: 0px; wid= th: 15px; height: 15px; margin-top: 1.5px; padding: 0px;"></a></td><td widt= h=3D"250" valign=3D"top" style=3D"display:inline-block"><a href=3D"http://w= ww.finworks.biz/" style=3D"color:rgb(200,28,36);font-family:Calibri,sans-se= rif;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></tab= le><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" border=3D"0" st= yle=3D"color:rgb(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:Ti= mes;font-size:medium"><tbody><tr><td><p style=3D"font-size:10px;color:rgb(1= 46,148,151);font-family:Calibri,sans-serif;text-align:justify">Disclaimer &= amp; Confidentiality Note: This email is intended solely for the use of the= individual or entity named above as it may contain information that is con= fidential 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 add= ressee 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 7:06=E2=80=AFAM Carl Gundel <<a = href=3D"mailto:[email protected]" target=3D"_blank">carlg@libertybasic= .com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar= gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1= ex"><div dir=3D"ltr"><div class=3D"gmail_attr">Thanks Otto.=C2=A0 I tried y= our suggestion, and so the server starts and the 'culture' entry ap= pears 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 placing a breakpoint into the handleFiltered: method (below) doesn= 9;t stop there when I try to load a file in my web browser with <a href=3D"= http://localhost:7777/hang.png" target=3D"_blank">http://localhost:7777/han= g.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 style=3D"font-size:12px">WaExternalFileLibrary>>handleFiltere= d:=C2=A0</span><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><sp= an style=3D"font-size:12px">self {breakPoint here}</span><span style=3D"fon= t-size:12px">=C2=A0</span><span style=3D"font-size:12px">processContext:</s= pan><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12= px">aRequestContext</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</sp= an></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">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:12px">=C2=A0</span><span style=3D"font-size:12px">[</span><span s= tyle=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-siz= e: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-size: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 style=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 style=3D"font-size:12px">respond</span><span style=3D"font-siz= e: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 Seaside, 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 progra= mming system for hobbyists, and so not requiring the web server is an impor= tant 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 possible if the right bits are twiddled.=C2=A0 Do I need to do= some additional configuration?=C2=A0 Someover on Discord said that the rig= ht class to use is=C2=A0<span style=3D"font-size:12px">WAFileMetadataLibrar= y?</span>=C2=A0;-)</div><div class=3D"gmail_attr"><br></div><div class=3D"g= mail_attr">Any thoughts appreciated.=C2=A0 Thanks again.</div><div class=3D= "gmail_attr"><br></div><div class=3D"gmail_attr">-Carl Gundel, author of Ru= n BASIC</div><div class=3D"gmail_attr"><a href=3D"http://www.runbasic.com" = target=3D"_blank">http://www.runbasic.com</a></div><div class=3D"gmail_attr= "><br></div><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Feb 26, 2025 at 1= 1:15=E2=80=AFPM Otto Behrens <<a href=3D"mailto:[email protected]" targe= t=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(2= 04,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi Carl,</div><div><br>= </div><div>We no longer serve files in this way because we use nginx in fro= nt of the seaside server. From what I can see something like this could wor= k as you would be using the current dispatcher.</div><div><br></div><div>WA= Dispatcher default register: fileSystem at: 'culture'<br></div><div= ><br></div><div>HTH</div><div><div dir=3D"ltr" class=3D"gmail_signature"><d= iv 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></table><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" bo= rder=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium;bor= der-bottom:1px solid rgb(200,28,36)"><tbody><tr><td height=3D"15"></td></tr= ></tbody></table><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" b= order=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><= tbody><tr><td 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"t= op" style=3D"display:inline-block"><a href=3D"http://za.linkedin.com/in/wal= therbehrens" target=3D"_blank"><img src=3D"https://www.finworks.biz/signatu= re/finworks-linkedin-logo.png" width=3D"15" height=3D"15" alt=3D"FINWorks" = style=3D"display: inline-block; border: 0px; width: 15px; height: 15px; mar= gin-top: 1.5px; padding: 0px;"></a></td><td width=3D"250" valign=3D"top" st= yle=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" target=3D"_bl= ank">www.finworks.biz</a></td></tr></tbody></table><table width=3D"600" cel= lpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"color:rgb(0,0,0);fon= t-family:Times;font-size:medium"><tbody><tr><td height=3D"10"></td></tr></t= body></table><table width=3D"600" cellpadding=3D"0" cellspacing=3D"0" borde= r=3D"0" style=3D"color:rgb(0,0,0);font-family:Times;font-size:medium"><tbod= y><tr><td><p style=3D"font-size:10px;color:rgb(146,148,151);font-family:Cal= ibri,sans-serif;text-align:justify">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. I= f you are not the intended recipient, be advised that any dissemination, di= stribution or copying of this email is strictly prohibited. FINWorks cannot= be held liable by any person other than the addressee in respect of any op= inions, conclusions, advice or other information contained in this email.</= p></td></tr></tbody></table></div></div></div></div></div><br></div><br><di= v class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Feb 2= 7, 2025 at 6:05=E2=80=AFAM Carl Gundel <<a href=3D"mailto:carlg@libertyb= asic.com" 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 dir=3D"ltr"><div dir= =3D"ltr">Hey, I finally got around to trying this.<div><p><span style=3D"fo= nt-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:1= 2px">=C2=A0</span><span style=3D"font-size:12px">WAExternalFileLibrary</spa= n><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"fo= nt-size:12px">=C2=A0 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:</span><span st= yle=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">fileSyst= em</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-si= ze:12px">at:</span><span style=3D"font-size:12px">=C2=A0</span><span style= =3D"font-size:12px">'</span><span style=3D"font-size:12px">culture</spa= n><span style=3D"font-size:12px">'</span><span style=3D"font-size:12px"= >.</span></p><p><span style=3D"font-size:12px">=C2=A0 fileSystem</span><spa= n style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">pref= erenceAt:</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</spa= n><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:12px">c:\rb</span><span style=3D"font-size:12px">dev\public\</span><s= pan style=3D"font-size:12px">'</span></p><p>As soon as I do this, the S= easide server is broken and I can't even launch a browser on it.=C2=A0 = I get this:</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",T= ahoma,sans-serif">This site can=E2=80=99t be reached</h1><p></p><p style=3D= "display:inline;color:rgb(95,99,104);font-family:"Segoe UI",Tahom= a,sans-serif;font-size:15px"><strong>desktop-m4pvv3o</strong>=C2=A0refused = to connect.</p></div><div><p style=3D"display:inline;color:rgb(95,99,104);f= ont-family:"Segoe UI",Tahoma,sans-serif;font-size:15px"><br></p><= /div><div><p style=3D"display:inline;color:rgb(95,99,104);font-family:"= ;Segoe UI",Tahoma,sans-serif;font-size:15px">So, maybe there is someth= ing else to do?</p></div><div><p style=3D"display:inline;color:rgb(95,99,10= 4);font-family:"Segoe UI",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",Tahoma,sans-serif;font-size:15px">-Carl</p></div></div>= <br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun= , Feb 23, 2025 at 8:04=E2=80=AFPM Jupiter Jones <<a href=3D"mailto:jupit= [email protected]" target=3D"_blank">[email protected]</a>> wrote:<= br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e= x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Carl,<di= v><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 any case, I just installed it to have a look an= d my educated guess was totally wrong :)</div><div><br></div><div>From=C2= =A0WAExternalFileLibraryTest-#setUp</div><div><br></div><div><div>fileSyste= m :=3D WAExternalFileLibrary new.</div><div>WADispatcher new register: file= System 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 something 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/files=E2=80=99</div><div><br></div><div>If you have no luck, I shou= ld have time to give this a go tonight or tomorrow.</div><div><br><blockquo= te type=3D"cite"><div>On 24 Feb 2025, at 10:47=E2=80=AFam, Carl G <<a hr= ef=3D"mailto:[email protected]" target=3D"_blank">[email protected]</= a>> wrote:</div><br><div><div dir=3D"ltr">Well, thanks for your help but= no luck.=C2=A0 =C2=A0The trouble is that the WAExternalFileLibrary seems t= o be broken?=C2=A0 I dunno.=C2=A0 It throws an exception in this method:<br= ><br><p><span style=3D"font-size:12px">SeasideRenderLoopContinuation>>= ;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 st= yle=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"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:12p= x">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><sp= an 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"f= ont-size:12px">=C2=A0</span><span style=3D"font-size:12px">contentType</spa= n><span style=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-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 styl= e=3D"font-size:12px">isNil</span><span style=3D"font-size:12px">=C2=A0</spa= n><span style=3D"font-size:12px">ifFalse:</span><span style=3D"font-size:12= px">=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">anHtmlRoot</span><span style=3D"font-size:12= px">=C2=A0</span><span style=3D"font-size:12px">meta</span><span style=3D"f= ont-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"font-size:12px">c= harSet</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"fon= t-size:12px">]</span><span style=3D"font-size:12px">.</span></p><p><span st= yle=3D"font-size:12px">=C2=A0=C2=A0=C2=A0=C2=A0</span><span style=3D"font-s= ize:12px">anHtmlRoot</span><span style=3D"font-size:12px">=C2=A0</span><spa= n 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:12p= x">=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><sp= an style=3D"font-size:12px">Seaside</span><span style=3D"font-size:12px">&#= 39;</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">s= elf</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"font-s= ize:12px">application</span><span style=3D"font-size:12px">=C2=A0</span><sp= an 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><sp= an style=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:1= 2px">:</span><span style=3D"font-size:12px">each</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><span style=3D"font-size:12px">each</span>= <span style=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"fo= nt-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:1= 2px">=C2=A0</span><span style=3D"font-size:12px">]</span><span style=3D"fon= t-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">session</span><sp= an style=3D"font-size:12px">=C2=A0</span><span style=3D"font-size:12px">upd= ateRoot:</span><span style=3D"font-size:12px">=C2=A0</span><span style=3D"f= ont-size:12px">anHtmlRoot</span></p><p><span style=3D"font-size:12px">It DN= Us when it tried to send #default to the library.=C2=A0 I wonder if I can m= ake my own subclass of WAFileLibrary and extend it to serve files from a di= sk folder.</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 Seasid= e 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/book</a>=C2=A0but 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>-Ca= rl</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.a= [email protected]" target=3D"_blank">[email protected]</a>> w= rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p= x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi Ca= rl,<div><br></div><div>Disclaimer: I=E2=80=99ve never used a=C2=A0WAExterna= lFileLibrary so the following is an educated guess, but hopefully gives you= enough info.<br><div><br></div><div>I typically configure these kind of th= ings on creation of the application with something like a #configureApplica= tion: method on the class side of my root component...</div><div><br></div>= <div><div>configureApplication: anApplication</div><div>anApplication prefe= renceAt: #sessionClass put: MySession.</div><div>anApplication configuratio= n</div><div>addParent: MySystemConfiguration instance.</div><div>anApplicat= ion</div><div>addLibrary: WAExternalFileLibrary;</div><div>addLibrary: JQDe= velopmentLibrary.</div><div>anApplication</div><div>preferenceAt: #director= y put: =E2=80=98/path/to/serve/from=E2=80=99.</div><div><br></div><div>Then= call this method from the method that installs the web app=E2=80=A6</div><= div><br></div><div><div>register</div><div>self configureApplication: (WAAd= min register: self asApplicationAt: =E2=80=98MyAppName')</div></div><di= v><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, Car= l G <<a href=3D"mailto:[email protected]" target=3D"_blank">basicforg= [email protected]</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 BASI= C dynamically generates PNG files that are rendered into the 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 WAExternalFileLibrary in= the configuration page.=C2=A0 But I cannot do this with Seaside 3.5.1 on V= W for some reason.=C2=A0 If I try to do the following, I get a debugger whe= n I launch the app.<div><br></div><div>=C2=A0 (WADispatcher default handler= s at: 'runbasicpersonal')=C2=A0<br>=C2=A0 =C2=A0 addLibrary: WAExte= rnalFileLibrary<br><br></div><div>If I substitute WAFileLibrary it doesn= 9;t blow up, but it doesn't seem to do=C2=A0anything either.=C2=A0 Putt= ing a breakpoint in the handle: method for the instance of WAFileLibrary do= es not stop.=C2=A0 It seems that the WAFileLibrary is not being used.=C2=A0= My guess is that it's only for serving 'files' that are in-mem= ory anyways 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 exter= nal 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't re= quire it.</div><div><br></div><div>Thanks in advance.</div><div><br></div><= div>-Carl Gundel, author of Run BASIC</div><div><a href=3D"http://www.runba= sic.com/" 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">seasid= [email protected]</a><br>To unsubscribe send an email to=C2=A0<a= href=3D"mailto:[email protected]" target=3D"_blank"= >[email protected]</a><br></div></blockquote><br></d= iv></div></blockquote></div>_______________________________________________= <br>seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= dation.org" target=3D"_blank">[email protected]</a><br>To = unsubscribe send an email to=C2=A0<a href=3D"mailto:[email protected]= eakfoundation.org" target=3D"_blank">[email protected]= rg</a><div></div><div><br></div></div></blockquote></div><div><br></div></d= iv></div></blockquote></div></div>_________________________________________= ______<br>seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= akfoundation.org" target=3D"_blank">[email protected]</a><= br>To unsubscribe send an email to=C2=A0<a href=3D"mailto:seaside-leave@lis= ts.squeakfoundation.org" target=3D"_blank">[email protected]= tion.org</a><br></blockquote></div>________________________________________= _______<br>seaside mailing list --=C2=A0<a href=3D"mailto:[email protected]= eakfoundation.org" target=3D"_blank">[email protected]</a>= <br>To unsubscribe send an email to=C2=A0<a href=3D"mailto:seaside-leave@li= sts.squeakfoundation.org" target=3D"_blank">[email protected]= ation.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> _______________________________________________<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></div> --000000000000e2b2da062f20f5db-- --===============6006389428062392483== 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] --===============6006389428062392483==--