PloneConf2011 - How to build ERP application while having fun
-
Upload
andrew-mleczko -
Category
Technology
-
view
3.835 -
download
0
Transcript of PloneConf2011 - How to build ERP application while having fun
![Page 1: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/1.jpg)
How to build complex
web applications having fun?
How to build complex
web applications having fun?
How to build complex
web applications having fun?
![Page 2: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/2.jpg)
How to build complex
web applications having fun?
How to build complex
web applications having fun?
How to build complex
web applications having fun?
![Page 3: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/3.jpg)
Andrew MleczkoSoftware Integrator
Ferrara (Italy)
amleczko
author
![Page 4: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/4.jpg)
author
Andrew MleczkoSoftware Integrator
Ferrara (Italy)
amleczko
![Page 5: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/5.jpg)
Ferrara
author
Andrew MleczkoSoftware Integrator
Ferrara (Italy)
amleczko
![Page 6: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/6.jpg)
the team
![Page 7: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/7.jpg)
the team
![Page 8: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/8.jpg)
WHY this talk?
![Page 9: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/9.jpg)
My Reasons to be here
★ Building complex web
applications should
be fun
★ to promote
![Page 10: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/10.jpg)
![Page 11: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/11.jpg)
![Page 12: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/12.jpg)
SMALL “Roughly 5000 lines of code”
![Page 13: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/13.jpg)
SMALL
FAST
“Roughly 5000 lines of code”
![Page 14: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/14.jpg)
SMALL
FAST
STABLE
“Roughly 5000 lines of code”
![Page 15: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/15.jpg)
SMALL
TESTED
FAST
STABLE
“Roughly 5000 lines of code”
“100% statement coverage via unit and
integration tests”
![Page 16: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/16.jpg)
SMALL
DOCUMENTED
TESTED
FAST
STABLE
“Roughly 5000 lines of code”
“100% statement coverage via unit and
integration tests”
“Literally nothingin Pyramid
is undocumented”
![Page 17: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/17.jpg)
★ Debug Toolbar
★ Flexible authentication
and authorization
★ Tweens - a bit like WSGI
middleware
![Page 18: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/18.jpg)
★ Decorator-based configuration
from pyramid.view import view_configfrom pyramid.response import Response
@view_config(route_name='fred')def fred_view(request): return Response('fred')
![Page 19: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/19.jpg)
★ Event system (based on ZCA)
from pyramid.events import NewRequestfrom pyramid.events import subscriber
@subscriber(NewRequest)def mysubscriber(event): event.request.foo = 1
![Page 20: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/20.jpg)
★ Extendable configuration
from pyramid.config import Configurator
if __name__ == '__main__': config = Configurator() config.include('pyramid_formalchemy')
![Page 21: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/21.jpg)
the project
![Page 22: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/22.jpg)
The Customer
★ .
★ Born as a startup
★ Offices in US
![Page 23: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/23.jpg)
Water today
★ U.S. - the largest consumer market
for bottled water in the world
★ in 2011, the market is forecast to have
a value of $86,421.2 billion
“Bottled water has become the second largest commercial beverage category”
![Page 24: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/24.jpg)
![Page 25: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/25.jpg)
![Page 26: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/26.jpg)
project requirements
![Page 27: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/27.jpg)
![Page 28: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/28.jpg)
paperless sale
![Page 29: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/29.jpg)
paperless sale
CRM
Sales
1 2 3 4 5
Warehouse
E-commerce
Support
![Page 30: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/30.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
![Page 31: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/31.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
![Page 32: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/32.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
★ Customer’s management (satisfaction, order status, etc.)
★ Reports (machine statistics, etc.)
★ Campaigns
![Page 33: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/33.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
★ Sales network management
★ Invoicing / accountancy
★ Revenue counter
★ Discount management
![Page 34: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/34.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
★ Catalog management
★ Warehouse management
★ Logistic tracking
![Page 35: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/35.jpg)
★ Online shop (for beverages and accessories)
★ Machine configurator (interactive wizard)
★ Online payments
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
![Page 36: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/36.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
★ Machine maintenance (filter change)
★ Emergency services
★ Order / installation process
![Page 37: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/37.jpg)
paperless saleCRM
Sales
1
2
3
4
5
Warehouse
E-commerce
Support
★ Machine maintenance (filter change)
★ Emergency services
★ Order / installation process
![Page 38: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/38.jpg)
Support
CRM
Sales
Warehouse
E-commerce
paperless sale
![Page 39: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/39.jpg)
Support
CRM
Sales
Warehouse
E-commerce
Intranet Extranet
paperless sale
![Page 40: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/40.jpg)
Totally paperless ERP
![Page 41: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/41.jpg)
project gotchas
![Page 42: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/42.jpg)
project gotchas
★ Requirements are not rock
solid (it’s a startup) - project will
grow with the customer
★ Customer is in U.S. - planning
regular meetings is essential
★ We need to find new framework
for ERP part
★ Only 5 months to delivery
![Page 43: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/43.jpg)
Arch i tectural dec i s ions
![Page 44: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/44.jpg)
a n d
![Page 45: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/45.jpg)
a n d
![Page 46: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/46.jpg)
![Page 47: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/47.jpg)
★ architecture is not so far
away from Zope
★ it supports SQLAlchemy
out of the box
★ great documentation and
active community
★ add’s some fresh air to your
architecture
why ?
![Page 48: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/48.jpg)
★ pyramid_formalchemy CRUD
★ easy pluggable widgets
★ Multi-upload
★ Metric units
★ Autocomplete
★ Multi-relation
★ 75% jQuery code
why ?
![Page 49: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/49.jpg)
★ pyramid_formalchemy CRUD
★ easy pluggable widgets
★ Multi-upload
★ Metric units
★ Autocomplete
★ Multi-relation
★ 75% jQuery code
why ?
![Page 50: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/50.jpg)
★ pyramid_formalchemy CRUD
★ easy pluggable widgets
★ Multi-upload
★ Metric units
★ Autocomplete
★ Multi-relation
★ 75% jQuery code
why ?
![Page 51: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/51.jpg)
and ?
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
![Page 52: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/52.jpg)
★ Diazo (plone.app.theming)
and ?
★ Poi
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
★ PAS (PluggableAuthService)
![Page 53: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/53.jpg)
★ Diazo (plone.app.theming)
and ?
★ Poi
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
★ PAS (PluggableAuthService)
![Page 54: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/54.jpg)
★ Poi
★ Diazo (plone.app.theming)
and ?
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
★ PAS (PluggableAuthService)
![Page 55: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/55.jpg)
★ Poi
★ Diazo (plone.app.theming)
and ?
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
★ PAS (PluggableAuthService)
![Page 56: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/56.jpg)
★ Poi
★ Diazo (plone.app.theming)
and ?
★ The Best CMS ever
★ easy to integrate with
other Python frameworks
★ almost 2000 addons
★ PAS (PluggableAuthService)
![Page 57: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/57.jpg)
Integrat ion
![Page 58: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/58.jpg)
SQ LA l c hemy
![Page 59: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/59.jpg)
PostgreSQL
aeterna.models
SQ LA l c hemy
![Page 60: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/60.jpg)
au then t i c a t ion - au thor iza t ion
![Page 61: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/61.jpg)
auth storage
au then t i c a t ion - au thor iza t ionR
equ
est
PostgreSQL
repoze.who
pas.plugins.sa
![Page 62: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/62.jpg)
auth storage
au then t i c a t ion - au thor iza t ion
★ users
★ groups
★ roles
PostgreSQL
![Page 63: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/63.jpg)
auth storage
au then t i c a t ion - au thor iza t ion
★ users
★ groups
★ roles
PostgreSQL
single-sign-on
★ plone.session
★ repoze.who.plugins.auth_tkt
mod_auth_tkt
![Page 64: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/64.jpg)
bu i l dout
[intranet-plone]
recipe = plone.recipe.zope2instance
eggs =
${intranet-plone:eggs} aeterna.models
[intranet-pyramid]
recipe = zc.recipe.egg
eggs =
${intranet-pyramid:eggs} aeterna.models
![Page 65: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/65.jpg)
T he b ig p i c ture
PostgreSQL
ZODB
Ap
ach
e
repoze.who
pas.plugins.sa
beaker
![Page 66: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/66.jpg)
intranetextranet
T he b ig p i c ture
PostgreSQL
ZODB
Ap
ach
e
repoze.who
pas.plugins.sa
beaker
![Page 67: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/67.jpg)
why not other compet i tors?
![Page 68: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/68.jpg)
django: no!★ less code more magic
★ not so flexible
(specification is growing)
★ using SQLAlchemy within
could be tricky
![Page 69: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/69.jpg)
drupal : no!★ security problems
(370 CVE entries)
★ integration is more difficult
(PHP vs. Python)
★ missing features
workflow, complex ACL, etc.
![Page 70: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/70.jpg)
openerp : no!★ quite complex: CRM, sales,
accounting and much more
★ not enough time
to fully investigate it
★ not a generic framework
![Page 71: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/71.jpg)
results
![Page 72: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/72.jpg)
![Page 73: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/73.jpg)
![Page 74: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/74.jpg)
![Page 75: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/75.jpg)
![Page 76: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/76.jpg)
![Page 77: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/77.jpg)
![Page 78: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/78.jpg)
![Page 79: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/79.jpg)
![Page 80: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/80.jpg)
![Page 81: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/81.jpg)
![Page 82: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/82.jpg)
![Page 83: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/83.jpg)
![Page 84: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/84.jpg)
![Page 85: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/85.jpg)
![Page 86: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/86.jpg)
![Page 87: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/87.jpg)
What matters?
![Page 88: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/88.jpg)
Proper Tools
![Page 89: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/89.jpg)
and a good team
![Page 90: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/90.jpg)
★ Prototyping - it’s always a
lot of fun, but...
★ be aware of The
Learning Curve Effect
★ Collecting specification and
keeping docs up-to-date
(a real on-going process)
![Page 91: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/91.jpg)
check this out!
![Page 92: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/92.jpg)
pyramid_formalchemy
★ started by gawel (Gaël Pasgrimaud)
and supported by
★ using SQLAlchemy,
Formalchemy and fanstatic
★ available on pypi more then 1720 downloads so far
![Page 93: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/93.jpg)
pyramid_formalchemy
★ Lots of improvements during
by
★ events hooks
★ view and action customizations
★ i18n support
★ paster templates
★ fanstatic integration
![Page 94: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/94.jpg)
★ Minimal configuration:
pyramid_formalchemy
![Page 95: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/95.jpg)
def main(global_config, **settings):
engine = engine_from_config(settings, 'sqlalchemy.') initialize_sql(engine) config = Configurator(settings=settings)
# pyramid_formalchemy's configuration config.include('pyramid_formalchemy')
# register an admin UI config.formalchemy_admin('/admin', package='pyramidapp')
return config.make_wsgi_app()
★ Minimal configuration:
pyramid_formalchemy
![Page 96: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/96.jpg)
★ Events subscriptions:
pyramid_formalchemy
![Page 97: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/97.jpg)
@events.subscriber([User, events.IBeforeEditRenderEvent])def before_user_edit(context, event):
fs = event.kwargs['fs']
# add roles_manage field for manager: if not has_permission('manage', event.request): fs.append(fs.roles_manage) # set TinyMCE as a renderer for biography field: fs.biography.set(renderer=tinymce)
★ Events subscriptions:
pyramid_formalchemy
![Page 98: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/98.jpg)
pyramid_formalchemy
★ demohttp://docs.formalchemy.org/demo/admin
★ documentationhttp://docs.formalchemy.org/pyramid_formalchemy
★ downloadhttp://pypi.python.org/pypi/pyramid_formalchemy
![Page 99: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/99.jpg)
pyramid_formalchemy
★ demohttp://docs.formalchemy.org/demo/admin
★ documentationhttp://docs.formalchemy.org/pyramid_formalchemy
★ downloadhttp://pypi.python.org/pypi/pyramid_formalchemy
![Page 100: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/100.jpg)
★ a pyramid_formalchemy plugin
★ based on twitter bootstrap
★ integrated with fanstatic
★ released on pypi
http://pypi.python.org/pypi/fa.bootstrap
fa.bootstrap
![Page 101: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/101.jpg)
fa.bootstrap
![Page 102: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/102.jpg)
fa.bootstrap
![Page 103: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/103.jpg)
fa.bootstrap
![Page 104: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/104.jpg)
fa.bootstrap
![Page 105: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/105.jpg)
fa.bootstrap
![Page 106: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/106.jpg)
fa.bootstrap
![Page 107: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/107.jpg)
fa.bootstrap
![Page 108: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/108.jpg)
Quest ions?
![Page 109: PloneConf2011 - How to build ERP application while having fun](https://reader033.fdocuments.us/reader033/viewer/2022052523/555da8b4d8b42a257b8b5d1e/html5/thumbnails/109.jpg)
★ http://flickr.com/photos/mleczko
★ http://www.melaiphone.com/
★ http://static.iphoneitalia.com
★ http://www.theapplelounge.com
★ http://www.nonconvenzionale.com
★ http://craziestgadgets.com/
★ http://obsessivelystitching.blogspot.com/
★ http://theclockblog.blogspot.com/
★ http://www.scatoladeigiochi.altervista.org/
★ http://wallpapers.brothersoft.com/
★ www.prisionerodelpixel.com
★ http://jawaexpress.com/
★ http://mikehenneke.mvourtown.com/
★ http://android-apps.com/
Credits