diff -r a4a115aab086 -r e88c57c10b34 doc/book/en/admin/setup-windows.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/book/en/admin/setup-windows.rst Wed Apr 06 12:33:39 2011 +0200 @@ -0,0 +1,156 @@ +.. -*- coding: utf-8 -*- + +.. _SetUpWindowsEnv: + +Installing a development environement on Windows +================================================ + +Setting up a Windows development environment is not too complicated +but it requires a series of small steps. + +We proposed an example of a typical |cubicweb| installation on Windows +from sources. We assume everything goes into ``C:\\`` and for any +package, without version specification, "the latest is +the greatest". + +Take into the mind that adjusting the installation drive should be +straightforward. + + + +Install the required elements +----------------------------- + +|cubicweb| requires some base elements that must be installed to run +correctly. So, first of all, you must install them : + +* python >= 2.5 and < 3 + (`Download Python `_). + You can also consider the Python(x,y) distribution + (`Download Python(x,y) `_) + as it makes things easier for Windows user by wrapping in a single installer + python 2.5 plus numerous useful third-party modules and + applications (including Eclipse + pydev, which is an arguably good + IDE for Python under Windows). + +* `Twisted `_ is an event-driven + networking engine + (`Download Twisted `_) + +* `lxml `_ library + (version >=2.2.1) allows working with XML and HTML + (`Download lxml `_) + +* `Postgresql 8.4 `_, + an object-relational database system + (`Download Postgresql `_) + and its python drivers + (`Download psycopg `_) + +* A recent version of `gettext` + (`Download gettext `_). + +* `rql `_, + the recent version of the Relationship Query Language parser + (`Download rql `_). + +Install optional elements +------------------------- + +We recommend you to install the following elements. They are not +mandatory but they activate very interesting features in |cubicweb|: + +* `Simplejson `_ + must be installed if you have python <= 2.5 + (`Download simplejson `_). + It is included in the Standard library from Python >= 2.6. + +* `Pyro `_ + enables remote access to cubicweb repository instances. + It also allows the client and the server not running on the same machine + (`Download Pyro `_). + +* `python-ldap `_ + provides access to LDAP/Active directory directories + (`Download python-ldap `_). + +* `graphviz `_ + which allow schema drawings. + (`Download graphviz `_). + It is quite recommended (albeit not mandatory). + +Other elements will activate more features once installed. Take a look +at :ref:`InstallDependencies`. + +Useful tools +------------ + +Some additional tools could be useful to develop :ref:`cubes ` +with the framework. + +* `mercurial `_ and its standard + windows GUI (`TortoiseHG `_) + allow you to get the source code of |cubicweb| from control version + repositories. So you will be able to get the latest development + version in an easy way + (`Download mercurial `_). + +* You can also consider the ssh client `Putty` in order to peruse + mercurial over ssh (`Download `_). + +* If you are an Eclipse user, mercurial can be integrated using the + `MercurialEclipse` plugin + (`Home page `_). + +Getting the sources +------------------- + +There are tow ways to get the sources of |cubicweb| and its +:ref:`cubes `: + +* download the latest release (:ref:`SourceInstallation`) +* get the development version using Mercurial + (:ref:`MercurialInstallation`) + +Environment variables +--------------------- + +You will need some convenience environment variables once all is set up. These +variables are settable through the GUI by getting at the `System properties` +window (by righ-clicking on `My Computer` -> `properties`). + +In the `advanced` tab, there is an `Environment variables` button. Click on +it. That opens a small window allowing edition of user-related and system-wide +variables. + +We will consider only user variables. First, the ``PATH`` variable. Assuming +you are logged as user *Jane*, add the following paths, separated by +semi-colons:: + + C:\Documents and Settings\Jane\My Documents\Python\cubicweb\cubicweb\bin + C:\Program Files\Graphviz2.24\bin + +The ``PYTHONPATH`` variable should also contain:: + + C:\Documents and Settings\Jane\My Documents\Python\cubicweb\ + +From now, on a fresh `cmd` shell, you should be able to type:: + + cubicweb-ctl list + +... and get a meaningful output. + +Running an instance as a service +-------------------------------- + +This currently assumes that the instances configurations is located at +``C:\\etc\\cubicweb.d``. For a cube 'my_instance', you will find +``C:\\etc\\cubicweb.d\\my_instance\\win32svc.py``. + +Now, register your instance as a windows service with:: + + win32svc install + +Then start the service with:: + + net start cubicweb-my_instance