Differences between CP1 and CP2 and how to upgrade
- No compilation is needed like in cherrypy1
- The entire webserver, and all userpages and logic are purely python
- No more masks, views and functions. Everything is based on objects and methods now
- No 'builtin' templating engine, use CherryPyFilters or CherryTemplate for templating.
- More generic: you can insert objects and methods '''on the fly''' to change behaviour of your site
- More control...
- + CherryPyFilters (and therefore better hooks support)
- + Not every CP1 CherryClass is a global anymore!
- - Builtin templating (it's separate now, use CherryTemplate or another templating [wiki:CherryPyFilters filter])
- + As compilation is no longer needed, the server can be used with AutoReload and serveral other nice features to enable '''faster development'''
- O Aspects are still available, though in a seperate library which you can inherit from
Mind the following when wanting to migrate:
- CSAuthenticate (for session authentication) bytes generator based templating filters, like XyaptuFilter
- You'll have to use templating for all your CP1 Views
- Expose all functions you want to be available through the web
- xml-rpc is available using XmlRpcFilter
- Move all your globals elsewhere