<?xml version="1.0" encoding="ISO-8859-1"?><opml version="1.1">	<head>		<title>radioFacts.opml</title>		<dateCreated>Tue, 16 Apr 2002 21:44:38 GMT</dateCreated>		<dateModified>Sat, 27 Apr 2002 18:37:57 GMT</dateModified>		<ownerName>Marc Barrot</ownerName>		<ownerEmail>mbarrot@dig.fr</ownerEmail>		<expansionState>1, 3, 4, 9, 11, 15, 18, 19, 21, 24, 25, 28, 33, 38, 41, 44, 45, 48, 49, 52, 56, 59, 60, 64, 68, 69, 72, 77, 80, 81, 84, 87, 89, 91, 93, 95, 97</expansionState>		<vertScrollState>64</vertScrollState>		<windowTop>53</windowTop>		<windowLeft>222</windowLeft>		<windowBottom>700</windowBottom>		<windowRight>971</windowRight>		</head>	<body>		<outline text="What is Radio ?">			<outline text="&lt;a href=&quot;http://radio.userland.com/&quot;&gt;Radio UserLand&lt;/a&gt; is an amazing piece of software. I don't think it can be described in any single step. Here are a few ways to look at Radio from a technically educated standpoint:"/>			<outline text="Radio is a desktop web publishing system.">				<outline text="Desktop based ...">					<outline text="The basic content of your site is structured as a &lt;a href=&quot;http://newhome.weblogs.com/historyOfWeblogs&quot;&gt;weblog&lt;/a&gt;: a sequence of posts, dated and timed, organized in reverse chronological order."/>					<outline text="The content is not limited to timestamped posts, you can also publish any kind of html or xml based documents, as well as pretty much anything in digital form (pictures, program archives, and so on.)"/>					<outline text="Radio operates a local http server from your desktop."/>					<outline text="The main way to access your site's content locally is through a web browser, targeted at localhost on port 5335."/>					</outline>				<outline text="... Web published ...">					<outline text="Radio upstreams the content of your site from your local storage device to an Internet accessible public web server."/>					<outline text="The public version of your site can be hosted in several ways.">						<outline text="The easiest way is to have it hosted by UserLand on their &lt;a href=&quot;http://rcs.userland.com/&quot;&gt;Radio Community Server&lt;/a&gt;. You are entitled to 20 Mb of free storage per year once you register."/>						<outline text="Your site can also be hosted on your own or some third party's RCS server, the RCS server code for Windows and MacOS is available from UserLand for &lt;i&gt;free&lt;/i&gt;."/>						<outline text="If you're a Unix buff, as most sysadmins are, you can host your site on pretty much any web server (probably Apache), or you can try &lt;a href=&quot;http://rcs.myelin.cjb.net/users/0105568/&quot;&gt;PyCS&lt;/a&gt;, a bona fide open source implementation of RCS developped in Python by &lt;a href=&quot;http://www.myelin.co.nz/&quot;&gt;Myelin&lt;/a&gt;."/>						</outline>					</outline>				<outline text="... Through upstreaming.">					<outline text="When talking to an RCS server, Radio accesses a web service defined by the &lt;a href=&quot;http://www.soapware.org/xmlStorageSystem&quot;&gt;XMLStorageSystem&lt;/a&gt; API, using &lt;a href=&quot;http://xml-rpc.org/spec&quot;&gt;XML-RPC&lt;/a&gt;."/>					<outline text="When talking to a regular Web server, Radio acts as a simple FTP client."/>					</outline>				<outline text="If security's your concern.">					<outline text="Both methods of upstreaming involve a transfer of data in the clear over the Internet.">						<outline text="That may become an issue if your content is addressed to a restricted private audience."/>						</outline>					<outline text="There are currently two ways of addressing this:">						<outline text="Upstream to your own desktop using a local FTP server, then synchronize your local site with the public site using &lt;a href=&quot;http://samba.anu.edu.au/rsync/&quot;&gt;rsync&lt;/a&gt; over &lt;a href=&quot;http://www.openssh.com/&quot;&gt;ssh&lt;/a&gt; (that's assuming you're behind a firewall, and that your workstation is not addressable from the outside, at least using FTP)."/>						<outline text="Use &lt;a href=&quot;http://tls.macrobyte.net/&quot;&gt;TLS&lt;/a&gt; for Radio from &lt;a href=&quot;http://macrobyte.net/&quot;&gt;Macrobyte Resources&lt;/a&gt; as an encryption layer between Radio and the RCS server."/>						</outline>					</outline>				</outline>			<outline text="Radio is a content management system.">				<outline text="At the core is Radio's object database.">					<outline text="The bulk of a Radio weblog is made of text, organised in chronologically identified post objects."/>					<outline text="These posts reside in Radio's weblogData.root object database, in the aptly named posts table."/>					</outline>				<outline text="The site's structure is a hierarchy of local folders and files.">					<outline text="The root of your site is the www folder."/>					<outline text="The home file of the site is index.txt. It's a regular text file, and contains no html, just a few variable declarations, and a call to a Radio macro command to access the page's actual content in the object database. When published, this file will generate an index.html and an rss.xml file."/>					<outline text="In addition, the www folder contains several subfolders, the most important being stories and categories. Refer to the additional reference material listed in the last section of this document for more information."/>					<outline text="A special mention for the gem subfolder: all of its content is directly upstreamed to the public server automatically  every time Radio detects a change. No rendering is performed. This is where static html pages, scripts and stylesheets are stored."/>					</outline>				<outline text="HTML pages are generated via templates.">					<outline text="When publishing, Radio creates HTML files for all the relevant data, by parsing it thru preferences and templates."/>					<outline text="Preference and template files are easily identified: their names all start with the pound (#) sign."/>					<outline text="A template is nothing more elaborate than an HTML layout document that incorporates special tags interpreted by Radio at publishing time. Those tags are specified between &amp;lt;% and %&amp;gt; markers."/>					<outline text="A preference file defines global variables (with names starting with a pound sign) referenced by templates (between &amp;lt;% and %&amp;gt;) and translated at publication."/>					</outline>				<outline text="XML files are published as well.">					<outline text="In addition to rendering weblog data as HTML pages, Radio generates XML files according to the &lt;a href=&quot;http://backend.userland.com/rss092&quot;&gt;RSS 0.92&lt;/a&gt; specification."/>					<outline text="RSS is a content syndication format that is fast becoming a standard on the Web. It formats your posts as news wire stories, that can be browsed with syndicated content readers such as O'Reilly's &lt;a href=&quot;http://www.oreillynet.com/meerkat/index.php&quot;&gt;Meerkat&lt;/a&gt; or Radio's own News Aggregator."/>					</outline>				<outline text="Publication timing and extent.">					<outline text="Your site's home page is rendered and upstreamed every time you create or edit a post from your local home page. The same is true for your site's categories pages, as well as when you create and modify a Radio story (refer to the last section references for an explanation of categories and stories)."/>					<outline text="You can also force several levels of publication from the Radio / Publish menu directly in the Radio application, ranging from your home page to the whole site."/>					</outline>				</outline>			<outline text="Radio is also a news feed aggregator.">				<outline text="The News web page of Radio's local interface lets you subscribe to any number of rss formatted wire services (all Radio weblogs are by definition rss wire services). ">					<outline text="Radio checks those services every hour, and displays the aggregated content, sorted by source and time of publication, in the News page."/>					<outline text="A handy Post button is available next to each story to create a new post to your weblog, citing the original content. All you have to do is delete the irrelevant part and add your own comments."/>					</outline>				</outline>			<outline text="Radio is an &lt;a href=&quot;http://www.outliners.com/&quot;&gt;outliner&lt;/a&gt; as well.">				<outline text="Radio's native text file format, outside of its object database, is an XML specification known as &lt;a href=&quot;http://www.opml.org/&quot;&gt;OPML&lt;/a&gt;, for Outline Processor Markup Language.">					<outline text="Pretty much everything in Radio, from text resources to internal tables to program code is presented as outlines."/>					<outline text="Outlines are hierachical trees of text nodes. Nodes can be expanded or collapsed to reveal or hide sub-content. They can also be moved from one place in the document tree to another."/>					</outline>				<outline text="OPML adds a new twist: transclusion.">					<outline text="URLs linking to other OPML outlines accessible over the Web can be expanded in place and fully integrated into the current document."/>					<outline text="This is the ultimate hypertext feature: the ability to make a virtual copy of part of one document, for inclusion in a second document, while preserving the all important context."/>					<outline text="A lot of &lt;b&gt;s l a m&lt;/b&gt; 's content is and will be based on OPML and outline rendering."/>					</outline>				<outline text="Radio adds another twist: the instant outliner.">					<outline text="Instant Outlining brings a new dimension to groupware and collaboration: adding persistence to instant messaging, leaving email behind to spammers and their ilk."/>					<outline text="Nobody describes it better than Jon Udell in this piece from &lt;a href=&quot;http://www.oreillynet.com/lpt/a/webservices/2002/04/01/outlining.html&quot;&gt;O'Reilly Network&lt;/a&gt;."/>					</outline>				</outline>			<outline text="Radio is an open development platform.">				<outline text="A large part of Radio's higher and mid-level functions are implemented with a built-in scripting language: &lt;a href=&quot;http://frontier.userland.com/stories/storyReader$1047&quot;&gt;UserTalk&lt;/a&gt;.">					<outline text="UserTalk is quick learning for anybody familiar with Perl, Python, Ruby, Apple or JavaScript, or any kind of more or less object oriented scripting medium."/>					<outline text="Radio has a host of objects and UserTalk macros to handle RSS and OPML XML files, as well as HTML and plain text."/>					<outline text="It also has UserTalk accessible implementations of http, smtp, pop, ftp, soap and xml-rpc clients."/>					</outline>				<outline text="Better yet, Radio acts as a soap and xml-rpc server, and provides 2 blogging web services thru the Blogger and MetaWeblog APIs.">					<outline text="In this way, content may be poured into Radio through any SOAP capable piece of external code, whatever the environment."/>					<outline text="It is also easy to implement new Radio web services, addressable from the outside."/>					</outline>				<outline text="Unless Radio is operating as a full peer on the Internet ( a dangerous situation from a security point of view), the current limit to Radio's web services offering is the nearest NAT device or firewall."/>				</outline>			</outline>		<outline text="What to do next ?">			<outline text="Intall the evaluation version of Radio.">				<outline text="&lt;a href=&quot;http://radio.weblogs.com/0100059/stories/2002/02/14/howToDownloadRadiouserland.html&quot;&gt;Download&lt;/a&gt; Radio from the &lt;a href=&quot;http://radio.userland.com/download&quot;&gt;UserLand&lt;/a&gt; site, get a &lt;a href=&quot;http://radio.weblogs.com/0100059/stories/2002/04/15/howToGetYourUserNumber.html&quot;&gt;user number&lt;/a&gt;, check your user identity and upstreaming options."/>				</outline>			<outline text="Try a few sample &lt;a href=&quot;http://radio.weblogs.com/0100059/stories/2002/02/14/howToPostToYourWeblog.html&quot;&gt;posts&lt;/a&gt; on your own weblog."/>			<outline text="Subscribe to a couple of rss feeds.">				<outline text="You can find other Radio operated sites by visiting &lt;a href=&quot;http://www.weblogs.com/&quot;&gt;Weblog.com&lt;/a&gt; or the &lt;a href=&quot;http://subhonker6.userland.com/rcsPublic/ranking&quot;&gt;RCS ranking page&lt;/a&gt;."/>				<outline text="For other sources, try O'Reilly's &lt;a href=&quot;http://www.oreillynet.com/meerkat/&quot;&gt;Meerkat&lt;/a&gt; or MIT's &lt;a href=&quot;http://blogdex.media.mit.edu/&quot;&gt;Blogdex&lt;/a&gt;."/>				</outline>			<outline text="Try writing a first story, and publish it."/>			<outline text="Start to fool around with templates to alter your weblog's page layout."/>			<outline text="Register your copy of Radio.">				<outline text="It's a steal at only $39.95 a year."/>				<outline text="For that hefty sum, you get automatic updates almost daily - No kidding."/>				</outline>			</outline>		<outline text="Additional references">			<outline text="Russ Lipton Documents Radio." type="link" url="http://radio.weblogs.com/0100059/stories/2002/02/26/theGoodStuff.html">				<outline text="He really does, relentlessly. This is a mandatory first stop for anyone trying to figure out Radio."/>				<outline text="Russ also publishes a &lt;a href=&quot;http://radio.weblogs.com/0100059/stories/2002/04/16/communityDocumentationScriptsAndTools.html&quot;&gt;Community Documentation, Scripts and Tools&lt;/a&gt; page."/>				</outline>			<outline text="Radio UserLand Study Guide." type="link" url="http://ruminations.weblogger.com/directory/143/studyGuide">				<outline text="Andy Sylvester has started a directory of resources for Radio students."/>				<outline text="He also maintains a list of Frontier/Manilla/Radio &lt;a href=&quot;http://radio.userland.com/directory/6742/documentation/andySylvestersDirectory/toolListsAndReviews&quot;&gt;tools and reviews&lt;/a&gt;."/>				</outline>			<outline text="Radio Docs and Where to Find Them." type="link" url="http://radio.weblogs.com/0100564/stories/2002/02/06/radioDocsAndWhereToFindThem.html">				<outline text="Christopher Nitchie's page is a good starting point for documentation on Radio programming."/>				</outline>			<outline text="The Buffalo Book" type="link" url="http://pages.sbcglobal.net/mattneub/frontierDef/ch00.html#pgfId-139">				<outline text="Matt Neuburg's mythical Frontier book is out of print at O'Reilly, but you can read it online."/>				</outline>			<outline text="Radio-Dev" type="link" url="http://groups.yahoo.com/group/radio-dev/">				<outline text="The mailing list for developers working in Radio UserLand 8.0, hosted by Yahoo."/>				</outline>			<outline text="The Radio Discussion Group" type="link" url="http://radio.userland.com/discuss/">				<outline text="Hosted by UserLand, mirrored on the &lt;a href=&quot;http://groups.yahoo.com/group/radio-userland/&quot;&gt;Radio-Userland&lt;/a&gt; Yahoo mailing list."/>				</outline>			<outline text="K-Logs" type="link" url="http://groups.yahoo.com/group/klogs/">				<outline text="A discussion of weblogs for Knowledge Management, moderated by John Robb and hosted by Yahoo."/>				</outline>			<outline text="&lt;b&gt;s l a m&lt;/b&gt; 's specials." type="link" url="http://radio.weblogs.com/0104487/stories/2002/04/18/sLAMSpecials.html">				<outline text="All the code created or adapted for service with &lt;b&gt;s l a m&lt;/b&gt;."/>				</outline>			<outline text="The XML-RPC web services &lt;a href=&quot;http://www.xmlrpc.com/spec&quot;&gt;spec&lt;/a&gt;s and resources &lt;a href=&quot;http://www.xml-rpc.org/&quot;&gt;directory&lt;/a&gt;."/>			<outline text="The SOAP webservice &lt;a href=&quot;http://www.w3.org/TR/SOAP/&quot;&gt;specs&lt;/a&gt; and resources &lt;a href=&quot;http://www.soapware.org/&quot;&gt;directory&lt;/a&gt;."/>			<outline text="The OPML Outline Processor Markup Language specs" type="link" url="http://www.opml.org/spec"/>			<outline text="The Blogger API specification." type="link" url="http://plant.blogger.com/api/index.html"/>			<outline text="The metaWeblog API specification." type="link" url="http://www.xmlrpc.com/metaWeblogApi"/>			<outline text="The XMLStorageSystem API specification." type="link" url="http://www.soapware.org/xmlStorageSystem"/>			</outline>		</body>	</opml>