Connector: Telefonbuch Import

Hallo,

beim Telefonbuch Import wollte ich auch gleich ein Label setzen, dazu gibt’s hier im Forum reichlich Infos. Das funktioniert auch bis auf einige Ausnahmen.

Create [Firma] failed
2018-10-15 16:23:32 Der Inhalt von 028050pholab_value (028050pholab_value) ist zu lang
2018-10-15 16:23:32 import.io_phonebook : Could not import record: {“050lab_bez”:“Firma”,“028050pholab_value”:“Irgendwas Lackieranlagen und Industrielufttechnik GmbH & Co. KG”}

Wie lang darf der Feldinhalt sein?
Edit: habe hier auf 40 Zeichen begrenzt, Fehler sind beim Import so nicht mehr vorhanden. Die Zeile sieht nun so aus:
return strlen($row['company'])>0 ? mb_substr($row['company'] , 0, 40) : null;

Update [Firma] failed
2018-10-15 16:22:56 Das Feld 028050pholab_value (028050pholab_value) darf nicht leer sein
2018-10-15 16:22:56 import.io_phonebook : Could not import record: {“050lab_bez”:“Firma”,“028050pholab_value”:“”}

Im Export ist bei diesem Kontakt keine Firma hinterlegt, wie bei anderen auch. Allerdings gibt es dort eine passende Meldung: Treating label [Firma] as not assigned because it has no value

Danke und Gruß,
Rapha

Die Begrenzung auf 40 Zeichen liefert keine Fehler mehr, allerdings ist der zweite Fehler immernoch vorhanden.

|2018-10-19 08:15:09|Update link between [Max Mustermann] and [Abteilung]|
|2018-10-19 08:15:09|Update [Abteilung] failed|
|2018-10-19 08:15:09|Das Feld 028050pholab_value (028050pholab_value) darf nicht leer sein|
|2018-10-19 08:15:09|import.io_phonebook: Could not import record: {"050lab_bez":"Abteilung","028050pholab_value":""}|

Das Feld Abteilung (department) ist hier im CSV definitiv leer (null), das ist bei anderen Einträgen aber auch der Fall und liefert dort keinen Fehler.

first_name;middle_name;last_name;company;email;home_phone;work_phone;home_fax;work_fax;cellular;cellular2;department;function
Max;;Mustermann;“Sowieso Systems GmbH";max.mustermann@sowieso.de;;”+49 (000) 12345678";;;;;;

Der Import-Connector sieht so aus:

{
  "phonebook": [{
    "028pho_bez" : 			"{{{displayname}}}",
    "028pho_phone" : 		"{{{phone}}}",
    "028pho_firstname" : 	"{{{givenname}}}",
    "028pho_lastname" : 	"{{{surname}}}",
    "028pho_organisation" : "{{{organisation}}}",
    "028pho_email" : 		"{{{email}}}",
    "028pho_mobile" : 		"{{{mobile}}}",
    "028pho_homephone" : 	"{{{homephone}}}",
    "028pho_fax" : 			"{{{fax}}}",
    "post": {
        "phonebook.phonebooklabel": [
            {
                "050lab_bez": "Firma",
                "028050pholab_value": "{{{organisation}}}"
            },
            {
                "050lab_bez": "Abteilung",
                "028050pholab_value": "{{{department}}}"
            },
            {
                "050lab_bez": "Funktion",
                "028050pholab_value": "{{{function}}}"
            }
        ]
    }
  }]
}

Der Fehler erzeugt natürlich eine entsprechende Status-Email (hier stündlich).

Hallo @rapha,

Abhilfe könnte hier die folgende Anpassung des Profils schaffen. (Bitte die genaue Anordnung der Kommata im if-Block beachten, sonst ist das Endergebnis kein gültiges JSON und der Import scheitert.

 {
  "phonebook": [{
    "028pho_bez" : 			"{{{displayname}}}",
    "028pho_phone" : 		"{{{phone}}}",
    "028pho_firstname" : 	"{{{givenname}}}",
    "028pho_lastname" : 	"{{{surname}}}",
    "028pho_organisation" : "{{{organisation}}}",
    "028pho_email" : 		"{{{email}}}",
    "028pho_mobile" : 		"{{{mobile}}}",
    "028pho_homephone" : 	"{{{homephone}}}",
    "028pho_fax" : 			"{{{fax}}}",
    "post": {
        "phonebook.phonebooklabel": [
            {
                "050lab_bez": "Firma",
                "028050pholab_value": "{{{organisation}}}"
            }
{{#if department}}
            ,{
                "050lab_bez": "Abteilung",
                "028050pholab_value": "{{{department}}}"
            }
{{/if}}
            ,{
                "050lab_bez": "Funktion",
                "028050pholab_value": "{{{function}}}"
            }
        ]
    }
  }]
}

Hilft dir das weiter?

Grüße,
Jan

Hallo @jlorenz,

das hilft mir sehr weiter, vielen Dank!

Die Import-Fehler treten auch nur auf wenn der entsprechende Eintrag bereits im pascom vorhanden ist und eine Änderung an dem Feld (im CMS) vorgenommen wurde.

So wurde ein Eintrag mit “Firma” (als Label mit Wert {{{organisation}}} im Beispiel) fehlerhaft als die Firma im CMS gelöscht wurde. Abhilfe schafft hier das manuelle Löschen des Eintrags im pascom und Starten des Imports.
Wird hier evtl. ein vorhandenes Label versucht mit einem null-Wert zu aktualisieren? Dann könnte das Label ebenso entfernt werden und es sollte zu keinem Fehler kommen.

Danke und Gruß,
Raphael