<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi all,<br>
    <br>
    A few lines to keep you informed on the pyramid / cubicweb
    integration effort.<br>
    <br>
    This afternoon I worked on an important step that will make
    everything else possible : integrating the authentication stack of
    pyramid and the cubicweb session management, and it's all working
    pretty well !<br>
    <br>
    Some basic explanations :<br>
    <ul>
      <li>The pyramid application uses directly the cw repo to check the
        login/password of the user (<a
href="https://bitbucket.org/unlish/pyramid_cubicweb/src/07089fd649afaf50e0d0aee01be19100965c9b02/pyramid_cubicweb/__init__.py?at=default#cl-110">110</a>).</li>
      <li>The pyramid request has a custom attribute 'cw_session' that
        gets, one way or another, a cubicweb session (<a
href="https://bitbucket.org/unlish/pyramid_cubicweb/src/07089fd649afaf50e0d0aee01be19100965c9b02/pyramid_cubicweb/__init__.py?at=default#cl-164">164</a>).</li>
      <li>A custom session manager (<a
href="https://bitbucket.org/unlish/pyramid_cubicweb/src/07089fd649afaf50e0d0aee01be19100965c9b02/pyramid_cubicweb/__init__.py?at=default#cl-66">66</a>)
        rely on this new attribute to return the session to cubicweb.</li>
    </ul>
    A possible next step will be to use directly "core_handle" of<span
      class="n"> CubicWebPublisher instead of "handle_request". This
      way, we will have a better control on what connection is used, and
      we'll be able to let pyramid handle errors (which doesn't mean we
      won't use the custom error views of cw).<br>
      <br>
      If you want to give it a try, you can use the sampleapp I included
      in the source.<br>
      Do do so :<br>
      - have pyramid > 1.5 in your environment (I suggest using
      virtualenv and pip)<br>
    </span><span class="n"><span class="n">- run "python setup.py
        develop" or "python setup.py install" in the root directory AND
        the sampleapp directory<br>
      </span>- change the 'cubicweb.instance' entry of the
      development.ini file to one of your own instance names<br>
      - change the port to match your instance tcp port (still in
      development.ini)<br>
      - run "pserve --reload development.ini"<br>
      - hit <a class="moz-txt-link-rfc2396E" href="http://localhost:8080">"http://localhost:8080"</a> (or whatever your instance port is)<br>
       <br>
      Enjoy !<br>
      <br>
      Christophe<br>
      <br>
      PS: reminder, the sources are at :
      <a class="moz-txt-link-freetext" href="https://bitbucket.org/unlish/pyramid_cubicweb/">https://bitbucket.org/unlish/pyramid_cubicweb/</a><br>
    </span><span class="p"></span>
  </body>
</html>