seasidest / seaside Goto Github PK
View Code? Open in Web Editor NEWThe framework for developing sophisticated web applications in Smalltalk.
License: MIT License
The framework for developing sophisticated web applications in Smalltalk.
License: MIT License
WAHtmlTest>>renderZFileSetOn: and WAIframeTest>renderContentOn: have
references to WAHandlerEditorFiles ...
WAStandardFiles doesn't have any images that look as nice as the Seaside
logo, so I held off just picking something like profilerPng to replace it
with ...
Original issue reported on code.google.com by [email protected]
on 17 Mar 2008 at 10:48
The test in WADispatcherTest>>testAlternateConfig checks for a 'config'
entryPoint, which exists if WADispatcherEditor is present, but
WADispatcherEditor is in Seaside-Development-Core.
Original issue reported on code.google.com by [email protected]
on 18 Mar 2008 at 7:58
Should be writePreambleOn:
Original issue reported on code.google.com by [email protected]
on 31 Mar 2008 at 11:05
WADispachterViewer >> #entryPoints
^ super entryPoints select: [ :each | each isDispatcher or: [ each
isApplication ] ]
this obviously does not include RRRssHandler. Maybe it would be better to
send #isEntryPoint.
Original issue reported on code.google.com by [email protected]
on 1 Apr 2008 at 5:23
The first problem is that it tests 3-letter country names, not language
names. That can be fixed by renaming the test. The second is that the
test does not work because Seaside does not support 3-letter country names.
The page at http://nl.ijs.si/gnusl/cee/std/ISO_3166.html is easiest to
parse and includes 2-letter names too.
Original issue reported on code.google.com by [email protected]
on 3 Mar 2008 at 10:26
as the subject says
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:27
WAFileSystem should have it's own package and been rewritten using SPort
Original issue reported on code.google.com by [email protected]
on 6 Apr 2008 at 6:51
The following methods in WAMiniCalendar aren't actually used:
month
month:
months
Removing #month and #months will eliminate the last references to the Month
class in Seaside.
Original issue reported on code.google.com by [email protected]
on 10 Mar 2008 at 6:15
There is a race condition in WAProcessMonitor>>#critical:ifError: --
basically, it is unsafe to assign the result of #fork and use it anywhere
but in the current method. The newly forked process might start before the
instance variable is assigned, and another process might think that no
process is running while in fact it is. While rare (I found this by
inspection not because it actually happened), it is easy to fix, so why not.
Depending on the scheduler, it may affect some dialects more than others.
!WAProcessMonitor methodsFor: 'mutual exclusion'!
critical: aBlock ifError: anErrorBlock
"Evaluate aBlock as a mutual exclusive block within a new processes
and wait for the process to finish. Evaluate anErrorBlock in case of a
problem. Answer the result of evaluating the blocks. Note, that the
semaphore needs to be an instance-variable, otherwise continuations might
screw up the debugger."
| value |
mutex critical:
[semaphore := SeasidePlatformSupport semaphoreClass new.
process := [[value := aBlock on: Error do: anErrorBlock]
ensure: [semaphore signal]] newProcess.
process resume.
semaphore wait.
process := nil].
^value
!
Original issue reported on code.google.com by [email protected]
on 3 Mar 2008 at 9:44
WAMemory looks ugly and needs improvement. The style including the fonts don't
match the
window. The table header style (and color) look like 1998.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:31
in WAPlatformTest>>#testDaysInMonthForYear, Month is sent a message.
There is no such class in GNU Smalltalk; I suggest creating an
extension Date class>>#daysInMonthNumber:forYear:.
Actually, it's better to create an instance-side method #daysInMonth.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:17
Because of the class extensions Seaside-Squeak-Core makes in Seaside-Core
there is a cyclic dependency between the two.
Original issue reported on code.google.com by [email protected]
on 3 Apr 2008 at 7:18
1) SequenceableCollection>>#associationsDo:
2) Object>>#printStringLimitedTo:
3) Dictionary>>#keysSortedSafely
4) SmallInteger>>#day / #hour / #minute / #second
5) Object>>#isCollection / Collection>>#isCollection
6) String>>#caseInsensitiveLessOrEqual:
7) #defaultDirectoryName
8) #platformString
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:13
Seaside relies on a Color class provided by the system. GNU
Smalltalk does not have one. If you provide me with a list of required
methods, I can write a WAColor class for Seaside 2.9.
WAPlatformTest>>testColorAsHtmlColor is the only method requiring the class; it
can probably be
removed.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:16
WAStaticHtmlCanvas has not support for form elements except #textArea with
is copy pasted from WARenderCanvas.
Original issue reported on code.google.com by [email protected]
on 12 Mar 2008 at 5:56
I would suggest to leave WAFileLibrary as it is in 2.8, but provide the ability
to toggle the behavoir
of #/ to generate url between (a) the current way - served by Seaside, and (b)
another static path.
This way, resources can continue to be versioned in MC. For smaller deployments
or quick testing
purposes, (a) can be used without requiring any additional set up. (b) can be
used to serve the
resources via KOM, Swazoo, httpd, etc. Other than for production/efficiency
purposes, a key
advantage of (b) is that during development, changing a JS/CSS file on disk
will instantly reflect
upon browser refresh...
Additional interfaces such as FTP/webdav access can simply be built on top of a
static file, via (b).
Steps To Reproduce
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:21
nothing more to say...
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:30
There are NULL characters in testUtf16. It would be nice if the
strings there could be expressed as byte-arrays or, even better, created
from the ISO-8859-1 strings using something like:
utf16 := String new: iso88591 size * 2.
iso88591 with: (2 to: utf16 size by: 2) do: [ :ch :index |
utf16 at: index put: ch ].
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:20
The #sourceCodeAt: check from WAFileLibrary fails in GNU Smalltalk
for complicated reasons; it does not add to the testcase in my opinion,
can you zap it?
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:20
The recent URL and context enhancements made a lot of cleanup possible:
- url hackery of WAApplication >> #sessionCookieFor: should be moved to WAUrl
- methods #actionUrlForKey: #newSessionUrl and #responseForRequest: should
be moved to WAContext
- WAFileLibrary should rely on WAContext for url generation
- lots of #handleRequest: methods are broken, they don't push themselves on
the context
- most references to WACurrentSession are bugous and should be changed to
use WAContext
- charset and content type should be moved from session to application
- WAMain and WARegistry are as well good candidates for cleanup
- WAResponse >> #initialize should not access the session as well
Original issue reported on code.google.com by [email protected]
on 30 Mar 2008 at 7:53
Is it possible to use the lightbox: (from SU) functionality instead
of call: inside a WATask component.
I know it is maybe a problem of the redirect of the WATask implementation.
But maybe there is a workaround?
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:29
#takeParaemtersFromRequest: should not override any settings that come from the
application
preferences. The current implementation does not allow to override Server Name
and Server Port
from the config interface if the requestor for some strange reason has set
these properties.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:28
- parsable from a string
- relative lookup (see WADispatchComponent #initialRequest:, #updateRoot:)
Original issue reported on code.google.com by renggli
on 26 Mar 2008 at 6:45
What steps will reproduce the problem?
1. In AllTests try the transaction component functionality.
2. When it redirects, it shows a blank page instead of the point outside of
the child txn.
What is the expected output? What do you see instead?
The page should be at the point after the child txn.
What version of the product are you using? On what operating system?
Seaside2.8a1-mu.540
Please provide any additional information below.
It seems the continuation is not being picked up correctly. Tested under
2.6 and it works fine
Original issue reported on code.google.com by [email protected]
on 3 Apr 2008 at 9:57
PackageInfo>>versionString (part of Seaside-Squeak-Core) uses 'self name'
when creating the MCPackage and in my admittedly old (at least 6 months
old) Squeak image, name returns the 'aPackageInfo' instead of the
packageName of the PackageInfo, so the test fails ..
Presumably using #packageInfo is safer.
Original issue reported on code.google.com by [email protected]
on 17 Mar 2008 at 10:10
It currently includes all its elements, including those that are not rendered.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:25
The memory tool ("Memory" in the toolbar) mis-sorts the "Total Size" column
when the user clicks
on the headers.
WAMemory>>buildTable seems to be the source of the problem. The column contains
positive
integers, but they're rendered as strings with commas ("12,345"); sorting those
in string order
doesn't produce anything useful.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:28
I think that the configuration editor is a very clear example of an application
that would benefit
from RESTful URLs (e.g. /seaside/config/examples/counter). It could also be an
example of how to
provide them.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:14
Reported by Martial Boniou at:
http://lists.squeakfoundation.org/pipermail/seaside/2007-May/012073.html
Hi,
I noticed a strange behavior in my urls when sessions expire. When I
want to write accents in my url (when I use Pier-Blog for example), the
special characters are transformed in escape http symbol: 'Étoile'
normally becomes '%C9toile'. It works great and my navigation/anchors
have good shape. But when my session expires, the same anchors with the
good '%C9toile' string in the goto url is corrupted to '%C9%B4oile' when
the url is parsed and requested.
I think the problem concerns the way Seaside rewrites urls when session
expires in order to remove the unused key parameters.
I use seaside 2.8a1-lr.220 (I think I noticed this problem in 2.7 too),
KomHTTPServer-gk.14 and KomServices-gk.3. The 11 tests of WAUrl and
WAPlatform pass well on squeak 3.9/3.10 (both Damien dev images).
Maybe german and japanese Seaside people had experienced such a
behavior.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:32
'foo' asInteger returns nil instead of throwing an error...
The implementaion of String>>asInteger dates from 10/1/2004...
I'm running in a Squeak 3.9 image ...
Original issue reported on code.google.com by [email protected]
on 17 Mar 2008 at 10:13
I guess #/ should use "self default" instead of "self new".
Original issue reported on code.google.com by renggli
on 3 Apr 2008 at 8:27
I'm probably doing it wrongly, but in a attempt to debug, I change my
SUTip>>content to:
Transcript
nextPutAll: (String
streamContents: [:stream | self render: aBlock on: stream]);
endEntry.
Then I can see in the transcript that what's printed is the XHTML
string which I have generated (great). followed by some SU* related
javascript from a previous use of SUAutocompleter:
<span>test4</span><script type="text/javascript">/*<![CDATA[*/new
Ajax.Autocompleter('query','id6','http://localhost:8081/seaside/sfe',{'afterUpda
teElement':functio
n(){new
Ajax.Request('http://localhost:8081/seaside/sfe',{'parameters':['_s=QkGrWpbTSpLB
RefB','_k=CXC
QlzYF','5',$('query').serialize()].join('&')})},'evalScripts':true,'parameters':
['_s=QkGrWpbTSpLBRefB','
_k=CXCQlzYF','4'].join('&')})/*]]>*/</script>
<span>test4</span> alone is what I am expecting. Any suggestion on
what I am doing wrongly? Thanks again.
Original issue reported on code.google.com by renggli
on 5 Mar 2008 at 1:12
The "in place collection editor" is not working with IE7.
Tested with the seaside scriptaculous "controls" test page.
It does work with scriptaculous only.
see
http://wiki.script.aculo.us/scriptaculous/show/Ajax.In+Place+Collection+Edi
tor
Original issue reported on code.google.com by [email protected]
on 18 Mar 2008 at 8:39
WeakDictionaries are no longer used to store sessions in Squeak. This is no
problem for sessions
since they are simply reclaimed later. For Halos this is not the case. This
also a potential problem on
the Seaside homepage because it is a production application that has halos on.
A possible solution would be:
http://bugs.squeak.org/view.php?id=6348 [^]
or extending the HashTable package
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:30
Currently we have SeasidePlatformSupport >> #deliverMailFrom:to:text: which
is quite cumbersome to use, you have to concatenate the whole mail message
together PHP-style.
We should have a minimal abstraction of an email message.
Original issue reported on code.google.com by [email protected]
on 30 Mar 2008 at 2:58
When overriding WAComponent>>>#initialRequest: and #updateUrl: to create
REST-ful urls, with
session cookies enabled via WASessionConfiguration>>>#useSessionCookie, the
changes to the
URL are reverted.
A discussion thread from the mailing list, which is relevant to this bug can be
viewed at:
http://lists.squeakfoundation.org/pipermail/seaside/2007-June/012311.html
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:31
The result of #testLinkElement may have "aural, tty" or "tty, aural" media
depending on the whims of hashing on a dialect or platform.
Fixed with this changeset (which just adds an #asSortedCollection call).
!WALinkElement methodsFor: 'media'!
addMedia: aString [
| media |
media := (((attributes at: 'media' ifAbsent: ['']) findTokens: $,)
collect: [:each | each trimSeparators]) asSet.
media add: aString.
self media: (String streamContents:
[:stream | media asSortedCollection do: [:each | stream
nextPutAll: each]
separatedBy: [stream nextPutAll: ', ']])
! !
Original issue reported on code.google.com by [email protected]
on 7 Mar 2008 at 7:28
I discovered that WAFileLibraryTest>>testFilenames has a reference to
WAHandlerEditorFiles which is in Seaside-Development-Core. Either we need
to have a Seaside-Development-Tests package (probably not a bad idea in the
long run) or WAHandlerEditorFiles needs to be moved into the core, or ???
Original issue reported on code.google.com by [email protected]
on 8 Mar 2008 at 12:37
When using WAKomEncoded, I found that startUp process wasnt working properly on
restarting the
image. The reason is that WAKomEncoded39 class #instance was not calling "super
initialize".
Original issue reported on code.google.com by [email protected]
on 7 Apr 2008 at 4:48
It looks like we _could_ drop the class refs into the renderingContext
property dictionary as the context passes through WAToolDecoration (where
debugMode is being set anyway)...
The class could be yanked out tot the renderingContext's properties, if
showHalo is true...
Original issue reported on code.google.com by [email protected]
on 7 Mar 2008 at 9:36
from the comment:
"This is horribly broken, don't use it."
It _is_ broken, as WAPrinterTest>>testFloatPrinter fails ...
First question is:
Are the Seaside-Utils pacakges intended to be included?
Second question is:
If Seaside-Utils are supposed to be included, then at least this method
(and others?) could be fixed by using Platform-specific implementations
that provide the desired result - that is unless the implementations
themselves are intended to be platform independent ...
Original issue reported on code.google.com by [email protected]
on 17 Mar 2008 at 9:51
Since the J2EE refactoring load scripts added to the context during the
callback phase are forgotten.
Original issue reported on code.google.com by [email protected]
on 29 Mar 2008 at 4:23
When a component has a decoration and halos are turned on the decoration is
rendered outside the
halo.
This is probably a bit tricky to fix due to WADelegation.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:32
WATree can only be tested from the ExampleBrowser.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:14
Cookies and not be added to a response in the callback phase because there
is no response in the context.
A possible fix would be:
Add the cookies to the context. If there is a response in the context, add
them to the response, else add them to as a property. If the request
process is done the code returning the response queries the context.
Original issue reported on code.google.com by [email protected]
on 4 Apr 2008 at 8:05
It currently includes all its elements, including those that are not rendered.
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:25
Should probably use a method in SeasidePlatformSupport
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:10
Why should the platform support module provide a MIME document class?
IMO a minimal implementation should be present in the form of a
WAMIMEDocument class within Seaside-Core, like it's done with URLs and
MIME types; then, platform support is free to return another class if it
is polymorphic with WAMimeDocument.
Here is my super-basic implementation:
Object subclass: #WAMimeDocument
instanceVariableNames: 'contentStream content contentType'
classVariableNames: ''
poolDictionaries: ''
category: 'Seaside-Core-HTTP'!
!WAMimeDocument class methodsFor: 'instance creation'!
contentType: mimeType content: content
^self new contentType: mimeType contentStream: nil content: content
!
contentType: mimeType contentStream: stream
^self new contentType: mimeType contentStream: stream content: nil
! !
!WAMimeDocument methodsFor: 'basic'!
asMIMEDocument
^self
!
asMIMEDocumentType: type
type toString = contentType toString ifTrue: [ ^self ].
^self class new
contentType: type contentStream: contentStream content:
content
! !
!WAMimeDocument methodsFor: 'initialization'!
contentType: mimeType contentStream: stream content: anObject
contentType := mimeType.
contentStream := stream.
content := anObject
! !
!WAMimeDocument methodsFor: 'accessing'!
contentStream
contentStream isNil ifTrue: [ ^content readStream ].
^contentStream
!
contentType
^contentType
!
content
contentStream isNil ifFalse: [ ^contentStream contents ].
^content
! !
Original issue reported on code.google.com by renggli
on 6 Mar 2008 at 8:31
"using the system startup list to reinitialize the Generator class
variable in WAExternalID will cause commit conflicts in GemStone"
Original issue reported on code.google.com by [email protected]
on 24 Mar 2008 at 7:13
Dispatcher #basePath should be fully customizable
Original issue reported on code.google.com by renggli
on 2 Mar 2008 at 8:28
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.