Bug 420506 (mail-killrdf)

Remove RDF use from Thunderbird

NEW
Assigned to

Status

11 years ago
13 days ago

People

(Reporter: jminta, Assigned: benc)

Tracking

(Depends on: 4 bugs, Blocks: 4 bugs, {helpwanted, meta})

Trunk
helpwanted, meta
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Updated

11 years ago
Depends on: 421382
(Reporter)

Updated

11 years ago
Depends on: 421428
(Reporter)

Updated

11 years ago
Depends on: 421443
(Reporter)

Updated

11 years ago
Depends on: 421786
(Reporter)

Updated

11 years ago
Depends on: 422474
(Reporter)

Updated

11 years ago
Depends on: 422572
(Reporter)

Updated

11 years ago
Depends on: 422845
(Reporter)

Updated

11 years ago
Depends on: 435804
(Reporter)

Updated

11 years ago
Depends on: 436630
(Reporter)

Updated

11 years ago
Depends on: 436673
(Reporter)

Updated

11 years ago
Depends on: 436677
(Reporter)

Updated

11 years ago
Depends on: 436718
(Reporter)

Updated

11 years ago
Depends on: 437869
(Reporter)

Updated

11 years ago
Depends on: 439236
(Reporter)

Updated

11 years ago
Depends on: 439364
(Reporter)

Updated

11 years ago
Depends on: 439373
(Reporter)

Updated

11 years ago
Depends on: 441437
(Reporter)

Updated

11 years ago
Depends on: 442802
Blocks: 449226
Depends on: 449260
(Reporter)

Updated

11 years ago
Depends on: 453820
(Reporter)

Updated

11 years ago
Depends on: 453908
(Reporter)

Comment 1

11 years ago
For those wishing to follow along at home, a lot of this development is now going to happen in a public hg repo: http://hg.mozilla.org/users/jminta_gmail.com/kill-rdf/
Depends on: 457333
(Reporter)

Comment 2

11 years ago
Posted patch current patchSplinter Review
I'm attaching the current diff of the kill-rdf repository, since we reached a major milestone today: nsMsgDBFolder no longer inherits from nsRDFResource. The datasources have been uncoupled and are no longer packaged. After some more bug-fixing and testing, we should be ready for review

Note: This patch also includes a bunch of changes from jcranmer's subscribe de-rdf work, which is planned to land separately (before this lands).

Updated

11 years ago
Depends on: 460952

Updated

11 years ago
Blocks: 460953
(Reporter)

Updated

11 years ago
Depends on: 464710
Comment on attachment 343843 [details] [diff] [review]
current patch


What is this patch status?
(In reply to comment #3)
> (From update of attachment 343843 [details] [diff] [review])
> 
> What is this patch status?

The patch was a diff of the repo, many of the changes of which were committed via other bugs.
(In reply to comment #4)
> The patch was a diff of the repo, many of the changes of which were committed
> via other bugs.

Can it be obsoleted? (Or updated?)
Updating the links in the description:

RDF contract header (nsrdfcid):
http://mxr.mozilla.org/comm-central/search?string=nsrdfcid&find=mail&findi=&filter=^[^\0]*%24&hitlimit=&tree=comm-central
32 matching lines in 31 files (nsAddrDatabase does it twice?)

NC-RDF property specifier (nc-rdf):
http://mxr.mozilla.org/comm-central/search?string=nc-rdf&find=mail&findi=&filter=^[^\0]*%24&hitlimit=&tree=comm-central
418 matching lines in 45 files:
+ 319 lines in 18 files are for suite/mailnews
+  43 lines in 10 files are for mail/
+  56 lines in 17 files are for mailnews/

RDF service (rdf-service):
http://mxr.mozilla.org/comm-central/search?string=rdfservice&find=mail&findi=&filter=^[^\0]*%24&hitlimit=&tree=comm-central
352 matching lines in 83 files (mostly in mailnews)

Probably the lowest-hanging fruit with de-RDF now is the address book code.
Depends on: 541854
Blocks: 657604
Blocks: 657607

Updated

8 years ago
No longer blocks: 657604
No longer blocks: 460953
What the hey, it's been 2 years since the last update, which was itself 2 years since the previous one, might as well bless this as a recurring event :-)

RDF contract header is matched by 22 lines in 22 files: (-10 / -9)
+  22 lines in 22 files are for mailnews/

nc-rdf is matched by 392 lines in 42 files:             (-26 / -3)
+ 315 lines in 17 files are for suite/mailnews          ( -4 / -1)
+  39 files in 13 files are for mailnews/               ( -4 / +3)
+  38 lines in 12 files are for mail/                   (-18 / -5)

rdfservice is matched by 259 lines in 61 files:         (-93 /-18)
+  12 lines in  7 files are for suite/mailnews
+ 226 lines in 44 files are for mailnews/
+  21 lines in 10 files are for mail/

If you want the low-hanging fruit:
* RSS internals
* Subscribe dialog
* Bring back the folder lookup service
* Pick your favorite UI widget and remove RDF from it. Especially if you do it in SeaMonkey
* The account manager (maybe?)
Depends on: 732106
Assignee: jminta → nobody
Keywords: helpwanted
Summary: jminta's war on rdf → Remove RDF use from Thunderbird
Depends on: 878604
No longer depends on: 442802

Updated

5 years ago
Blocks: 1054354
Depends on: 1056649

Updated

3 years ago
Blocks: 211804

Updated

10 months ago
Depends on: 1467238

Updated

6 months ago
Depends on: 1495101
(Assignee)

Comment 8

3 months ago
Just wanted to add a link to Bug 1512612, which mentions folders provided by extensions.
I have to admit I'm currently a little ignorant when it comes to extensions, but presumably this means if RDF is ditched there'll be some extension-related work too.
(Assignee)

Comment 9

2 months ago
Posted patch WIP-remove-rdf-from-fls.patch (obsolete) — Splinter Review

Posting this mainly to get my thoughts and findings organised.
Very much work-in-progress.

This patch is my experimental attempt to remove RDF from the folder-lookup-service.
Built on top of my c++ patch in Bug 453908 (still in review).
It doesn't call RDF at all, instead it mimics just the behaviour of RDF GetResource() by:

  • maintaining its own cache of already-created folders
  • using the uri 'scheme' part to pick the right ctor to instantiate new folders.
  • calling the folder's Init() function

This should also work fine for folder implementations supplied by extensions.

This all basically works, and so theoretically it's just a matter of removing the nsIRDFResource inheritance from nsMsgDBFolder, which doesn't look hard.

In practice there are a bunch of details to iron out still:

  • I think the FLS cache is ditching some folders prematurely (using weak references)

  • my C++ patch in Bug 453908 pushes the use of GetExistingFolder(), which never creates folders or returns dangling (parentless) folders. This is causing some friction, and I might have to loosen this a bit.
    I still think the use of dangling folders is really confusing and needs some attention, but I now think we can finish removing the RDF code first.

  • braindump ends -

Assignee: nobody → benc
(Assignee)

Updated

a month ago
Depends on: 1527764
(Assignee)

Updated

a month ago
Depends on: 1527772
(Assignee)

Updated

28 days ago
Attachment #9035873 - Attachment is obsolete: true

Updated

21 days ago
Depends on: 1532173

Updated

21 days ago
Depends on: 1532177
(Assignee)

Updated

21 days ago
Depends on: 1532179
(Assignee)

Updated

14 days ago
Depends on: 1534163

Updated

13 days ago
Depends on: 1534530
You need to log in before you can comment on or make changes to this bug.