fanforce-app-factory 1.7.1 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-version +1 -1
- data/.yardopts +5 -0
- data/.yardopts.rb +1 -0
- data/Gemfile +10 -1
- data/README.md +12 -12
- data/Rakefile +8 -3
- data/apps.json +787 -0
- data/fanforce-app-factory.gemspec +4 -5
- data/lib/fanforce/app_factory.rb +15 -52
- data/lib/fanforce/app_factory/Rakefile +59 -0
- data/lib/fanforce/app_factory/app.rb +50 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_bootstrap.scss +2 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_common.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_directives.scss +7 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_font-awesome.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/_ui-select.scss +3 -0
- data/lib/fanforce/app_factory/{assets/lib/common → asset_framework/app_factory/bootstrap}/_bootstrap-overrides.scss +2 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/css → asset_framework/app_factory/bootstrap}/bootstrap.css +2 -2
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.js +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/bootstrap/bootstrap.min.css +7 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/js → asset_framework/app_factory/bootstrap}/bootstrap.min.js +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.eot +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.svg +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.ttf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/bootstrap/fonts → asset_framework/app_factory/bootstrap}/glyphicons-halflings-regular.woff +0 -0
- data/lib/fanforce/app_factory/{assets/lib → asset_framework/app_factory}/common/_mixins.scss +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/error/_error.scss +6 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/arrow-left.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-error → asset_framework/app_factory/directives/error}/icon-error.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/initiative-footer/_initiative-footer.coffee +16 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-add-initiative-footer.scss → asset_framework/app_factory/directives/initiative-footer/_initiative-footer.scss} +4 -1
- data/lib/fanforce/app_factory/{assets/lib/common/_module-initiative-searcher.scss → asset_framework/app_factory/directives/initiative-searcher/_initiative-searcher.scss} +6 -6
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/icon-search.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/spinner.gif +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-initiative-searcher → asset_framework/app_factory/directives/initiative-searcher}/sprite-arrows.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.coffee +4 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/loading/_loading.scss +4 -0
- data/lib/fanforce/app_factory/{assets/js/add_source_popup.js → asset_framework/app_factory/directives/saving-to-server/_saving-to-server.coffee} +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/saving-to-server/_saving-to-server.scss +6 -0
- data/lib/fanforce/app_factory/{assets/lib/common/module-saving-initiative → asset_framework/app_factory/directives/saving-to-server}/spinner.gif +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/directives/start-arrow/_start-arrow.coffee +8 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-start-here.scss → asset_framework/app_factory/directives/start-arrow/_start-arrow.scss} +5 -4
- data/lib/fanforce/app_factory/{assets/lib/common/module-start-here → asset_framework/app_factory/directives/start-arrow}/arrow.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/_module-video-thumbnail.scss → asset_framework/app_factory/directives/video-thumbnail/_video-thumbnail.scss} +3 -3
- data/lib/fanforce/app_factory/{assets/lib/common/module-video-thumbnail → asset_framework/app_factory/directives/video-thumbnail}/icon-play.png +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/font-awesome.coffee +1 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/FontAwesome.otf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.css +2 -2
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/css → asset_framework/app_factory/font-awesome}/font-awesome.min.css +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.eot +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.svg +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.ttf +0 -0
- data/lib/fanforce/app_factory/{assets/lib/vendors/font-awesome/font → asset_framework/app_factory/font-awesome}/fontawesome-webfont.woff +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/cookie.coffee +16 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-focus-blur.js +68 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/ng-visible.js +7 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/url.coffee +20 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/lib/utils.coffee +11 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_promotional.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/scafolding/_standard.scss +1 -0
- data/lib/fanforce/app_factory/{assets/js/fanforce-engager.js → asset_framework/app_factory/scafolding/promotional.coffee} +0 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select.coffee +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.css +171 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select.js +1281 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/select_override.scss +1 -0
- data/lib/fanforce/app_factory/asset_framework/app_factory/ui-select/selectize.default.css +443 -0
- data/lib/fanforce/app_factory/cli/_cleanorgs.rb +54 -0
- data/lib/fanforce/app_factory/controllers/base_controller.rb +5 -1
- data/lib/fanforce/app_factory/core_config.rb +95 -0
- data/lib/fanforce/app_factory/scafolding/Routes.rb +64 -0
- data/lib/fanforce/app_factory/{layouts → scafolding/layouts}/engage.haml +0 -0
- data/lib/fanforce/app_factory/{public → scafolding/public}/favicon.ico +0 -0
- data/lib/fanforce/app_factory/{public → scafolding/public}/robots.txt +0 -0
- data/lib/fanforce/app_factory/{assets/lib/common/layouts/_promotional.scss → scafolding/scafolding_assets/css/promotional.scss} +4 -9
- data/lib/fanforce/app_factory/scafolding/scafolding_assets/css/standard.scss +10 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-16.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-32.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/icon-42.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.png +0 -0
- data/lib/fanforce/app_factory/{assets → scafolding/scafolding_assets}/img/marketplace.psd +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/fanforce_bg.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-42.png +0 -0
- data/lib/fanforce/app_factory/{assets/lib → scafolding/scafolding_assets/img}/promotional/icon-plus.png +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/add_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/add_source.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/close_popup.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/config.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/convert_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/dashboard.haml +1 -1
- data/lib/fanforce/app_factory/{views → scafolding/views}/edit_initiative.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/engage.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/index.haml +1 -1
- data/lib/fanforce/app_factory/{views → scafolding/views}/new_message.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/source_details.haml +0 -0
- data/lib/fanforce/app_factory/{views → scafolding/views}/widget_templates.haml +0 -0
- data/lib/fanforce/app_factory/sinatra/Routes.rb +17 -0
- data/lib/fanforce/app_factory/sinatra/_load.rb +76 -0
- data/lib/fanforce/app_factory/sinatra/error_handling.rb +47 -0
- data/lib/fanforce/app_factory/{routes_core.rb → sinatra/helper_routes/app.rb} +8 -8
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_behavior.rb +23 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_broadcaster.rb +7 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_connector.rb +11 -0
- data/lib/fanforce/app_factory/sinatra/helper_routes/com_identifier.rb +3 -0
- data/lib/fanforce/app_factory/{routes_js_widget.rb → sinatra/helper_routes/com_js_widget.rb} +1 -1
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/assets.rb +1 -1
- data/lib/fanforce/app_factory/sinatra/helpers/fanforce.rb +18 -0
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/json.rb +1 -1
- data/lib/fanforce/app_factory/{config → sinatra}/helpers/ractive.rb +1 -1
- data/lib/fanforce/app_factory/sprockets/_all.rb +2 -0
- data/lib/fanforce/app_factory/sprockets/compiler.rb +2 -11
- data/lib/fanforce/app_factory/sprockets/hacks.rb +1 -1
- data/lib/fanforce/app_factory/version.rb +2 -2
- data/workers.json +323 -0
- metadata +121 -222
- data/.rbenv-gemsets +0 -1
- data/lib/fanforce/app_factory.rake +0 -56
- data/lib/fanforce/app_factory/_init_sinatra.rb +0 -80
- data/lib/fanforce/app_factory/assets/css/add_edit_initiative.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/add_source.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/config.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/convert_initiative.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/dashboard.scss +0 -24
- data/lib/fanforce/app_factory/assets/css/engage.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/new_message.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/promotional.scss +0 -1
- data/lib/fanforce/app_factory/assets/css/source_details.scss +0 -1
- data/lib/fanforce/app_factory/assets/js/add_edit_initiative.js +0 -1
- data/lib/fanforce/app_factory/assets/js/add_source.js +0 -1
- data/lib/fanforce/app_factory/assets/js/config.js +0 -1
- data/lib/fanforce/app_factory/assets/js/convert_initiative.js +0 -1
- data/lib/fanforce/app_factory/assets/js/dashboard.coffee +0 -18
- data/lib/fanforce/app_factory/assets/js/fanforce-finder.js +0 -0
- data/lib/fanforce/app_factory/assets/js/new_message.js +0 -1
- data/lib/fanforce/app_factory/assets/js/promotional.js +0 -1
- data/lib/fanforce/app_factory/assets/js/source_details.js +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/_module-error.scss +0 -11
- data/lib/fanforce/app_factory/assets/lib/common/_module-page-loading.scss +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/_module-saving-initiative.scss +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/_tags.scss +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/_variables.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/broadcaster-divider-arrow.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/icons/dropdown-arrow.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/icons/initiative.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_edit_initiative.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_add_source.scss +0 -18
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_config.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_convert_initiative.scss +0 -27
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_dashboard.scss +0 -18
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_engage.scss +0 -80
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_new_message.scss +0 -24
- data/lib/fanforce/app_factory/assets/lib/common/layouts/_source_details.scss +0 -17
- data/lib/fanforce/app_factory/assets/lib/common/layouts/add_edit_initiative.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/add_source.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/config.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/convert_initiative.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/dashboard.js +0 -6
- data/lib/fanforce/app_factory/assets/lib/common/layouts/engage.js +0 -0
- data/lib/fanforce/app_factory/assets/lib/common/layouts/new_message.js +0 -5
- data/lib/fanforce/app_factory/assets/lib/common/layouts/promotional.js +0 -1
- data/lib/fanforce/app_factory/assets/lib/common/layouts/source_details.js +0 -5
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.css +0 -7
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-datepicker/datepicker.js +0 -454
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.css +0 -82
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap-timepicker/timepicker.js +0 -803
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/css/bootstrap.min.css +0 -7
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.eot +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.svg +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.ttf +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/bootstrap/img/glyphicons-halflings-regular.woff +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/_chosen_override.scss +0 -6
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen-sprite@2x.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.jquery.js +0 -1166
- data/lib/fanforce/app_factory/assets/lib/vendors/chosen/chosen.scss +0 -434
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery-1.10.2.js +0 -9789
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.inputHint.js +0 -154
- data/lib/fanforce/app_factory/assets/lib/vendors/jquery/jquery.tmpl.debug.js +0 -484
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.custom-handlers.coffee +0 -155
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.debug.js +0 -4469
- data/lib/fanforce/app_factory/assets/lib/vendors/knockout/knockout.min.js +0 -96
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/_select2_override.scss +0 -47
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2-spinner.gif +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2.scss +0 -617
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2_modified.js +0 -3225
- data/lib/fanforce/app_factory/assets/lib/vendors/select2/select2x2.png +0 -0
- data/lib/fanforce/app_factory/assets/lib/vendors/underscore/underscore.debug.js +0 -999
- data/lib/fanforce/app_factory/config/_error_handling.rb +0 -27
- data/lib/fanforce/app_factory/config/core_config.rb +0 -104
- data/lib/fanforce/app_factory/config/helpers/fanforce.rb +0 -22
- data/lib/fanforce/app_factory/layouts/add_edit_initiative.haml +0 -18
- data/lib/fanforce/app_factory/layouts/add_source.haml +0 -18
- data/lib/fanforce/app_factory/layouts/config.haml +0 -18
- data/lib/fanforce/app_factory/layouts/convert_initiative.haml +0 -18
- data/lib/fanforce/app_factory/layouts/dashboard.haml +0 -18
- data/lib/fanforce/app_factory/layouts/new_message.haml +0 -18
- data/lib/fanforce/app_factory/layouts/promotional.haml +0 -18
- data/lib/fanforce/app_factory/layouts/source_details.haml +0 -18
- data/lib/fanforce/app_factory/routes_behavior.rb +0 -31
- data/lib/fanforce/app_factory/routes_broadcaster.rb +0 -7
- data/lib/fanforce/app_factory/routes_connector.rb +0 -11
- data/lib/fanforce/app_factory/routes_identifier.rb +0 -3
- data/lib/fanforce/app_factory_workers.rb +0 -2
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7a6daa3781ad6df52d324adbaec0f920c27163d7
|
4
|
+
data.tar.gz: b662bfb08538a614a54e1855c1ebaac20fb42144
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d12bbc95a3ea5895ddf6602315322592ee9b3b1f8b3cd949ad947694a1c2c2c066b92f0e5542bb4ad43131c7edf30ed13890005b456c7c2bc0809c3da89aca4e
|
7
|
+
data.tar.gz: 07621632a6e6b49f8bfd3e1bd67f6144d4f589047531b8a208021a4cc164d84dce633a1e42aaacd07e339ed0028afdeb700a4942e03ca0b044e2e6558093ce54
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0-p576
|
data/.yardopts
ADDED
data/.yardopts.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'redcarpet/compat'
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -24,9 +24,9 @@ Only four lines are required (you must have a Redis server).
|
|
24
24
|
|
25
25
|
```ruby
|
26
26
|
require 'bundler'; Bundler.setup
|
27
|
-
require 'fanforce/
|
28
|
-
|
29
|
-
run
|
27
|
+
require 'fanforce/app_factory'
|
28
|
+
Fanforce::App.config { |config| config._id = 'facebook' }
|
29
|
+
run Fanforce::App
|
30
30
|
```
|
31
31
|
You can replace config._id (as in the example above) with an environment variable: ENV['FANFORCE_APP_ID']
|
32
32
|
|
@@ -91,19 +91,19 @@ Anything you put in here will be publicly available. The only folder you should
|
|
91
91
|
* /favicon.ico
|
92
92
|
|
93
93
|
### /config/routes.rb
|
94
|
-
The fanforce-app-factory sets up all the required routes. If you want to customize existing routes or add new ones, create a config/routes.rb file and specify routes within the
|
94
|
+
The fanforce-app-factory sets up all the required routes. If you want to customize existing routes or add new ones, create a config/routes.rb file and specify routes within the App:Sinatra class:
|
95
95
|
```
|
96
|
-
class
|
96
|
+
class App::Sinatra
|
97
97
|
get '/test' do
|
98
98
|
"Custom route!"
|
99
99
|
end
|
100
100
|
end
|
101
101
|
```
|
102
|
-
Check out [Sinatra's](http://www.sinatrarb.com/documentation) documentation for more details on routes and much more. The
|
102
|
+
Check out [Sinatra's](http://www.sinatrarb.com/documentation) documentation for more details on routes and much more. The App::Sinatra inherits from the Sinatra::Base, which gives you full control to customize the fanforce-app-factory's sinatra implementation as much as you want.
|
103
103
|
|
104
104
|
Overwrite any existing routes by specifying them in your config/routes.rb. You can also pull default route logic into your new custom routes by calling route_[NAME_OF_ROUTE] method.
|
105
105
|
```
|
106
|
-
class
|
106
|
+
class App::Sinatra
|
107
107
|
any '/install' do
|
108
108
|
# do whatever you want here
|
109
109
|
route_install
|
@@ -122,7 +122,7 @@ If you need to run Sinatra middleware or other non-route code, you'll want to cr
|
|
122
122
|
require 'omniauth'
|
123
123
|
require 'omniauth-constantcontact2'
|
124
124
|
|
125
|
-
class
|
125
|
+
class App::Sinatra
|
126
126
|
|
127
127
|
use Rack::Session::Cookie
|
128
128
|
use OmniAuth::Builder do
|
@@ -172,8 +172,8 @@ Documentation coming soon.
|
|
172
172
|
By default fanforce-app-factory looks for ENV['REDIS_URL'] and if that isn't found, it falls back to redis://localhost:6379. You can specify a custom redis url with `config.redis_url = ` in config.ru:
|
173
173
|
```
|
174
174
|
require 'bundler'; Bundler.setup
|
175
|
-
require 'fanforce/
|
176
|
-
|
175
|
+
require 'fanforce/app_factory'
|
176
|
+
Fanforce::App.config do |config|
|
177
177
|
config.redis_url = 'redis://USERNAME:PASSWORD@HOST:PORT'
|
178
178
|
end
|
179
179
|
load 'fanforce/app.rake'
|
@@ -182,14 +182,14 @@ load 'fanforce/app.rake'
|
|
182
182
|
|
183
183
|
# Using Fanforce::Worker
|
184
184
|
|
185
|
-
|
185
|
+
Fanforce::App includes the fanforce-workers gem by default and includes a convenience helper method. Fanforce::App.enqueue
|
186
186
|
will prefix the name of your worker with the name of your plugin to ensure there are no conflicts across multiple plugins
|
187
187
|
or apps. This is the naming convention used by Fanforce Factory when creating and uploading Iron.io workers.
|
188
188
|
|
189
189
|
As an example, if you have a testing.worker file, you would use the following command:
|
190
190
|
|
191
191
|
```
|
192
|
-
|
192
|
+
Fanforce::App.enqueue 'testing', {params_to_send: 'whatever'}
|
193
193
|
```
|
194
194
|
|
195
195
|
|
data/Rakefile
CHANGED
@@ -3,8 +3,14 @@ require 'rake/testtask'
|
|
3
3
|
require 'fileutils'
|
4
4
|
include FileUtils
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
task :run_test do
|
7
|
+
Rake::Task['test'].execute
|
8
|
+
puts '---------------------------------------------------------------------'
|
9
|
+
puts 'TESTS PASSED... READY TO BUILD...'
|
10
|
+
puts '---------------------------------------------------------------------'
|
11
|
+
end
|
12
|
+
task :build => :run_test
|
13
|
+
task :default => :build
|
8
14
|
|
9
15
|
########################################################################
|
10
16
|
|
@@ -14,4 +20,3 @@ Rake::TestTask.new do |t|
|
|
14
20
|
t.pattern = 'test/**/*_test.rb'
|
15
21
|
t.verbose = false
|
16
22
|
end
|
17
|
-
|
data/apps.json
ADDED
@@ -0,0 +1,787 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"_id": "d3cc09e5-ac07-4527-8222-23f953617070",
|
4
|
+
"_puid": "twitter",
|
5
|
+
"name": "Twitter",
|
6
|
+
"description": "Import Twitter followers, and send both both regular and direct tweets requesting engagement.",
|
7
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
8
|
+
"config": {
|
9
|
+
"public_urls": {
|
10
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
11
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
12
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
13
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
14
|
+
},
|
15
|
+
"staffer_ui_urls": {"config": null},
|
16
|
+
"callback_urls": {
|
17
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
18
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"options": null,
|
22
|
+
"environ": {
|
23
|
+
"_id": "babfd8b1-5427-4ed9-abc3-a6bbe635c1b4",
|
24
|
+
"status": "active",
|
25
|
+
"permissions": "ALL",
|
26
|
+
"type": "development",
|
27
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
28
|
+
"dns_host": "127.0.0.1"
|
29
|
+
},
|
30
|
+
"config_override": {},
|
31
|
+
"coms": [
|
32
|
+
{
|
33
|
+
"_id": "921361ff-2896-44df-87e4-c62dde636e6e",
|
34
|
+
"_shortid": "prospects",
|
35
|
+
"type": "connector",
|
36
|
+
"config": {
|
37
|
+
"staffer_ui_urls": {
|
38
|
+
"source_details": "http://{{APP_DOMAIN}}/prospects/source_details.html",
|
39
|
+
"add_source": "http://{{APP_DOMAIN}}/prospects/add_source.html"
|
40
|
+
},
|
41
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/prospects/add_source.js"}
|
42
|
+
},
|
43
|
+
"options": null
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"_id": "34f5b145-7be2-43f1-98d2-37d89b6a7366",
|
47
|
+
"_shortid": "js-finder",
|
48
|
+
"type": "js_finder",
|
49
|
+
"config": {"javascript_urls": {"finder": "http://{{APP_DOMAIN}}/assets/fanforce-finder.js"}},
|
50
|
+
"options": null
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"_id": "1cc06dc0-586f-4434-b16f-bc8d34627264",
|
54
|
+
"_shortid": "direct-message",
|
55
|
+
"type": "broadcaster",
|
56
|
+
"config": {
|
57
|
+
"new_button_label": "Direct Twitter Messages",
|
58
|
+
"targeting_capabilities": [
|
59
|
+
"list",
|
60
|
+
"single"
|
61
|
+
],
|
62
|
+
"targeting_criteria": {"plugin_ids": "twitter-followers"},
|
63
|
+
"staffer_ui_urls": {"new_message": "http://{{APP_DOMAIN}}/direct-message/new_message.html"}
|
64
|
+
},
|
65
|
+
"options": null
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"_id": "245e80dc-4476-463e-b7b0-eab56b626876",
|
69
|
+
"_shortid": "follow",
|
70
|
+
"type": "behavior",
|
71
|
+
"config": {
|
72
|
+
"add_button_label": "Follow a Twitter Account",
|
73
|
+
"verbs": {
|
74
|
+
"simple": "follow",
|
75
|
+
"progressive": "following",
|
76
|
+
"perfect": "followed"
|
77
|
+
},
|
78
|
+
"nouns": {"common": "twitter"},
|
79
|
+
"default_step_count": 1,
|
80
|
+
"impact_formula": [
|
81
|
+
{
|
82
|
+
"calculate_when": "progress_1",
|
83
|
+
"add_time": "1s"
|
84
|
+
}
|
85
|
+
],
|
86
|
+
"staffer_ui_urls": {
|
87
|
+
"add_initiative": "http://{{APP_DOMAIN}}/follow/add_initiative.html",
|
88
|
+
"edit_initiative": null,
|
89
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/follow/convert_initiative.html"
|
90
|
+
},
|
91
|
+
"callback_urls": {
|
92
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/follow/autocreate_initiative",
|
93
|
+
"destroy_initiative": null,
|
94
|
+
"archive_initiative": null
|
95
|
+
}
|
96
|
+
},
|
97
|
+
"options": null
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"_id": "907c7e9c-c81b-4d23-b72f-0bd563626876",
|
101
|
+
"_shortid": "tweet",
|
102
|
+
"type": "behavior",
|
103
|
+
"config": {
|
104
|
+
"add_button_label": "Tweet a Message",
|
105
|
+
"verbs": {
|
106
|
+
"simple": "tweet",
|
107
|
+
"progressive": "tweeting",
|
108
|
+
"perfect": "tweeted"
|
109
|
+
},
|
110
|
+
"nouns": {"common": "twitter"},
|
111
|
+
"default_step_count": 1,
|
112
|
+
"impact_formula": [
|
113
|
+
{
|
114
|
+
"calculate_when": "progress_1",
|
115
|
+
"add_time": "10s"
|
116
|
+
}
|
117
|
+
],
|
118
|
+
"staffer_ui_urls": {
|
119
|
+
"add_initiative": "http://{{APP_DOMAIN}}/tweet/add_initiative.html",
|
120
|
+
"edit_initiative": null,
|
121
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/tweet/convert_initiative.html"
|
122
|
+
},
|
123
|
+
"callback_urls": {
|
124
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/tweet/autocreate_initiative",
|
125
|
+
"destroy_initiative": null,
|
126
|
+
"archive_initiative": null
|
127
|
+
}
|
128
|
+
},
|
129
|
+
"options": null
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"_id": "f96f968d-807d-4586-a39b-3705ab627264",
|
133
|
+
"_shortid": "standard-message",
|
134
|
+
"type": "broadcaster",
|
135
|
+
"config": {
|
136
|
+
"new_button_label": "Tweet",
|
137
|
+
"targeting_capabilities": [],
|
138
|
+
"staffer_ui_urls": {"new_message": "http://{{APP_DOMAIN}}/standard-message/new_message.html"}
|
139
|
+
},
|
140
|
+
"options": null
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"_id": "e979c7a7-7938-4bfd-946d-9185d3636e6e",
|
144
|
+
"_shortid": "followers",
|
145
|
+
"type": "connector",
|
146
|
+
"config": {
|
147
|
+
"add_button_label": "Twitter Followers",
|
148
|
+
"staffer_ui_urls": {
|
149
|
+
"source_details": "http://{{APP_DOMAIN}}/followers/source_details.html",
|
150
|
+
"add_source": "http://{{APP_DOMAIN}}/followers/add_source.html"
|
151
|
+
},
|
152
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/followers/add_source.js"}
|
153
|
+
},
|
154
|
+
"options": null
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"_id": "adc8c4bc-5a57-4791-b93c-16c40c626876",
|
158
|
+
"_shortid": "retweet",
|
159
|
+
"type": "behavior",
|
160
|
+
"config": {
|
161
|
+
"add_button_label": "Retweet a Message",
|
162
|
+
"verbs": {
|
163
|
+
"simple": "retweet",
|
164
|
+
"progressive": "retweeting",
|
165
|
+
"perfect": "retweeted"
|
166
|
+
},
|
167
|
+
"nouns": {"common": "twitter"},
|
168
|
+
"default_step_count": 1,
|
169
|
+
"impact_formula": [
|
170
|
+
{
|
171
|
+
"calculate_when": "progress_1",
|
172
|
+
"add_time": "2s"
|
173
|
+
}
|
174
|
+
],
|
175
|
+
"staffer_ui_urls": {
|
176
|
+
"add_initiative": "http://{{APP_DOMAIN}}/retweet/add_initiative.html",
|
177
|
+
"edit_initiative": null,
|
178
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/retweet/convert_initiative.html"
|
179
|
+
},
|
180
|
+
"callback_urls": {
|
181
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/retweet/autocreate_initiative",
|
182
|
+
"destroy_initiative": null,
|
183
|
+
"archive_initiative": null
|
184
|
+
}
|
185
|
+
},
|
186
|
+
"options": null
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"_id": "2163f0a5-ddf2-461c-b51a-ff72f86a7374",
|
190
|
+
"_shortid": "js-tracker",
|
191
|
+
"type": "js_tracker",
|
192
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
193
|
+
"options": "{}"
|
194
|
+
}
|
195
|
+
]
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"_id": "cd95dc1e-d7e6-4bc7-a51b-449f5b617070",
|
199
|
+
"_puid": "crowdfunder",
|
200
|
+
"name": "Crowdfunder",
|
201
|
+
"description": "Donation app designed for crowd funding campaigns.",
|
202
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
203
|
+
"config": {
|
204
|
+
"public_urls": {
|
205
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
206
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
207
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
208
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
209
|
+
},
|
210
|
+
"staffer_ui_urls": {"config": null},
|
211
|
+
"callback_urls": {
|
212
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
213
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
214
|
+
}
|
215
|
+
},
|
216
|
+
"options": null,
|
217
|
+
"environ": {
|
218
|
+
"_id": "70ea2412-0044-450e-bc79-f1364b61ad0a",
|
219
|
+
"status": "active",
|
220
|
+
"permissions": "ALL",
|
221
|
+
"type": "development",
|
222
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
223
|
+
"dns_host": "127.0.0.1"
|
224
|
+
},
|
225
|
+
"config_override": {},
|
226
|
+
"coms": [
|
227
|
+
{
|
228
|
+
"_id": "a31e76b2-1e1b-4fdc-a951-7d2729626876",
|
229
|
+
"_shortid": "donate",
|
230
|
+
"type": "behavior",
|
231
|
+
"config": {
|
232
|
+
"category_id": "donate",
|
233
|
+
"add_button_label": "Crowdfund",
|
234
|
+
"nouns": {"common": "money"},
|
235
|
+
"verbs": {
|
236
|
+
"simple": "donate",
|
237
|
+
"progressive": "donating",
|
238
|
+
"perfect": "donated"
|
239
|
+
},
|
240
|
+
"default_step_count": 1,
|
241
|
+
"impact_formula": [
|
242
|
+
{
|
243
|
+
"calculate_when": "progress_completes",
|
244
|
+
"add_time": "1m"
|
245
|
+
},
|
246
|
+
{
|
247
|
+
"calculate_when": "progress_completes",
|
248
|
+
"add_money_from_action_field": "donation_amount"
|
249
|
+
}
|
250
|
+
],
|
251
|
+
"staffer_ui_urls": {
|
252
|
+
"add_initiative": "http://{{APP_DOMAIN}}/donate/add_initiative.html",
|
253
|
+
"edit_initiative": null,
|
254
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/donate/convert_initiative.html"
|
255
|
+
},
|
256
|
+
"callback_urls": {
|
257
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/donate/autocreate_initiative",
|
258
|
+
"destroy_initiative": null,
|
259
|
+
"archive_initiative": null
|
260
|
+
}
|
261
|
+
},
|
262
|
+
"options": null
|
263
|
+
},
|
264
|
+
{
|
265
|
+
"_id": "f583ce07-dd01-41be-af94-3f774a636e6e",
|
266
|
+
"_shortid": "donors",
|
267
|
+
"type": "connector",
|
268
|
+
"config": {
|
269
|
+
"staffer_ui_urls": {
|
270
|
+
"source_details": "http://{{APP_DOMAIN}}/donors/source_details.html",
|
271
|
+
"add_source": "http://{{APP_DOMAIN}}/donors/add_source.html"
|
272
|
+
},
|
273
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/donors/add_source.js"}
|
274
|
+
},
|
275
|
+
"options": null
|
276
|
+
},
|
277
|
+
{
|
278
|
+
"_id": "2cfc9070-63a2-4b87-a307-68c4e76a7377",
|
279
|
+
"_shortid": "donate-form",
|
280
|
+
"type": "js_widget",
|
281
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
282
|
+
"options": null
|
283
|
+
},
|
284
|
+
{
|
285
|
+
"_id": "3062e132-7881-4156-9640-3333d06a7377",
|
286
|
+
"_shortid": "stats",
|
287
|
+
"type": "js_widget",
|
288
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
289
|
+
"options": null
|
290
|
+
},
|
291
|
+
{
|
292
|
+
"_id": "3199e59d-b81c-4440-ad96-45b2bb6a7377",
|
293
|
+
"_shortid": "recent-supporters-list",
|
294
|
+
"type": "js_widget",
|
295
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
296
|
+
"options": null
|
297
|
+
},
|
298
|
+
{
|
299
|
+
"_id": "0ee7efb8-7564-42ea-82ed-b1b6236a7377",
|
300
|
+
"_shortid": "top-influencers-list",
|
301
|
+
"type": "js_widget",
|
302
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
303
|
+
"options": null
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"_id": "31b14419-cde2-4e8f-867c-f12a7e6a7377",
|
307
|
+
"_shortid": "founding-donors-list",
|
308
|
+
"type": "js_widget",
|
309
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
310
|
+
"options": null
|
311
|
+
},
|
312
|
+
{
|
313
|
+
"_id": "5a0c4f64-7001-4a0c-ba85-d8cd586a7374",
|
314
|
+
"_shortid": "js-tracker",
|
315
|
+
"type": "js_tracker",
|
316
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
317
|
+
"options": "{}"
|
318
|
+
}
|
319
|
+
]
|
320
|
+
},
|
321
|
+
{
|
322
|
+
"_id": "06cf0e84-9ea0-45c7-9d3b-ff3897617070",
|
323
|
+
"_puid": "social-currency",
|
324
|
+
"name": "Social Currency",
|
325
|
+
"description": "Accept social currency (tweet to twitter, post to facebook, etc) as an alternative to U.S. currency.",
|
326
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
327
|
+
"config": {
|
328
|
+
"public_urls": {
|
329
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
330
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
331
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
332
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
333
|
+
},
|
334
|
+
"staffer_ui_urls": {"config": "http://{{APP_DOMAIN}}/config.html"},
|
335
|
+
"callback_urls": {
|
336
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
337
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
338
|
+
}
|
339
|
+
},
|
340
|
+
"options": "{\"has_config_page\":true}",
|
341
|
+
"environ": {
|
342
|
+
"_id": "a92295cc-57c1-467c-9b93-60f0e3215960",
|
343
|
+
"status": "active",
|
344
|
+
"permissions": "ALL",
|
345
|
+
"type": "development",
|
346
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
347
|
+
"dns_host": "127.0.0.1"
|
348
|
+
},
|
349
|
+
"config_override": {},
|
350
|
+
"coms": [
|
351
|
+
{
|
352
|
+
"_id": "9bf40650-e8ba-4f09-8a9d-85de94626876",
|
353
|
+
"_shortid": "redeem",
|
354
|
+
"type": "behavior",
|
355
|
+
"config": {
|
356
|
+
"add_button_label": "Redeem Social Currency",
|
357
|
+
"verbs": {
|
358
|
+
"simple": "redeem",
|
359
|
+
"progressive": "redeeming",
|
360
|
+
"perfect": "redeemed"
|
361
|
+
},
|
362
|
+
"nouns": {"common": "tweet"},
|
363
|
+
"default_step_count": 4,
|
364
|
+
"impact_formula": [
|
365
|
+
{
|
366
|
+
"calculate_when": "progress_advances",
|
367
|
+
"add_time": "10s"
|
368
|
+
}
|
369
|
+
],
|
370
|
+
"staffer_ui_urls": {
|
371
|
+
"add_initiative": "http://{{APP_DOMAIN}}/redeem/add_initiative.html",
|
372
|
+
"edit_initiative": "http://{{APP_DOMAIN}}/redeem/edit_initiative.html",
|
373
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/redeem/convert_initiative.html"
|
374
|
+
},
|
375
|
+
"callback_urls": {
|
376
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/redeem/autocreate_initiative",
|
377
|
+
"destroy_initiative": null,
|
378
|
+
"archive_initiative": null
|
379
|
+
}
|
380
|
+
},
|
381
|
+
"options": "{\"allow_edit_initiative\":true,\"allow_add_initiative\":true}"
|
382
|
+
},
|
383
|
+
{
|
384
|
+
"_id": "9d4e0a2a-0888-4360-a3ce-8617d46a7374",
|
385
|
+
"_shortid": "js-tracker",
|
386
|
+
"type": "js_tracker",
|
387
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
388
|
+
"options": "{}"
|
389
|
+
},
|
390
|
+
{
|
391
|
+
"_id": "58021466-7e0b-4ca0-a7cb-1aa4756a7377",
|
392
|
+
"_shortid": "@",
|
393
|
+
"type": "js_widget",
|
394
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
395
|
+
"options": "{}"
|
396
|
+
},
|
397
|
+
{
|
398
|
+
"_id": "9fa8e3f7-f305-4a2b-9045-e8ba83636e6e",
|
399
|
+
"_shortid": "user-input",
|
400
|
+
"type": "connector",
|
401
|
+
"config": {
|
402
|
+
"staffer_ui_urls": {
|
403
|
+
"source_details": "http://{{APP_DOMAIN}}/user-input/source_details.html",
|
404
|
+
"add_source": "http://{{APP_DOMAIN}}/user-input/add_source.html"
|
405
|
+
},
|
406
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/user-input/add_source.js"}
|
407
|
+
},
|
408
|
+
"options": "{}"
|
409
|
+
}
|
410
|
+
]
|
411
|
+
},
|
412
|
+
{
|
413
|
+
"_id": "2f82b8fe-6a47-493a-bae2-be693a617070",
|
414
|
+
"_puid": "mailchimp",
|
415
|
+
"name": "MailChimp",
|
416
|
+
"description": "Sync your MailChimp lists, send requests through your campaigns, and track everything subscribers are doing.",
|
417
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
418
|
+
"config": {
|
419
|
+
"public_urls": {
|
420
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
421
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
422
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
423
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
424
|
+
},
|
425
|
+
"staffer_ui_urls": {"config": null},
|
426
|
+
"callback_urls": {
|
427
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
428
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
429
|
+
}
|
430
|
+
},
|
431
|
+
"options": null,
|
432
|
+
"environ": {
|
433
|
+
"_id": "444fcc55-8026-45aa-83f8-195f6a0817e4",
|
434
|
+
"status": "active",
|
435
|
+
"permissions": "ALL",
|
436
|
+
"type": "development",
|
437
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
438
|
+
"dns_host": "127.0.0.1"
|
439
|
+
},
|
440
|
+
"config_override": {},
|
441
|
+
"coms": [
|
442
|
+
{
|
443
|
+
"_id": "7292991c-b689-42cf-92d6-a1619e69646e",
|
444
|
+
"_shortid": "campaign-links",
|
445
|
+
"type": "identifier",
|
446
|
+
"config": {},
|
447
|
+
"options": null
|
448
|
+
},
|
449
|
+
{
|
450
|
+
"_id": "161b91f0-28ff-4e24-a824-ef9e0c636e6e",
|
451
|
+
"_shortid": "subscribers",
|
452
|
+
"type": "connector",
|
453
|
+
"config": {
|
454
|
+
"add_button_label": "MailChimp Subscribers",
|
455
|
+
"staffer_ui_urls": {
|
456
|
+
"source_details": "http://{{APP_DOMAIN}}/subscribers/source_details.html",
|
457
|
+
"add_source": "http://{{APP_DOMAIN}}/subscribers/add_source.html"
|
458
|
+
},
|
459
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/subscribers/add_source.js"}
|
460
|
+
},
|
461
|
+
"options": null
|
462
|
+
},
|
463
|
+
{
|
464
|
+
"_id": "fe293cd3-0077-4325-b764-2f03ce627264",
|
465
|
+
"_shortid": "campaigns",
|
466
|
+
"type": "broadcaster",
|
467
|
+
"config": {
|
468
|
+
"new_button_label": "MailChimp Campaign",
|
469
|
+
"iframe_label": "SmartLinks for MailChimp Campaigns",
|
470
|
+
"targeting_capabilities": ["list"],
|
471
|
+
"targeting_criteria": {"plugin_ids": "mailchimp-subscribers"},
|
472
|
+
"staffer_ui_urls": {"new_message": "http://{{APP_DOMAIN}}/campaigns/new_message.html"}
|
473
|
+
},
|
474
|
+
"options": null
|
475
|
+
}
|
476
|
+
]
|
477
|
+
},
|
478
|
+
{
|
479
|
+
"_id": "d4e65b16-67cf-4237-a2da-fcd93b617070",
|
480
|
+
"_puid": "simple-auth",
|
481
|
+
"name": "Simple Auth",
|
482
|
+
"description": "Simple login/logout functionality for a website.",
|
483
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
484
|
+
"config": {
|
485
|
+
"public_urls": {
|
486
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
487
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
488
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
489
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
490
|
+
},
|
491
|
+
"staffer_ui_urls": {"config": null},
|
492
|
+
"callback_urls": {
|
493
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
494
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
495
|
+
}
|
496
|
+
},
|
497
|
+
"options": null,
|
498
|
+
"environ": {
|
499
|
+
"_id": "ca5a4471-0d53-4666-91e7-a34d43e371c7",
|
500
|
+
"status": "active",
|
501
|
+
"permissions": "ALL",
|
502
|
+
"type": "development",
|
503
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
504
|
+
"dns_host": "127.0.0.1"
|
505
|
+
},
|
506
|
+
"config_override": {},
|
507
|
+
"coms": [
|
508
|
+
{
|
509
|
+
"_id": "3458bfc5-e631-45f5-8973-ebe36f636e6e",
|
510
|
+
"_shortid": "accounts",
|
511
|
+
"type": "connector",
|
512
|
+
"config": {
|
513
|
+
"staffer_ui_urls": {
|
514
|
+
"source_details": "http://{{APP_DOMAIN}}/accounts/source_details.html",
|
515
|
+
"add_source": "http://{{APP_DOMAIN}}/accounts/add_source.html"
|
516
|
+
},
|
517
|
+
"staffer_js_urls": {"add_source": "http://{{APP_DOMAIN}}/assets/accounts/add_source.js"}
|
518
|
+
},
|
519
|
+
"options": null
|
520
|
+
},
|
521
|
+
{
|
522
|
+
"_id": "2c1f8c96-a0be-471f-a93d-d3a2a46a7377",
|
523
|
+
"_shortid": "login",
|
524
|
+
"type": "js_widget",
|
525
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
526
|
+
"options": null
|
527
|
+
},
|
528
|
+
{
|
529
|
+
"_id": "986b164a-ea02-40d0-8cda-bf8ea86a7377",
|
530
|
+
"_shortid": "register",
|
531
|
+
"type": "js_widget",
|
532
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
533
|
+
"options": null
|
534
|
+
},
|
535
|
+
{
|
536
|
+
"_id": "f39b0db1-38b9-47f9-b67e-31d2d76a7377",
|
537
|
+
"_shortid": "lost-password",
|
538
|
+
"type": "js_widget",
|
539
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
540
|
+
"options": null
|
541
|
+
},
|
542
|
+
{
|
543
|
+
"_id": "c8cd9e08-94cd-48b1-9e77-0c78296a7377",
|
544
|
+
"_shortid": "reset-password",
|
545
|
+
"type": "js_widget",
|
546
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
547
|
+
"options": null
|
548
|
+
},
|
549
|
+
{
|
550
|
+
"_id": "1c1b4f09-5987-4eb3-aef0-6778216a7374",
|
551
|
+
"_shortid": "js-tracker",
|
552
|
+
"type": "js_tracker",
|
553
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
554
|
+
"options": "{}"
|
555
|
+
}
|
556
|
+
]
|
557
|
+
},
|
558
|
+
{
|
559
|
+
"_id": "de6f3789-3187-4601-b0c5-83a92f617070",
|
560
|
+
"_puid": "vimeo",
|
561
|
+
"name": "Vimeo",
|
562
|
+
"description": "Get your fans to watch your Vimeo videos and track their progress.",
|
563
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
564
|
+
"config": {
|
565
|
+
"public_urls": {
|
566
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
567
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
568
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
569
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
570
|
+
},
|
571
|
+
"staffer_ui_urls": {"config": null},
|
572
|
+
"callback_urls": {
|
573
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
574
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
575
|
+
}
|
576
|
+
},
|
577
|
+
"options": null,
|
578
|
+
"environ": {
|
579
|
+
"_id": "a0940b4e-956a-42ee-9358-12fa92b6db15",
|
580
|
+
"status": "active",
|
581
|
+
"permissions": "ALL",
|
582
|
+
"type": "development",
|
583
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
584
|
+
"dns_host": "127.0.0.1"
|
585
|
+
},
|
586
|
+
"config_override": {},
|
587
|
+
"coms": [
|
588
|
+
{
|
589
|
+
"_id": "8d8622fe-6b0f-42e4-a5b6-0c62cc6a7366",
|
590
|
+
"_shortid": "js-finder",
|
591
|
+
"type": "js_finder",
|
592
|
+
"config": {"javascript_urls": {"finder": "http://{{APP_DOMAIN}}/assets/fanforce-finder.js"}},
|
593
|
+
"options": null
|
594
|
+
},
|
595
|
+
{
|
596
|
+
"_id": "18f0abca-c183-4b14-a688-4c8e4a6a7377",
|
597
|
+
"_shortid": "player",
|
598
|
+
"type": "js_widget",
|
599
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
600
|
+
"options": null
|
601
|
+
},
|
602
|
+
{
|
603
|
+
"_id": "cb5045fc-578c-45d0-98ca-118dc36a7374",
|
604
|
+
"_shortid": "js-tracker",
|
605
|
+
"type": "js_tracker",
|
606
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
607
|
+
"options": "{}"
|
608
|
+
},
|
609
|
+
{
|
610
|
+
"_id": "dfe6b7a1-f7f7-4520-bb21-f699e3626876",
|
611
|
+
"_shortid": "watch",
|
612
|
+
"type": "behavior",
|
613
|
+
"config": {
|
614
|
+
"add_button_label": "Watch Vimeo",
|
615
|
+
"category_id": "watch-video",
|
616
|
+
"nouns": {"common": "video"},
|
617
|
+
"verbs": {
|
618
|
+
"simple": "watch",
|
619
|
+
"progressive": "watching",
|
620
|
+
"perfect": "watched"
|
621
|
+
},
|
622
|
+
"default_step_count": 100,
|
623
|
+
"impact_formula": [
|
624
|
+
{
|
625
|
+
"calculate_when": "progress_starts",
|
626
|
+
"add_bonusmarks": "1"
|
627
|
+
},
|
628
|
+
{
|
629
|
+
"calculate_when": "progress_advances",
|
630
|
+
"add_time_from_initiative_field": "seconds_per_progress_step",
|
631
|
+
"default_unit_of_time": "seconds"
|
632
|
+
}
|
633
|
+
],
|
634
|
+
"staffer_ui_urls": {
|
635
|
+
"add_initiative": "http://{{APP_DOMAIN}}/watch/add_initiative.html",
|
636
|
+
"edit_initiative": null,
|
637
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/watch/convert_initiative.html"
|
638
|
+
},
|
639
|
+
"callback_urls": {
|
640
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/watch/autocreate_initiative",
|
641
|
+
"destroy_initiative": null,
|
642
|
+
"archive_initiative": null
|
643
|
+
}
|
644
|
+
},
|
645
|
+
"options": null
|
646
|
+
}
|
647
|
+
]
|
648
|
+
},
|
649
|
+
{
|
650
|
+
"_id": "d470c10b-d4e3-42ba-8267-b327b9617070",
|
651
|
+
"_puid": "personal-emailer",
|
652
|
+
"name": "Personal Emailer",
|
653
|
+
"description": "Send personal Action Request emails to anyone in your Fanforce who has an email address.",
|
654
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
655
|
+
"config": {
|
656
|
+
"public_urls": {
|
657
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
658
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
659
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
660
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
661
|
+
},
|
662
|
+
"staffer_ui_urls": {"config": null},
|
663
|
+
"callback_urls": {
|
664
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
665
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
666
|
+
}
|
667
|
+
},
|
668
|
+
"options": null,
|
669
|
+
"environ": {
|
670
|
+
"_id": "c66b193c-c372-4da3-a775-014e403ee05d",
|
671
|
+
"status": "active",
|
672
|
+
"permissions": "ALL",
|
673
|
+
"type": "development",
|
674
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
675
|
+
"dns_host": "127.0.0.1"
|
676
|
+
},
|
677
|
+
"config_override": {},
|
678
|
+
"coms": [
|
679
|
+
{
|
680
|
+
"_id": "e5d4d1be-c0bf-4424-aa3a-71e7bb627264",
|
681
|
+
"_shortid": "launcher",
|
682
|
+
"type": "broadcaster",
|
683
|
+
"config": {
|
684
|
+
"new_button_label": "My Personal Emailer",
|
685
|
+
"targeting_capabilities": [
|
686
|
+
"list",
|
687
|
+
"single"
|
688
|
+
],
|
689
|
+
"targeting_criteria": {"communication_channels": "email"},
|
690
|
+
"staffer_ui_urls": {"new_message": "http://{{APP_DOMAIN}}/launcher/new_message.html"}
|
691
|
+
},
|
692
|
+
"options": null
|
693
|
+
}
|
694
|
+
]
|
695
|
+
},
|
696
|
+
{
|
697
|
+
"_id": "dc915204-9048-42a1-905a-3e6585617070",
|
698
|
+
"_puid": "youtube",
|
699
|
+
"name": "YouTube",
|
700
|
+
"description": "Get your fans to watch your YouTube videos and track their progress.",
|
701
|
+
"organization_id": "5110df09-af71-441b-aad1-05463317c768",
|
702
|
+
"config": {
|
703
|
+
"public_urls": {
|
704
|
+
"marketplace_img": "http://{{APP_DOMAIN}}/assets/marketplace.png",
|
705
|
+
"icon_16": "http://{{APP_DOMAIN}}/assets/icon-16.png",
|
706
|
+
"icon_32": "http://{{APP_DOMAIN}}/assets/icon-32.png",
|
707
|
+
"icon_42": "http://{{APP_DOMAIN}}/assets/icon-42.png"
|
708
|
+
},
|
709
|
+
"staffer_ui_urls": {"config": null},
|
710
|
+
"callback_urls": {
|
711
|
+
"install": "http://{{APP_DOMAIN}}/install",
|
712
|
+
"uninstall": "http://{{APP_DOMAIN}}/uninstall"
|
713
|
+
}
|
714
|
+
},
|
715
|
+
"options": null,
|
716
|
+
"environ": {
|
717
|
+
"_id": "bd3b6b1b-6649-4d29-9f6c-ab9a9f8f8631",
|
718
|
+
"status": "active",
|
719
|
+
"permissions": "ALL",
|
720
|
+
"type": "development",
|
721
|
+
"domain": "{{APP_ID}}.ffapp.gg",
|
722
|
+
"dns_host": "127.0.0.1"
|
723
|
+
},
|
724
|
+
"config_override": {},
|
725
|
+
"coms": [
|
726
|
+
{
|
727
|
+
"_id": "3756ecc4-490f-439e-b783-e72fbc6a7366",
|
728
|
+
"_shortid": "js-finder",
|
729
|
+
"type": "js_finder",
|
730
|
+
"config": {"javascript_urls": {"finder": "http://{{APP_DOMAIN}}/assets/fanforce-finder.js"}},
|
731
|
+
"options": null
|
732
|
+
},
|
733
|
+
{
|
734
|
+
"_id": "56d39b36-cd82-478d-a0ac-76af406a7377",
|
735
|
+
"_shortid": "player",
|
736
|
+
"type": "js_widget",
|
737
|
+
"config": {"template_urls": {"widget": "http://{{APP_DOMAIN}}/widget_templates"}},
|
738
|
+
"options": null
|
739
|
+
},
|
740
|
+
{
|
741
|
+
"_id": "67bb9342-2d81-4421-885b-6b8c4f626876",
|
742
|
+
"_shortid": "watch",
|
743
|
+
"type": "behavior",
|
744
|
+
"config": {
|
745
|
+
"add_button_label": "Watch YouTube",
|
746
|
+
"category_id": "watch-video",
|
747
|
+
"verbs": {
|
748
|
+
"simple": "watch",
|
749
|
+
"progressive": "watching",
|
750
|
+
"perfect": "watched"
|
751
|
+
},
|
752
|
+
"nouns": {"common": "video"},
|
753
|
+
"default_step_count": 100,
|
754
|
+
"impact_formula": [
|
755
|
+
{
|
756
|
+
"calculate_when": "progress_starts",
|
757
|
+
"add_bonusmarks": "1"
|
758
|
+
},
|
759
|
+
{
|
760
|
+
"calculate_when": "progress_advances",
|
761
|
+
"add_time_from_initiative_field": "seconds_per_progress_step",
|
762
|
+
"default_unit_of_time": "seconds"
|
763
|
+
}
|
764
|
+
],
|
765
|
+
"staffer_ui_urls": {
|
766
|
+
"add_initiative": "http://{{APP_DOMAIN}}/watch/add_initiative.html",
|
767
|
+
"edit_initiative": null,
|
768
|
+
"convert_initiative": "http://{{APP_DOMAIN}}/watch/convert_initiative.html"
|
769
|
+
},
|
770
|
+
"callback_urls": {
|
771
|
+
"autocreate_initiative": "http://{{APP_DOMAIN}}/watch/autocreate_initiative",
|
772
|
+
"destroy_initiative": null,
|
773
|
+
"archive_initiative": null
|
774
|
+
}
|
775
|
+
},
|
776
|
+
"options": null
|
777
|
+
},
|
778
|
+
{
|
779
|
+
"_id": "febbaecd-4b19-4b87-b1f9-a220556a7374",
|
780
|
+
"_shortid": "js-tracker",
|
781
|
+
"type": "js_tracker",
|
782
|
+
"config": {"javascript_urls": {"tracker": "http://{{APP_DOMAIN}}/assets/fanforce-tracker.js"}},
|
783
|
+
"options": "{}"
|
784
|
+
}
|
785
|
+
]
|
786
|
+
}
|
787
|
+
]
|