Re: transient object data
> By attribute do you mean an element of the data structure that is blessed > in the object? Or do you mean some sort of new attribute you would assign a > new Serializable data type (ala something to suggest for Perl 6). I think that what Brian was trying to say is that you could mark an object attribute as being transient and Data::Dumper would ignore it. Maybe the way to do it would be to have a Serializable class that could have the following methods: freeze($self) : SCALAR thaw ($class) : OBJECT clone($self) : OBJECT; _freeze($self): SCALAR _remove_transient_attributes($self); The transient attributes names could be stored in @TRANSIENT. Maybe we could also have a more generic $TRANSIENT coderef as well. Whenever you want to serialize an object calling freeze, then the object is cloned and the clone gets its transient attributes removed. That we can call _freeze on the modified copy. With this interface it would be possible to subclass Serializable with Serializable::FreezeThaw, Serializable::DataDenter or Serializable::XMLDumper for instance (just override the _freeze and thaw methods). The objects can also redefine the clone() method if they need to. Now there's only one drawback that I can see - It needs to be written :-) Cheers, -- Jean-Michel Hiver.
Re: Cache::Cache locking
On Sun, 23 Dec 2001 04:23:47 +0900 Tatsuhiko Miyagawa <[EMAIL PROTECTED]> wrote: > > Apache::Singleton::Server got me thinking about Cache::Cache > > and locking again. if i'm going to have a server-global > > object, i am going to need to protect against multiple > > processes updating it simultaneously, right? > > Right. Which makes me remember current Apache::Singleton::Server is > complete broken :( it doesn't update changed attribute to shared data > in IPC ... would fix. Apache::Singleton 0.04 is now going to CPAN, without Server subclass, which was broken, and in fact I don't need for my production environment ;) If you want Server implementation (with sufficient speed and robust locking), I'm always open to patches! 0.04 Sun Dec 23 21:20:04 JST 2001 - Fixed docs - pulled off Server subclass: it was completely broken The URL http://bulknews.net/lib/archives/Apache-Singleton-0.04.tar.gz has entered CPAN as file: $CPAN/authors/id/M/MI/MIYAGAWA/Apache-Singleton-0.04.tar.gz size: 2675 bytes md5: 3865399d4d8a9b970fd71e2f048de8e3 -- Tatsuhiko
[DIGEST] mod_perl digest 2001/12/22
-- mod_perl digest December 16, 2001 - December 22, 2001 -- Recent happenings in the mod_perl world... Features o mod_perl status o module announcements o job announcements o available mod_perlers o mailing list highlights o links mod_perl status o mod_perl - stable: 1.26 (released July 11, 2001) [1] - development: 1.26_01-dev [2] o Apache - stable: 1.3.22 (released October 9, 2001) [3] - development: 1.3.21-dev [4] o Apache 2.0 - beta: 2.0.28 (released November 13, 2001) [5] o Perl - stable: 5.6.1 (released April 9, 2001) [6] - development: 5.7.2 [7] module announcements o Module::Require 0.02 - provides glob and regular expression capabilities for `require'ing Perl modules (0.03 has since been released) [8] o Log::Dispatch::Config 0.06 - provides configuration support for Log::Dispatch [9] o Apache:Singleton 0.04 - a mod_perl-aware version of Class::Singleton [10] job announcements o Webmaster with light programming in Chicago [11] available mod_perlers o GNU software and infrastructure engineer in Northern California (Bay area) [12] mailing list highlights o Report on mod_accel and mod_deflate, where two C modules are discussed [13] o mod_perl site redesign -- we have a winner! [14] o What phase am I in? or Where's the documentation? Conclusion: join the mod_perl 2.0 documentation list and help make this a better world [15] links o The Apache/Perl Integration Project [16] o mod_perl documentation [17] o mod_perl modules on CPAN [18] o mod_perl homepage [19] o mod_perl news and advocacy [20] o mod_perl list archives - modperl@ [21] [22] - dev@ [23] [24] - advocacy@ [25] happy mod_perling... --James [EMAIL PROTECTED] -- [1] http://perl.apache.org/dist/ [2] http://perl.apache.org/from-cvs/modperl/ [3] http://www.apache.org/dist/httpd/ [4] http://dev.apache.org/from-cvs/apache-1.3/ [5] http://www.apache.org/dist/httpd/ [6] http://www.cpan.org/src/stable.tar.gz [7] http://www.cpan.org/src/devel.tar.gz [8] http://mathforum.org/epigone/modperl/phumclinhou [9] http://mathforum.org/epigone/modperl/snobrozor [10] [EMAIL PROTECTED]">http://mathforum.org/epigone/modperl/querddingkul/[EMAIL PROTECTED] [11] http://mathforum.org/epigone/modperl/smonangqueld [12] http://mathforum.org/epigone/modperl/snolkimsnar [13] http://mathforum.org/epigone/modperl/whimpkhoodah [14] http://mathforum.org/epigone/modperl/jandpleedwoi [15] http://mathforum.org/epigone/modperl/zaxterdrol [16] http://perl.apache.org [17] http://perl.apache.org/#docs [18] http://www.cpan.org/modules/by-module/Apache/ [19] http://www.modperl.com [20] http://www.take23.org [21] http://mathforum.org/epigone/modperl/ [22] http://marc.theaimsgroup.com/?l=apache-modperl&r=1&w=2 [23] http://marc.theaimsgroup.com/?l=apache-modperl-dev&r=1&w=2 [24] http://www.mail-archive.com/dev%40perl.apache.org/ [25] http://www.mail-archive.com/advocacy@perl.apache.org/
Re: [modperl site design challenge] and the winner is...
I took a look at the winning design at http://domm.zsi.at/modperl-site-domm/ and I see a significant problem for people in 800x600 resolution (which is pretty common still, and I use it): A horizontal scrollbar appears at the bottom of the screen. Can't this be fixed? Also, the left sidebar seems to be wider than it needs to be. The logo is 150 pixels, so I think it only has to be that wide. I have attached a screenshot from 800x600 resolution in Opera 6. (The same thing happens in Internet Explorer 5.5.) I took a look at the style sheet (http://domm.zsi.at/modperl-site-domm/style.css) and changed a few numbers such that the left sidebar takes up less space, and made it so that the page is allowed to compress smaller such that it'll even fit in 640x480 (about 10% of internet users have that resolution last I checked, although this proportion may be smaller for programmers). I attached the changed style sheet; I think it's better this way. You can see how it looks online at http://sg1.indexthis.net/~pmak/modperl.html. Under smaller resolutions the horizontal scrollbar is gone, but it'll look pretty much the same on 1024x768. BTW, kudos to the designer on making that page without using tags (which prevent incremental rendering)! I've tried to figure out how to do that myself before but didn't manage to do so for pages this complicated. (If the person viewing the page doesn't have stylesheet support though, the sidebar will show up at the bottom of the page... Do we have any statistics on what percentage of people viewing the mod_perl website have user agents that don't do stylesheets, or Netscape with JavaScript off?) modperl.gif Description: Screenshot from 800x600 body { font-family: helvetica, verdana, sans-serif; font-size:small; color: #00; background-color: #ff; } h1 { padding:2px; background-color: #828DA6; color:#ff; } a:link { color:#ff; font-family: helvetica, verdana, sans-serif;} a:visited {color:#ff; font-family: helvetica, verdana, sans-serif; } a:active {color:#ff; font-family: helvetica, verdana, sans-serif; } a:hover {color:#ff; font-family: helvetica, verdana, sans-serif;} pre { font-family: courier new, courier, monospace; color: #00; } code { font-family: courier new, courier, monospace; } div.navbar a {text-decoration: none; color:#ff;} div.activenav a {text-decoration: none; color:#ff;} div.navbarglobal a {text-decoration: none; color:#ff;} div.notactivenav a {text-decoration: none; color:#525D76;} div.toc a {text-decoration: none;color:#ff;} div.leftcont { position:absolute; top:5px; left:5px; width:160px; } div.content { position:absolute; top:5px; left:175px; margin-right:10px; padding:5px; border:1px; border-style:solid; border-color:#525D76; background-color: #ff; } div.logo { padding:5px; border:1px; border-style:solid; border-color:#525D76; background-color: #ff; text-align:center; } div.navbar { padding:2px; border:0px; border-style:solid; border-color:#525D76; background-color: #ff; } div.activenav { font-weight:bold; padding:2px; background-color: #525D76; } div.notactivenav { padding:2px; font-weight:bold; border:1px; border-style:solid; border-color:#525D76; margin-top:-1px; } div.navbarglobal { padding:2px; background-color: #525D76; color:#ff; } div.navbarlocal { padding:2px; text-align:center; } div.tail { padding-top:10px; padding:5px; border:1px; border-style:solid; border-color:#525D76; background-color: #ff; } div.ad { border:1px; padding:5px; border-style:solid; border-color:#525D76; background-color: #ff; }