interchange 6 - open source shop machine
DESCRIPTION
Beim letzten deutschen Perlworkshop haben wir den Mangel an einsatzbereiten "Produkte" als ein Marketingproblem von Perl identifiziert. Wir haben zwar eine große Auswahl an möglichen Lösungen, aber für klassische Aufgabenstellungen wie Blog, CMS, Shop usw. fehlen die echten "Produkte" um mit anderen Programmiersprachen konkurrieren zu können. Wir wollen das für den Bereich eCommerce/Onlineshop ändern und gestalten die altgediente Perlsoftware Interchange von Grund auf neu und planen ein fertiges, einfach zu installierendes Produkt zur Verfügung zu stellen. Dabei kommt natürlich "Modernes Perl" zum Einsatz, z.B. Moo, DBIx::Class und Dancer. Dieser Vortrag berichtet über den aktuellen Stand der Dinge.TRANSCRIPT
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Interchange 6 - Open Source Shop Machine
Stefan Hornburg (Racke)[email protected]
16. Deutscher Perl-Workshop, Hannover, 28. März 2013
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Shopsoftware
I Magento
I Shopware
I Oxid
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
PHP Cauldron
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Standard Stack
I DBIx::Class
I Moo
I Dancer
I Template::Flute
I Solr
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Custom Stack
I DBIx::Class
I Moo
I Dancer Web::Simple
I Template::Flute Template Toolkit
I Solr Elastic Search
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Status Quo
I Interchange6::Schema (Businesslogik)
I Dancer::Plugin::Interchange6
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Interchange6::Schema
I Produkte, Attribute, Preise, Bestand
I Benutzer, Adressen
I Warenkorb, Sitzungen
I Bestellungen, Zahlungen
I Steuern, Versand (in Arbeit)
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
Payment Module
I Business::OnlinePayment
I unterstützt viele Anbieter
I nicht sehr modern
I 3D secure, Redirect
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
Alternativen
I AnyMerchanthttps://metacpan.org/pod/AnyMerchant
I keine Entwicklung
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
Payment Module
I Business::OnlinePayment::IPayment (1&1)Silent CGI
I Business::OnlinePayment::FirstDataConnect (in Arbeit)
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
PaymentOrder erzeugen
$payment_order = $schema−>r e s u l t s e t ( ’ PaymentOrder ’ )−>create (\% payment_data ) ;
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
Zahlung erfolgreich
I Status und Transaktionscode aktualisieren
$payment_order−>update ( {s ta tus => ’ success ’ ,auth_code => $bop_object−>au tho r i za t i on ,
} ) ;
I Bestellung abschließen
I Email(s) versenden
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Payment ModuleAblauf
Zahlung fehlgeschlagen
I Status aktualisieren
$payment_order−>update ( {s ta tus => ’ f a i l u r e ’ ,
} ) ;
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Dancer::Plugin::Interchange6
I Keywords
I Routes
I Configuration
I Hooks
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Keywords
I shop_schema
I shop_product, shop_address, ...$product = shop_product(’F0001’);
I shop_cart
I shop_charge
I shop_setup_routes
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Routes
I Produkt
I Navigation
I Warenkorb
I Checkout
I Konto
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Produkt
I Produkt “Dancer und DBIx::Class”
I sku 978-0815-0815
I uri Dancer-DBIx-Class
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Navigation
I Kategorienhttp://www.cart.pm/Programming/Perl/Dancer
I Produktfilterhttp://www.cart.pm/Programming/Perl/Dancer/Author/racke/Sort/price
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Fallback Routes
any qr { . ∗ } => sub {# check f o r matching product. . .
# check f o r matching nav iga t i on. . .
# d i sp lay not_found pages ta tus ’ not_found ’ ;forward 404;
} ;
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Routes Configuration
In terchange6 : : Routes :c a r t :
template : checkout−g i f t i n f ou r i : warenkorb
nav iga t i on :template : l i s t i n grecords : 20
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
KeywordsRoutesConfigurationHooks
Hooks
hook ’ be fo re_nav iga t i on_d isp lay ’ => sub {my $nav_tokens = s h i f t ;
# load l i s t o f brandsmy $brands = shop_navigat ion−>search (
{ type => ’ manufacturer ’ ,a c t i v e => 1 } ) ;
$nav_tokens−>{brands } = [ $brands−>a l l ] ;} ;
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Demo Shop
I Wireframes https://github.com/interchange/Interchange6-Demo-Shop
I HTML (in Arbeit)
I Flowers hacking shophttps://github.com/interchange/Flowers
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Administration
I ERPI API
I OpenERPI Magento kompatibel
I TableEditorhttps://github.com/interchange/TableEditor
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Mitarbeit
I kleines Entwicklerteam
I GithubI IRC
I #interchange freenodeI #dancer
racke Interchange 6 - Open Source Shop Machine
ÜbersichtInterchange6 Stack
Status QuoDBIx::Class
PaymentDancer Plugin
Demo && Administration
Infos
Slides: http://www.linuxia.de/talks/pws2014/interchange6-de-beamer.pdf
racke Interchange 6 - Open Source Shop Machine