<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.7 on Mon, 24 Jun 2002 03:40:00 GMT -->
<rss version="0.92">
	<channel>
		<title>Tom Hoffman: K12Zope</title>
		<link>http://radio.weblogs.com/0108056/categories/zope/</link>
		<description>Links relevant to my use of Zope in our high school.</description>
		<language>en-us</language>
		<copyright>Copyright 2002 Tom Hoffman</copyright>
		<lastBuildDate>Mon, 24 Jun 2002 03:40:00 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss092</docs>
		<managingEditor>thomas.e.hoffman@verizon.net</managingEditor>
		<webMaster>thomas.e.hoffman@verizon.net</webMaster>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<item>
			<description>&lt;P&gt;Hey, me too, except I don&apos;t live in Salt Lake City.&amp;nbsp; My band played in Salt Lake City once, though.&amp;nbsp; And we took a tour of the &lt;A href=&quot;http://dod.com&quot;&gt;DOD&lt;/A&gt; factory and met the guy who invented the &quot;&lt;A href=&quot;http://www.dod.com/fxpedals/fx69.htm&quot;&gt;Grunge&lt;/A&gt;&quot; pedal.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Props to &lt;A href=&quot;http://radio.weblogs.com/0103820/&quot;&gt;Joseph Kocherans&lt;/A&gt; for &lt;A href=&quot;http://radio.weblogs.com/0103820/2002/06/20.html#a31&quot;&gt;his Formulator tip&lt;/A&gt; yesterday. A Zope User, a Mac OS X User, an iBook User, a Sonic Youth listener, and apparently in or near Salt Lake. The statistics for that are much higher than I ever would have expected. [&lt;A href=&quot;http://radio.weblogs.com/0106123/&quot;&gt;Industrie Toulouse&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;Thanks for the link. Yes, I&apos;m guilty on all counts. I&apos;m &lt;EM&gt;in&lt;/EM&gt; Salt Lake. I&apos;m not sure if there&apos;s another place I could stand to live in in this state unless I was retired or something. [&lt;A href=&quot;http://radio.weblogs.com/0103820/&quot;&gt;hoarfrost: zope, etc.&lt;/A&gt;]&lt;/BLOCKQUOTE&gt;</description>
			<source url="http://radio.weblogs.com/0103820/rss.xml">hoarfrost: zope, etc.</source>
			</item>
		<item>
			<description>&lt;P&gt;This article in &lt;A href=&quot;http://www.adtmag.com/article.asp?id=6461&quot;&gt;adtmag&lt;/A&gt;&amp;nbsp;(lost track of where I found the link) has&amp;nbsp;a good overview of open source application servers from a business point of view:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Striking a balance&lt;/STRONG&gt; &lt;BR&gt;Organizations should look at not only striking a balance between open-source and commercial products, but also between low- and high-end servers, according to research firm Gartner Inc., Stamford, Conn. This way, they will get better value for their money. Rather than standardize on a single-platform application server architecture, Gartner recommends using a low-end server for less-demanding, user-facing applications and a high-end application server for transaction-heavy applications.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Gartner reports that many companies have been paying big bucks for products that have more capacity than they actually need, which the firm chalks up to a lack of architectural planning and &apos;the blind adoption of vendor-promoted technology.&apos; Gartner divides application servers into two groups: low-end, which support servlets and JSPs, but typically not EJBs; and high-end, which typically support EJBs and Java messaging, and handle large transaction volumes.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;This high-end/low-end distinction was what I was trying to sort out in Chicago&amp;nbsp;a few months ago, trying to establish that we aren&apos;t trying to do big transaction volumes at a district leve, but more &quot;user-facing&quot; stuff.&lt;/P&gt;</description>
			</item>
		<item>
			<description>&lt;P&gt;And it turns out that these guys [&lt;A href=&quot;http://www.entity-x.ca&quot;&gt;entity-X&lt;/A&gt;] have built a commerical &lt;A href=&quot;http://www.entity-x.ca/XRoads&quot;&gt;learning management system&lt;/A&gt; on Zope.&amp;nbsp; Doesn&apos;t look like they are educators though.&amp;nbsp; The web site is generally uninformative (always a good sign...)&amp;nbsp; One more thing to track down eventually.&lt;/P&gt;</description>
			</item>
		<item>
			<description>&lt;P&gt;I have, by the way, deployed our final evaluation system,&amp;nbsp;and it is in use by the teachers.&amp;nbsp; Thanks to the wonders of object orientation, I just added a comment&amp;nbsp;attribute to the &quot;standard&quot; class, so anal teachers can comment on each score if they see fit, in addition to attaching comments to projects and units.&amp;nbsp; This was suggested by &lt;A href=&quot;http://radio.weblogs.com/0108840/&quot;&gt;Frank&lt;/A&gt;.&amp;nbsp; I&apos;ve been weighing requests to also allow teachers to just comment on a student&apos;s performance in a class as a whole, but Jennifer is so strenuously against it that I&apos;m holding off.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I just undertook my first exercise in error handling, as well.&amp;nbsp; Two teachers were getting errors when they were inadvertantly trying to make duplicate evaluations instead of editing the existing one.&amp;nbsp; So I added a little &amp;lt;dtml-try&amp;gt;&amp;lt;dtml-except&amp;gt; code to automatically compensate for that and redirect to the proper form instead of throwing up a Zope error.&lt;/P&gt;
&lt;P&gt;I have one outstanding bug.&amp;nbsp; Sometimes when teachers try to delete a standard from their template it produces a cryptic list instead of the name of the standard on the confirm page and then an error if you try to execute.&amp;nbsp; I haven&apos;t tried to figure that one out yet.&amp;nbsp; It works most of the time and is not very critical.&lt;/P&gt;</description>
			</item>
		<item>
			<description>&lt;P&gt;I had an idea in the shower this morning for integrating Radio into my Zope system at school.&amp;nbsp; You can add a RSS feed from another Radio site to your Radio&amp;nbsp;aggregator by clicking on the little coffee cup icon, which is actually a link like this (if you&apos;re setting up your feed from jepstone.net):&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://127.0.0.1:5335/system/pages/subscriptions?url=http://www.jepstone.net/radio/rss.xml&quot;&gt;&lt;a href=&quot;http://127.0.0.1:5335/system/pages/subscriptions?url=http://www.jepstone.net/radio/rss.xml&quot;&gt;http://127.0.0.1:5335/system/pages/subscriptions?url=http://www.jepstone.net/radio/rss.xml&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This sends you to your local subscription page with the http address already entered in the field for the url variable.&amp;nbsp; Simple enough.&amp;nbsp; I want to allow teachers to automatically generate categories for classes or projects.&amp;nbsp; This would&amp;nbsp;allow the Radio input interface to be used to enter assignments and other news relevant to a specific course or unit (one&amp;nbsp;sub-question&amp;nbsp;is whether or not assignments should be&amp;nbsp;strongly typed, compared to&amp;nbsp;other&amp;nbsp;news about a course--I think not, because you don&apos;t necessarily want to&amp;nbsp;do extra work just to de-contextualize assignment information).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For example, once teachers have filled out the form to create a class object, the view method on the object could include a link to a url that looked like this:&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://127.0.0.1:5335/system/pages/editCategory?displayName=CreativeWriting&quot;&gt;&lt;a href=&quot;http://127.0.0.1:5335/system/pages/editCategory?displayName=CreativeWriting&quot;&gt;http://127.0.0.1:5335/system/pages/editCategory?displayName=CreativeWriting&lt;/a&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Except that it doesn&apos;t work.&amp;nbsp; It doesn&apos;t put CreativeWriting into the displayName&amp;nbsp;field&amp;nbsp;(that seems to be the name of the relevant field, from looking at the&amp;nbsp;page source).&amp;nbsp; The advantage of this is that it starts to make Radio the single interface where teachers can add lots of different kinds of content, just by choosing the relevant categories.&amp;nbsp; Ultimately, you should also be able to use XML-RPC to send these posts directly into the ZODB, to keep them associated with the course objects.&lt;/P&gt;</description>
			</item>
		<item>
			<description>&lt;P dir=ltr&gt;This is almost really useful for school, except we have our yahoogroup password protected, so I won&apos;t work.&amp;nbsp; Still, it is good to know.&amp;nbsp; Plus we&apos;re going to be running our list locally soon, so I&apos;ll have to think about&amp;nbsp; how rss with that might work.&amp;nbsp; Perhaps it is ok to make the subject line public but not the messages themselves. 
&lt;P dir=ltr&gt;I don&apos;t seem to be able to get it to work, anyhow.&amp;nbsp; I seem to get blank documents.&amp;nbsp; Is that because there have been no posts recently? 
&lt;P dir=ltr&gt;OK, it works now, but I still can&apos;t see the XML in IE.&amp;nbsp; 
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;B&gt;Yahoo groups in your news aggregator.&lt;/B&gt; 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;Somehow I had totally missed this feature of Yahoo Groups. In the case that somebody else might have missed it too, if you submit: 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;&lt;A href=&quot;http://groups.yahoo.com/group/Group_name/messages?rss=1&quot;&gt;&lt;a href=&quot;http://groups.yahoo.com/group/Group_name/messages?rss=1&quot;&gt;http://groups.yahoo.com/group/Group_name/messages?rss=1&lt;/a&gt;&lt;/A&gt; 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;to your aggregator, you will get all posts submitted to that group in your favourite news reader. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;Just subscribed to: &lt;A href=&quot;http://groups.yahoo.com/group/klogs/messages?rss=1&quot;&gt;&lt;a href=&quot;http://groups.yahoo.com/group/klogs/messages?rss=1&quot;&gt;http://groups.yahoo.com/group/klogs/messages?rss=1&lt;/a&gt;&lt;/A&gt; and it works perfectly. &lt;I&gt;Getting rid of more mail!&lt;/I&gt; [from &lt;A href=&quot;http://paolo.evectors.it/2002/06/12.html#a700&quot;&gt;Paolo&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
			</item>
		<item>
			<description>&lt;P dir=ltr&gt;from &lt;A href=&quot;http://radio.weblogs.com/0100039/2002/03/15.html&quot;&gt;It&apos;s Getting Better&lt;/A&gt;: 
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;Just for giggles, I put together the Zope Python Script you see at the end of this post. I put it in the root of my Zope installation, and named it &quot;as.opml&quot;. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;It renders the current Zope level in opml in a way that will allow you to drill down into the Zope structure in a Radio outline. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;Perhaps not the same as the World Outline, but interesting for the possibilities. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;I used already existing Radio node types, so there should be nothing needed to install on the Radio side. You just need to drop the script into your Zope root. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;To bootstrap the process, you need to save the output of &quot;http://yourZopeRoot/as.opml&quot; into a file (with the .opml extension) which you can then open up in Radio. Then you can traverse your Zope site to your heart&apos;s content. 
&lt;P&gt;
&lt;P&gt;
&lt;P&gt;Note -- it doesn&apos;t do any editing, nor does it display the contents of any Zope objects. That is left as an exercise for the reader. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;You&apos;ll have to follow the link to get the script.&amp;nbsp; It worked nicely for me, once I took out a couple of inappropriate line breaks.&amp;nbsp; 
&lt;P dir=ltr&gt;&lt;/P&gt;</description>
			</item>
		<item>
			<description>&lt;P&gt;Despite the fact that I have all five of the books on Zope, not to mention access to all the online resources, I&apos;m still slipping into a documentation void.&amp;nbsp; Specifically, I want to write a Python script to create ZClass instances.&amp;nbsp; It seems like a common need, but I can&apos;t find an clear example and the syntax in far from transparent to a Python novice.&amp;nbsp; So it looks like I&apos;m stuck trying to work my way out of this hole with&amp;nbsp;dtml.&amp;nbsp;&amp;nbsp;At&amp;nbsp;some point I need to lock myself in a cave for two weeks&amp;nbsp;and learn to use Python and&amp;nbsp;Zope Page Templates&amp;nbsp;and drop this cheezy ZClass/DTML shit.&lt;/P&gt;</description>
			</item>
		<item>
			<description>It appears that this new Zope product, &lt;A href=&quot;http://www.zope.org/Members/eloquence/Artemis/Artemis1Released&quot;&gt;Artemis&lt;/A&gt;&amp;nbsp;allows the same kind of WYSIWYG editing in a browser that &quot;Radio&quot; uses.&amp;nbsp; On the other hand,&amp;nbsp;the demonstration site looks&amp;nbsp;rather wack, so&amp;nbsp;I&apos;ll have a&amp;nbsp;hard time mustering the interest&amp;nbsp;in trying it out.&amp;nbsp; </description>
			</item>
		<item>
			<description>Rolled out the semester evaluation system, or at least the templating part of it.&amp;nbsp; The teachers found it to be reasonably easy to use.&amp;nbsp; I just have to finish the thorny bit to add the completed evaluation instances into the student folders.&amp;nbsp; If I don&apos;t use one big form for the class/project/standards all at once it gets really twisted for the user.&amp;nbsp; But the one big form requires me to create a three level hierarchy of objects with one form action, which is a trick.</description>
			</item>
		</channel>
	</rss>

