Ubuntu Touch: Adicionar lista de contatos e calendários

3

Configurei com sucesso a sincronização do calendário padrão e da lista de contatos padrão do meu servidor Owncloud com base em este thread do askubuntu . Eu tenho mais de um calendário e lista de contatos no meu servidor Owncloud embora. Verifiquei o calendário e entre em contato com os aplicativos para saber como adicionar novas listas de contatos e calendários. O aplicativo de contato parece não oferecer esse recurso. O aplicativo de calendário tem a opção de adicionar novos calendários, mas quando pressiono o respectivo botão, sou encaminhado para a página de configurações do sistema. Obrigado por suas dicas antecipadamente! M.

(meu dispositivo é um BQ Aquaris E4.5 com o Ubuntu 14.10-r21)

    
por Sucram Resse 29.04.2015 / 23:11

2 respostas

6

Eu posso compartilhar esse script com base nas respostas de alexandre_payet, que adicionará um catálogo de endereços de contatos e um calendário de seu servidor owncloud para sincronizar com seu telefone.

Script

#!/bin/bash
# ---------------------------------------------------------------------------
# Ubuntu Phone - Sync Owncloud Contacts & Calendar Account
# Carddav & Caldav.

# Tested on : Ubuntu-touch vivid - ubuntu-touch/rc-proposed/bq-aquaris.en/vegetahd/
# Last edit : 2015/08/23.
# Author : Romain Fluttaz, boTux.fr, <[email protected]>

# ============= [ Configuration ] ============= #

# --------------- [ OwnCloud ] ---------------- #

# Server and user informations
HTTP_PROTOCOL="https"               # "http" or "https". It's recommended to use an $HTTP_PROTOCOL connection
OWNCLOUD_URL="cloud.domain.com"         # Without the last /.
USERNAME="owncloud-user"            # Your OwnCloud username
PASSWORD="owncloud-password"            # Your OwnCloud password

# Contact addressbooks
CONTACT_ADDRESSBOOK_NAME="contacts"     # Check in the contact setting page.

# Calendar
CALENDAR_NAME="personnel"           # Check in the calendar setting page.

# Database
OC_DATABASE_NAME="owncloud"

# ----------------- [ Phone ] ----------------- #

# Database name :
CONTACT_DB_NAME="Contacts-name"         # Contact addressbook name on the phone
CALENDAR_DB_NAME="Calendar-name"        # Calendar name on the phone

# CRON job
CRON_FREQUENCY="hourly"             # Cronjob frequency. "hourly", "dayly", "weekly", "monthly". See $HTTP_PROTOCOL://help.ubuntu.com/community/CronHowto#Advanced_Crontab

# ============= [ /Configuration ] ============ #

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License at <http://www.gnu.org/licenses/> for
# more details.

# Thanks to : 
# alexandre_payet @ https://sobrelinux.info/questions/43314/ubuntu-touch-add-contact-list-and-calendars"\e[4mAdding OwnCloud account : **$OWNCLOUD_URL**\e[0m"
echo ""

# Contact
echo -e "[\e[0;34m Contacts \e[m] $CONTACT_ADDRESSBOOK_NAME @ $OC_DATABASE_NAME"
syncevolution --create-database backend=evolution-contacts database=$CONTACT_DB_NAME
syncevolution --configure --template webdav username=$USERNAME password=$PASSWORD syncURL=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/ keyring=no target-config@$OC_DATABASE_NAME
syncevolution --configure backend=evolution-contacts database=$CONTACT_DB_NAME @default $CONTACT_DB_NAME
syncevolution --configure database=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/carddav/addressbooks/$USERNAME/$CONTACT_ADDRESSBOOK_NAME backend=carddav target-config@$OC_DATABASE_NAME $CONTACT_DB_NAME
syncevolution --configure --template SyncEvolution_Client Sync=None syncURL=local://@$OC_DATABASE_NAME username= password= $OC_DATABASE_NAME $CONTACT_DB_NAME
syncevolution --configure sync=two-way backend=evolution-contacts database=$CONTACT_DB_NAME $OC_DATABASE_NAME $CONTACT_DB_NAME
echo "             +--> $CONTACT_DB_NAME @ local"
syncevolution --sync refresh-from-remote $OC_DATABASE_NAME $CONTACT_DB_NAME
syncevolution --sync slow $OC_DATABASE_NAME $CONTACT_DB_NAME
echo -e "[\e[0;34m Contacts \e[m] +--> Done."
echo ""

