You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@roller.apache.org by chucks <de...@gmail.com> on 2006/02/21 11:39:14 UTC
Backing it up
Hi guys,
I wasn't able to find out any official resource on how one can back-up the
Blog Posts and comments at a roller blog (say hosted at JRoller.com). This
would be good for anybody planning to move to any other blogware.
Is there any hack available?
Thanks,
D
--
View this message in context: http://www.nabble.com/Backing-it-up-t1161097c12275.html#a3047590
Sent from the Roller - User forum at Nabble.com.
Re: Backing it up
Posted by David M Johnson <Da...@Sun.COM>.
Lance did the work to save to XML and to drop the resulting file into
the blog's resources directory, but the work never made it's way into
a release (I dropped the ball).
I believe I wanted to expose the export feature as a button on the
Entries page. That way, you could design a query/filter and then save
the resulting entries to XML format.
- Dave
On Feb 21, 2006, at 1:24 PM, Allen Gilliland wrote:
> This would definitely be a good thing to put as a general RFE, just a
> basic export utility in xml format. It would be nice if there was a
> standardized format to follow, which is designed to allow the user to
> export/import their blog data between any blog software.
>
> -- Allen
>
>
> On Tue, 2006-02-21 at 10:16, David M Johnson wrote:
>> Oops. That "somebody" I mentioned was you chucks. Oh well, others
>> might find this useful too.
>>
>> - Dave
>>
>>
>> On Feb 21, 2006, at 1:12 PM, David M Johnson wrote:
>>> On Feb 21, 2006, at 5:39 AM, chucks wrote:
>>>> I wasn't able to find out any official resource on how one can
>>>> back-up the
>>>> Blog Posts and comments at a roller blog (say hosted at
>>>> JRoller.com). This
>>>> would be good for anybody planning to move to any other blogware.
>>>>
>>>> Is there any hack available?
>>>
>>> There are a couple of hacks, here's one:
>>> http://blogs.sun.com/roller/page/richb?
>>> entry=backing_up_your_roller_posts
>>>
>>>
>>> And here's another I just recommended to somebody today...
>>>
>>> Currently, if you don't have access to the internal Roller API and/
>>> or the Roller database, the only way to backup a Roller blog is to
>>> write a custom template.
>>>
>>> Here's how you'd do it:
>>> 1 - create a new template in your blog
>>> 2 - within the template use the $pageModel object to fetch all
>>> entries of your blog
>>> 3 - iterate through those entries to output your blog in RSS or
>>> Atom format (example below)
>>> 4 - create your own name-spaced XML element to represent comments
>>> within each item
>>> 5 - write a simple program that parses that and uses MetaWeblog API
>>> to post to your new blog
>>>
>>> For step #2 refer to the Roller macro reference
>>> http://rollerweblogger.org/velocidoc/
>>>
>>> For step #3 refer to the Atom or RSS spec
>>> http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
>>> http://blogs.law.harvard.edu/tech/rss
>>>
>>> For step #5 refer to the MetaWeblog API
>>> http://www.xmlrpc.com/metaWeblogApi
>>>
>>> For parsing RSS, see the chapter 5 examples from my book
>>> For posting via MetaWeblog API (and Atom protocol), see the chapter
>>> 8 examples from my book:
>>> http://blogapps.dev.java.net
>>>
>>> - Dave
>>>
>>>
>>> PS. you could use this template as a starting point:
>>>
>>> $pageHelper.setContentType("application/rss+xml;charset=utf-8")<?
>>> xml version="1.0" encoding="utf-8"?>
>>> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
>>> <channel>
>>> <title>$utilities.textToHTML($website.name,true)</title>
>>> <link>$websiteURL</link>
>>> <description>$utilities.textToHTML($website.description,true)</
>>> description>
>>> <language>en-us</language>
>>> <copyright>Copyright #formatDate("yyyy" $now)</copyright>
>>> <lastBuildDate>$utilities.formatRfc822Date($updateTime)</
>>> lastBuildDate>
>>> <generator>Roller Weblogger #showVersion() ($rollerBuildTime:
>>> $rollerBuildUser)</generator>
>>> #set( $entries = $pageModel.getRecentWeblogEntriesArray
>>> ($entryCount, 'nil') )
>>> #foreach( $entry in $entries )
>>> <item>
>>> <title>$utilities.textToHTML($entry.title,true)</title>
>>> #if( $entry.link && !$entry.link.trim().equals("") )
>>> <source url="$utilities.textToHTML($entry.link)">
>>> $utilities.textToHTML($entry.link)</source>
>>> #end
>>> <description>#showEntryDescription($entry)</description>
>>> <category>$utilities.textToHTML($entry.category.name,true)</
>>> category>
>>> <link>$absBaseURL$entry.permaLink</link>
>>> <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
>>> #if( $website.allowComments )
>>> <comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)
>>> </comments>
>>> #end
>>> <pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
>>> <dc:creator>$utilities.textToHTML($entry.creator.fullName,true)
>>> </dc:creator>
>>> #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
>>> #set( $mc_type = $entry.findEntryAttribute
>>> ("att_mediacast_type") )
>>> #set( $mc_length = $entry.findEntryAttribute
>>> ("att_mediacast_length") )
>>> #if( $mc_url && $mc_length && $mc_type )
>>> <enclosure url="$mc_url" type="$mc_type"
>>> length="$mc_length" />
>>> #set($mc_url = false) #set($mc_type = false) #set($mc_length
>>> = false)
>>> #end
>>> </item>
>>> #end
>>> </channel>
>>> </rss>
>>>
>>>
>>
Re: Backing it up
Posted by Allen Gilliland <Al...@Sun.COM>.
This would definitely be a good thing to put as a general RFE, just a
basic export utility in xml format. It would be nice if there was a
standardized format to follow, which is designed to allow the user to
export/import their blog data between any blog software.
-- Allen
On Tue, 2006-02-21 at 10:16, David M Johnson wrote:
> Oops. That "somebody" I mentioned was you chucks. Oh well, others
> might find this useful too.
>
> - Dave
>
>
> On Feb 21, 2006, at 1:12 PM, David M Johnson wrote:
> > On Feb 21, 2006, at 5:39 AM, chucks wrote:
> >> I wasn't able to find out any official resource on how one can
> >> back-up the
> >> Blog Posts and comments at a roller blog (say hosted at
> >> JRoller.com). This
> >> would be good for anybody planning to move to any other blogware.
> >>
> >> Is there any hack available?
> >
> > There are a couple of hacks, here's one:
> > http://blogs.sun.com/roller/page/richb?
> > entry=backing_up_your_roller_posts
> >
> >
> > And here's another I just recommended to somebody today...
> >
> > Currently, if you don't have access to the internal Roller API and/
> > or the Roller database, the only way to backup a Roller blog is to
> > write a custom template.
> >
> > Here's how you'd do it:
> > 1 - create a new template in your blog
> > 2 - within the template use the $pageModel object to fetch all
> > entries of your blog
> > 3 - iterate through those entries to output your blog in RSS or
> > Atom format (example below)
> > 4 - create your own name-spaced XML element to represent comments
> > within each item
> > 5 - write a simple program that parses that and uses MetaWeblog API
> > to post to your new blog
> >
> > For step #2 refer to the Roller macro reference
> > http://rollerweblogger.org/velocidoc/
> >
> > For step #3 refer to the Atom or RSS spec
> > http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
> > http://blogs.law.harvard.edu/tech/rss
> >
> > For step #5 refer to the MetaWeblog API
> > http://www.xmlrpc.com/metaWeblogApi
> >
> > For parsing RSS, see the chapter 5 examples from my book
> > For posting via MetaWeblog API (and Atom protocol), see the chapter
> > 8 examples from my book:
> > http://blogapps.dev.java.net
> >
> > - Dave
> >
> >
> > PS. you could use this template as a starting point:
> >
> > $pageHelper.setContentType("application/rss+xml;charset=utf-8")<?
> > xml version="1.0" encoding="utf-8"?>
> > <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
> > <channel>
> > <title>$utilities.textToHTML($website.name,true)</title>
> > <link>$websiteURL</link>
> > <description>$utilities.textToHTML($website.description,true)</
> > description>
> > <language>en-us</language>
> > <copyright>Copyright #formatDate("yyyy" $now)</copyright>
> > <lastBuildDate>$utilities.formatRfc822Date($updateTime)</
> > lastBuildDate>
> > <generator>Roller Weblogger #showVersion() ($rollerBuildTime:
> > $rollerBuildUser)</generator>
> > #set( $entries = $pageModel.getRecentWeblogEntriesArray
> > ($entryCount, 'nil') )
> > #foreach( $entry in $entries )
> > <item>
> > <title>$utilities.textToHTML($entry.title,true)</title>
> > #if( $entry.link && !$entry.link.trim().equals("") )
> > <source url="$utilities.textToHTML($entry.link)">
> > $utilities.textToHTML($entry.link)</source>
> > #end
> > <description>#showEntryDescription($entry)</description>
> > <category>$utilities.textToHTML($entry.category.name,true)</
> > category>
> > <link>$absBaseURL$entry.permaLink</link>
> > <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
> > #if( $website.allowComments )
> > <comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)
> > </comments>
> > #end
> > <pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
> > <dc:creator>$utilities.textToHTML($entry.creator.fullName,true)
> > </dc:creator>
> > #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
> > #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") )
> > #set( $mc_length = $entry.findEntryAttribute
> > ("att_mediacast_length") )
> > #if( $mc_url && $mc_length && $mc_type )
> > <enclosure url="$mc_url" type="$mc_type" length="$mc_length" />
> > #set($mc_url = false) #set($mc_type = false) #set($mc_length
> > = false)
> > #end
> > </item>
> > #end
> > </channel>
> > </rss>
> >
> >
>
Re: Backing it up
Posted by David M Johnson <Da...@Sun.COM>.
Oops. That "somebody" I mentioned was you chucks. Oh well, others
might find this useful too.
- Dave
On Feb 21, 2006, at 1:12 PM, David M Johnson wrote:
> On Feb 21, 2006, at 5:39 AM, chucks wrote:
>> I wasn't able to find out any official resource on how one can
>> back-up the
>> Blog Posts and comments at a roller blog (say hosted at
>> JRoller.com). This
>> would be good for anybody planning to move to any other blogware.
>>
>> Is there any hack available?
>
> There are a couple of hacks, here's one:
> http://blogs.sun.com/roller/page/richb?
> entry=backing_up_your_roller_posts
>
>
> And here's another I just recommended to somebody today...
>
> Currently, if you don't have access to the internal Roller API and/
> or the Roller database, the only way to backup a Roller blog is to
> write a custom template.
>
> Here's how you'd do it:
> 1 - create a new template in your blog
> 2 - within the template use the $pageModel object to fetch all
> entries of your blog
> 3 - iterate through those entries to output your blog in RSS or
> Atom format (example below)
> 4 - create your own name-spaced XML element to represent comments
> within each item
> 5 - write a simple program that parses that and uses MetaWeblog API
> to post to your new blog
>
> For step #2 refer to the Roller macro reference
> http://rollerweblogger.org/velocidoc/
>
> For step #3 refer to the Atom or RSS spec
> http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
> http://blogs.law.harvard.edu/tech/rss
>
> For step #5 refer to the MetaWeblog API
> http://www.xmlrpc.com/metaWeblogApi
>
> For parsing RSS, see the chapter 5 examples from my book
> For posting via MetaWeblog API (and Atom protocol), see the chapter
> 8 examples from my book:
> http://blogapps.dev.java.net
>
> - Dave
>
>
> PS. you could use this template as a starting point:
>
> $pageHelper.setContentType("application/rss+xml;charset=utf-8")<?
> xml version="1.0" encoding="utf-8"?>
> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
> <channel>
> <title>$utilities.textToHTML($website.name,true)</title>
> <link>$websiteURL</link>
> <description>$utilities.textToHTML($website.description,true)</
> description>
> <language>en-us</language>
> <copyright>Copyright #formatDate("yyyy" $now)</copyright>
> <lastBuildDate>$utilities.formatRfc822Date($updateTime)</
> lastBuildDate>
> <generator>Roller Weblogger #showVersion() ($rollerBuildTime:
> $rollerBuildUser)</generator>
> #set( $entries = $pageModel.getRecentWeblogEntriesArray
> ($entryCount, 'nil') )
> #foreach( $entry in $entries )
> <item>
> <title>$utilities.textToHTML($entry.title,true)</title>
> #if( $entry.link && !$entry.link.trim().equals("") )
> <source url="$utilities.textToHTML($entry.link)">
> $utilities.textToHTML($entry.link)</source>
> #end
> <description>#showEntryDescription($entry)</description>
> <category>$utilities.textToHTML($entry.category.name,true)</
> category>
> <link>$absBaseURL$entry.permaLink</link>
> <guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
> #if( $website.allowComments )
> <comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)
> </comments>
> #end
> <pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
> <dc:creator>$utilities.textToHTML($entry.creator.fullName,true)
> </dc:creator>
> #set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
> #set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") )
> #set( $mc_length = $entry.findEntryAttribute
> ("att_mediacast_length") )
> #if( $mc_url && $mc_length && $mc_type )
> <enclosure url="$mc_url" type="$mc_type" length="$mc_length" />
> #set($mc_url = false) #set($mc_type = false) #set($mc_length
> = false)
> #end
> </item>
> #end
> </channel>
> </rss>
>
>
Re: Backing it up
Posted by David M Johnson <Da...@Sun.COM>.
On Feb 21, 2006, at 5:39 AM, chucks wrote:
> I wasn't able to find out any official resource on how one can back-
> up the
> Blog Posts and comments at a roller blog (say hosted at
> JRoller.com). This
> would be good for anybody planning to move to any other blogware.
>
> Is there any hack available?
There are a couple of hacks, here's one:
http://blogs.sun.com/roller/page/richb?
entry=backing_up_your_roller_posts
And here's another I just recommended to somebody today...
Currently, if you don't have access to the internal Roller API and/or
the Roller database, the only way to backup a Roller blog is to write
a custom template.
Here's how you'd do it:
1 - create a new template in your blog
2 - within the template use the $pageModel object to fetch all
entries of your blog
3 - iterate through those entries to output your blog in RSS or Atom
format (example below)
4 - create your own name-spaced XML element to represent comments
within each item
5 - write a simple program that parses that and uses MetaWeblog API
to post to your new blog
For step #2 refer to the Roller macro reference
http://rollerweblogger.org/velocidoc/
For step #3 refer to the Atom or RSS spec
http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html
http://blogs.law.harvard.edu/tech/rss
For step #5 refer to the MetaWeblog API
http://www.xmlrpc.com/metaWeblogApi
For parsing RSS, see the chapter 5 examples from my book
For posting via MetaWeblog API (and Atom protocol), see the chapter 8
examples from my book:
http://blogapps.dev.java.net
- Dave
PS. you could use this template as a starting point:
$pageHelper.setContentType("application/rss+xml;charset=utf-8")<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>$utilities.textToHTML($website.name,true)</title>
<link>$websiteURL</link>
<description>$utilities.textToHTML($website.description,true)</
description>
<language>en-us</language>
<copyright>Copyright #formatDate("yyyy" $now)</copyright>
<lastBuildDate>$utilities.formatRfc822Date($updateTime)</
lastBuildDate>
<generator>Roller Weblogger #showVersion() ($rollerBuildTime:
$rollerBuildUser)</generator>
#set( $entries = $pageModel.getRecentWeblogEntriesArray
($entryCount, 'nil') )
#foreach( $entry in $entries )
<item>
<title>$utilities.textToHTML($entry.title,true)</title>
#if( $entry.link && !$entry.link.trim().equals("") )
<source url="$utilities.textToHTML($entry.link)">
$utilities.textToHTML($entry.link)</source>
#end
<description>#showEntryDescription($entry)</description>
<category>$utilities.textToHTML($entry.category.name,true)</
category>
<link>$absBaseURL$entry.permaLink</link>
<guid isPermaLink="true">$absBaseURL$entry.permaLink</guid>
#if( $website.allowComments )
<comments>$absBaseURL$utilities.textToHTML($entry.commentsLink)</
comments>
#end
<pubDate>$utilities.formatRfc822Date($entry.pubTime)</pubDate>
<dc:creator>$utilities.textToHTML($entry.creator.fullName,true)</
dc:creator>
#set( $mc_url = $entry.findEntryAttribute("att_mediacast_url") )
#set( $mc_type = $entry.findEntryAttribute("att_mediacast_type") )
#set( $mc_length = $entry.findEntryAttribute
("att_mediacast_length") )
#if( $mc_url && $mc_length && $mc_type )
<enclosure url="$mc_url" type="$mc_type" length="$mc_length" />
#set($mc_url = false) #set($mc_type = false) #set($mc_length
= false)
#end
</item>
#end
</channel>
</rss>