opengeospatial / geoapi

GeoAPI provides a set of interfaces in programming languages (currently Java and Python) for geospatial applications. The GeoAPI interfaces closely follow OGC specifications, adaptated to match the expectations of programmers.
http://www.geoapi.org
Apache License 2.0
118 stars 37 forks source link

http://www.geoapi.org/ is down #49

Closed jachym closed 4 years ago

jachym commented 5 years ago

http://www.geoapi.org/ is down

sorry, not sure, where to report this

desruisseaux commented 5 years ago

Hello Jachym. We are working on this issue. We have disk failures on our server. Unfortunately disk scan and similar operations take 20 hours to complete on that infrastructure. I will post a comment on this task as soon as the site is back.

kinow commented 5 years ago

@desruisseaux maybe we can discuss again #33 once it's fixed, to simplify deployment/PR's and infra maintenance?

desruisseaux commented 5 years ago

Yes, the main reason I haven't went forward with #33 is my lack of knowledge. Should we try building an experimental web site without transferring the domain name now, and transfer it later it work well?

kinow commented 5 years ago

Sounds like a good plan. What tech for the site??

Default in GitHub pages is Jekyll, and Ruby.

Jekyll github pages are automatically built by GitHub (as long as you use their valid gems/dependencies).

If we choose JBake, pelican, hugo, or any other static site generator, it means the only difference is that GitHub won't build it. So we have to push the source, build, and then push the built site to a branch like gh-pages.

desruisseaux commented 5 years ago

Currently we just have static pages generated by Maven and Javadoc, together with some hand-written HTML pages. Maybe as a first step we could just try to push those pages? As a next step, I'm not yet familiar with the pros and cons of Jekyll and other technologies.

kinow commented 5 years ago

I have a project that I deploy using the GitHub Maven Plugin, and another one that I deploy with the Maven site plugin, plus some configuration in the settings.xml that I have on this notebook, but can't recall which tutorial I followed to set that up.

The plugin is one option if deploying a Maven site.

What I did right now, was to clone this repository to /tmp/, create /tmp/site, then mvn site:deploy -DdistMgmtWebSiteUrl=file:///tmp/site with JDK 11, and finally pushed to my branch in a test repo.

Here's the site deployed: https://kinow.github.io/

Other steps for a switch from custom infra to GitHub pages:

  1. Choose best way to deploy, pushing to a branch like gh-pages to this repo would work, but if the maven plugin works best it's an option as well
  2. Add the file CNAME to the generated site (some Maven magic, to have the file in the output directory) with the domain name (see this doc (i.e. a file with something like geoapi.com)
  3. Change the DNS settings to point to GitHub (if you google for the DNS provider and github pages, there should be some tutorial specifically for the DNS provider... at least chances are quite high, as I found one for a provider in Brazil some time ago).
  4. Wait some time for the DNS replication work and then test the new site

Cheers Bruno

desruisseaux commented 5 years ago

Thanks for @kinow, the example at https://kinow.github.io/ is very convincing. If I understood correctly, that web address is serving directly the files committed on https://github.com/kinow/kinow.github.io. How did you tell GitHub that later repository should be served at kinow.github.io? Sorry for those dump question, I'm learning this aspect of GitHub.

kinow commented 5 years ago

No worries, it is the least I can do to pay back all your effort maintaining Sis and other projects.

By default, your github pages URL is $YOUR_USERNAME.github.io.

If you have a repository with this same name (kinow.github.io in my case, or github.com/kinow/kinow.github.io to be more precise), GitHub will serve from the master branch of that repo.

Also, for every project you create, you can use $YOUR_USERNAME.github.io/$PROJECT_NAME. the only difference being that in this case, under settings, you will see an option to choose from which branch to serve. Most projects keep source on master and generated site on gh-pages.

Finally, GitHub has public DNS servers. If you have a domain like geoapi.org, you can point the domain to their servers.

And then you must add a CNAME file with your domain name inside. That's how GitHub knows how to serve your site for custom domains.

desruisseaux commented 4 years ago

For the record, the issue with the server hosting www.geoapi.org is a material failure of the motherboard. We are moving the services to a new machine.

Discussion about getting GeoAPI hosted by GitHub continue on issue #33.

desruisseaux commented 4 years ago

The http://www.geoapi.org web site is back online, now served by GitHub! (was issue #33). We will not move back the site to the machine mentioned in previous comment; the site will stay hosted on GitHub.

Next step will be to transfer the ownership of "www.geoapi.org" domain name to OGC, if the staff accept. I will fill a separated issue for that.