Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish user guide #169

Closed
cbeams opened this issue Oct 8, 2014 · 14 comments
Closed

Publish user guide #169

cbeams opened this issue Oct 8, 2014 · 14 comments
Assignees
Labels
Milestone

Comments

@cbeams
Copy link
Contributor

cbeams commented Oct 8, 2014

Update Oct 11th: This work is done, just waiting for #91 to actually complete so it can be merged into master.


Background

The Asciidoc-based user guide is being developed under #91. This issue deals with publishing the HTML generated during the build process to the web where folks can get convenient access—and so that Bitsquare can refer directly to the docs as an in-app help system.

Proposal

Let's publish to a docs.bitsquare.io subdomain as opposed to something like bitsquare.io/docs. This will allow for maximum independence and flexibility between the main website (#84) (which will be WordPress-based at this point), and the generated documentation, which is purely static HTML and requires nothing more than a basic webserver and ssh/sftp-based deployment.

URL scheme requirements

  • ideally be HTTPs-based, though not critical to start
  • allow for internationalization (even though we'll only have English to start)
  • be version-aware, so as to allow for different versions of Bitsquare to be in simultaneous use while still being able to reference accurate documentation for each.

Examples

Different types of guides

Different versions

Snapshot versions

Documentation will be published automatically from the Travis CI build, meaning that we can also have docs specific to the latest snapshot:

"Current" version

A current alias always points to the latest released version:

/cc @btcll

@btcll
Copy link
Contributor

btcll commented Oct 8, 2014

@cbeams Quick question - is it worth keeping the docs on the www. subdomain as this will save us from purchasing two SSL Certificates? I can work around the Wordpress URL stuff pretty easily so if you told me you wanted https://www.bitsquare.io/docs/* then that would be no problem.

Can I also suggest, even though it will be basic HTML, we reference the help pages without a .html extension? I can add a .htaccess file to handle the re-writing. This gives us flexibility later if the docs end up being PHP or using some other server side language.

As a side note - I'm very happy to provide the hosting for the docs. subdomain too. I have cPanel/PHP/MySQL hosting on a VPS available. Let me know if that's suitable and who needs FTP logins and I'll set them up.

@cbeams
Copy link
Contributor Author

cbeams commented Oct 8, 2014

@cbeams Quick question - is it worth keeping the docs on the www. subdomain as this will save us from purchasing two SSL Certificates? I can work around the Wordpress URL stuff pretty easily so if you told me you wanted https://www.bitsquare.io/docs/* then that would be no problem.

I haven't looked lately, but I imagine a non-ecommerce wildcard cert for covering all of bitsquare.io wouldn't be much, would it? Docs don't strictly have to be behind SSL at this early stage, but nice to have and sends the right message.

In any case, I'd like to keep systems separate and independent wherever possible (although integrated from a L&F and link navigation point of view). There are a number of reasons for this, but I'll skip them to be brief. Happy to go into detail and discuss further though, if you like.

Can I also suggest, even though it will be basic HTML, we reference the help pages without a .html extension?

Sure, that's my plan as well. Simple to implement too, given that the docs in their current form are just single pages. The idea is to deploy them in the following form .../userguide/index.html, such that they can be linked to simply as http://docs.bitsquare.io/en/0.1.0/userguide.

Sound good?

As a side note - I'm very happy to provide the hosting for the docs. subdomain too. I have cPanel/PHP/MySQL hosting on a VPS available. Let me know if that's suitable and who needs FTP logins and I'll set them up.

That's great! Assuming Manfred is OK with a Docker-based approach, all we really need is a fresh Linux box/VM, ideally with it's own IP address so as to simplify the DNS arrangement and allow for the Docker container serving the docs to be mapped directly to port 80. Would that that be possible with your setup?

@btcll
Copy link
Contributor

btcll commented Oct 8, 2014

I'll look into the wildcard cert, should work just fine. I agree that having everything behind SSL is for the best. Sends the right message, helps with Google rankings, etc etc

The directory system with index.html and just linking to the directory is even better than my suggestion! Make it happen :)

@ManfredKarrer could you please point the A Record for docs.bitsquare.io to 179.43.134.87 for me?

@cbeams I'll email you (and CC @ManfredKarrer ) FTP details. Let me know if there are any problems. If it's not suitable we can find something else, but I'm confident the VPS I have will be fine for what you've requested.

@cbeams
Copy link
Contributor Author

cbeams commented Oct 8, 2014

I've removed the "Steps" section from the description, as we've taken a quicker path (some of which was discussed via email).

We now have, courtesy of @btcll, a CentOS VPS for docs running at 179.43.134.87. Chris and manfred have the credentials.

  • @ManfredKarrer to assign an A record pointing docs.bitsquare.io to 179.43.134.87.
  • Chris to configure Gradle and Travis CI to generate and upload docs.

@cbeams
Copy link
Contributor Author

cbeams commented Oct 8, 2014

