xmas 2.0
Netsight’s interactive xmas card, bought to you using the technologies of Zope 3, Ajax, fairy lights and tin foil.
Rick Hurst Web Developer in Bristol, UK
MenuNetsight’s interactive xmas card, bought to you using the technologies of Zope 3, Ajax, fairy lights and tin foil.
At plone conference I saw Andy McKay demonstrate his Clouseau product, but I have only just got round to trying it. Incredibly useful – I particularly like the way you can use it in context, i.e. when editing a plone page you can click the magnifying glass icon, type “context.” and instantly get a list of the attributes and methods available via the Schema. For people like me who find the zodb a dark and mysterious place, this is a nice environment to use to explore. Cheers Andy!
A new term for my web buzzword vocabulary today: “splogger” – a term I just saw on scobelizer, apparently used for “someone who uses a system to automatically copy blog posts from other people”. I am doing something similar with the “skatevine” page on dfr skate zine, but I prefer the term “news aggregator”. I’m not profitting from this as I don’t currently carry advertising on DFR – my reasons for doing it were basically:-
I can see that some people might get annoyed if their content appears on other sites without their permission, especially if the site in question is passing the content off as their own and/or using it to drive ad-revenues. Site owners who carry advertising may also worry that people reading their content on other people sites aren’t going to see (and click on) their ads, but the flipside of this is that if they do link back to the original content, this will boost the pagerank of the original content, therefore making people more likely to see it and click on the ads – this wouldn’t happen if everyone used a personal news aggregator).
I can also see how it can be annoying if search engines rank the aggregated posts higher than the original posts (which was the point of Scobles post I think….), I guess if they got this sorted it wouldn’t be such an issue.
This is not so much a “how-to”, but more of a “is this how-to?”, I post it here mainly to invite comment and expose my ignorance about the much cleaner method that probably exists.
OK, first my use case – in a skin I am building the title of the current level 0 node is always displayed as a section heading e.g. If you are viewing the page “eggs”, a few levels down and the breadcrumb trail reads home -> foo -> bar -> eggs, “foo” is displayed as a banner heading, so wherever you are in the site you know what main section you are in.
so I have created a skin script called getLevelZeroTitle that has approximately this in it (with try/except statements, and a list of id’s to ignore to handle errors):-
current_level0_path = ‘/’.join(context.getPhysicalPath()[:3])
section_id = context.getPhysicalPath()[2]
current_level0_title = context.portal_catalog(path=current_level0_path)[0].Title
return current_level0_title
Is this the way forward or is there something “built in” to handle this?
Funny, we had a very similar use-case recently.
We wrote a script that looked like this:
## Script (Python) “getSectionTitleForBanner”
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=Figure out the appropriate title for the display banner
##
# Get the physical path to the context & the site portal
curr_path = context.getPhysicalPath()
portal = portal_path = context.portal_url.getPortalObject()
portal_path = portal.getPhysicalPath()
len_portalpath = len(portal_path)
from_root_path = curr_path[len_portalpath:]
if len(from_root_path) > 1:
if curr_path != portal_path:
from_root_path = from_root_path[:1]
from_root_path = “/”.join(from_root_path)
display_section = portal.restrictedTraverse(from_root_path)
return display_section.Title()
——–
HTH. (I cut out a section that handled an exception where we wanted to not show level 0 folder sections).
Jon Stahl 2006-12-13 15:19:00
portal = context.portal_url.getPortalObject()
parent = context
if parent is portal: return portal.TItle()
while 1:
if parent.aq_parent is portal:
return parent.Title()
parent = parent.aq_parent
kapil 2006-12-15 00:26:01
Winn King 2006-12-25 02:46:05
all my personal mail now directs to my gmail account. Gmail seems to do a very good job of filtering out the spam emails as hardly any get through. When one does get through I like the way that there is a “report spam” button. This makes me feel empowered about binning those tempting offers of “life” enhancing pharmaceuticals, and takes some of the chore out of it.
I like to think – rightly or wrongly – that because I have proactively “reported” the spam back to google, their anti-spam machinery immediately takes note and stops any other gmail users from recieving the same piece of spam, either from the same source or containing the same content.
I get a similar feeling of usefulness when I report comment spam back to akismet (via my wordpress akismet plugin) – I like the fact that because someone tried to leave comment spam on my site they are immediately blacklisted by all the other blogs that use akismet, making my site more like a honeypot to trap spammers rather than an unguarded doorway for them to try and sneak into.
This morning I had a fantastic coffee but frustratingly slow wifi experience in Boston Tea Party, connected via street net – it went from fast to slow to standstill, although the signal was fine. Someone downloading a series of 24 across the road in starbucks maybe?
I was trying to get rid of the google ads on this site – i’m getting over a thousand page hits a month but have only earned myself $8 since I added them months ago – I can’t even cash that in until i’ve earned $100 so it’s just not worth selling my soul for…
“news aggregator” only aggregate the headlines from blogs and point a Link back to the orignal articles they don’t rip content off.
Scribez 2006-12-14 12:45:08
[I first read about it here – http://www.wired.com/wired/archive/14.09/splogs.html?pg=1&topic=splogs&topic_set= ]
Nick 2007-01-08 17:44:34