GithubHelp home page GithubHelp logo

radiant / radiant-clipped-extension Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 18.0 2.81 MB

An asset manager for radiant, derived from paperclipped.

License: Other

Ruby 73.37% JavaScript 8.06% CSS 3.65% HTML 14.88% C 0.05%

radiant-clipped-extension's Introduction

Welcome to Radiant

Radiant is a no-fluff, open source content management system designed for small teams. It is similar to Textpattern or MovableType, but is a general purpose content management system (not just a blogging engine).

Build Status

Radiant features:

  • An elegant user interface
  • The ability to arrange pages in a hierarchy
  • Flexible templating with layouts, snippets, page parts, and a custom tagging language (Radius: http://radius.rubyforge.org)
  • A simple user management/permissions system
  • Support for Markdown and Textile as well as traditional HTML (it's easy to create other filters)
  • An advanced plugin system
  • Operates in two modes: dev and production depending on the URL
  • A caching system which expires pages every 5 minutes
  • Built using Ruby on Rails
  • And much more...

License

Radiant is released under the MIT license and is copyright (c) 2006-2018 John W. Long and Sean Cribbs. A copy of the MIT license can be found in the LICENSE file.

Installation and Setup

Radiant is a traditional Ruby on Rails application, meaning that you can configure and run it the way you would a normal Rails application.

See the INSTALL file for more details.

Installation of a Prerelease

As Radiant nears newer releases, you can experiment with any prerelease version.

Install the prerelease gem with the following command:

$ gem install radiant --prerelease

This will install the gem with the prerelease name, for example: ‘radiant-0.9.0.rc2’.

Upgrading an Existing Project to a newer version

  1. Update the Radiant assets from in your project:

     $ rake radiant:update
    
  2. Migrate the database:

     $ rake production db:migrate
    
  3. Restart the web server

Development Requirements

To run tests you will need to have the following gems installed:

gem install ZenTest rspec rspec-rails cucumber webrat nokogiri sqlite3-ruby

Support

The best place to get support is on the mailing list:

http://radiantcms.org/mailing-list/

Most of the development for Radiant happens on Github:

http://github.com/radiant/radiant/

The project wiki is here:

http://wiki.github.com/radiant/radiant/

Enjoy!

-- The Radiant Dev Team http://radiantcms.org

radiant-clipped-extension's People

Contributors

brianjlandau avatar bryanl avatar datenimperator avatar davec avatar gerrit avatar ihoka avatar jayroh avatar jlong avatar jomz avatar jsntv200 avatar kbingman avatar moklett avatar netzpirat avatar nuex avatar p8 avatar pelargir avatar samwhited avatar saturnflyer avatar seancribbs avatar sergiusz avatar will-r avatar

Stargazers

 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  avatar  avatar  avatar  avatar

radiant-clipped-extension's Issues

insert buttons don't work yet.

but we need to talk about that: I'm not sure it will work reliably without adopting a textarea-replacement. Shall we use the copy buttons for now? And what should they copy?

Ruby 1.9 Array.to_s needs to be replaced

'AssetTags rendering tag assets:each' FAILED
expected "<r:assets:each><r:asset:id />,/r:assets:each" to render as "3807369829803712797,2652663008051571885,", but got "["3807369829803712797,", "2652663008051571885,"]"
/Users/johannes/.rvm/gems/ruby-1.9.2-p0/bundler/gems/radiant-clipped-extension-8ad529e9af9d/spec/lib/asset_tags_spec.rb:29:in `block (3 levels) in <top (required)>'

Remove attachments?

So I know I'm waffling on this, but I'm leaning towards taking the attachments part out of this. I think we might be much better served by having a tagging system for assets.

Opinions? Thoughts?

Add Child Broken

Clicking "Add Child" is resulting in a Routing Error for me.

The culprit seems to be new_admin_page_page_attachment_url within views/admin/assets/_asset_table.html.haml.

I thought it may have been a typo at first so tested new_admin_page_attachment_url but that broke the js that actually attaches the asset.

acts_as_list and uuidtools not loading

On a fresh install of radiant rc2 in a clean rvm gemset im getting undefined method acts_as_list'when trying to edit any page anduninitialized constant Asset::UUIDTools` messages when trying to upload an asset.

Adding a require for each gets it working but I was under the impression that this was handled in the extension_config block.

Is extension_config even needed now that paperclip, uuidtools and acts_as_list are all included in the main environment.rb ?

No button/link to open assets popup

Fresh install all around. Radiant Edge (latest from git today). Latest from assets extension from here.

Everything seems to be working except that on the edit page there are no links to either open the attachment/asset modal window or anything of the sort. I can see the divs in the DOM when I peak in with firebug, I can show them by disabling display: none - but in the normal user experience there's nothing.

Here's what I see right now on a page that's been created and saved.

https://skitch.com/jayroh/r9re6/wtf-radiant-cms-publishing-for-small-teams

If there's anything else I can provide just let me know!

Missing Icon for PDFs (pdf_icon.png)?

In the admin interface, I get a lot of broken images for PDF icons. The app tries to load
images/admin/assets/pdf_icon.png but that file doesn't exist. Is that intentional?

asset attribute calculations fail

On a clean install I receive failures that require some dependency.
I think we should fail more elegantly by just outputting the file at the normal size (leaving a warning message in the log or something) or complain loudly when the gem is installed and the dependencies are not present.

Here's the errors I get:

'AssetTags rendering tag asset:top_padding' FAILED
expected "<r:assets:first><r:asset:top_padding container="500" />/r:assets:first" to render, but an exception was thrown undefined method `height' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:68:

'AssetTags rendering tag asset:top_padding for a specified style' FAILED
expected "<r:assets:first><r:asset:top_padding container="500" size="thumbnail" />/r:assets:first" to render, but an exception was thrown undefined method `height' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:72:

'AssetTags rendering tag asset:width' FAILED
expected "<r:assets:first><r:asset:width size="icon" />/r:assets:first" to render, but an exception was thrown undefined method `width' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:77:

'AssetTags rendering tag asset:height' FAILED
expected "<r:assets:first><r:asset:height size="icon" />/r:assets:first" to render, but an exception was thrown undefined method `height' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:82:

'AssetTags rendering tag asset:orientation' FAILED
expected "<r:assets:first><r:asset:orientation size="icon" />/r:assets:first" to render, but an exception was thrown undefined method `aspect' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:87:

'AssetTags rendering tag asset:aspect' FAILED
expected "<r:assets:first><r:asset:aspect size="icon" />/r:assets:first" to render, but an exception was thrown undefined method `aspect' for nil:NilClass
/Users/jim/Developer/.rvm/gems/ree-1.8.7-2011.03@radiantfresh/gems/radiant-clipped-extension-1.0.4/spec/lib/asset_tags_spec.rb:92:

Finished in 2.965443 seconds

107 examples, 6 failures

JS Drag Reorder

Any plans to add drag/drop ordering for the attached assets ? Or will we just have to attach in the correct order ?

PostgreSQL Error

Decided to test a deployment on Heroku. Beside issues with Compass and the read only filesystem the other main issue is a PostgreSQL error, here's the relevant query from the console :

Page.find_by_url('/').assets

ActiveRecord::StatementInvalid: PGError: ERROR:  for SELECT DISTINCT, ORDER BY expressions must appear in select list
: SELECT DISTINCT "assets".* FROM "assets"  INNER JOIN "page_attachments" ON "assets".id = "page_attachments".asset_id    WHERE (("page_attachments".page_id = 1))  ORDER BY page_attachments.position ASC, created_at DESC

`actions_header' default partial not found!`actions_cell' default partial not found!

I've upgraded a 0.9.1 app that used the paperclipped extension to 1.0-rc4 (by removing the paperclipped extension and using the new clipped gem).

When opening /admin/assets I get a text block between the search bar and the "Asset | Type" table header that reads this:

`actions_header' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!`actions_cell' default partial not found!

I wonder why that happens and what it means. I'm using Ruby 1.9.2.

inline uploads in IE7

Some JS hackery is required to get IE7 to name the newly-created iframe so that it can be used to catch file uploads when editing a page.

undefined method dimensions_known?

<r:assets:each limit='1'>
  <img src="<r:url size='large'/>"
    width="<r:width size='large'/>"
    height="<r:height size='large'/>"
    alt="<r:caption/>">
</r:assets:each>

in the width and height attributes i get "undefined method dimensions_known?..."

ffmpeg frame grabs get the wrong mime type

if you upload video.mp4 (i guess any recognized video type would have the same issue) the generated screen grab has it's mime-type set to video/mp4 which confuses browsers into either trying to play the jpg or prompting you to download it.

Inserting asset into a page part with spaces in the title (assets.js)

To recreate:

1 - make a new page part called "my pagepart"
2 - try to insert at cursor.

It will error out because it can't find

$('part_my pagepart_content');  // $('part_' + part_name + '_content');

To fix:

~ line 92 of assets.js:

var part_name = TabControlBehavior.instances[0].controller.selected.caption;
if(part_name.indexOf(' ')){ part_name = part_name.replace(' ', '-'); }

undefined method `get_dimensions' for #<Asset:0x5b9b900>

Uploading an asset always returns this error for me:
undefined method `get_dimensions' for #Asset:0x5b9b900

I can't find this method anywhere, so I suppose it should come from paperclip? I have vendored the extension to implement a new feature, so I commented out config.gem 'radiant-clipped-extension', and added these requirements:

config.gem 'paperclip', :version => '> 2.3.11'
config.gem 'acts_as_list', :version => "
> 0.1.2"
config.gem 'uuidtools', :version => "~> 2.1.2"

I also tried putting that in to 'extension_config do |config|' block in clipped_extension.rb (that still requires paperclip ~> 2.3), to no avail.

If I comment out the after_post_process line, I run into a new issue; undefined method 'from' for AssetType.
Changing line #64 to 'AssetType.for(asset)' fixes that.. and then everything seems to work as it should.

What's causing these errors? Am I missing something?

Custom page class

Extension does not work properly with custom pages (ArchivePage for ex.) I can't reorder and delete assets. Only attach.

Radiant rc2

Uploading assets to a newly created page fails

When on a new page form and trying to upload attachments it seems to work initially, but then the upload fails with status 500 and the following exception (using postgresql):

An exception occurred:

EXCEPTION:
ActiveRecord::StatementInvalid in assets#create

ERROR:
PGError: ERROR:  invalid input syntax for integer: ""
LINE 1: SELECT * FROM "pages" WHERE ("pages"."id" = '')  LIMIT 1
                                                    ^
: SELECT * FROM "pages" WHERE ("pages"."id" = '')  LIMIT 1

Asset is saved in S3 under a local filesystem path

When using fog as storage, the asset is saved in the S3 bucket under an absolute fileystem path, e.g. in /Users/gerrit/Development/project/public/system/assets/8/original
That leads to broken images everywhere, apart from the fact that it’s not portable across different systems.

load error

Getting this with latest updates

avonderluft@altair % rake db:migrate:extensions --trace
(in /Users/avonderluft/dev/dev.rad10.*****)
Could not load extension from file: assets_extension.
#<NameError: uninitialized constant UrlAdditions::Paperclip>

Migrating from paperclipped extension?

On 0.9 I used the paperclipped ext, now I'm in the process of moving to 1.0 and I've ditched paperclipped for clipped.

So far, my assets on disk are in the form of .../890/someimage_normal.jpg someimage_thumbnail.png someimage_icon.png

I've run the clipped migrations and also made sure that ImageMagick's identify command can be run.

In the admin interface, I can upload assets and edit them, but only the original sized images work: Neither the icons nor the thumbnails work. Is there a migration process or something that I'm missing?

rake db:migrate:extensions failing

Not sure if this is a clipped issue or the db:migrate:extensions task, but while trying to upgrade an app that previously used paperclip its failing on the rake db:migrate:extensions task due to the assets table already existing.

SQLite3::SQLException: table "assets" already exists: CREATE TABLE "assets" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "caption" varchar(255), "title" varchar(255)) 

Also on a side note the paperclipped assets table has one extra column upload_token that may need a migration task to drop.

Instead of using the "title" attribute to look up an asset use "name"

I'd recommend that we change the asset tags to lookup based on "name" not "title". I'd like to begin thinking of "title" as the alt text for an image or the proper name for a link to an asset. As such "name" (referring to the filename of the asset) seems like a much better attribute to look up on.

Undefined method `pagination_control'

<r:assets:each:image /> 

Results in a No Method error :

NoMethodError (undefined method `pagination_control' for #<Page:0x105a11d40>)
vendor/radiant/vendor/extensions/assets/app/models/asset_tags.rb:54:in `tag:asset_list'

r:asset tag is broken in lib/asset_tags.rb (proposed fix)

when using <r:asset [name,id]="foo">bar/r:asset, there is breakage

This is fixed for me with the following modification to line 17 in lib/asset_tags.rb

    16:  tag 'asset' do |tag|
    17:    tag.locals.asset = find_asset unless tag.attr.empty?

to

16:  tag 'asset' do |tag|
17:    tag.locals.asset, options = asset_and_options(tag) unless tag.attr.empty?

... At least for me. I don't have a firm enough grasp on the code to know if there are any negatives to this fix.

Insert assets with title instead of id

Every time I insert an asset I use the title. The titles rarely change if ever and the id is completely arbitrary and unhelpful information.

Instead of inserting

<r:assets:image id="123" />

it should be

<r:assets:image title="my-awesome-image" />

Asset manager stores <filename>_normal.jpg for <filename>.png when a PNG is uploaded.

When you upload a PNG file into the asset manager, it generates a JPG file named _normal.jpg instead of _normal.png. The _icon.png and _thumbnail.png files are fine. Anywhere the _normal.jpg is used looks funny of course, if there is any alpha-transparency going on in the PNG.

I did some poking around and found this which looked like it might be relevant, based on the fact that "normal" is part of the additional_thumbnails definition and the hard-coded :jpg symbol:

#asset_type.rb, line 94
def configured_styles
  Radiant::config["assets.additional_thumbnails"].to_s.gsub(' ','').split(',').collect{|s| s.split('=')}.inject({}) {|ha, (k, v)| ha[k.to_sym] = [v, :jpg]; ha}
end

.original extension

With a default install the config :

thumbs.define 'image', :default => 'normal:size=640x640>,format=original|small:size=320x320>,format=original'

produces files with the wrong extension, comes out along the lines of filename_normal.original.

Im assuming that format=original should check what the original's extension is and create thumbnail based on that. Setting my own thumb sizes without format=original fixes the problem.

Ruby 1.9 undefined method x for nil:NilClass

'AssetTags rendering tag asset:top_padding' FAILED
expected "<r:assets:first><r:asset:top_padding container="500" />/r:assets:first" to render, but an exception was thrown undefined method height' for nil:NilClass /Users/johannes/.rvm/gems/ruby-1.9.2-p0/bundler/gems/radiant-clipped-extension-8ad529e9af9d/spec/lib/asset_tags_spec.rb:68:inblock (3 levels) in <top (required)>'

Same for width, height, orientation, aspect

Allow uploading of any asset, regardless of mime-type

I get an error when uploading a font file:

"Asset content type is not one of image/jpeg, image/pjpeg, image/gif, image/png, image/x-png, image/jpg, video/x-m4v, video/quicktime, application/x-shockwave-flash, audio/mpeg, video/mpeg"

Allow any type of asset.

No PDF icon

There's currently no PDF icon (pdf_icon.png). Should icon be set to document instead of pdf when creating the AssetType ?

Gracefully rescue from failed connections to storage service

Here's an error I saw when a request failed

Excon::Errors::BadRequest (Expected(200) <=> Actual(400 Bad Request)
  request => {:mock=>false, :path=>"/assets%2F69%2Fproperty_taxes_feature_header_original.png", :connect_timeout=>60, :expects=>200, :retry_limit=>4, :headers=>{"Authorization"=>"AWS AKIAJ3TONNGBUNLA2YXQ:GW6O4BrXXQFNHnArZk+L8DZeoO0=", "x-amz-acl"=>"public-read", "Date"=>"Tue, 24 Apr 2012 16:28:22 +0000", "Content-Type"=>"image/png", "Content-Length"=>17508, "Host"=>"lifetuner.s3.amazonaws.com:443"}, :host=>"lifetuner.s3.amazonaws.com", :method=>"PUT", :read_timeout=>60, :idempotent=>true, :write_timeout=>60, :query=>nil, :ssl_verify_peer=>true, :scheme=>"https", :port=>"443", :body=>#<File:/var/folders/0k/blpfmnws42915n7wb2wdlj4w0000gn/T/stream20120424-35087-cel0w4-0.png>, :instrumentor_name=>"excon"}
  response => #<Excon::Response:0x139dbe1d0 @status=400, @body="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>RequestTimeout</Code><Message>Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.</Message><RequestId>715E04938DB89DE4</RequestId><HostId>F6jEZvejFEmHysNDZbIKKm7V5u7yWyc7UmD3eHAry7WRZQThsB7xJ1Vdx6cVKDnt</HostId></Error>", @headers={"x-amz-id-2"=>"F6jEZvejFEmHysNDZbIKKm7V5u7yWyc7UmD3eHAry7WRZQThsB7xJ1Vdx6cVKDnt", "Transfer-Encoding"=>"chunked", "Date"=>"Tue, 24 Apr 2012 16:30:18 GMT", "Content-Type"=>"application/xml", "x-amz-request-id"=>"715E04938DB89DE4", "Server"=>"AmazonS3", "nnCoection"=>"close"}>):
  excon (0.9.6) lib/excon/connection.rb:229:in `request_kernel'
  excon (0.9.6) lib/excon/connection.rb:86:in `request'
  fog (1.1.2) lib/fog/core/connection.rb:20:in `request'
  fog (1.1.2) lib/fog/aws/storage.rb:381:in `request'
  fog (1.1.2) lib/fog/aws/requests/storage/put_object.rb:43:in `put_object'
  fog (1.1.2) lib/fog/aws/models/storage/file.rb:119:in `save'
  fog (1.1.2) lib/fog/core/collection.rb:50:in `create'
  paperclip (2.5.2) lib/paperclip/storage/fog.rb:82:in `flush_writes'
  paperclip (2.5.2) lib/paperclip/storage/fog.rb:78:in `each'
  paperclip (2.5.2) lib/paperclip/storage/fog.rb:78:in `flush_writes'
  paperclip (2.5.2) lib/paperclip/attachment.rb:214:in `save'
  paperclip (2.5.2) lib/paperclip.rb:467:in `send'
  paperclip (2.5.2) lib/paperclip.rb:467:in `save_attached_files'
  paperclip (2.5.2) lib/paperclip.rb:460:in `each_attachment'
  paperclip (2.5.2) lib/paperclip.rb:459:in `each'
  paperclip (2.5.2) lib/paperclip.rb:459:in `each_attachment'
  paperclip (2.5.2) lib/paperclip.rb:466:in `save_attached_files'
  /opt/Developer/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/after_commit-1.0.10/lib/after_commit/connection_adapters.rb:14:in `transaction'
  /opt/Developer/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/radiant-clipped-extension-1.0.17/app/controllers/admin/assets_controller.rb:30:in `create'
  /opt/Developer/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/radiant-clipped-extension-1.0.17/app/controllers/admin/assets_controller.rb:29:in `each'
  /opt/Developer/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/radiant-clipped-extension-1.0.17/app/controllers/admin/assets_controller.rb:29:in `create'
  compass (0.11.7) lib/compass/app_integration/rails/actionpack2/action_controller.rb:7:in `process'
  sass (3.1.15) rails/./lib/sass/plugin/rack.rb:54:in `call'
  airbrake (3.0.9) lib/airbrake/rack.rb:27:in `call'
  airbrake (3.0.9) lib/airbrake/user_informer.rb:12:in `call'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/utils.rb:479:in `safe_fork'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:180:in `start'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  /Users/jim/.passenger/standalone/3.0.11-x86_64-ruby1.8.7-macosx-10.7/support/helper-scripts/passenger-spawn-server:99

configuration interface

A good form is needed to configure asset thumbnail styles and dimensions. It will have to be scripted to capture the range of possibilities, and it will probably need a dedicated controller method to trigger the right regeneration of thumbnails.

assets link in edit page toolbar

do we really need two assets links? the one in the toolbar feels like it was just slapped on compared to the one below the textarea so i'll vote to remove it from the toolbar. (if nobody else wants to whittle it down to just one) what is the reason to have it in both places? no other part of the page edit interface is duplicated so it doesn't feel radiantish to me.

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.