

Building a Large Scale Distributed Outline Renderer for OPML
source link: https://fuzzyblog.io/blog/story.radio.weblogs.com/2002/04/23/building-a-large-scale-distributed-outline-renderer-for-opml.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Building a Large Scale Distributed Outline Renderer for OPML
Apr 23, 2002
Building a Large Scale Distributed Outline Renderer for OPML Last updated: 6/5/2002; 8:34:17 AM The FuzzyBlog!
Marketing 101. Consulting 101. PHP Consulting. Random geeky stuff. I Blog Therefore I Am.
Building a Large Scale Distributed Outline Renderer for OPML
Building a Large Scale Distributed Outline Renderer for OPML
OPML is a wicked cool way to display lightweight hierarchies of information. Its an easy to implement (I did it in less than an hour for a FAQ application), xml based, simple specification. It works and the author should be gosh dang proud of it. Here's the rub: OPML is displayed as XML tags in the browser. Here's what you see in IE:

To me, the view in IE is unacceptable. This makes outlining a geek curiousity rather than a mainstream thing. Yes, in a true outliner, the results will be better but we need a way for people to view this in HTML. I'd really like people to see my outlines now but with only Radio users able to get to them, it's a chicken and egg situation.
Here's my recommendation. And it isn't all that hard.
This is a Distributed Rendering Problem
Here are the issues as I see it:
- Take an OPML url and generate HTML from it for display. XSLT, DHTML, etc. Who cares? Let's get it done so that "Mom" or "GrandPa" can view it. (No disrespect to highly technical Moms and GrandPas out there, this is a metaphor). Edit or view, who cares? Have to start somewhere and View is easier.
- Give a link to the actual OPML url so that if people have a mime compliant OPML editor, it can be edited. OPTIONAL: Let people have a preferences facility to bookmark them and share them.
- Do it without breaking the bank on hardware.
That last point is the hard one. Here's my solution:
-
Write this in a commonly available web language currently installed on over 3,000,000 hosts world wide that also happens to be network ready, xml capable and really, really easy to get stuff done in. Sure, we'd all love to use Zope or Python or ExoticLangOfTheDayHere. Guess what: PHP's what I recommend. It meets these criteria and more.
It's wicked portable, fast enough and has none of the install problems with Perl scripts (flames to [email protected]).
- Write a renderer in PHP. Make it smart enough to update its rendering params from a server periodically. Make it accept one parameter, the OPML file to render.
- Write this code so it's drop dead simple to install on a server. Make it "ioview.php", no includes. Copy it into a website and go.
- Let people who download it and install it sign up with UserLand as an "OPML Partner". Award "Karma Points" if they do it.
- Let UserLand operate a redirector service which forks IO rendering requests out at random to different servers all over the globe. This could probably be done with one or two Linux boxes. Sure we could make it fancy but let brute force solve it for now. Heck, all UserLand really has to do is own the DNS entries and a little tiny bit of hardware to jumpstart it.
- Ask the Radio community to help out. I have right now 3 boxes I could register. I don't mind giving up a little cpu and bandwidth.
- Do something with the "Karma Points". Have a pot luck supper or something. Who cares. We'll do it because we're a community and we believe. The karma is just an idea.
I'm willing to help. Anyone else? I can devote both IQ, coding and cpu to it. There have to be a lot of boxes out there with light loads.
Copyright 2002 © The FuzzyStuff
Posted In: #opml
Recommend
-
7
Building large scale data ingestion solutions for Azure SQL using Azure databricks - Part 2Find out how bulk insert performs with different indexing strategy in Azure SQL Database. Sep 3, 2020 •...
-
19
Building large scale data ingestion solutions for Azure SQL using Azure databricks - Part 1Discover how to bulk insert million of rows into Azure SQL Hyperscale using Databricks Sep 1, 2020 •...
-
10
Introduction Recently at work, We were looking for a way to generate unique IDs across a distributed system that could also be used as the primary keys in the MySQL tables. We knew in a single MySQL database we can si...
-
9
6 Tips for Building Large Scale Vue.js 3 ApplicationsPart 3 of 3 in our How to Structure a Large Scale Vue.js Application serie...
-
7
Building Large-Scale iOS Apps at Airbnb Nov 26, 2021 2...
-
10
[Golang] XML Parsing Example (6) - Parse OPML Concisely February 26, 2015 The previo...
-
3
[Golang] XML Parsing Example (5)Based on previous examples, this post shows how to parse OPML file. The following OPML example comes from my web f...
-
7
Building a large scale unsupervised model anomaly detection system — Part 1Distributed Profiling of Model Inference LogsBy
-
6
Building a large scale unsupervised model anomaly detection system — Part 2Building ML Models with Observability at ScaleBy
-
4
kmaasrudOPML is underrated As a response to the general enshittification of major platforms, I would say we are...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK