diff -r 6bf38b014089 -r 7dd73b88e345 docs/source/install.rst --- a/docs/source/install.rst Thu Jun 01 15:18:11 2017 +0200 +++ b/docs/source/install.rst Thu Jun 01 15:23:13 2017 +0200 @@ -6,19 +6,19 @@ PyAMS default installation is based on `Buildout `_ utility. It's not mandatory to use a virtual environment, but it allows you to have a better control over your Python resources. -Current PyAMS version is based and validated for Python 3.4; your Python environment must also include a C +Current PyAMS version is based and validated for Python 3.5; your Python environment must also include a C compiler as well as development headers for Python, *libjpeg*, *libpng*, *libfreetype*, *libxml2*, *libxslt* and eventually *libldap* or *libzmq*. PyAMS default components configuration also pre-suppose that the following external tools are available: -- a *memcached* server, to store sessions and cache (can be changed through Beaker configuration) +- a *Memcached* or *Redis* server, to store sessions and cache (can be changed through Beaker configuration) Optional tools also include: - an *ElasticSearch* server for full text indexing (see *PyAMS_content_es* package) -- a *WebSockets* server using async IO. This is used to manage notifications (see *PyAMS_notify* and *PyAMS_notify_ws* +- a *WebSockets* server using AsyncIO. This is used to manage notifications (see *PyAMS_notify* and *PyAMS_notify_ws* packages). An *out of the box* environment can be built using *pyams_asyncio* scaffold provided by *pyams_base* package. @@ -38,10 +38,10 @@ # mkdir /var/local/env/ # pip3 install virtualenv - # virtualenv --python=python3.4 pyams + # virtualenv --python=python3.5 pyams # cd pyams # . bin/activate - (pyams) # pip3.4 install zc.buildout + (pyams) # pip3.5 install zc.buildout (pyams) # buildout init Then update your Buildout configuration file *buildout.cfg* as follow: @@ -78,10 +78,11 @@ (pyams) # ./bin/buildout (pyams) # ./bin/pcreate -l Available scaffolds: - alchemy: Pyramid project using SQLAlchemy, SQLite, URL dispatch, and - pyams: Pyramid project using all PyAMS packages - starter: Pyramid starter project using URL dispatch and Chameleon - zodb: Pyramid project using ZODB, traversal, and Chameleon + alchemy: Pyramid project using SQLAlchemy, SQLite, URL dispatch, and + pyams: Pyramid project using all PyAMS packages + pyams_asyncio: Pyramid AsyncIO project using websockets for PyAMS notifications + starter: Pyramid starter project using URL dispatch and Chameleon + zodb: Pyramid project using ZODB, traversal, and Chameleon (pyams) # ./bin/pcreate -t pyams myapp (pyams) # cd myapp @@ -137,3 +138,60 @@ This process requires that every package is correctly included into *pyramid.includes* directive from selected configuration file. + + +Starting the application +------------------------ + +When database upgrade process has ended, you can start the web application process with the standard Pyramid's +*pserve* command line tool: + +.. code-block:: bash + + (pyams) # ./bin/pserve etc/development.ini + +In standard debug mode, all registered components are displayed in the console, until the final line (here using ZEO): + +.. code-block:: bash + + 2016-12-28 10:58:46,347 INFO [ZEO.ClientStorage][MainThread] [('localhost', 8100)] ClientStorage (pid=30133) created RW/normal for storage: 'pyams' + 2016-12-28 10:58:46,349 DEBUG [ZODB.blob][MainThread] (30133) Blob directory `/var/local/env/pyams/db/blobs` has layout marker set. Selected `bushy` layout. + 2016-12-28 10:58:46,349 WARNI [ZODB.blob][MainThread] (30133) Blob dir /var/local/env/pyams/db/blobs/ has insecure mode setting + 2016-12-28 10:58:46,349 INFO [ZEO.cache][MainThread] created temporary cache file 5 + 2016-12-28 10:58:46,373 BLATH [ZEO.zrpc][MainThread] (30133) CM.connect(): starting ConnectThread + 2016-12-28 10:58:46,374 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CT: attempting to connect on 1 sockets + 2016-12-28 10:58:46,380 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CW: attempt to connect to ('127.0.0.1', 8100) + 2016-12-28 10:58:46,380 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CW: connect_ex(('127.0.0.1', 8100)) returned EINPROGRESS + 2016-12-28 10:58:46,381 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CT: select() 0, 1, 0 + 2016-12-28 10:58:46,381 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CW: connect_ex(('127.0.0.1', 8100)) returned 0 + 2016-12-28 10:58:46,382 INFO [ZEO.ClientStorage][Connect([(, ('localhost', 8100))])] [('localhost', 8100)] Testing connection + 2016-12-28 10:58:46,383 INFO [ZEO.zrpc.Connection(b'C')][[('localhost', 8100)] zeo client networking thread] (127.0.0.1:8100) received handshake b'Z3101' + 2016-12-28 10:58:46,483 INFO [ZEO.ClientStorage][Connect([(, ('localhost', 8100))])] [('localhost', 8100)] Server authentication protocol None + 2016-12-28 10:58:46,484 INFO [ZEO.ClientStorage][Connect([(, ('localhost', 8100))])] [('localhost', 8100)] Connected to storage: ('localhost', 8100) + 2016-12-28 10:58:46,485 INFO [ZEO.ClientStorage][Connect([(, ('localhost', 8100))])] [('localhost', 8100)] No verification necessary -- empty cache + 2016-12-28 10:58:46,486 DEBUG [ZEO.ClientStorage][Connect([(, ('localhost', 8100))])] pickled inval None b'\x03\xbc>\x1a\x166f"' + 2016-12-28 10:58:46,488 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CM.connect_done(preferred=1) + 2016-12-28 10:58:46,489 BLATH [ZEO.zrpc][Connect([(, ('localhost', 8100))])] (30133) CT: exiting thread: Connect([(, ('localhost', 8100))]) + 2016-12-28 10:58:46,676 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyams_template-0.1.0-py3.4.egg/pyams_template/configure.zcml + 2016-12-28 10:58:46,677 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyramid_zcml-1.0.0-py3.4.egg/pyramid_zcml/configure.zcml + 2016-12-28 10:58:46,678 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyramid_zcml-1.0.0-py3.4.egg/pyramid_zcml/meta.zcml + 2016-12-28 10:58:46,684 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyams_template-0.1.0-py3.4.egg/pyams_template/meta.zcml + 2016-12-28 10:58:46,710 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyams_viewlet-0.1.0-py3.4.egg/pyams_viewlet/configure.zcml + 2016-12-28 10:58:46,711 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyramid_zcml-1.0.0-py3.4.egg/pyramid_zcml/configure.zcml + 2016-12-28 10:58:46,711 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyramid_zcml-1.0.0-py3.4.egg/pyramid_zcml/meta.zcml + 2016-12-28 10:58:46,746 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/zope.browserpage-4.1.0-py3.4.egg/zope/browserpage/meta.zcml + 2016-12-28 10:58:46,825 DEBUG [config][MainThread] include /var/local/env/pyams/eggs/pyams_template-0.1.0-py3.4.egg/pyams_template/meta.zcml + ... + 2016-12-28 11:02:01,354 DEBUG [PyAMS (utils)][MainThread] Registering adapter for (,) providing + 2016-12-28 11:02:01,370 DEBUG [PyAMS (utils)][MainThread] Registering utility named 'PyAMS content indexer' providing + 2016-12-28 11:02:01,383 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "test-indexer-process.html" for () + 2016-12-28 11:02:01,387 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "properties.html" for () + 2016-12-28 11:02:01,400 DEBUG [PyAMS (utils)][MainThread] Registering adapter for (, , ) providing + 2016-12-28 11:02:01,403 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "" for () + 2016-12-28 11:02:01,410 DEBUG [PyAMS (utils)][MainThread] Registering utility named 'PyAMS default skin' providing + 2016-12-28 11:02:01,411 DEBUG [PyAMS (utils)][MainThread] Registering adapter for (, , ) providing + Starting server in PID 30235. + serving on http://0.0.0.0:6543 + +From this point, you can launch a browser and open URL *http://127.0.0.1:6543/admin* to get access to PyAMS +management interface; default login is "admin/admin", that you may change as soon as possible...