Opened 8 years ago

Closed 2 years ago

#1326103 closed Feature Requests (fixed)

Import Contacts

Reported by: christopherfink Owned by: thomasb
Priority: 3 Milestone: 0.6-beta
Component: Core functionality Version: git-master
Severity: major Keywords:
Cc: cabeca@…, valmiky.arquissandas@…

Description (last modified by thomasb)

A contact import would be very useful. I'm not sure of
the main contact export file structures, but getting at
least an "import from Outlook" or Gmail function would
be great.

I wouldn't mind writing the PHP to parse the contact
files for the various export types; this is one of the
best projects I've found in a long time, and I'd love
to contribute. Let me know if you're interested.

Change History (15)

comment:1 Changed 8 years ago by nobody

Logged In: NO 

and from the little fuzzy webmail too?

comment:2 Changed 7 years ago by thomasb

  • Description modified (diff)
  • Milestone changed from 0.1-beta2 to 0.1rc1
  • Owner changed from roundcube to nobody
  • Severity changed from critical to normal
  • Status changed from assigned to new

comment:3 Changed 7 years ago by nik

It would be great if one could drag and drop vCards into the address book as well

comment:4 Changed 7 years ago by thomasb

  • Milestone changed from 0.1rc1 to 0.1stable

comment:5 Changed 7 years ago by offwhite

I do not know about dragging a vCard into the address book, but you certainly upload a vCard into RoundCube.

comment:6 Changed 7 years ago by thomasb

  • Milestone changed from 0.1-stable to later

Moved to later. Address book redesign has to be done first.

comment:7 follow-up: Changed 6 years ago by doogie

Here is a workflow how to import your Addressbook contacts into Roundcube:

1) Export your contacts into a CSV file
If you can only export into vCards (as from MacMail?) then you can convert your vCards to a CSV file e.g. with this webtool. http://labs.brotherli.ch/vcfconvert/

2) Inside your CSV file you need at least the columns: firstname, surename, name, email

3) import this with phpMyAdmin

Go to the table "contacts" in the database "roundcube" (or whatever you named it). Import format CSV, In the field “column names” enter the name of the columns in same order as inside your csv file e.g. “firstname, surename, name, email”

after a successfull import you might want to run the following SQL on the table roundcube.contacts

update contacts set user_id = 1, changed = NOW()

(user_id is your roundcube user_id from table roundcube.users)

comment:9 Changed 5 years ago by thomasb

  • Milestone changed from later to 0.5-beta

comment:11 Changed 5 years ago by thomasb

  • Owner changed from nobody to thomasb

Implemented vCard import in [ed132edd]. CSV import will follow...

comment:12 Changed 2 years ago by thomasb

  • Resolution changed from None to fixed
  • Status changed from new to closed

Full vCard import is available, CSV support in separate ticket #1486399

comment:13 Changed 2 years ago by cabeca

  • Cc cabeca@… added
  • Priority changed from 5 to 3
  • Resolution fixed deleted
  • Severity changed from normal to major
  • Status changed from closed to reopened
  • Version changed from None to svn-trunk

Hi,

In the latest version from trunk, import contacts (vCards) doesn't work anymore. The 'Import' button doesn't do anything (The 'Cancel' button still works).

If you don't mind I'm reopening this and upping the severity.

Best Regards
Miguel Cabeça

comment:14 Changed 2 years ago by Kayvlim

  • Cc valmiky.arquissandas@… added

The problem seems to be on lines 339 and 537 of app.js:

   339        this.enable_command('add', 'import', this.env.writable_source);
   537          this.enable_command('add', 'import', this.env.writable_source);

I don't see where env.writable_source is ever changed (or even defined). Thus, in the handler of the Import button,

return rcmail.command('import','',this)

this returns false, because, in function command,

    // command not supported or allowed
    if (!this.commands[command]) {
      // pass command to parent window
      if (this.is_framed())
        parent.rcmail.command(command, props);
 
      return false;
    }

this.commands['import'] has the same value as env.writable_source - undefined.

If I halt the script during execution and manually change the value of this.commands['import'] to true, it works.

comment:15 Changed 2 years ago by alec

  • Resolution set to fixed
  • Status changed from reopened to closed

Fixed in [f5803dfd].

Note: See TracTickets for help on using tickets.