# Calendar
echo -e "[\e[33m Calendar \e[m] $CALENDAR_NAME @ $OC_DATABASE_NAME"
syncevolution --create-database backend=evolution-calendar database=$CALENDAR_NAME
syncevolution --configure --template webdav username=$USERNAME password=$PASSWORD syncURL=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/ keyring=no target-config@$OC_DATABASE_NAME
syncevolution --configure backend=evolution-calendar database=$CALENDAR_NAME @default $CALENDAR_NAME
syncevolution --configure database=$HTTP_PROTOCOL://$OWNCLOUD_URL/remote.php/caldav/calendars/$USERNAME/$CALENDAR_DB_NAME backend=caldav target-config@$OC_DATABASE_NAME $CALENDAR_NAME
syncevolution --configure --template SyncEvolution_Client syncURL=local://@$OC_DATABASE_NAME username= password= $OC_DATABASE_NAME $CALENDAR_NAME
syncevolution --configure sync=two-way database=$CALENDAR_NAME $OC_DATABASE_NAME $CALENDAR_NAME
echo "             +--> $CALENDAR_DB_NAME @ local"
syncevolution --sync refresh-from-remote $OC_DATABASE_NAME $CALENDAR_NAME
echo -e "[\e[33m Calendar \e[m] +--> Done."
echo ""

# Cron
echo -e "[\e[0;36m Cron \e[m]"
echo -e "         +--> \e[0;31mGranting SuperUser Access\e[m"
sudo mount /dev/loop0 / -o remount,rw
CRON_LINE="@$CRON_FREQUENCY export DISPLAY=:0.0 && export DBUS_SESSION_BUS_ADDRESS=$(ps -u phablet e | grep -Eo 'dbus-daemon.*address=unix:abstract=/tmp/dbus-[A-Za-z0-9]{10}' | tail -c35) && /usr/bin/syncevolution $OC_DATABASE_NAME"
(crontab -u phablet -l; echo "$CRON_LINE" ) | crontab -u phablet -
sudo service cron restart
crontab -l | grep "$CRON_LINE"
echo -e "[\e[0;36m Cron \e[m] +--> Added."
echo ""

# First Normal Sync
echo -e "[\e[0;32m Syncronisation \e[m]"
syncevolution $OC_DATABASE_NAME
echo -e "[\e[0;32m Syncronisation \e[m] +--> Done."

# Print information
echo ""
echo ""
echo ""
echo "# To manually sync your accounts, use the command below :"
echo ""
echo -e "                           syncevolution $OC_DATABASE_NAME \e[m"
echo "                                          or"
echo -e "\e[0;34msyncevolution $OC_DATABASE_NAME $CONTACT_DB_NAME\e[m | \e[33msyncevolution $OC_DATABASE_NAME $CALENDAR_NAME\e[m"
echo ""
echo "See 'syncevolution --help' to get more information."
  

Faça o download de ubuntu-touch_owncloud-sync_contact-calendar.sh | Github   Essência

Testado no canal ubuntu-touch / rc-proposto / bq-aquaris.pt / vegetahd

Como usar

Edite a seção de configuração e execute no seu telefone ubuntu.

De um desktop Ubuntu

(com: phablet-tools instaladas do ppa)

  1. Adicionar phablet-shell
    sudo add-apt-repository ppa:phablet-team/tools
    sudo apt-get update
    sudo apt-get install phablet-tools
  2. Ativar o modo de desenvolvedor
  3. Faça o download e edite o script:
    wget https://gist.githubusercontent.com/boTux/069b53d8e06bdb9b9c97/raw/a03be09136c5275b2956c512accdad69b30e8074/ubuntu-touch_owncloud-sync_contact-calendar.sh
    gedit ubuntu-touch_owncloud-sync_contact-calendar.sh
    • Na seção [Configuração] / [OwnCloud]
      • Insira seu OWNCLOUD_URL , sem o último /.
      • Insira seu USERNAME & amp; SENHA .
      • Insira o nome do seu próprio livro de endereços da nuvem & amp; calendário.
    • Na seção [Configuração] / [Phone]
      • Edite CONTACT_DB_NAME & amp; CALENDAR_DB_NAME com nomes de sua escolha.
      • Edite CRON_FREQUENCY para o intervalo de sincronização de que você precisa.
    • Salvar
  4. Conecte seu telefone via USB e copie o script (via nautilus, por exemplo, em Documentos /)
  5. Conecte-se via phablet-shell e execute o script:
    phablet-shell
    chmod +x Documents/ubuntu-touch_owncloud-sync_contact-calendar.sh
    ./Documents/ubuntu-touch_owncloud-sync_contact-calendar.sh

