1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
Thanks for checking this out!
WHAT THIS IS
Kwestie is a distributed issue tracking software. It's built to be simple and extendable. The core of kwestie uses GUIDs to keep issues and comments unique across different systems instead of using bug numbers. However referencing GUIDs is a difficult task for people so kwestie uses a well defined Permalink URL scheme for permalinks that includes the date and title similar to a wordpress blog (create an issue to see this). The Permalink scheme is versioned such that it keeps up with title changes and old permalinks continue to forward to the correct issue.
= GETTING UP AND RUNNING =
== MYSQL ==
Get your database setup. Kwestie uses mysql, get used to it.
Look in this file for the options you'll need to change: config/database.yml
Create the database with this rake command
rake db:create
Then create the DB tables with the migration scripts
rake db:migrate
== GETTING MAIL ==
Check your mail settings are correct in the file: config/environments/development.rb
== INIT USER ==
If you have local mail working you can create a user using the kwestie /signup url. Kwestie will email you an activation link and your account will be created.
However you can create a user skipping activation, though kwestie will still try to send out the required mail
./script/console
>> u = User.create( { :login => "clarkbw", :email => "clarkbw@localhost.localdomain", :display_name => "Bryan Clark", :password => "password", :password_confirmation => "password" } )
>> u.activate
>> u.save
== RUN KWESTIE ==
Then start up the WEBrick server:
./script/server
And open your web browser to: http://0.0.0.0:3000/
== RECEIVING MAIL ==
Use the instructions from this rails wiki page for reference if you get stuck
http://wiki.rubyonrails.org/rails/pages/HowToReceiveEmailsWithActionMailer
Assuming you've set things up similar to me, which is a good idea; replace clarkbw with your username.
(this is for a fedora system)
/etc/aliases
issue: "| /usr/bin/ruby /home/clarkbw/kwestie/script/runner 'KwestieMailer.receive STDIN.read'"
ln -s /usr/bin/ruby /etc/smrsh/
/etc/mail/virtusertable
issue@kwestie.com issue
# make -C /etc/mail
# /sbin/service sendmail restart
== RECEIVING MAIL WITH ATTACHMENTS ==
In fedora, with the default sendmail you'll need to give the sendmail group permissions on two directories to be able to save files coming in from email. If these directories don't exist then go ahead and create them.
chgrp mail tmp/attachment_fu
chmod g+w tmp/attachment_fu
chgrp mail public/attachments
chmod g+w public/attachments
=== Attachment Fu ===
You might want to look over the attachment_fu README, located at:
vendor/plugins/attachment_fu/README
By default you'll want the RMagick bindings installed, on Fedora you do this:
yum install ruby-RMagick.i386
This will enable thumbnailing of image attachments.
== CREATING ISSUE AND USERS WITH EMAIL ==
Once kwestie is setup to receive mail you can begin using the email interface to create users, issues, comments, and send attachments.
=== Create Issue and User ===
to: issue
from: Bryan Clark <clarkbw@localhost.localdomain>
subject: create this user
body: this will create and issue with the title 'create this user'
it will also create the user with
name 'Bryan Clark'
login clarkbw@localhost.localdomain
email clarkbw@localhost.localdomain
=== Create New Issue with Attachment ===
to: issue
from: clarkbw@localhost.localdomain
subject: test mail issue
body: test mail body
attachment: <<any file you want>>
=== Create Comment on Issue ===
to: issue+{ISSUE.ID}
from: clarkbw@localhost.localdomain
subject: re: test mail issue
body: comments are created when you reply to any of the unique issue mail addresses
attachment: <<comments can have attachments too>>
|