Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 77 lines (49 sloc) 5.391 kB
0c5eda7 @FooBarWidget Fix markdown
FooBarWidget authored
1 # About Juvia
0da10e0 @FooBarWidget Updates
FooBarWidget authored
2
5d804f7 @FooBarWidget Move repository to 'phusion' organization
FooBarWidget authored
3 ![Logo](https://github.com/phusion/juvia/raw/master/app/assets/images/logo-128.png)
d09ab18 @FooBarWidget Update README
FooBarWidget authored
4
e531b81 @FooBarWidget Add unmaintained notice
FooBarWidget authored
5 **Juvia is currently unmaintained. If you're interested in taking over maintenance, please open an issue and tell us about it.**
6
0da10e0 @FooBarWidget Updates
FooBarWidget authored
7 Juvia is an open source commenting system. It allows you to outsource your commenting needs to an external system so that you don't have to build your own commenting system for each website or each web app. Embedding a Juvia commenting page only involves pasting a JavaScript snippet into your web page.
8
32f4700 @FooBarWidget Installation and upgrade instructions
FooBarWidget authored
9 Juvia is similar to [Disqus](http://www.disqus.com/) and [IntenseDebate](http://intensedebate.com/). However both of them seem to be designed in the early 2000s before the rise of AJAX: trying to integrate either of them in an AJAX web application results in many wasted afternoons and a screen full of inexplicable JavaScript errors. Juvia offers full support for AJAX web pages and any JavaScript is written in such a way that it avoids conflicts with the page's existing JavaScripts.
10
743d50f @FooBarWidget Changes
FooBarWidget authored
11 Juvia currently also makes no effort to support nested comments. I believe nested comments only make sense for extremely active discussion forums. Instead, Juvia strives for simplicity.
12
13 Other notable highlights:
14
15 * Moderation support, either manually or automatically via [Akismet](http://akismet.com/).
16 * Multi-user support. With this I don't mean commenters but users who operate the Juvia admin panel. Each user account is isolated and can only see and manage its own sites, topics and comments, except for administrators who can see and manage everything.
b0edf63 @FooBarWidget Implement list_topics API
FooBarWidget authored
17 * Email notification of new comments.
de1bb94 @FooBarWidget Update README.
FooBarWidget authored
18 * Wordpress comment import (thanks to JangoSteve).
743d50f @FooBarWidget Changes
FooBarWidget authored
19
fa93019 @FooBarWidget Link to discussion forum
FooBarWidget authored
20 ## Discussion & support
21
22 Please join [the Juvia discussion forum](https://groups.google.com/forum/?fromgroups#!forum/juvia).
23
6e671d9 @FooBarWidget Mention the demo site
FooBarWidget authored
24 ## Demo
25
072fa09 @FooBarWidget Change default demo login credentials.
FooBarWidget authored
26 You can see Juvia in action at [the demo site](http://juvia-demo.phusion.nl). Login with `discard@phusion.nl` / `123456`. Post comments at [this test comments page](http://juvia-demo.phusion.nl/admin/sites/1/test). The demo site is reset every 24 hours.
6e671d9 @FooBarWidget Mention the demo site
FooBarWidget authored
27
61d00b9 @FooBarWidget Credit Brightbox for hosting the demo site.
FooBarWidget authored
28 <img src="http://brightbox.com/images/misc/logo.png">
29
30 The demo site is hosted on a server by [Brightbox](http://www.brightbox.com).
31
32f4700 @FooBarWidget Installation and upgrade instructions
FooBarWidget authored
32 ## Installation
33
39cf58d @FooBarWidget Update installation and upgrade instructions
FooBarWidget authored
34 1. Clone this repository into a desired directory and `cd` to it.
32f4700 @FooBarWidget Installation and upgrade instructions
FooBarWidget authored
35 2. Configure your database details by editing config/database.yml. An example is provided in config/database.yml.example. Only edit the information under the 'production' section.
36 3. Configure other things by editing config/application.yml. An example is provided in config/application.yml.example. Only edit the information under the 'production' section.
95dbbed @FooBarWidget Update bundle install instructions to only install mysql by default
FooBarWidget authored
37 4. Install the necessary dependencies: `bundle install --without='development test postgres sqlite' --path=help`
39cf58d @FooBarWidget Update installation and upgrade instructions
FooBarWidget authored
38 5. Install the database schema: `bundle exec rake db:schema:load RAILS_ENV=production`
39 6. Compile the static assets: `bundle exec rake assets:precompile RAILS_ENV=production RAILS_GROUPS=assets`
408c7c3 @FooBarWidget Compile assets with digest
FooBarWidget authored
40 7. Deploy this application to Phusion Passenger or whatever application server you prefer.
32f4700 @FooBarWidget Installation and upgrade instructions
FooBarWidget authored
41
ff3a24e @FooBarWidget Changes
FooBarWidget authored
42 You can now access Juvia through the address that you configured. It will ask you to create an initial administrator account and to register a site.
32f4700 @FooBarWidget Installation and upgrade instructions
FooBarWidget authored
43
44 ## Upgrade
45
39cf58d @FooBarWidget Update installation and upgrade instructions
FooBarWidget authored
46 1. `cd` to the source directory and update the code to the latest version: `git fetch && git reset --hard origin/master`
47 2. Install the necessary dependencies: `bundle install --without='development test' --path=help`
48 3. Upgrade the database schema: `bundle exec rake db:migrate RAILS_ENV=production`
49 4. Compile the static assets: `bundle exec rake assets:precompile RAILS_ENV=production RAILS_GROUPS=assets`
408c7c3 @FooBarWidget Compile assets with digest
FooBarWidget authored
50 5. Run `touch tmp/restart.txt` (if you're using Phusion Passenger) or restart your application server.
86e5f6f @FooBarWidget Add TODO list
FooBarWidget authored
51
ebf77e6 @dmayer Fixed Spelling
dmayer authored
52 ## Cryptographic verification
246c809 @FooBarWidget Add cryptographic verification instructions
FooBarWidget authored
53
54 I do not release source tarballs for Juvia. Users are expected to get the source code from Github.
55
56 From time to time, I create Git tags for milestones. These milestones are signed with the [Phusion Software Signing key](http://www.phusion.nl/about/gpg). After importing this key you can verify Git tags as follows:
57
58 git tag --verify milestone-2013-03-11
59
00d5250 @FooBarWidget Link to the juvia_rails gem
FooBarWidget authored
60 ## Rails helper
61
62 James Smith has written a Rails helper gem for embedding Juvia comments into Rails web applications. See [juvia_rails](https://github.com/theodi/juvia_rails).
63
86e5f6f @FooBarWidget Add TODO list
FooBarWidget authored
64 ## TODO
65
66 Juvia currently suits my need so I may or may not work on these things in the future. But if you want to contribute you are more than welcome to do so!
67
68 * A better logo. I drew the current one in Inkscape in about an hour but I'm sure real artists can do better.
69 * Juvia works fine but we need more tests to prevent things from breaking in the future.
70 * Document the `list_topics` API call.
a80ddd1 @FooBarWidget Update TODO list
FooBarWidget authored
71 * A Quote/Reply button for each comment.
de1bb94 @FooBarWidget Update README.
FooBarWidget authored
72 * Export support. Not sure whether this is necessary, the user may as well backup the entire database.
b96c7cf @FooBarWidget Update TODO list
FooBarWidget authored
73 * Email notification for commenters.
74 * Moderation teams. Currently each site is owned by exactly one user, and only that user or the administrator can moderate comments. And right now only the site's owner is notified by email of new comments.
40cc93f @FooBarWidget Update TODO list
FooBarWidget authored
75 * Better interface for low-resolution screens like mobile phones.
76 * Allow commenters to edit their comments. Of course, this requires some way to authenticate the commenter. Maybe Juvia can send an email with a time-limited authentication code (assuming the commenter specified his email in the first place).
Something went wrong with that request. Please try again.