Implement the Palm AB Conduit for Mozilla

VERIFIED FIXED in mozilla1.2beta

Status

MailNews Core Graveyard
Palm Sync
VERIFIED FIXED
16 years ago
9 years ago

People

(Reporter: Rajiv Dayal, Assigned: Rajiv Dayal)

Tracking

Trunk
mozilla1.2beta
x86
Windows NT

Details

Attachments

(2 attachments, 3 obsolete attachments)

(Assignee)

Description

16 years ago
This bug will track the implementation of the Palm Conduit Dll. This gets loaded
by the Palm HotSync Manager and calls into Mozilla across the process space to
synchronize AB. The Palm Conduit Dll communicates with Palm Handheld (HH) to
retrieve data from Palm HH AB as well as to update it. 

The implementation has following files:

- the implementation of entry points into the Conduit (most of this code is
generated by Palm CDK).
- MozABConduitRecord - this is the class that represents the Mozilla AB record
and converts the Palm record to Moz record and vice versa.
- MozABHHManager - this is the class that interacts with the Palm HH to retrieve
AB data (Categories and Records) as well as updates the HH AB.
- MozPCManager - this is the class that interacts with Mozilla to send updated
Palm records to it as well as retrieve Moz AB records. This interaction is done
using MSCOM as the IPC infrastructure. MAPI interface existing in Mozilla is
currently extended to make these calls.
- MozABConduitSync - this is the class which defines the overall logic for Sync.
(Assignee)

Comment 1

16 years ago
Created attachment 96806 [details] [diff] [review]
First patch for Palm Conduit Implementation

Building this patch requires Palm CDK installed since it uses it to interact
with the Palm. The files in the patch here doesnot contain the Mozilla boiler
plates yet.
(Assignee)

Comment 2

16 years ago
Created attachment 97935 [details] [diff] [review]
updated patch for Mozilla Palm sync Conduit

This takes care of Cavin's suggestion for:
- use macros for implementing CMozABConduitRecord::ConvertFromGeneric and
ConvertToGeneric.
- correct the checking of categoryID to check for it's value as -1 instead of
0.
- remove unused code.

Besides these suggestions it also has the following changes:
- modified code so that the RecordIds for new records from Moz added into Palm
are sent back to Mozilla so that its cards can be updated with corresponding
ids.
- modified the code so that the category information is correctly compacted
into the DBInfoBlock and stored on Palm. This enables new AB records to be
displayed in the right category rather than under the Unfiled category
description.
- modified the code so that Sync Done ack is sent to Mozilla after each
category is synchronized so that memory is freed correctly
- added Mozilla license plates.
Attachment #96806 - Attachment is obsolete: true
(Assignee)

Updated

16 years ago
Blocks: 155417

Comment 3

16 years ago
Comment on attachment 97935 [details] [diff] [review]
updated patch for Mozilla Palm sync Conduit

r=cavin.
Attachment #97935 - Flags: review+
(Assignee)

Updated

16 years ago
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.2beta

Comment 4

16 years ago
Rajiv, what directory are these new files going in? I couldn't tell from the
diff and was curious. 
(Assignee)

Comment 5

16 years ago
Hi Scott, these files would go into mailnews/extensions/palmsync directory.
However, the makefile is not yet part of this patch I am still trying to figure
out how the nightly builds would be done since it will require Palm CDK to be
installed on the build machine. Meanwhile could you please take a look at the
attached patch and if there are any suggestions i can have the makefile as part
of the updated patch or else i will attach a separate patch for the makefile. I
will make sure that I land the makefile changes alongwith this code. thanks.

Comment 6

16 years ago
Comment on attachment 97935 [details] [diff] [review]
updated patch for Mozilla Palm sync Conduit

sr=mscott
Attachment #97935 - Flags: superreview+
(Assignee)

Comment 7

16 years ago
thanks Scott.
(Assignee)

Comment 8

16 years ago
During QA testing couple of issues came up which have been fixed, these are:
1) Data mapping issue for Display Name
2) Modified record sometimes doesnot get synced properly. Usage of
CategoryIndex, and not CategoryId (although the field name is called CatId), is
done by PalmSyncManager API for accessing existing records.

