Tabledown    2011 OSDC.TW@tcc / tcchou@tcchou.org
Tabledown?•           : Markdown• ( ) , Java , Python• google: tabledown
About me                C/C++SI   5+          Perl                 Java                  WebSW   5-         PythonSD   5+ ...
•••
•   -   Tabledown•   -•   -      ?
• DIY, DRY•           ...• OFBiz FLOSS! Apache!   ?
• FLOSS                      DATA FAIL!  •                     ,•                ,     UI UX FAIL!•       twill      HTTP ...
twillgo http://localhost:8080/ofbizsetup/control/mainfv 2 groupName    fv 2 USER_ADDRESS1      fv 2 USER_POSTAL_CODE 300fv...
•   :    ,    ,••       ...              UX FAIL!
•    ,•   ok•   orz
• :              ,• API:         /• DSL: Groovy Builder/Slurper• Tabledown: Collections Collections    Hash + List
tabledown                                               1{ _:[master,tasks],                      { uSheet1: { master: { b...
tabledown                  2from tabledown.tdxls import TDXlstdx = TDXls(conf)data = tdx.xls2dict(filename)tdx.dict2xls(da...
• REST, Web Service ... OFBiz•         ...          !   SOA FAIL!•      Web App     mechanize  (Python, Perl, Ruby ... PHP...
mechanize•    •                     WWW::Mechanize    •             /   (Ruby)    • 10yr, 5yr•    •    twill    •    Beaut...
mechanize  import mechanize  br = mechanize.Browser()  ...  # create project  dProject={workEffortName: mName, description...
mechanize                  +            BeatifulSoup             Tabledown Web/                            PythonServices ...
• OFBiz   (Timesheet) →      ♥•  •                       UX OK  •           (Task)  •  •  •
OFBiz
Td•    •               (       )    •       ?•       (               )•               /               ,                   ...
•                  ...   !•    •   ex: PM,    •   >>•         ,•                 ...    ?
•          SaaS,   PaaS           ,       IaaS   ?•   IaaS           /          /•   >        /            >           >
IaaS                   (   )•       IaaS•       >      /   >   >•   :•   :•   :
•    •     :            ,    •     :    •     :•      :      Socialtext   Socailcalc    Google Spreadsheet
•             ,    •   :         ,    •   :         (   ),      SFC• mechanize• UI                  FAIL?
FAILs• DATA FAIL:• UX FAIL:         ,• SOA FAIL:            Web App
•         ,           ,•                 ;       ??•♥   / ♥ $ £¥             ,
•   Tabledown http://code.google.com/p/tabledown/    •   OFBiz http://ofbiz.apache.org/    •   xlrd, xlwt http://www.pytho...
[ Tabledown ]      Twitter: tcc  tcchou@tcchou.org
OptionXML, JSON,YAML, S-
Option:                   1  !"#$    ()*    %&#$           +,                 -*!"./
Option:                                                                                                          2        ...
Upcoming SlideShare
Loading in …5
×

Tabledown

1,077 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,077
On SlideShare
0
From Embeds
0
Number of Embeds
156
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tabledown

  1. 1. Tabledown 2011 OSDC.TW@tcc / tcchou@tcchou.org
  2. 2. Tabledown?• : Markdown• ( ) , Java , Python• google: tabledown
  3. 3. About me C/C++SI 5+ Perl Java WebSW 5- PythonSD 5+ Groovy Scala
  4. 4. •••
  5. 5. • - Tabledown• -• - ?
  6. 6. • DIY, DRY• ...• OFBiz FLOSS! Apache! ?
  7. 7. • FLOSS DATA FAIL! • ,• , UI UX FAIL!• twill HTTP ( ) • scotch HTTP *.pickle • translate-recording-to-twill *.twill
  8. 8. twillgo http://localhost:8080/ofbizsetup/control/mainfv 2 groupName fv 2 USER_ADDRESS1 fv 2 USER_POSTAL_CODE 300fv 2 USER_COUNTRY TWNfv 2 USER_CITY fv 2 USER_WORK_COUNTRY 886fv 2 partyId jiafv 2 USER_WORK_CONTACT 5153000fv 2 USER_WORK_AREA 3fv 2 USER_EMAIL jia@side.orgsubmit ( )
  9. 9. • : , ,•• ... UX FAIL!
  10. 10. • ,• ok• orz
  11. 11. • : ,• API: /• DSL: Groovy Builder/Slurper• Tabledown: Collections Collections Hash + List
  12. 12. tabledown 1{ _:[master,tasks], { uSheet1: { master: { billing: uyi, master:{ cust_pm: uyi, id:[A^1,u ID], desc: , name:[A^2,u ], exec_pm: ubing, desc:[A^3,u ], id: , billing:[A^4,u ], name: uPR001, cust_pm:[C^4,u PM], org: ujia, org:[A^5,u ], pg: uwu,ji,geng, exec_pm:[C^5,u PM], sa: uding}, sa:[E^5,u ], tasks: [ { desc: , pg:[G^5,u ], est_bgn: , }, est_end: , tasks:{ id: , *:{ name: uu8a55u4f30, id:[A1,uID], sno: u100, sno:[B1,u ], type: uP}, type:[C1,u ], { desc: , name:[D1,u ], est_bgn: u2011-3-26, desc:[E1,u ], est_end: u2011-3-26, est_bgn:[F1,u ], id: , est_end:[G1,u ], name: uu8166u529bu6fc0u76ea, res:[H1,u ], res: bing,ding,wu, }, sno: , }, type: uT},} ( )
  13. 13. tabledown 2from tabledown.tdxls import TDXlstdx = TDXls(conf)data = tdx.xls2dict(filename)tdx.dict2xls(data, filename)
  14. 14. • REST, Web Service ... OFBiz• ... ! SOA FAIL!• Web App mechanize (Python, Perl, Ruby ... PHP )
  15. 15. mechanize• • WWW::Mechanize • / (Ruby) • 10yr, 5yr• • twill • Beautiful Soup
  16. 16. mechanize import mechanize br = mechanize.Browser() ... # create project dProject={workEffortName: mName, description: mDesc, clientBillingPartyId: mBilling, organizationPartyId: mOrg, scopeEnumId:WES_PRIVATE,} br.open("%s/EditProject" % url_app) applyDict2Form(br, EditProject, dProject) res = br.submit() id, soup = page_get_project_id_and_soup(res.get_data()) ( )def page_get_id_and_soup(page): soup = BeautifulSoup(page, convertEntities=BeautifulSoup.HTML_ENTITIES) title = soup.find(div, {class:page-title}) # ok id = None if title: m = re.search(r[([^]]+)], title.find(span).getText()) if m: id = m.groups()[0] print "---> new id %s" % id return (id, soup)
  17. 17. mechanize + BeatifulSoup Tabledown Web/ PythonServices twill + scotch
  18. 18. • OFBiz (Timesheet) → ♥• • UX OK • (Task) • • •
  19. 19. OFBiz
  20. 20. Td• • ( ) • ?• ( )• / , …
  21. 21. • ... !• • ex: PM, • >>• ,• ... ?
  22. 22. • SaaS, PaaS , IaaS ?• IaaS / /• > / > >
  23. 23. IaaS ( )• IaaS• > / > >• :• :• :
  24. 24. • • : , • : • :• : Socialtext Socailcalc Google Spreadsheet
  25. 25. • , • : , • : ( ), SFC• mechanize• UI FAIL?
  26. 26. FAILs• DATA FAIL:• UX FAIL: ,• SOA FAIL: Web App
  27. 27. • , ,• ; ??•♥ / ♥ $ £¥ ,
  28. 28. • Tabledown http://code.google.com/p/tabledown/ • OFBiz http://ofbiz.apache.org/ • xlrd, xlwt http://www.python-excel.org/• twill http://twill.idyll.org/• scotch http://darcs.idyll.org/~t/projects/scotch/doc/• mechanize http://wwwsearch.sourceforge.net/mechanize/• Beatiful Soup http://www.crummy.com/software/ BeautifulSoup/
  29. 29. [ Tabledown ] Twitter: tcc tcchou@tcchou.org
  30. 30. OptionXML, JSON,YAML, S-
  31. 31. Option: 1 !"#$ ()* %&#$ +, -*!"./
  32. 32. Option: 2 robust cust. Web MN FTP UV Zenoss ["]^ ERP OFBiz BC MO serv. serv. App Web ST Nuexo Felix / Karaf B2B ... @A Akka Grails ZK JKL ... Camel ServiceMix R3 Activiti Scala Groovy Portal ... >? DEFGHI ... Apache WXYZ Java PQ DS Openfire!"#$ ()* +,#$-./ +,#$-.0 +,#$-.1 23 45 67 89 :; <= Vim Markdown Ant/mvn Jenkins Hg Trac Eclipse Docbook sbt/gradle (Hudson) git DITA Artifactory Selenium Sphinx JMeter _*!"`a %&

×