Git Product home page Git Product logo

webhook-server-open's Introduction

Webhook Overview

This repository is for the Webhook command line tools. There are several other repositories in Webhook's core.

  • webhook - The Webhook command line tools.
  • webhook-generate - The local runserver for Webhook.
  • webhook-cms - The CMS layer and frotend GUI. A single page Ember app.
  • webhook-server-open - The production server for serving and regenerating live Webhook sites.
  • webhook-images - Image resizing for the Webhook frontend. For Google App Engine.

If you are interested in self-hosting Webhook, check the instructions here.

Webhook Command Line Tools

This repository contains the code for the Webhook CMS command line tools. These tools require a Webhook account which you can create through the command line if you need. Currently we are in a beta period and all new accounts must be whitelisted for the tools to function properly.

Webhook uses Grunt for its local runserver and task runner. The Webhook command line tools are sometimes simple aliases to specific Grunt commands.

Installation

Requires the installation of Node JS. Once installed open your terminal and run:

npm install -g grunt wh

Webhook Command Line

The Webhook CLI has the following commands:

wh create sitename                 # Create a new Webhook directory/site at "sitename".
wh serve [port]                    # Serves a Webhook site locally on the optional port. Default port is 2002.
wh deploy                          # Packages local, deploys to the live server, and runs a new build.
wh update                          # Updates the site directory you're in to use the latest Webhook runserver code libraries.

# wh init creates the secret key file for a local site that doesn't have one (say a github clone).
# init must be run in an existing webhook directory.

wh init

Grunt commands in the local server

The following grunt commands are supported.

grunt clean                       # Deletes the files in the .build/ directory.
grunt scaffolding:typename        # Generates scaffolding HTML for a passed content-type from the CMS.
grunt build                       # Runs clean, and then rebuilds the .build/ directory.

webhook-server-open's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

webhook-server-open's Issues

413 Error

When I'm trying to wh -f foo -s bar deploy, the packaged zip is 10mb, but I'm getting a 413 error despite the fact that I've configured my nginx reverse-proxy to allow client body size of several hundred megabytes.

Buckets are not created by server.

Hi there,

I have a webhook server up and running, but it doesn't create any buckets when I run a deploy for a site.
Do you know what can go wrong? I double checked the site verifications already.

[self-host] Can't Delete Site

I'm getting the error:

========================================================
# The site themetest3,1sonnetmedia,1org/ is not owned by you
========================================================
# You must be an owner on a site to delete it.

I'm an owner in Firebase, so I'm guessing there's an issue with the rules.

Question regarding memcached

In the commandDelegator, a comment states that memcached is needed to prevent jobs from getting queued twice. Similarly, the jobQueue speaks of "locking".

It's not entirely clear to me, however, what exactly these locks are meant to prevent - as I understand it, the child_added event from Firebase only fires once for any given job (ie. no duplicates can occur there). Similarly, presumably beanstalkd will only hand out a job once, so no locking should be necessary there either.

Could you clarify on the purpose of memcached here, and whether it still plays a role in the current version of the codebase? I've been looking at the code for a while now, and I can't find any explanations or hints anywhere of the concrete issues that this is meant to prevent.

Bug in Firebase Security Rules, Denies permission to add settings

Logged in as owner I noticed that when trying to add settings to a self-hosted project that nothing happens, no error or anything, but the settings don't hold. I tested this against hosted sites where I can indeed add settings. I tried importing settings and got a permissions error (so there I got an error).

Once I saw that it was a permissions error, I tried rolling back to the old Firebase rules (commit 361008e) and sure enough I'm able to change settings. Looking at the diff, I couldn't tell exactly what needs to change though.

Question about security rules and Permission Denied with attempting to set owners.

So I'm getting errors when I try to change an user from any group to an owner.

[Warning] FIREBASE WARNING: set at /management/sites/www,example,1org/owners/budparr@sonnetmedia,1net failed: permission_denied  (vendor.min.js, line 21)

I'm not getting the error in my hosted sites, just self-hosted, yet I'd think that a) the source would be a) in the security rules, and b) the same as hosted.

Any thoughts where I should be looking?

Add Delete Command Worker

To delete a website, the wh cli publishes data to the management/commands/delete node of the Firebase. Looking through this repo, I can't find where this command gets handled. Is that something that can be pushed to the repository?

Subject for invite email for self-hosted websites is wrong

When sending an invite e-mail on a self-hosted website, the subject is :

[Webhook] You've been invited to edit www,1example,1com

The best solution would be the use the Site Name value entered in the site's Global Settings, but then we would need to validate that the user has entered a value before sending an invite email.

Possible to use Grunt Newer?

Hi guys - I wrote a post on the forums about build times for larger sites and that got me thinking about use-cases. I'd love to see some of the editorially driven sites I work on capable of using Webhook, but I think even a long-running blog would start to be a drag once it got to a few thousand pages.

I may be naïve, but it seems like Grunt Newer, which says it runs "Grunt tasks with only those source files modified since the last successful run" would be a good solution.

Would love to hear what you think, particularly if this sort of thing isn't even a concern, or on the roadmap but in the far future.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.