PyconUA - How to build ERP application having fun?

  • 1,823 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,823
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
24
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. How to build ERP application having fun?Saturday, 22 October 2011
  • 2. How to build ERP application having fun?Saturday, 22 October 2011
  • 3. author Andrew Mleczko Software Integrator Ferrara (Italy) amleczko amleczko@redturtle.itSaturday, 22 October 2011
  • 4. author Andrew Mleczko Software Integrator Ferrara (Italy) amleczko amleczko@redturtle.itSaturday, 22 October 2011
  • 5. author Ferrara Andrew Mleczko Software Integrator Ferrara (Italy) amleczko amleczko@redturtle.itSaturday, 22 October 2011
  • 6. the teamSaturday, 22 October 2011
  • 7. the teamSaturday, 22 October 2011
  • 8. WHY this talk?Saturday, 22 October 2011
  • 9. My Reasons to be here ★ Building complex web applications could be should be fun ★ Promote andSaturday, 22 October 2011
  • 10. Saturday, 22 October 2011
  • 11. This is ★ truly open source CMS ★ built on top of ★ more than 340 active core developersSaturday, 22 October 2011
  • 12. This is developed since 2001Saturday, 22 October 2011
  • 13. This is ★ among the top 2% of all open source projects ★ version 4.1.1 released 12 days ago ★ the best security track record of any major CMSSaturday, 22 October 2011
  • 14. This is great for web publishing and enterprise readySaturday, 22 October 2011
  • 15. This is great for web publishing and enterprise readySaturday, 22 October 2011
  • 16. This isSaturday, 22 October 2011
  • 17. This isSaturday, 22 October 2011
  • 18. This isSaturday, 22 October 2011
  • 19. This isSaturday, 22 October 2011
  • 20. This isSaturday, 22 October 2011
  • 21. Saturday, 22 October 2011
  • 22. Saturday, 22 October 2011
  • 23. SMALL “Roughly 5000 lines of code”Saturday, 22 October 2011
  • 24. SMALL “Roughly 5000 lines of code” FASTSaturday, 22 October 2011
  • 25. SMALL “Roughly 5000 lines of code” FAST STABLESaturday, 22 October 2011
  • 26. SMALL “Roughly 5000 lines of code” FAST “100% statement STABLE coverage via unit and TESTED integration tests”Saturday, 22 October 2011
  • 27. SMALL “Roughly 5000 lines of code” FAST “100% statement STABLE coverage via unit and TESTED integration tests” DOCUMENTED “Literally nothing in Pyramid is undocumented”Saturday, 22 October 2011
  • 28. ★ Decorator-based configuration ★ Debug Toolbar ★ Event system ★ Configuration extensibilitySaturday, 22 October 2011
  • 29. the projectSaturday, 22 October 2011
  • 30. The Customer ★ . ★ Born as a startup ★ Offices in Miami, New York and Los AngelesSaturday, 22 October 2011
  • 31. 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”Saturday, 22 October 2011
  • 32. Saturday, 22 October 2011
  • 33. Saturday, 22 October 2011
  • 34. project requirementsSaturday, 22 October 2011
  • 35. Saturday, 22 October 2011
  • 36. paperless saleSaturday, 22 October 2011
  • 37. paperless sale Sales E-commerce 1 2 3 4 5 CRM Warehouse SupportSaturday, 22 October 2011
  • 38. paperless sale 1 CRM 2 Sales 3 Warehouse 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 39. paperless sale 1 CRM 2 Sales 3 Warehouse 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 40. paperless sale 1 CRM ★ Customer’s management (satisfaction, order status, etc.) 2 Sales ★ Reports (machine statistics, etc.) 3 Warehouse ★ Campaigns 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 41. paperless sale 1 CRM ★ Sales network management ★ Invoicing / accountancy 2 Sales ★ Revenue counter 3 Warehouse ★ Discount management 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 42. paperless sale 1 CRM ★ Catalog management ★ Warehouse management 2 Sales ★ Logistic tracking 3 Warehouse 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 43. paperless sale 1 CRM ★ Online shop (for beverages and accessories) 2 Sales ★ Machine configurator (interactive wizard) 3 Warehouse ★ Online payments 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 44. paperless sale 1 CRM ★ Machine maintenance (filter change) 2 Sales ★ Emergency services ★ Order / installation process 3 Warehouse 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 45. paperless sale 1 CRM ★ Machine maintenance (filter change) 2 Sales ★ Emergency services ★ Order / installation process 3 Warehouse 4 E-commerce 5 SupportSaturday, 22 October 2011
  • 46. paperless sale Warehouse Support CRM E-commerce SalesSaturday, 22 October 2011
  • 47. paperless sale Intranet Extranet Warehouse Support CRM E-commerce SalesSaturday, 22 October 2011
  • 48. Totally paperless ERPSaturday, 22 October 2011
  • 49. project gotchasSaturday, 22 October 2011
  • 50. 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 ★ Only 5 months to deliverySaturday, 22 October 2011
  • 51. Arc hi t e ct u ral dec i si onsSaturday, 22 October 2011
  • 52. andSaturday, 22 October 2011
  • 53. andSaturday, 22 October 2011
  • 54. Saturday, 22 October 2011
  • 55. why ? ★ 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 architectureSaturday, 22 October 2011
  • 56. why ? ★ pyramid_formalchemy CRUD ★ easy pluggable widgets ★ Multi-upload ★ Metric units ★ Autocomplete ★ Multi-relation ★ 75% jQuery codeSaturday, 22 October 2011
  • 57. why ? ★ pyramid_formalchemy CRUD ★ easy pluggable widgets ★ Multi-upload ★ Metric units ★ Autocomplete ★ Multi-relation ★ 75% jQuery codeSaturday, 22 October 2011
  • 58. why ? ★ pyramid_formalchemy CRUD ★ easy pluggable widgets ★ Multi-upload ★ Metric units ★ Autocomplete ★ Multi-relation ★ 75% jQuery codeSaturday, 22 October 2011
  • 59. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/productsSaturday, 22 October 2011
  • 60. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 61. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 62. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 63. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 64. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 65. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 66. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 67. why ? ★ The Best CMS ★ several years of experience ★ 1595 addons (and counting...) on plone.org/products ★ PloneFormGen ★ Poi ★ Diazo (plone.app.theming) ★ LinguaPloneSaturday, 22 October 2011
  • 68. I nt eg r at i o nSaturday, 22 October 2011
  • 69. SQL A lchemySaturday, 22 October 2011
  • 70. SQL A lchemy aeterna.models PostgreSQLSaturday, 22 October 2011
  • 71. authentication - authorizationSaturday, 22 October 2011
  • 72. authentication - authorization auth storage Request pas.plugins.sa repoze.who PostgreSQLSaturday, 22 October 2011
  • 73. authentication - authorization auth storage ★ users ★ groups ★ roles PostgreSQLSaturday, 22 October 2011
  • 74. authentication - authorization auth storage single-sign-on ★ users ★ plone.session ★ repoze.who.plugins.auth_tkt ★ groups ★ roles mod_auth_tkt PostgreSQLSaturday, 22 October 2011
  • 75. buildout [intranet-plone] recipe = plone.recipe.zope2instance eggs = ${intranet-plone:eggs} aeterna.models [intranet-pyramid] recipe = zc.recipe.egg eggs = ${intranet-pyramid:eggs} aeterna.modelsSaturday, 22 October 2011
  • 76. The big picture pas.plugins.sa ZODB Apache beaker PostgreSQL repoze.whoSaturday, 22 October 2011
  • 77. The big picture extranet pas.plugins.sa ZODB Apache beaker PostgreSQL intranet repoze.whoSaturday, 22 October 2011
  • 78. why not o t h er c o mpet i t o rs?Saturday, 22 October 2011
  • 79. d j ang o : no! ★ less code more magic ★ not so flexible (specification is growing) ★ using SQLAlchemy within could be trickySaturday, 22 October 2011
  • 80. d r u pal: no! ★ security problems (370 CVE entries) ★ integration is more difficult (PHP vs. Python) ★ missing features workflow, complex ACL, etc.Saturday, 22 October 2011
  • 81. o pen erp : hmm ★ quite complex: CRM , sales, accounting and much more ★ not enough time to fully investigate it ★ not a generic frameworkSaturday, 22 October 2011
  • 82. resultsSaturday, 22 October 2011
  • 83. Saturday, 22 October 2011
  • 84. Saturday, 22 October 2011
  • 85. Saturday, 22 October 2011
  • 86. Saturday, 22 October 2011
  • 87. Saturday, 22 October 2011
  • 88. Saturday, 22 October 2011
  • 89. Saturday, 22 October 2011
  • 90. Saturday, 22 October 2011
  • 91. Saturday, 22 October 2011
  • 92. Saturday, 22 October 2011
  • 93. Saturday, 22 October 2011
  • 94. Saturday, 22 October 2011
  • 95. Saturday, 22 October 2011
  • 96. Saturday, 22 October 2011
  • 97. Saturday, 22 October 2011
  • 98. What mat t ers?Saturday, 22 October 2011
  • 99. Proper ToolsSaturday, 22 October 2011
  • 100. and a g o o d t eamSaturday, 22 October 2011
  • 101. ★ it’s always a lot of fun to Prototype but... ★ be aware of The Learning Curve Effect ★ Collecting specification and keeping docs up-to-date is challengingSaturday, 22 October 2011
  • 102. check this out!Saturday, 22 October 2011
  • 103. pyramid_formalchemy ★ started by Gaël Pasgrimaud “gawel” supported by ★ using SQLAlchemy, Formalchemy and fanstatic ★ available on pypi more then 1720 downloads so farSaturday, 22 October 2011
  • 104. pyramid_formalchemy ★ events hooks ★ view and action customizations ★ i18n support ★ paster templates ★ fanstatic integrationSaturday, 22 October 2011
  • 105. pyramid_formalchemy def main(global_config, **settings): """ This function returns a Pyramid WSGI application.""" engine = engine_from_config(settings, sqlalchemy.) initialize_sql(engine) config = Configurator(settings=settings) # pyramid_formalchemys configuration config.include(pyramid_formalchemy) # register an admin UI config.formalchemy_admin(/admin, package=pyramidapp) return config.make_wsgi_app()Saturday, 22 October 2011
  • 106. pyramid_formalchemy ★ demo http://docs.formalchemy.org/demo/admin ★ documentation http://docs.formalchemy.org/pyramid_formalchemy ★ download http://pypi.python.org/pypi/pyramid_formalchemySaturday, 22 October 2011
  • 107. fa.bootstrap ★ a pyramid_formalchemy plugin ★ based on twitter bootstrap ★ integrated with fanstatic ★ released on pypi http://pypi.python.org/pypi/fa.bootstrapSaturday, 22 October 2011
  • 108. fa.bootstrapSaturday, 22 October 2011
  • 109. fa.bootstrapSaturday, 22 October 2011
  • 110. fa.bootstrapSaturday, 22 October 2011
  • 111. fa.bootstrapSaturday, 22 October 2011
  • 112. fa.bootstrapSaturday, 22 October 2011
  • 113. fa.bootstrapSaturday, 22 October 2011
  • 114. fa.bootstrapSaturday, 22 October 2011
  • 115. Qu est i ons?Saturday, 22 October 2011
  • 116. Credits ★ 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/Saturday, 22 October 2011