Development

From NeoWiki

This page is for developers to reference some basic procedures which are required in setting up a development environment for the Neoturbine Seti project.

Contents

[edit] Subversion

We allow anonymous checkout on our server, however you must have an authenticated username and password to commit changes; ask stiv2k for access.

[edit] Software

There are many Subversion clients available depending on your operating system. Here are the most popular ones:

[edit] We use WebDAV for HTTP Access

Using your favorite Subversion client, you can access our Seti project repository at http://websvn.neoturbine.net/dav/seti

An example for checking out using the command line client looks like this:

svn checkout http://websvn.neoturbine.net/dav/seti-devel

[edit] Documentation

The Subversion Book: http://svnbook.red-bean.com

[edit] Apache

In order to view your development copy, you must set up a local Apache HTTP server. In order for it to work properly, you must have PHP parsing available and the PHP MySQL extensions enabled. You must also have a VirtualHost configured with the DocumentRoot pointing at the top-most directory of the SVN repository (/).

[edit] Can I use LigHTTPd?

Unfortunately I have not had success in using this HTTP server, due to its lack of support for mod_rewrite functions, which are of paramount importance in CakePHP.

[edit] MySQL Database

If you get Apache working, good, you're almost there, but your mirror still isn't functional without a database.

[edit] Recommended option

For now, I will not publicly post any references to a fake database due to security reasons, however if you are interested, you may contact stiv2k for a (relatively updated) copy of one.

[edit] Alternatives

Other options include tunnelling the live database from rickb's server (DISCOURAGED) or tunnelling the fake database from stiv2k's server, if you have SSH access to these.

Lastly, you could also choose to setup your own local database, if you are unable to obtain one by either of the above means.

[edit] Server-specific configuration

If you have properly set up your local Apache and MySQL servers, assuming you are a competent web developer, you should be nearly ready to begin. The only thing that is left is a little configuration on CakePHP's behalf. First, we begin with:

cd repo/app/config

[edit] Configuring core.php

cp core.php.default core.php
nano -w core.php

Be sure to turn your debug level to 1 or 2

[edit] Configuring database.php

cp database.php.default database.php
nano -w database.php

Configure the information for the database you are using. This may vary depending on your setup.

[edit] Troubleshooting

[edit] I am using a Windows environment!

Well, we don't really like Windows for server setups. You should be able to get parts of the website running under a Windows host operating system, however there are known issues of the OpenID logins not working among other various things. Your mileage may vary.