openGAS - Drupal Camp Verona 2011

Preview:

DESCRIPTION

openGAS è una distribuzione Drupal creata per sviluppare web systems attraverso cui è possibile fare la gestione completa delle attività e degli acquisti di un Gruppo di Acquisto Solidale.I Gruppi di Acquisto Solidale (GAS) sono gruppi di acquisto, organizzati spontaneamente, che partono da un approccio critico al consumo e che vogliono applicare i principi di equità e solidarietà ai propri acquisti (principalmente prodotti alimentari o di largo consumo).In questa sessione saranno illustrate le tecnologie che stanno dietro openGAS, i problemi da risolvere, e gli sviluppi futuri del progetto.

Citation preview

openGAS

Alfredo Furnò&

Emanuele Quinto

openGAS è una distribuzione Drupal creata per sviluppare web systems

attraverso cui è possibile fare la gestione completa

delle attività e degli acquisti di un GAS (Gruppo di Acquisto Solidale)

in questa sessione saranno illustrate

il modello e le tecnologie usate

i problemi da risolvere, e

gli sviluppi futuri del progetto.

GASGruppi di Acquisto Solidale

I Gruppi di Acquisto Solidale (GAS) sono gruppi di acquisto, organizzati spontaneamente, che partono da un approccio critico al consumo e che vogliono applicare i principi di equità e solidarietà ai propri acquistati (principalmente prodotti alimentari o di largo consumo).

I criteri che guidano la scelta dei fornitori (pur differenti da gruppo a gruppo) in genere sono: qualità del prodotto, dignità del lavoro, rispetto dell'ambiente.

In genere i gruppi pongono anche grande attenzione ai prodotti locali, agli alimenti da agricoltura biologica od equivalenti e agli imballaggi a rendere.

I principi di equità e solidarietà si estendono: ai membri del GAS, ai produttori e loro lavoratori, ai popoli del sud del mondo, al rispetto dell'ambiente.

http://it.wikipedia.org/wiki/Gruppo_di_acquisto_solidale

TECNOLOGIE

LAMP Stack +

Drupal

Panels/Views FlagsOrganic groups Ubercart

Rules Userpoints NatFeeds · Context · Features

Mix and Match · Fusion

MODELLO

il listino appartiene a un gruppo

il prodotto appartiene a un listino

per ogni listino l'utente inserisce un ordine

gli ordini degli utenti restano nel gruppogli ordini sono una lista di prodotti associati

a un listino

gli ordini degli utenti restano nel gruppo

i gruppi sono indipendenti per la contabilità

la contabilità degli utenti è divisa per gruppo

gli ordini sono una lista di prodotti associati a un listino

gli ordini sono associati al listino

i conti si fanno per listino

il nodo listino

il listino è il nodo principale

import/export via excel/csv/xml/...

lo stato dei listini si propaga agli ordini

attributi/campi del Listino

GruppoFornitoreScadenza

RitiroStato

Creazione di un listino:

1. Fornitore: seleziona da dropdown

2. Apertura, Chiusura, Consegna: javascript

3. Gruppo GAS: seleziona da dropdown

4. Lista prodotti: file upload (rules+feeds crea i nodi prodotto)

import

il venerabile modulo feeds

export

l'ottimo modulo views bonus pack

stato del listinogestioneworkflow

nodolistino

panel user order

panel process listino

creazione view (owner)edit (owner) n/a n/a

aperturaowner

view / download (group) edit (owner) view / download

(owner)

chiusuraowner/auto

"view / download (group)

view / download (owner)

consegnaowner/auto

" " edit (owner)

archivioowner

" " view / download (group)

PROBLEMI

ubercart: patch per le quantità decimali negli ordini, hook "core" per userpoints+taxonomy, hack per user cart

views: patch su views_crosstab, vbo, hack per gestire user cart e user cart form

contexts e panel context non giocano bene insieme

troppo codice custom!

Drupal 7 ubercart > ecommerce

+ views 7.x-3.x+ Editablefields 7.x

+ Views Bulk Operations 7.x

SVILUPPI

Drupal 7 Distrocode porting, adaptive theming, mobile support

web services, simplest authentication

openGAS communitySoftware as a Service

Open Business

DEMO online

http://gas.dev3.webenabled.net

BLOG

http://blog.opengas.org

CODE online

coming soon ...

Alfredo Furnò alfredof72@gmail.com

Emanuele Quinto @emaV