Manfred, I've just assigned this to you, as you're on point for the DNS step (though I'm working on my tasks in parallel as well)

@ManfredKarrer
Copy link
Contributor

@btcll, @cbeams: I just added the DNS entry for http://docs.bitsquare.io.
Great to see all the progress!
I will let all that part up to you, I don't have strong preferences in that area...

@cbeams
Copy link
Contributor Author

cbeams commented Oct 8, 2014

Nice. Resolves for me. Thanks Manfred.

$ dig docs.bitsquare.io
[...]
;; QUESTION SECTION:
;docs.bitsquare.io.             IN      A

;; ANSWER SECTION:
docs.bitsquare.io.      3578    IN      A       179.43.134.87

On Oct 8, 2014, at 3:06 PM, Manfred Karrer [email protected] wrote:

@btcll, @cbeams: I just added the DNS entry for http://docs.bitsquare.io.
Great to see all the progress!
I will let all that part up to you, I don't have strong preferences in that area...


Reply to this email directly or view it on GitHub.

@btcll
Copy link
Contributor

btcll commented Oct 8, 2014

@cbeams created ~/public_html/index.php with a PHP header redirect to the Userguide. Hope this helps, but feel free to delete/change if it doesn't.

@ManfredKarrer
Copy link
Contributor

@btcll: Looks good already, the only tiny wish I have is to change the red color of the headlines to something less alerting (Bitsquare blue or the like)...

@btcll
Copy link
Contributor

btcll commented Oct 8, 2014

@ManfredKarrer I'm not sure what the CSS options are, but if @cbeams can give me some guidance I am happy to do a Bitsquare CSS document up for the docs. It looks like it is all inline CSS at the moment.

cbeams added a commit that referenced this issue Oct 9, 2014
Documentation generated from AsciiDoc sources in the `docs` directory
may now be deployed to docs.bitsquare.io via SSH using

    $ ./gradlew publish

Doing so requires supplying the `bitsquareDocsPassword` property to the
Gradle build. This can be done in one of three ways:

 1. ./gradlew publish -PbitsquareDocsPassword=...

 2. Add a `bitsquareDocsPassword=...` entry in ~/.gradle/gradle.settings
    This is the recommended approach when publishing locally.

 3. Provide an environment variable in the form
    `ORG_GRADLE_PROJECT_bitsquareDocsPassword=...`. This is the approach
    used in the Travis CI build (see Notes below).

The Travis CI build now calls `gradle publish` following each successful
build, meaning that documentation is now continuously published and made
available at http://docs.bitsquare.io.

Notes:

 - Regarding the Gradle SSH plugin, see:
   https://gradle-ssh-plugin.github.io/ and
   https://plugins.gradle.org/plugin/org.hidetake.ssh

 - Regarding the use of the `plugins { }` closure in build.gradle (a new
   feature in Gradle 2.1), see:
   http://www.gradle.org/docs/current/release-notes#easier-use-of-community-plugins

 - Regarding the use of the `after_success` hook in .travis.yml, see:
   http://docs.travis-ci.com/user/deployment/custom/

 - Regarding the use of encrypted environment variables in Travis CI, see:
   http://docs.travis-ci.com/user/environment-variables/#Secure-Variables.
   In particular, see the use of the `travis` gem and `travis encrypt`.

 - Regarding setting Gradle project properties via ORG_GRADLE_PROJECT_*
   environment variables, see:
   http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html#sec:gradle_properties_and_system_properties

Resolves #169
@cbeams cbeams assigned cbeams and unassigned ManfredKarrer Oct 9, 2014
@btcll
Copy link
Contributor

btcll commented Oct 9, 2014

Update on the SSL - it's only going to cover www.bitsquare.io and bitsquare.io. We could have added docs.bitsquare.io for $99/year -or- paid $200+ for a wildcare SSL Certificate. I decided not to (we can always do this later). This means we need to migrate from docs.bitsquare.io to https://www.bitsquare.io/docs/

Is that okay by you @cbeams ? Or do you have a better suggestion?

My intention is to do the migration following the HTTPS being setup. I'll need to email you fresh FTP/SSH info. I'm not sure we ever got to the bottom of the SSH issues for you either so let me know on IRC and we can troubleshoot that further.

@cbeams
Copy link
Contributor Author

cbeams commented Oct 10, 2014

Update on the SSL...

Hey Lloyd, I responded to this at #171 (comment). Thanks.

@cbeams
Copy link
Contributor Author

cbeams commented Oct 10, 2014

Hey @btcll and @ManfredKarrer—regarding CSS, I've created #179, so we can track that work independently.

@cbeams
Copy link
Contributor Author

cbeams commented Nov 27, 2014

I'm closing this, given that we worked out publication of docs a while ago. Getting to a final draft of the doc for 0.1 (#91) still remains to be done (see my comments there).

@cbeams cbeams closed this as completed Nov 27, 2014
@ManfredKarrer ManfredKarrer modified the milestone: v0.1 Nov 30, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants