Sincronizzare un cellulare Symbian (parte 6 – Evolution)
E’ giunta l’ora di sincronizzare il cellulare realmente con un’agenda reale come Evolution, il PIM (Personal Information Manager) predefinito di Ubuntu.
Per questo scopo verrà creato un nuovo gruppo di sincronizzazione, si sconsiglia di riutilizzare quelli degli esempi precedenti e se il cellulare lo consente, di creare un nuovo gruppo anche all’interno del client SyncML, di nome Evolution. Fare riferimento alle parti 3 per la configurazione del cellulare e 4 per la prova della nuova configurazione.
Questo consentirà sincronizzazioni separate, magari una per il backup, una per la sincronizzazione con Windows e una dedicata a Evolution. Ciò preserverà alcuni elementi da una eventuale esclusione.
Ferme restando le precedenti installazioni, questa volta è necessario installare il pacchetto per la sincronizzazione con Evolution, quindi eseguiremo:
sudo apt-get install opensync-plugin-evolution
Una volta installato passiamo alla configurazione di un nuovo gruppo di sincronizzazione:
msynctool --addgroup Evolution
Il primo plugin da configurare resta il solito syncml-obex-client già trattato nelle sezioni precedenti:
msynctool --addmember Evolution syncml-obex-client msynctool --configure Evolution 1
<?xml version="1.0"?> <config> <bluetooth_address>00:1F:E3:F1:E1:23</bluetooth_address> <bluetooth_channel>10</bluetooth_channel> <identifier>Evolution</identifier> <version>1</version> <wbxml>1</wbxml> <username></username> <password></password> <type>2</type> <contact_db>Contacts</contact_db> <calendar_db>Calendar</calendar_db> <note_db>Notes</note_db> </config>
L’unica differenza rispetto gli esempi precedenti è il nome del server che sarà modificato da PC Suite ad Evolution per utilizzare la nuova configurazione sul cellulare, qualora il cellulare non consenta più configurazioni distinte lasciare il valore precedente.
Il plugin per la configurazione di Evolution è assai più semplice:
msynctool --listplugins
Available plugins: syncml-http-server syncml-obex-client file-sync evo2-sync
L’ultimo mostrato sarà il nuovo plugin per Evolution. Aggiungerlo quindi al gruppo di sincronizzazione:
msynctool --addmember Evolution evo2-sync msynctool --configure Evolution 2
<config> <address_path>default</address_path> <calendar_path>default</calendar_path> <tasks_path>default</tasks_path> </config>
E’ possibile lasciare la configurazione predefinita del plugin che inserirà rubrica, calendario e attività nei database predefiniti di Evolution, quelli che vengono chiamati Personale per impostazione predefinita.
Prima di effettuare la sincronizzazione completa assicurarsi di avere un backup dei dati del cellulare, poiché un’errata configurazione potrebbe eliminare tutti i dati da sincronizzare.
Per avviare la sincronizzazione quindi eseguire:
msynctool --sync Evolution --filter-objtype note
L’ultimo parametro indica a msynctool di non effettuare la sincronizzazione delle note, che almeno col mio cellulare non va a buon fine e lascia l’intera operazione in eterna attesa e mi tocca interromperla con CTRL+C.
Synchronizing group "Evolution" Member 2 of type evo2-sync just connected received contact dsession received event dsession Member 1 of type syncml-obex-client just connected All clients connected or error Member 2 of type evo2-sync just sent all changes Received an reply to our Alert Received an reply to our Alert Going to receive 31 changes Going to receive 11 changes Received an entry 15 with data of size 4 from member 1. Changetype ADDED Received an entry 17 with data of size 4 from member 1. Changetype ADDED Member 1 of type syncml-obex-client just sent all changes All clients sent changes or error All conflicts have been reported Sent an entry pas-id-4996F90900000000 of size 224 to member 2. Changetype ADDED Sent an entry pas-id-4996F90900000001 of size 388 to member 2. Changetype ADDED Sent an entry pas-id-4996F90900000002 of size 134 to member 2. Changetype ADDED Sent an entry 20090214T170201Z-9372-1000-1-0@hardy of size 228 to member 2. Changetype ADDED Sent an entry 20090214T170201Z-9372-1000-1-1@hardy of size 258 to member 2. Changetype ADDED Member 2 of type evo2-sync committed all changes. Received an reply to our sync Received an reply to our sync Member 1 of type syncml-obex-client committed all changes. All clients have written Member 2 of type evo2-sync just disconnected Member 1 of type syncml-obex-client just disconnected All clients have disconnected The sync was successful
Il risultato qui abbreviato mostra l’invio di 31 contatti e 11 eventi tra appuntamenti e attività e l’intera operazione andata a buon fine. Andando ad aprire Evolution dovremmo trovare i dati presenti.
Su Contatti troveremo i contatti, su Calendario gli appuntamenti e gli eventi e su Compiti le attività del cellulare.
Aggiungendo un nuovo appuntamento o un contatto sul cellulare o su Evolution e poi rilanciando la sincronizzazione l’operazione andrà a buon fine. Tuttavia la cancellazione o la modifica non sempre svolgono bene la loro parte.
Talvolta nel caso di una modifica, al momento della sincronizzazione saranno mostrate le differenze tra le due voci e verrà richiesta l’azione da intraprendere. In un esempio:
Conflict for Mapping 0x8090328: Entry 1: UID: 72 <?xml version="1.0"?> <vcal> <Todo> <Summary> <Content>Contestazione Paypal</Content> </Summary> <DateDue> <Content>20090223T000000</Content> </DateDue> <UnknownNode> <NodeName>X-EPOCTODOLIST</NodeName> <Content>TODO</Content> </UnknownNode> <UnknownNode> <NodeName>X-EPOCAGENDAENTRYTYPE</NodeName> <Content>TODO</Content> </UnknownNode> <Class> <Content>PRIVATE</Content> </Class> <Sequence> <Content>0</Content> </Sequence> <UnknownNode> <NodeName>X-METHOD</NodeName> <Content>NONE</Content> </UnknownNode> <Alarm> <AlarmAction>AUDIO</AlarmAction> <AlarmTrigger> <Content>PT22H</Content> <Value>DURATION</Value> <Related>START</Related> </AlarmTrigger> <UnknownParam>X-EPOCSOUND<ParamName>TYPE</ParamName></UnknownParam> </Alarm> <LastModified> <Content>20090213T165837Z</Content> </LastModified> <Priority> <Content>2</Content> </Priority> <UnknownNode> <NodeName>X-SYMBIAN-LUID</NodeName> <Content>72</Content> </UnknownNode> </Todo> </vcal> Entry 2: UID: 20090214T163940Z-8490-1000-1-14@hardy <?xml version="1.0"?> <vcal> <Method> <Content>PUBLISH</Content> </Method> <Todo> <Summary> <Content>Contestazione Paypal</Content> </Summary> <DateDue> <Content>20090223T000000</Content> </DateDue> <Class> <Content>PRIVATE</Content> </Class> <Sequence> <Content>0</Content> </Sequence> <LastModified> <Content>20090214T163940</Content> </LastModified> <Priority> <Content>2</Content> </Priority> <DateCalendarCreated> <Content>20090214T163940Z</Content> </DateCalendarCreated> <DateCreated> <Content>20090214T163940</Content> </DateCreated> <Alarm> <AlarmAction>AUDIO</AlarmAction> <AlarmTrigger> <Content>PT22H</Content> <Value>DURATION</Value> <Related>START</Related> </AlarmTrigger> </Alarm> </Todo> </vcal> Which entry do you want to use? [1-9] To select a side, [D]uplicate, Keep [N]ewer:
La parte superiore della richiesta mostra i risultati del primo plugin (quindi il client SyncML quindi il cellulare), la seconda invece il secondo plugin (quindi Evolution).
In fondo ad ogni elemento verrà posta una domanda: quale voce si desidera usare? Le scelte possibili sono 1 per preferire la prima voce del cellulare, 2 per far prevalere la voce di Evolution, D per indicare l’entità come duplicata e quindi eliminarla, N per preferire quella più recente.
La scelta giusta dipende dalla modifica apportata, ad esempio se sono state modificate entrambe le voci su cellulare e su Evolution, bisogna decidere quale mantenere usando 1 oppure 2. Se l’entità è riportata erroneamente duplicata con D verrà eliminata, mentre con N verrà scelta quella modificata più recentemente e l’altra sovrascritta.
Grazie a Evolution sarà possibile vedere questi appuntamenti sull’orologio di Gnome, cliccandoci semplicemente sopra.
Ciao. Son riuscito a fare la sincronizzazione della rubrica e delle note. Ho ricontrollato e ricreato un nuovo profilo sul cellulare da zero ma il calendario, quando faccio il test, mi dice questo :
root@roby-linux:~# syncml-obex-client \
> -u 0 \
> –identifier “PC Suite” \
> –wbxml \
> –slow-sync text/x-vcalendar Calendar
connection with device succeeded
Received an Alert for the DS Server at Calendar: Type: 200, Last 20090930T192140Z, Next 20091004T084527Z
Slowsyncing
Just received a new session with ID 1
Session 1 reported final. flushing
Received an reply to our Alert
Going to receive 67 changes
There was an error in the session 1: No node at all
Che cavolo ha?
Grazie mille per la pazienza
non so che dirti
evidentemente il tuo cellulare invia il calendario in qualche formato non previsto. l’errore dice che non riceve i nodi con le informazioni.
nulla di sconvolgente, col mio cellulare ad esempio non importa le note, il calendario invece si.
fai la prova con i parametri riportati in fondo alla pagina del test. potrebbe essere un problema di versione o di buffer.
e mo rieccomi qui…
scusa ma dopo aver configurato Evolution con il sudo davanti quando provo a sincronizzare con
sudo msynctool –sync Evolution
mi restituisce
Synchronizing group “Evolution”
Member 2 of type evo2-sync had an error while connecting: Unable to open anything
Member 1 of type syncml-obex-client had an error while connecting: Forbidden (0x43)
All clients have disconnected
The sync failed: Unable to connect one of the members
Error while synchronizing: Unable to connect one of the members
praticamente mi vieta l’accesso a member 1 e mi da errore su member 2…
da cosa potrebbe dipendere???
puo` dipendere dal fatto che evolution per root non e` in esecuzione e/o non ha database esistenti.
puoi provare con sudo dbus-launch msynctool –sync Evolution
mi restituisce
wincenzo@wincenzo-tablet:~$ sudo dbus-launch msynctool –sync Evolution
Usage: msynctool [options]
–listgroups Lists all groups
–listplugins Lists all plugins
–listobjects Lists all object types that the
engine understands
–showformats Lists all formats that a object
type can have
–showgroup Lists all members of the group
–sync Sync all members in a group
–filter-objtype Filter out object type
–slow-sync Perform a slow-sync of all members
in the group
[–wait] Don’t immediately start to sync, but
wait for a client to initialize the
sync
[–multi] Repeat to wait for sync alerts
–addgroup Add a new group
–delgroup Delete the given group
–addmember Add a member to the group
–configure Configure a member. Memberid as
returned by –showgroup
[–manual] Make manual engine iterations. Only
for debugging.
[–configdir] Use a different configdir than
~/.opensync
[–conflict 1-9/d/i/n] Resolve all conflicts as side [1-9]
wins, [d]uplicate, [i]gnore, or
keep [n]ewer
mi sa che sbaglio qualcosa…
su sync ci sono due trattini, non fare copia e incolla, i comandi scrivili per bene a mano
opsss
wincenzo@wincenzo-tablet:~$ sudo dbus-launch msynctool –sync Evolution
Synchronizing group “Evolution”
Member 2 of type evo2-sync had an error while connecting: Unable to open anything
Member 1 of type syncml-obex-client had an error while connecting: Forbidden (0x43)
All clients have disconnected
The sync failed: Unable to connect one of the members
Error while synchronizing: Unable to connect one of the members
comunque stesso errore… ma quali membri sarebbero non configurati?
il problema non e` di msynctool ma di evolution che probabilmente non e` in esecuzione per root.
bisognerebbe avviarlo a mano ma non avendolo installato mi vien difficile ricordare cosa bisogna avviare.
prova nell’ordine ad avviare:
sudo dbus-launch /usr/lib/evolution/evolution-data-server-2.28
sudo dbus-launch evolution
sudo dbus-launch msynctool –sync Evolution
se ancora non funziona configura la porta usb per consentire l’accesso anche senza root, vedi la sezione usb qui https://help.ubuntu.com/community/NokiaEvolutionSyncing/Opensync
ho configurato root all’interno di evolution, ora mi rende
Synchronizing group “Evolution”
Member 2 of type evo2-sync just connected
Member 1 of type syncml-obex-client had an error while connecting: Forbidden (0x43)
Member 2 of type evo2-sync just disconnected
All clients have disconnected
The sync failed: Unable to connect one of the members
Error while synchronizing: Unable to connect one of the members
grazie comunque…