frontend web per Amazon S3
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 48 commits ahead of OfficineDigitali:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bootstrap
config
database
public
resources
storage
tests
.env.example
.gitattributes
.gitignore
LICENSE
README.md
artisan
composer.json
gulpfile.js
package.json
phpspec.yml
phpunit.xml
server.php

README.md

Tiret

Tiret è un semplice frontend per il servizio di storage Amazon S3, pensato per esporre grandi quantità di files ad un gran numero di utenti.

Features

  • utenti divisi in gruppi
  • ruoli possibili: amministratore generale, amministratore di gruppo ed utente
  • cartelle private per gli utenti e cartelle comuni per i gruppi
  • solo gli amministratori possono creare e rimuovere files
  • auto-assegnazione dei files caricati in base al loro nome
  • tracciamente stato delle mail inviate
  • importazione degli utenti da file CSV
  • possibilità di customizzazione del tema grafico

Requisiti

Installazione

git clone https://github.com/OfficineDigitali/tiret
cd tiret
composer install
cp .env.example .env
(editare .env con i propri parametri di accesso al database, a S3 e all'SMTP)
php artisan migrate
php artisan db:seed
php artisan key:generate

Le credenziali di default sono username: admin, password: cippalippa

Auto-Assegnazione

È possibile fare in modo che i files arbitrariamente caricati in storage/app vengano assegnati ad utenti o gruppi in funzione del loro nome. Dal pannello "Regole Assegnazione" si specificano le proprie regular expressions, con cui estrarre il nome della cartella di destinazione.

È necessario abilitare lo scheduler interno a Laravel affinché la routine di assegnazione venga eseguita: per far ciò, eseguire per mezzo di cron il comando php artisan schedule:run ogni minuto.

Definendo in .env il parametro ADMIN_NOTIFY_MAIL=esempio@test.com, l'indirizzo mail definito riceverà un breve report sullo stato delle attività di assegnazione.

Tracciamento Mail

Se le mail vengono inoltrate per mezzo di Amazon SES, è possibile registrare un topic SNS e sottoscriverlo all'URL http://miodominio.com/mail/status per tracciare lo stato dei messaggi in uscita.

Una volta definito in .env il parametro TRACK_MAIL_STATUS=true il sistema provvederà a mantenere lo storico delle mail gestite, ed in alcuni casi sarà in grado di tentare un nuovo inoltro in caso di mancato successo.

Plugins

Viene fornito un semplice meccanismo per implementare funzionalità custom all'interno della applicazione, per maggiori dettagli si veda l'esempio in app/Plugins/SampleFileHandler.php

Gli eventi sinora esistenti, per i quali i plugins possono registrarsi, sono:

  • FileToHandle: lanciato dal comando di auto-assegnazione dei files, permette di intercettare files speciali e trattarli separatamente. Si consiglia di eliminare o spostare il file eventualmente processato dalla cartella destinata agli uploads.

Temi

L'aspetto grafico di Tiret è volutamente semplice e limitato, per permettere una facile personalizzazione ed un facile adattamento al look'n'feel di siti esistenti.

Per personalizzare l'aspetto grafico è possibile creare un nuovo file in public/themes/nome_del_tema/views/app.blade.php, contenente il proprio template di base all'interno del quale il contenuto della pagina sarà iniettato. Si prenda come esempio il file resources/views/app.blade.php.

Una volta creato il tema, è possibile attivarlo modificando la relativa configurazione in config/themes.php

Storia

Tiret è stato inizialmente sviluppato per una agenzia di assistenza fiscale con la necessità di distribuire ed esporre ai propri 6000+ clienti documenti sulle buste paga, per un totale di svariati gigabytes al mese.

Il nome tirét in piemontese sta per cassetto.

Licenza

Tiret è distribuito in licenza AGPLv3.

Copyright (C) 2015 Officine Digitali info@officinedigitali.org.