bravecollective / core

Authentication, Authorization, and API Proxy Service
https://core.braveineve.com/
59 stars 45 forks source link

Pin WebCore version less than 2.0. #408

Closed amcgregor closed 8 years ago

amcgregor commented 8 years ago

WebCore 2 was released recently. It's not compatible. Installing Core will fail as the version is pinned upwards and not capped.

bargulg commented 8 years ago

oh, i capped it in requirements.txt but not in setup.py, nice catch, thanks

amcgregor commented 8 years ago

A ha! That's what I was forgetting to check. :D

bargulg commented 8 years ago

fixed in development branch now

amcgregor commented 8 years ago

Awesome, thanks for the quick turnaround on this. Released yesterday and this morning got that sinking feeling in the back of my brain. As a separate issue, updating Core and friends to WebCore 2 would be a fun little project.

bargulg commented 8 years ago

BTW, "code as a documentation" is a nice idea, but some quickstart tutorial would be nice for those who want to use it in new projects, and upgrade notes would be nice for those who want to upgrade existing apps... looking for everything in code takes time

amcgregor commented 8 years ago

For sure. The entirety of web.core is less than 400 lines of code, however, and documents itself exceptionally well. Quick-start is effectively the controller.py example (that's it… really), and upgrade paths primarily involve translating controller __lookup__ methods into dispatchers if complex (consuming multiple path elements or redirecting dispatch) or plain __getattr__ methods if only consuming one path element, and wiring in components such as Babel, Beaker, etc., etc. in an application extension. The framework itself no longer has an opinion on such components.

I'll have the web.template package cleaned up and released this week to match old WebCore 1 template use expectations (2-tuple return values), but new apps should start with cinje because no other template engine supports chunked streaming and you just directly return the result of calling a cinje template function from your controller, making things even simpler. (Cinje templates being standard importable Python modules avoids all template use boilerplate. All.)

amcgregor commented 8 years ago

@bargulg https://github.com/marrow/WebCore/wiki/Upgrading-from-WebCore-1 < not all of the referenced web. optional packages are complete yet; web.template is this week's project. web.command after that, I suspect.