Espero que isso ajude alguns de vocês ...

    
por Romain Fluttaz 23.08.2015 / 13:09
2

Para adicionar e sincronizar calendários e contatos com o owncloud, você pode usar linhas de comandos no terminal.

Encontrei-o no link

Nota: Uma boa maneira de fazer isso é a partir de um terminal Desktop conectado ao seu telefone Ubuntu usando o ssh (então você pode facilmente copiar as linhas de comandos). Mas deve funcionar também no aplicativo Terminal do telefone

Calendário

Criar calendário

syncevolution --create-database backend=evolution-calendar database=Calendar1

Criar um par

syncevolution --configure --template webdav username=myusername password=mypassword syncURL=https://url-to-owncloud-install/remote.php/caldav/calendars/user-name/defaultcalendar keyring=no target-config@owncloud

Criar nova fonte

syncevolution --configure backend=evolution-calendar database=Calendar1 @default Calendar1

Adicionar banco de dados remoto

syncevolution --configure database=https://url-to-owncloud-install/remote.php/caldav/calendars/user-name/defaultcalendar backend=caldav target-config@owncloud Calendar1

Conecte calendários remotos com bancos de dados locais

syncevolution --configure --template SyncEvolution_Client syncURL=local://@owncloud username= password= owncloud Calendar1

Adicione o banco de dados local à fonte

syncevolution --configure sync=two-way database=Calendar1 owncloud Calendar1

Iniciar a sincronização rápida

syncevolution --sync refresh-from-remote owncloud Calendar1

Você pode fazer isso para calendar1, calendar2, ...

Nestas linhas de comandos, não se esqueça de substituir:

Para o comando n ° 2

'myusername' by your owncloud username
'mypassword' by your owncloud password
'https://url-to-owncloud-install/remote.php/caldav/calendars/user-name/defaultcalendar' by the adress link of calendar1 or calendar2 , ....

Para o comando n ° 4

'https://url-to-owncloud-install/remote.php/caldav/calendars/user-name/defaultcalendar' by the adress link of calendar1 or calendar2 , ....

Contato:

Da mesma maneira:

syncevolution --create-database backend=evolution-contacts database=Contact1

syncevolution --configure --template webdav username=myusername password=mypassword syncURL=Your_contact1_owcloud_adress keyring=no target-config@owncloud

syncevolution --configure backend=evolution-contacts database=Contact1 @default Contact1

syncevolution --configure database=Your_contact1_owcloud_adress backend=carddav target-config@owncloud Contact1

syncevolution --configure --template SyncEvolution_Client Sync=None syncURL=local://@owncloud username= password= owncloud Contact1

syncevolution --configure sync=two-way backend=evolution-contacts database=Contact1 owncloud Contact1

syncevolution --sync refresh-from-remote owncloud Contact1

As mesmas observações do que o calendário. Eu testei com apenas um banco de dados de contatos, mas deve funcionar para Contact2, Contact3, ...

Para contato, certifique-se de usar 'backend = evolution-contacts' e 'backend = carddav' (diferença entre as linhas de comando de calendário e contato)

Importante: Para a próxima sincronização, você só precisa fazer:

syncevolution owncloud calendar1
syncevolution owncloud contact1

e calendar2, contact2, ...

Para sincronizar contatos e calendários automaticamente, você pode usar um trabalho de crontab para iniciar esses comandos quando quiser. Você pode ver este post: Syncevolution no cronjob para sincronizar o telefone do Ubuntu via caldav / arddav

Espero que não haja erro nas minhas linhas de comandos.

    
por alexandre_payet 30.04.2015 / 10:45