Besides this I have merged two same named functions NotifySyncDone as the called
interface function has also merged, and have removed some unrequired code in the
Palm CDK generated MozABConduitGenCond code.

I am attaching a diff patch listing differences with previous patch for easier
review and a complete patch with the new code below.
(Assignee)

Comment 9

16 years ago
Created attachment 101599 [details] [diff] [review]
Diff Patch with differences
(Assignee)

Comment 10

16 years ago
Created attachment 101600 [details] [diff] [review]
Entire Patch with updated code

Comment 11

16 years ago
Comment on attachment 101600 [details] [diff] [review]
Entire Patch with updated code

sr=mscott
Attachment #101600 - Flags: superreview+
(Assignee)

Updated

16 years ago
Attachment #97935 - Attachment is obsolete: true
(Assignee)

Updated

16 years ago
Attachment #101599 - Attachment is obsolete: true
(Assignee)

Comment 12

16 years ago
thanks Scott.
(Assignee)

Comment 13

16 years ago
Created attachment 102098 [details] [diff] [review]
patch for makefile changes to make this implementation part of build

This patch has the makefile changes for
mailnews/extensions/palmsync/Makefile.in to build the conduit if the
PALM_CDK_DIR environment variable is defined pointing to the directory where
Palm CDK is installed. It also has the Makefile.in for the conduit (the
implementation here) and the changes to build the conduit using Palm CDK files.
(Assignee)

Comment 14

16 years ago
Hi Leaf,

Can u please review the above patch for makefile changes, thanks.

Comment 15

16 years ago
Comment on attachment 102098 [details] [diff] [review]
patch for makefile changes to make this implementation part of build

r=leaf
Attachment #102098 - Flags: review+
(Assignee)

Comment 16

16 years ago
thanks Leaf.

Hi Scott, Can u please super review this makefile changes patch, thanks.

Comment 17

16 years ago
Comment on attachment 102098 [details] [diff] [review]
patch for makefile changes to make this implementation part of build

if i'm not building palmsync, will I see your echo statements in
palmsync/Makefile.in about setting the palm cdk dir? Or is there another
variable which tells us whether we even want to enter the palmsync directory?

Rajiv and I agree this is a big hack but we're going to go with it because leaf
says this solution poses the least burden on modifications to our build system.
Given that leaf would rather have us do this than add a much of palm sync logic
to the build config setup, we'll go along with it. 

sr=mscott assuming the answer to my question about the echo statement is no.
Attachment #102098 - Flags: superreview+
(Assignee)

Comment 18

16 years ago
Thanks Scott.

The Echo statement will appear when the extensions/palmsync is built. If this
dir is not built it will not appear.

Also I do agree that this a hack but I also think it should not be a 'practical'
issue since this doesnot pose an overhead on build or output binary size :)

(Assignee)

Comment 19

16 years ago
This has landed. Marking this as fixed.

This feature has been tested by Gregg Meehan from QA, changing QA contact to him.
Status: ASSIGNED → RESOLVED
Last Resolved: 16 years ago
QA Contact: nbaca → meehansqa
Resolution: --- → FIXED
(Assignee)

Comment 20

16 years ago
*** Bug 112555 has been marked as a duplicate of this bug. ***

Comment 21

16 years ago
It's really nice to see somebody working on this. Thank you!
(Assignee)

Updated

16 years ago
Component: Address Book → Palm Sync

Comment 22

15 years ago
Mozilla 1.2.1 build has implemented the Palm AB Conduit for Mozilla.
Status: RESOLVED → VERIFIED
QA Contact: meehansqa → nbaca

Comment 23

15 years ago
*** Bug 36836 has been marked as a duplicate of this bug. ***
Product: MailNews → Core
Product: Core → MailNews Core

Updated

9 years ago
Component: Palm Sync → Palm Sync
Product: MailNews Core → MailNews Core Graveyard
You need to log in before you can comment on or make changes to this bug.