Closed Bug 258102 Opened 20 years ago Closed 20 years ago

Option to import feed subscription-list.

Categories

(MailNews Core :: Feed Reader, enhancement)

x86
Windows XP
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: david.bjorklund, Assigned: mscott)

References

Details

Attachments

(5 files, 5 obsolete files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040902 Firefox/1.0 PR (NOT FINAL) Build Identifier: It would be really nice to be able to export/import the list of feed you are subscribing to in opml/foaf-format... Reproducible: Always Steps to Reproduce:
*** Bug 258103 has been marked as a duplicate of this bug. ***
Seconded. The main reason I'm not using the RSS reading functionality is that I have 200 feeds in bloglines.com already
It would also be useful to be able to deal with bugs with duplicate articles - I could remove all my RSS feeds and then add them again by using the export/import :-)
*** Bug 262938 has been marked as a duplicate of this bug. ***
I have written OPML import/export code. Still a bit rough, and needs cleanup. I hacked it into newsblog.jar and currently don't have a CVS tree setup, so no diff. Any suggestions for releasing it? I havn't realy looked into the Thunderbird extensions. Looked the Sage and Forumzilla projects but those seem a bit dead.
Re comment 5: if you email it to me (davidf@sjsoft.com) or attach it here I'll make a diff and attach it...
It's too late for this to make it for 1.0 but we'd love to get some help on adding support for this for a future release. either go through davidf to put together a patch or get yourself hooked up with CVS so you can make a patch yourself. I'd be interested in helping you generate a good patch for us to check in.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Thanks. Will probably be next week before I can get it ready to post. I was also looking into import/export of a bookmarks.html with live bookmarks. Probably not going to submit that now but code needs some refactoring/cleaning to be able to easily add it back later. I'll try the CVS route, otherwise ask davidf. I currently simply added a Import and an Export button to the subscriptions dialog, but am OK if someone want's a different GUI.
I'm interested in this too - I've hacked up a Perl script (and URL based service) to create OPML files from the feeds.rdf file, which you can read about here: http://www.oreillynet.com/pub/wlg/6038, but as I lament, I'm interested in going the other way. ajbu@planet.nl - did you ever submit your patch for this? I'd be interested in poking at your new newsblog.jar.
This is quick. very very quick. but it works. Should probably make an opml object instead of the hacking standalone functions. This should at least provide a band aid until a real solution is done.
Attached patch fixes to make wordpress happy (obsolete) (deleted) — Splinter Review
typo in element is fixed the exported opml xml file can now be imported into wordpress
Attachment #170129 - Attachment is obsolete: true
Attached patch import too (deleted) — Splinter Review
instead of getting some much needed sleep, I hacked up an import. - it works with various opml files generated from wordpress and a bunch of planets. export is now more friendly. <outline type="rss" title="feed.title" text="feed.title" xmlUrl="feed.url" hrmlUrl="feed.url"/> That should cover all the bases. Note: I have no idea what the doImport() code does, I just stole if from doAdd()
Attachment #170130 - Attachment is obsolete: true
(In reply to comment #12) Justin, do you have anything that we can use with the stock TB1.0 release? I'm assuming that you're patching against the current CVS code, since I can't find a "subscriptions.js" on my machine.
(In reply to comment #13) > (In reply to comment #12) > > Justin, do you have anything that we can use with the stock TB1.0 release? I'm > assuming that you're patching against the current CVS code, since I can't find a > "subscriptions.js" on my machine. Oh, duh. I found the newsblog.jar. Still, a stand-alone installable .xpi would be awesome.
Attached file patched newsblog jar (deleted) —
I am patching against the 1.0 branch of tbird I am using my local builds of tbird, it makes hacking much more sane. Taking the time to do an xpi for code/features that will hopefully end up in the next release of tbird seems a waste of time. Translation: I am way too lazy to do that. However, here is the jar of my 'working', patched newsblog. Be sure to backup your current jar.
Attached patch OPML Import/Export Patch (obsolete) (deleted) — Splinter Review
I applied Justin's patch and noticed that the htmlURL attribute in the exported OPML files was using the feed's URL. This value is supposed to be the value found in a feed-level link element. The attached patch incorporates all of Justin's changes, prefers @text to @title on import (@text is actually in the OPML spec), stores the Feed's "link" in the RDF store, addresses all Atom elements by their fully-qualified name, and exports @htmlURL correctly. Feed.js could use some refactoring, but this patch was already kind of large. I tested with my own rather large OPML file, which includes roughly equivalent proportions of Atom, RSS1, and RSS2.
Robert, if you think your patch is ready for review, why don't you ask for review/super-review? Otherwise, it'll just sit here indefinitely.
(In reply to comment #17) > Robert, if you think your patch is ready for review, why don't you ask for > review/super-review? Otherwise, it'll just sit here indefinitely. His patch just builds on top of mine. And this code is intended as a quick fix, not something to put into the main tree. Unless I am underestimating the value of my patch. I do think it goes about it the right way.
This patch will make a lot more sense when bug281237 is taken care of.
Depends on: 281237
(In reply to comment #18) > of my patch. I do think it goes about it the right way. This was suppose to say, "I do NOT think it goes about it the right way." very bad typo.
I patching this in stages would be best. We'll need Feed objects to have a link property, so users don't experience data loss when they round-trip their OPML files.
Attachment #171330 - Attachment is obsolete: true
Attachment #173900 - Flags: review?
Attachment #173900 - Flags: review? → review?(mscott)
Comment on attachment 173900 [details] [diff] [review] Step 1: Store HTML alternate links for Feeds Thanks for the patch Robert this first step, looks pretty good. The only thing I changed was: aNewLink = rdf.GetLiteral(aNewLink || ""); to aNewLink = rdf.GetLiteral(aNewLink); aNewLink should already be an empty string if getNodeValue was unable to find a link value in the DOM. I also got rid of some extra braces around a single statement if clause. I just checked this in so we can move onto the next step.
Attachment #173900 - Flags: review?(mscott) → review+
This patch handles "flat" opml files, where the children of the body element are all outline elements that have an xmlUrl and no content. I decided to store them without validating them over the network, because that could be quite a hassle if some feeds have auth, are momentarily unreachable, etc.
Attachment #174086 - Flags: review?(mscott)
forgot to turn off debug()
Attachment #174086 - Attachment is obsolete: true
Attachment #174087 - Flags: review?(mscott)
Attachment #174086 - Flags: review?(mscott)
Comment on attachment 174087 [details] [diff] [review] Step 2: Import Flat OPML files w/ localized interface + feed.createFolder(); + var folder = feed.folder ? feed.folder : gFeedSubscriptionsWindow.mRSSServer.rootMsgFolder.getChildNamed(feed.name); + I don't think we ever want to set the folder for a feed to the root folder (which is really the server folder). if feed.createFolder failed to actually create a new folder for us, we should probably give up on subscribing to that particular feed. I'm going to modify my copy of the patch to address that and I'll post a new one here.
This is basically Robert's patch with some modifications including: 1) adding folder accessors to a Feed item and removing duplicated calls to rootMsgFolder.getChildNamed. 2) Fixed createFolder to not call cleanupParsingState 3) On the OPML files I tested, many had .opml extensions so I added code to handle that. Furthermore, many of them used "url" attributes in the outliner elements instead of "xmlurl" so I made the import code handle that case as well. 4) Changed the alert text warnings a little bit and we now throw up an alert dialog if during import, we failed to actually find or import a new feed. 5) Localized the file picker title string 6) Trivial formatting nits such as removing braces for single line if clauses, adding a space between commas in function method args. Thanks for the good patch Robert and ajbu!
Attachment #174087 - Attachment is obsolete: true
I've checked in this last patch. Some things to think about going forward: 1) Should we import the list under some parent feed folder so the huge list doesn't show up as invididual top level rss folders but instead are all children of a folder named after the title of the OPML file? 2) Should we put all of the feeds in the OPML list into a single folder? How do other RSS readers handle this on import?
Target Milestone: --- → Thunderbird1.1
The 'OPML Import' button looks tacky, Can't it just be Import Feeds or something like that? What does OPML even stand for and I bet most users also do not know this and will wonder the same thing.
Your right the button should say 'Import Feeds' I suspect the dialog should say OPML though otherwise how will a user know what kind of file we can import from? I'll fix the button right now.
The dialog is good. Are you going to add the option to import feeds from the Tools->Import dialog?
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
The summmary says export/import, but the patch only covers import - or am I overlooking something here?
(In reply to comment #31) > The summmary says export/import, but the patch only covers import - or am I > overlooking something here? Only if I am as well...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
let's treat export as a separate bug. Bug #283735 marking this closed again.
Status: REOPENED → RESOLVED
Closed: 20 years ago20 years ago
Resolution: --- → FIXED
Summary: Option to export/import feed subscription-list. → Option to import feed subscription-list.
Attachment #174087 - Flags: review?(mscott)
Hi, are there sample OPML files we in QA could use to test (verify) this feature? it'd be great to add to our basic functional tests for tbird --thanks!
(In reply to comment #34) > Hi, are there sample OPML files we in QA could use to test (verify) this > feature? it'd be great to add to our basic functional tests for tbird --thanks! http://planet.mozilla.org http://blogs.msdn.com
The OPML import should support groups of feeds, as in other newsreaders. Should display the same way as nested folders in email accounts. See file for test case.
Second #36 for nested folders - this one is a big deal when you manage more then a few feeds. Should a new bug be opened?
Component: RSS → Feed Reader
Product: Thunderbird → MailNews Core
Target Milestone: Thunderbird1.1 → ---
I'm seeing this problem in 2014. Platorm: Ubuntu 13.10 Process: Export using RSSOwl Ver: 2.2.0 Mac Import using Thunderbird on Ubuntu 13.10 Result: Thunderbird created about a hundred folders corresponding to my news feeds but not rss content or functionality. Just a bunch of folders. #nothelpful
(In reply to doug from comment #38) > I'm seeing this problem in 2014. Doug, this bug was fixed almost 5 years ago and was actually a new feature within Thunderbird, it is highly unlikely to be your issue. > Result: Thunderbird created about a hundred folders corresponding to my news > feeds but not rss content or functionality. Just a bunch of folders. Please file a new bug, preferably with examples of what does/doesn't work so that there is a test case for us to reproduce against.
ok... thanks.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: