Sincronizzazione Agenda - Calendar¶
list.php - Calendar -> KPN¶
Demone che interroga il calendario di google collegato all'operatore. Il programma tiene salvato su una tabella data e ora ultimo aggiornamento e scarichera' solo gli eventi con data aggiornamento maggiore. Di seguito vengono elencati gli eventi trattati:
- A) L'evento e' su tutto il giorno. Si modifica impostando ora inizio = 08:30 e ora fine = 18:30
- B) L'evento X e' su piu' giorni. Viene calcolato il numero di giorni (n) nei quali e' presente l'evento. X viene modificato impostando data_fine=data_inizio. Vengono creati X1...Xn eventi uguali ma con data incrementata fino a data_inizio+n giorni
- C) Se l'evento non rientra nei casi a e b:
C1) Controllo se l'event ID e' gia' presente nella tabella APCRMATTOP.
C.1.1) NUOVO. Controllo se l'evento e' cancellato - C.1.1.1) CANCELLATO -> non devo salvare niente - C.1.1.2) NON CANCELLATO -> Salvo su APCRMATTIV e APCRMATTOP il record
C.1.2) ESISTENTE. Controllo se l'evento e' cancellato: - C.1.2.1) CANCELLATO -> Modifico APCRMATTOP settando a_crp_fl_canc='C', controllo se l'attivita' e' collegata a un solo operatore. Se si allora setto anche a_crt_agg_app='C' - C.1.2.2) NON CANCELLATO -> Modifico APCRMATTOP e APCRMATTIV con i nuovi dati. Setto il flag a_crt_agg_app = 'A'
insert.php - KPN -> Calendar¶
Demone che interroga la tabella APCRMATTIV e invia al calendario gli eventi inseriti/modificati da agenda. Il programma tiene salvato su una tabella il sync dell'ultimo record inviato e inviera' solo i dati con id_sincro maggiore. Casi possibili:
- A) l'attivita' NON HA id_google ed e' stata CANCELLATA -> Non devo inserire perche' e' gia' stata cancellata
- B) l'attivita' NON HA id_google ed e' VALIDA -> inserisco l'evento nel calendario, salvo l'event ID creato da Calendar nella riga apcrmattop dell'operatore
- C) l'attivita' HA id_google ed e' stata CANCELLATA -> Cancello l'evento dal calendario e tolgo su apcrmattop l'event id di riferimento
- D) l'attivita' HA id_google ed e' VALIDA -> attraverso l'event id salvato su apcrmattop, modifico l'evento del calendario
Tabelle¶
caluser - utenti calendar¶
| Campo | Key | Tipo | Note |
|---|---|---|---|
| cal_azi | Si | X(06) | Codice azienda |
| cal_tecni_id | Si | 9(10) | Id tecnico |
| cal_id_api | Si | 9(04) | Id di riferimento al progetto Calendar |
| cal_date_update | date | Data ultimo aggiornamento | |
| cal_hour_update | time | Ora ultimo aggiornamento | |
| cal_id_calendar | X(100) | ID calendario collegato all'operatore | |
| cal_abilitato | x(01) | Flag che indica se l'operatore e' abilitato su areagate | |
| cal_id_sincro | 9(15) | Sincro ultimo record apcrmattiv letto | |
| cal_ope_cod | 9(05) | codice operatore collegato a Calendar |
calparam - Progetti Api Google Calendar¶
| Campo | Key | Tipo | Note |
|---|---|---|---|
| api_id | Si | 9(04) | Id autoincrementato che identifica il progetto |
| api_project | X(100) | Nome del progetto api google calendar | |
| api_service_account_id | X(200) | Account da collegare al calendario per la condivisione | |
| api_oauth_client_id | X(200) | id per l'autenticazione al calendario |
cal_link - Collegamento azienda <-> Progetto Google Calendar¶
| Campo | Key | Tipo | Note |
|---|---|---|---|
| link_id | Si | 9(04) | Id che identifica il progetto Api Calendar |
| link_azi | Si | X(06) | Codice azienda |
| link_abilitato | X(01) | Flag che indica se l'azienda e' abilitata ad utilizzare le api di calendar |
Gestione PDF compilabili¶
Utilizzabile solo se server di reportistica e' JASPER. Da areagate si crea un modello PDF compilabile e lo si associa a n checklist. Questo creera' n righe sulla tabella ARPMODST2 con a_mdc_pertinenza = 'A'. La APP scarichera' queste righe e i relativi pdf attraverso l'url a_mdc_path. I pdf scaricati in fase di download saranno gli "originali", questo significa che in gestione intervento, quando si andra' a compilare una checklist, l'app creera' una copia del pdf e la rinominera'. Il nome del file dipende dal tipo di checklist: - checklist intervento -> _cert_idintervento.pdf - checklist matricola -> _cert_idintervento_idmatricola.pdf
AWS¶
Installazione di AWS CLI per Windows¶
L'interfaccia a riga di comando di AWS e' supportata in Microsoft Windows XP o versioni successive. Installare AWS utilizzando il programma di installazione MSI: * versione x64: https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi * versione x86: https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi
L'interfaccia viene installata in C:\Program Files\Amazon\AWSCLI (64 bit) o C:\Program Files (x86)\Amazon\AWSCLI (32 bit).
Per verificare l'installazione: aws --version
Configurazione di AWS CLI¶
Uso generale
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
Profili multipli
aws configure --profile C99999
Utilizzo di AWS CLI con i servizi di AWS S3¶
Creazione di un bucket
$ aws s3 mb s3://bucket-name --profile C99999
Listing dei bucket
$ aws s3 ls --profile C99999
$ aws s3 ls s3://bucket-name --profile C99999
$ aws s3 ls s3://bucket-name/path/ --profile C99999
Gestione degli oggetti (file) I comandi includono s3 cp, s3 ls, s3 mv, s3 rm e s3 sync.
$ aws s3 cp file.txt s3://my-bucket/ --profile C99999
$ aws s3 sync . s3://my-bucket/path --profile C99999
E' anche possibile fornire l'opzione --delete per rimuovere file o oggetti dalla destinazione che non sono presenti nell'origine.
Estratto da documentazione interna ClickUp