##// END OF EJS Templates
Readme update
marcink -
r523:d64a3ab1 default
parent child Browse files
Show More
@@ -1,69 +1,82 b''
1 -------------------------------------
1 -------------------------------------
2 Pylons based replacement for hgwebdir
2 Pylons based replacement for hgwebdir
3 -------------------------------------
3 -------------------------------------
4
4
5 Fully customizable, with authentication, permissions. Based on vcs library.
5 Fully customizable, with authentication, permissions. Based on vcs library.
6
6
7 **Overview**
7 **Overview**
8
8
9 - has it's own middleware to handle mercurial protocol request each request can
9 - has it's own middleware to handle mercurial protocol request each request can
10 be logged and authenticated + threaded performance unlikely to hgweb
10 be logged and authenticated + threaded performance unlikely to hgweb
11 - full permissions per project read/write/admin access even on mercurial request
11 - full permissions per project read/write/admin access even on mercurial request
12 - mako templates let's you cusmotize look and feel of application.
12 - mako templates let's you cusmotize look and feel of application.
13 - diffs annotations and source code all colored by pygments.
13 - diffs annotations and source code all colored by pygments.
14 - mercurial branch graph and yui-flot powered graphs with zooming
14 - mercurial branch graph and yui-flot powered graphs with zooming and statistics
15 - admin interface for performing user/permission managments as well as repository
15 - admin interface for performing user/permission managments as well as repository
16 managment.
16 managment.
17 - full text search of source codes with indexing daemons using whoosh
17 - full text search of source codes with indexing daemons using whoosh
18 (no external search servers required all in one application)
18 (no external search servers required all in one application)
19 - async tasks for speed and performance using celery (works without them too)
19 - async tasks for speed and performance using celery (works without them too)
20 - Additional settings for mercurial web, (hooks editable from admin
20 - Additional settings for mercurial web, (hooks editable from admin
21 panel !) also manage paths, archive, remote messages
21 panel !) also manage paths, archive, remote messages
22 - backup scripts can do backup of whole app and send it over scp to desired location
22 - backup scripts can do backup of whole app and send it over scp to desired location
23 - setup project descriptions and info inside built in db for easy, non
23 - setup project descriptions and info inside built in db for easy, non
24 file-system operations
24 file-system operations
25 - added cache with invalidation on push/repo managment for high performance and
25 - added cache with invalidation on push/repo managment for high performance and
26 always upto date data.
26 always upto date data.
27 - rss / atom feeds, gravatar support
27 - rss / atom feeds, gravatar support
28 - based on pylons 1.0 / sqlalchemy 0.6
28 - based on pylons 1.0 / sqlalchemy 0.6
29
29
30 **Incoming**
30 **Incoming**
31
31
32 - code review based on hg-review (when it's stable)
32 - code review based on hg-review (when it's stable)
33 - git support (when vcs can handle it - almost there !)
33 - git support (when vcs can handle it - almost there !)
34 - commit based wikis
34 - commit based wikis
35 - in server forks
35 - in server forks
36 - clonning from remote repositories into hg-app
36 - clonning from remote repositories into hg-app
37 - other cools stuff that i can figure out (or You can help me figure out)
37 - other cools stuff that i can figure out (or You can help me figure out)
38
38
39 .. note::
39 .. note::
40 This software is still in beta mode.
40 This software is still in beta mode.
41 I don't guarantee that it'll work correctly.
41 I don't guarantee that it'll work correctly.
42
42
43
43
44 -------------
44 -------------
45 Installation
45 Installation
46 -------------
46 -------------
47 .. note::
48 I recomend to install tip version of vcs while the app is in beta mode.
49
47
50
48 - I highly recommend to install new virtualenv for hg-app see
51 - create new virtualenv and activate it - highly recommend that you use separate
49 http://pypi.python.org/pypi/virtualenv
52 virtual-env for whole application
50 - Create new virtualenv using `virtualenv --no-site-packages /var/www/hgapp-venv`
53 - download hg app from default branch from bitbucket and run
51 this will install new virtual env into /var/www/hgapp-venv.
54 'python setup.py install' this will install all required dependencies needed
52 Activate the virtualenv by running
55 - run paster setup-app production.ini it should create all needed tables
53 `source activate /var/www/hgapp-venv/bin/activate`
54 - Make a folder for hg-app somewhere on the filesystem for example /var/www/hgapp
55 - Download and extract http://bitbucket.org/marcinkuzminski/hg-app/get/tip.zip
56 into created directory.
57 - Run `python setup.py install` in order to install the application and all
58 needed dependencies. Make sure that You're using activated virutalenv
59 - Run `paster setup-app production.ini` it should create all needed tables
56 and an admin account make sure You specify correct path to repositories.
60 and an admin account make sure You specify correct path to repositories.
57 - remember that the given path for mercurial repositories must be write
61 - Remember that the given path for mercurial repositories must be write
58 accessible for the application
62 accessible for the application
59 - run paster serve development.ini - or you can use manage-hg_app script.
63 - Run paster serve development.ini - or you can use sample init.d scripts.
60 the app should be available at the 127.0.0.1:5000
64 the app should be available at the 127.0.0.1:5000
61 - use admin account you created to login.
65 - Use admin account you created to login.
62 - default permissions on each repository is read, and owner is admin. So remember
66 - Default permissions on each repository is read, and owner is admin. So remember
63 to update these.
67 to update these.
64 - in order to use full power of async tasks, You must install message broker
68 - In order to use full power of async tasks, You must install message broker
65 preferrably rabbitmq and start celeryd daemon. The app should gain some speed
69 preferrably rabbitmq and start celeryd daemon together with hg-app.
66 than. For installation instructions
70 The app should gain a lot of speed and become much more responsible.
67 You can visit: http://ask.github.com/celery/getting-started/index.html. All
71 For installation instructions You can visit:
68 needed configs are inside hg-app ie. celeryconfig.py
72 http://ask.github.com/celery/getting-started/index.html.
73 - All needed configs are inside hg-app ie. celeryconfig.py , production.ini
74 You can configure the email, ports, loggers, workers from there.
75 - For full text search You can either put crontab entry for
76 `python /var/www/hgapp/pylons_app/lib/indexers/daemon.py incremental <path_to_repos>`
77 or run indexer from admin panel. This will scann the repos given in the
78 application setup or given path for daemon.py and each scann in incremental
79 mode will scann only changed files,
80 Hg Update hook must be activated to index the content it's enabled by default
81 after setup No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now