The Yankees. How incredibly boring and tiresome.
October 2003 Archives
Matt Haughey has been asking around for solutions to replicate TypePad's Publish On…
functionality. Various solutions have been floated, but I couldn't pass up a challenge to develop something natively
in MT that operates just like TypePad's functionality.
Hence, mt-publish-on, my latest MT creation and first public code modification.
A few words of caution…
- Applying code patches is a buyer beware proposition. Be sure to have backups of both files that will be modified readily available in case the patch fails and you need to revert.
- In order to implement this package you need to be comfortable working with patch and cron. Due to my already non-existent personal bandwidth I will not be able to answer requests for support in setting up cron or fixing blown patches.
- These patches were generated from the
Entry.pmmodule andedit_entry.tmpltemplate that comes with version 2.64. I have not tested previous versions. There is a possibility it will work, but I can't guarantee it.
Download it from my plugins page.
During last weekend's, Foo Camp a group of luminaries got together to discuss feed auto-discovery. Sam Ruby took notes and what they are calling FDML (Feed Discovery/Directory/Detailing) Markup Language) and has posted them on a wiki – my favorite. ;)
I revised my previous example to bring it closer in-line with the requirements they listed.
<?xml version="1.0" encoding="UTF-8"?>
<index
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns="urn:temporary:uri">
<title>News4Humans feedOnFeeds</title>
<!-- a URL to the corresponding website -->
<source>http://news4humans.com/index.html</source>
<description>All the news preferred by highly evolved primates.</description>
<language>en-us</language>
<!-- the parent directory -->
<relation>http://www.foo.com/parent.adx</relation>
<!-- generator -->
<publisher>newsfor@news4humans.com ADX Generator 0.1</publisher>
<service>
<name>Latest News</name> <!-- same as dc:title -->
<description>A syndication feed of the 15 most recent news posts.</description>
<source>http://news4humans.com/feeds/index.xml</source>
<format>http://purl.org/rss/2.0/</format>
<!-- need a standardized list of terms or perhaps a URI
scheme would be more precise? -->
<type>abstracts</type>
<dc:modified>2003-09-12T23:35:52-00:00</dcterms:modified>
<subject>Breaking News</subject>
<creator>News4Humans Staff</creator>
<identifier>brnews20031014123456</identifier>
</service>
<service>
<name>Google Search</name>
<description>A SOAP interface to the Google search engine.</description>
<format>http://schemas.xmlsoap.org/wsdl/</format>
<source>http://api.google.com/GoogleSearch.wsdl</source>
</service>
<!-- This was IndexRef. Are the "children" to this list. -->
<link>
<title>News4Humans Technology News Feeds</title>
<description>All the news preferred by highly evolved primates.</description>
<source>http://news4humans.com/tech.adx</source>
<format>urn:temporary:uri</format>
<creator>News4Humans Staff</creator>
</link>
</index>
I kept with Dublin Core Metadata Element Set for the most part just to adhere to some recognized standard. The tag naming could be more precise and refined.
Relatedly Bill Kearney posted a mockup of James' initial ADX format here: http://www.syndic8.com/genfeed.php?Format=adx&UserID=wkearney99&List=8
All good stuff.
While I was out on my latest blogging hiatus, James Snell picks up on my response to earlier discussion by Jeremy Zawodny and Diego Doval for developing a means of more robust RSS auto-discovery. He writes:
As much as I like WSIL, it's pretty much officially dead. There is no further work going into it at all. So while I like where Tim is going with this, I think an alternative approach needs to be developed.
He goes on to layout an example of a new alternate WSIL-like format he calls The Automatic Discovery indeX (ADX).
I agree with James and had suspected as much about WSIL. Given James employer is one of the authors of that spec I'll take it as fact.
I also like where he's gone with ADX. Like WSIL, it's more RESTful then UDDI (which just needs to die) and relatively simple and versatility enough to integrate numerous format pointers into one mechanism – SOAP, RSS, OPML, Atom and so on. This could also be used as a more robust and eventually a better formed and documented blogroll format.
While its a good start, ADX as James has detailed it I think it could use some refinement – mostly what I think are nits.
- Keep the tags all lowercase. Most formats do it that way so I see nothing gained be switching to proper case tags names.
- I like the reuse of existing RSS modules such as Dublin Core however their use seems inconsistent. For instance James uses
dc:title, but does not namespaceDescription.Nameis also not namespaced and is about the equivalent ofdc:title. I realize that James was transcribing my WSIL examples, but since this is a new format we might as well clean that up. Perhaps if Dublin Core is going (and should) play such an important roll those elements should just be folded into the syntax of this format?
- In the spirit of Dublin Core, I'd reuse this element sets naming conventions as much as possible.
Service.EndPointbecomessourceor perhaps the RSS standardlinkand so on.
IndexRefshould be expanded to allow for additional meta data to be associated with a reference to another index. For instance, what type of index is on the other side of this link? Another ADX? Or perhaps a UDDI directory? Or perhaps a OPML file. This is also an important allowance for blogroll use.
- For argument sake, I'd like to see an example of a WSDL file and a UDDI pointer.
- Having a schema is good, but I think should be optional in an ADX document.
- I'm really hesitant of the DNS Service Discovery method because most users do not have the knowledge or access to implement such a thing.
Mostly nits. So here is my riff on James' original ADX proposal where I incorporate my feedback into an example:
<?xml version="1.0" encoding="UTF-8"?> <index xmlns:dcterms="http://purl.org/dc/terms/" xmlns="urn:temporary:uri"> <title>News4Humans feedOnFeeds</title> <dcterms:modified>2003-09-12T23:45:37-00:00</dcterms:modified> <source>http://news4humans.com/index.adx</source> <description>All the news preferred by highly evolved primates.</description> <language>en-us</language> <creator>newsfor@news4humans.com</creator> <service> <name>Latest News</name> <description>A syndication feed of the 15 most recent news posts.</description> <source>http://news4humans.com/feeds/index.xml</source> <format>http://purl.org/rss/2.0/</format> <dc:modified>2003-09-12T23:35:52-00:00</dcterms:modified> </service> <service> <name>Google Search</name> <description>A SOAP interface to the Google search engine.</description> <format>http://schemas.xmlsoap.org/wsdl/</format> <source>http://api.google.com/GoogleSearch.wsdl</source> </service> <!-- This was IndexRef –> <link> <title>News4Humans Technology News Feeds</title> <description>All the news preferred by highly evolved primates.</description> <source>http://news4humans.com/tech.adx</source> <format>urn:temporary:uri</format> <creator>News4Humans</creator> </link> </index>
Thoughts?
