Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 192 lines (147 sloc) 7.313 kB
af7068a @enygma updating README file with more information
authored
1
141ec9a @enygma updating the README with better information
authored
2 Joind.in (http://joind.in)
27fda40 @akrabat Improved instructions in README, based on manarth's work in pull/428
akrabat authored
3 ##########################
af7068a @enygma updating README file with more information
authored
4
141ec9a @enygma updating the README with better information
authored
5 This is the source code for the Joind.in website - a resource set up to allow
6 events to get real-time feedback from those attending. It also gives speakers a
7 way to claim and track their presentations over time.
af7068a @enygma updating README file with more information
authored
8
27fda40 @akrabat Improved instructions in README, based on manarth's work in pull/428
akrabat authored
9
119370a @deizel update readme with vagrant instructions
deizel authored
10 Quick start - Development
11 #########################
12 You can set up a development virtual machine running joind.in by following these simple instructions.
13 1. Install requirements. (Note: these are not required by joind.in itself, but are required for this quick start guide.)
14 - VirtualBox (https://www.virtualbox.org/)
15 - Ruby (http://www.ruby-lang.org/)
16 - Vagrant (http://vagrantup.com/)
17 2. Clone repository to any location and fetch required submodules (containing Puppet manifests).
6fafba8 @deizel switch repo url in readme to fork
deizel authored
18 > git clone https://github.com/deizel/joind.in && cd joind.in
119370a @deizel update readme with vagrant instructions
deizel authored
19 > git submodule init
20 > git submodule update
21 3. Start the process by running Vagrant.
22 > vagrant up
23 4. Add hostname to /etc/hosts.
24 > echo "127.0.0.1 dev.joind.in" | sudo tee -a /etc/hosts
25 5. Browse to the newly provisioned development copy of joind.in.
26 > open http://dev.joind.in:8080
27 Notes:
28 - The VM will be running in the background as VBoxHeadless
29 - HTTP and SSH ports on the VM are forwarded to localhost (22 -> 2222, 80 -> 8080)
30 - The joind.in directory you cloned will be mounted inside the VM at /vagrant
31 - You can develop by editing the files you cloned in the IDE of you choice.
32 - The database is running inside the VM. You can get to it by doing the following:
33 you@you> vagrant ssh
34 vagrant@vm> sudo su
35 root@vm> mysql joindin
36 - To stop the VM do one of the following:
37 > vagrant suspend # if you plan on running it later
38 > vagrant destroy # if you wish to delete the VM completely
39 - Also, when any of of the Puppet manifests change, it is a good idea to rerun them:
40 > vagrant provision
41
42 Quick Start - Production
43 ########################
27fda40 @akrabat Improved instructions in README, based on manarth's work in pull/428
akrabat authored
44 1. Create a vhost entry for the site. The docroot should be `/src`.
45 2. Create a MySQL database with username and password.
46 Use a database name of 'joindin'
47 3. Initialise, patch, and populate the database.
48 > src/scripts/patchdb.sh -t /path/to/joind.in -d joindin -u username -p password -i
49 (use the correct username and password)
50 4. Create directories for user-added content.
51 > mkdir src/system/cache/ctokens && chown apache:apache src/system/cache/ctokens
52 (or whatever user and group your web server runs as)
53 5. Create configuration files for database and config (based on the .dist templates):
54 > cp src/system/application/config/database.php.dist src/system/application/config/database.php
55 > cp src/system/application/config/config.php.dist src/system/application/config/config.php
56 Edit these files as appropriate!
57 6. Enjoy the site!
58 The default password for users is "password".
59
60
61 Detailed instructions
62 #####################
63
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
64 There's a few SQL files that are included with the source to help you get things
65 up and running. The first four will bring your database to the most current, up-to-date
66 status and ALL should be run for a new install:
67 -----------------------
68 -> doc/db/init_db.sql
69 Export of the initial data structure, ready for
141ec9a @enygma updating the README with better information
authored
70 import (as exported from MySQL)
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
71
72 -> doc/db/init_data.sql
73 This file contains a few handy things for your database's initial setup
74 like languages and session categories
75
76 -> doc/db/patch*.sql
77 Numbered patch files to run in order after running init_db. All database changes to be
89e6e54 @lornajane Setting up skeleton for database patching
lornajane authored
78 managed using these, init_db does NOT get updated. For more information on this approach,
5fb19ac @dfisch0000 added default passwords, and notes about patch 17 failing and not nee…
dfisch0000 authored
79 see http://www.lornajane.net/posts/2010/Simple-Database-Patching-Strategy. If patch 17
80 fails it can be skipped.
141ec9a @enygma updating the README with better information
authored
81
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
82 -> doc/db/seed_countries.sql
83 Some seed data for the countries table (needed for timezone selection)
143b85d @lornajane adding information about getting some good sample data to the main RE…
lornajane authored
84
85 We also have excellent sample data generation, check out /doc/dbgen/README for information about how to generate sample data to use with your installation
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
86 -----------------------
141ec9a @enygma updating the README with better information
authored
87
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
88 This last SQL file will give you a jumping off point to see how the system works. It will
89 populate your system with some seed data (talks, users, events) so you can see how they all
90 relate:
91 -----------------------
92 -> doc/db/seed.sql
93 Some seed data you can load into your (MySQL) database to get the ball rolling
94 -----------------------
95
96 Finally, there's some other scripts that come with the source to make things easier to setup.
141ec9a @enygma updating the README with better information
authored
97 - Release of CodeIgniter
dbce0d8 @enygma updating the README with more information following the source struct…
authored
98 - Sample cron jobs (in /src/scripts)
141ec9a @enygma updating the README with better information
authored
99
757b089 @jaytaph Changed the URL's to the correct locations
jaytaph authored
100 You can find more on github: http://github.com/joindin/joind.in
101 Issues should be filed at: http://joindin.jira.com/
141ec9a @enygma updating the README with better information
authored
102
db0830f @enygma updating the README with the installation instructions
authored
103 See LICENSE file for license information for this software
dbce0d8 @enygma updating the README with more information following the source struct…
authored
104 (located in /doc/LICENSE)
db0830f @enygma updating the README with the installation instructions
authored
105
89bb691 @enygma Changing up the way the app is set up/SQL is inserted:
authored
106
db0830f @enygma updating the README with the installation instructions
authored
107 Installation
108 #####################
109 The following are the steps you'll need to correctly install the software:
110
111 - Download/clone the current repository and drop it into a
112 web-accessible directory for your server
113
dbce0d8 @enygma updating the README with more information following the source struct…
authored
114 - Set the document root to the /src directory
115
116 - In the /src/system/cache directory, create a web server-writeable
db0830f @enygma updating the README with the installation instructions
authored
117 directory called "ctokens"
23dafab @jeremykendall Added instructions on adding the user_gravatar directory to /src/inc/…
jeremykendall authored
118
dbce0d8 @enygma updating the README with more information following the source struct…
authored
119 - In your src/system/application/config directory:
db0830f @enygma updating the README with the installation instructions
authored
120 > Make a database.php file using the database.php.dist as a guide
121 > Make a config.php file using the config.php.dist as a guide
122
aee098c @enygma GH-Issue #120 - correcting README to reference the correct database f…
authored
123 - Push the doc/db/init_db.sql file into your database
124
125 - Apply any of the other patches in the /db folder
126
127 If you'd like some seed data, you can use the seed.sql to load in a few events,
347bdd5 @elazar Minor correction to a filename reference in the README file
elazar authored
128 users and talks. You'll also need to load in the seed_countries.sql file to
aee098c @enygma GH-Issue #120 - correcting README to reference the correct database f…
authored
129 get the complete list of countries for the event details.
130
5fb19ac @dfisch0000 added default passwords, and notes about patch 17 failing and not nee…
dfisch0000 authored
131 The default password for users is "password"
132
133
86f8c6c @DragonBe Adding the PECL extension section to the README file
DragonBe authored
134 Extensions
135 ###################
5fb19ac @dfisch0000 added default passwords, and notes about patch 17 failing and not nee…
dfisch0000 authored
136 In order to run tests make sure you have the following extensions installed and
137 configured. This library can be ignored if you are not planning on running
138 tests.
a25972a @lornajane adding some API test info to the README
lornajane authored
139
140 To run the frisby tests (frisby.js), you will first need to install node.js and
141 npm. Then run:
142 npm install -g frisby jasmine-node
143
144 I also found that I needed:
145 export NODE_PATH=/usr/local/lib/node_modules
146
af1acde @lornajane adding instructions on how to actually run the API tests
lornajane authored
147 Then run the tests by going to /src/tests/api_tests and running:
148 jasmine-node newapi_spec.js
a25972a @lornajane adding some API test info to the README
lornajane authored
149
150 (I think the below no longer applies)
86f8c6c @DragonBe Adding the PECL extension section to the README file
DragonBe authored
151 - pecl_http
152 $ pecl install pecl_http
153
154 in php.ini add:
155 > linux: extension=http.so
156 > windows: extension=http.dll
beb8d28 @lornajane Adding test info to README
lornajane authored
157
9ac02d2 @mvriel GH-Issue 128: Added a new environment variable JOINDIN_DEBUG which co…
mvriel authored
158 Debugging
159 #############
160 By default the application is in production mode. This primarily means that
161 error messages and notices are suppressed.
162
163 To allow errors and notices to be shown on the site you have to change the
164 environment variable JOINDIN_DEBUG to the value 'on'. It is discouraged to
165 do this on production environments as this will allow visitors to see any
166 errors produced by the site.
167
168 The JOINDIN_DEBUG environment variable is controlled from the accompanying
169 .htaccess file.
beb8d28 @lornajane Adding test info to README
lornajane authored
170
171 Tests
172 #############
173
174 There are some tests set up, which use PHPUnit; these can be found in the
05a4da3 @wilmoore Corrected the README to state that the build tool is ant rather than …
wilmoore authored
175 src/tests directory. There is an ant task configured to run them - from the
176 root directory simply run "ant phpunit" to run the tests.
beb8d28 @lornajane Adding test info to README
lornajane authored
177
05a4da3 @wilmoore Corrected the README to state that the build tool is ant rather than …
wilmoore authored
178 Note 1: The API tests actually call the service externally and rely on pecl_http
5e8ce6d @wilmoore (fixed) Unable to successfully load seed.sql on a fresh install
wilmoore authored
179 being installed to run.
180
181 Issues
182 #############
183
184 The issue tracker can be found here: http://joindin.jira.com/
185
ce2e46b @abhiace9 Updated README.
abhiace9 authored
186 RewriteEngine
187 ###################
188
189 It is advisable to enable the RewriteEngine (sudo a2enmod rewrite).
190 .htaccess in /src takes care of all the rewrite rules.
191
Something went wrong with that request. Please try again.