smashingboxes / cardboard-admin-archive Goto Github PK
View Code? Open in Web Editor NEWRails 4 CMS
Home Page: http://smashingboxes.com
License: Other
Rails 4 CMS
Home Page: http://smashingboxes.com
License: Other
really low priority. Have no clue why it's doing this.
on a side note, now seeding cardboard does not use the default rake db:seed
but rather rake cardboard:seed
smashingboxes/cardboard@23f1370
The rich content boxes are nice however they are a bit difficult to work with if there is alot of content because they arent expandable. the rich content boxes used on airport shuttles was very nice even the ones on wordpress.
Not a priority
Jay requested a new feature I just wanted to run it through you before implementing it. Being able to set the order the resources are shown on the cardboard panel. I thought it could be another entry on cardboard.yml. Resources that match will be sort in that order and all others will be put at the end. I was thinking something like:
resources:
order:
- pianos
- dogs
- countries
The SEO fields on the "About us" page didn't save, and it seems that they always inherit the parent's values for those fields.
Google has ignored the keywords meta tag for years, and they have zero effect on rankings. So they are not needed as an option for pages.
[source]
http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html
All this authorization/authentication talks we've been having remind me we need this :if option in the menu method:
http://stackoverflow.com/a/9673034/637094
# ...
menu :if => proc{ !current_user.is_admin? },
:label => 'My Store'
# ...
So Cardboard can accommodate n roles easily.
Using "sqlite3" will make it easier for developers that want to collaborate, other gems (e.g. devise
) use it.
Something like these:
:field_name, :as => :select, :collection => {'Gray' => 0, 'Red' => 1, 'Yellow' => 2, 'Green' => 3}
:field_name, as: :select, collection: (QuarterlyReport.order("year DESC").uniq.pluck(:year) rescue []), label: "Year"
rails g cardboard:install
generates the following error
/Users/plebrun/smashingboxes/projected/config/routes.rb:3: syntax error, unexpected tIDENTIFIER, expecting keyword_end (SyntaxError) mount Cardboard::Engine => "/cardboard" devise_for :admin_users
Auto expand rich text editors to see everything that is typed. Another option would be to add a full screen mode.
i messed up a page section in my yml file and needed to delete it. when removing it from my yml file and running rake db:migrate then going to the cardboard dashboard the page is still listed.
def sort
params[:pages].each_with_index do |id, index|
Page.find(id).update_attribute(:position_position, index + 1)
end
render nothing: true
end
what wat? Please use ranked-model super awsomeness
related to eval/rack-pjax#22
can't login with firefox!
Specifically, they break in repeatable parts. I seem to be able to upload the image but the admin form breaks subsequently.
let the main app allow which users can see the admin section, edit other users...
would be nice to have filter which lets you search on other related models
coffee-rails seems to be missing as a dependency of cardboard.
Update readme to show how to add custom css for admin section (and overwrite defaults).
Add documentation on how to extend the admin_helper with custom helper for resources
pages:
about_us:
parts:
initiatives:
page_slug: string
repeatable: true
We have a list of page titles and extracts on one page with a link to those respective pages. It would be nice to have some kind of helper to do Page.find(:page_slug) to access parts and fields of other pages.
The user should not have to reselect an image if there was an validation error
Error
ActionController::UrlGenerationError: No route matches {:action=>"show", :controller=>"cardboard/foo"} missing required keys: [:id]
Example, for a resource named Foo, cardboard_#{controller.controller_name}_path
becomes cardboard_foo_path
but the generated route is cardboard_foo_index
See: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html
code from trace
alma_cardboard|โ rake db:seed --trace
** Invoke db:seed (first_time)
** Invoke cardboard_seed (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute cardboard_seed
rake aborted!
couldn't find file /Users/kennethnicholson/Desktop/alma_cardboard/public/system/dragonfly/development/2013/05/07/09_42_13_254_1180x500.gif
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/data_storage/file_data_store.rb:43:in `retrieve'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/job.rb:65:in `apply'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/job.rb:268:in `block in apply'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/job.rb:268:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/job.rb:268:in `apply'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/job.rb:207:in `format'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/active_model_extensions/attachment_class_methods.rb:69:in `block in init'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/dragonfly-0.9.15/lib/dragonfly/active_model_extensions/validations.rb:9:in `validate_each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validator.rb:153:in `block in validate'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validator.rb:150:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validator.rb:150:in `validate'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:310:in `_callback_before_163'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:440:in `_run__838362312783561543__validate__2533271052874397560__callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:405:in `__run_callback'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:385:in `_run_validate_callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:81:in `run_callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validations.rb:228:in `run_validations!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validations/callbacks.rb:53:in `block in run_validations!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:403:in `_run__838362312783561543__validation__2533271052874397560__callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:405:in `__run_callback'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:385:in `_run_validation_callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/callbacks.rb:81:in `run_callbacks'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validations/callbacks.rb:53:in `run_validations!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activemodel-3.2.12/lib/active_model/validations.rb:195:in `valid?'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/validations.rb:69:in `valid?'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/validations.rb:77:in `perform_validations'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/validations.rb:56:in `save!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/attribute_methods/dirty.rb:33:in `save!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:264:in `block in save!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:208:in `transaction'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:264:in `save!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/persistence.rb:228:in `block in update_attributes!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:208:in `transaction'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/persistence.rb:226:in `update_attributes!'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:35:in `block (5 levels) in <top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:31:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:31:in `block (4 levels) in <top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/associations/collection_proxy.rb:89:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.12/lib/active_record/associations/collection_proxy.rb:89:in `method_missing'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:28:in `block (3 levels) in <top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:22:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:22:in `block (2 levels) in <top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:17:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bundler/gems/cardboard-960b0cd0ce89/lib/tasks/cardboard_tasks.rake:17:in `block in <top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:246:in `call'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:241:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:241:in `execute'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain'
/Users/kennethnicholson/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:205:in `block in invoke_prerequisites'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:203:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:203:in `invoke_prerequisites'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:183:in `block in invoke_with_call_chain'
/Users/kennethnicholson/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:101:in `each'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bin/rake:23:in `load'
/Users/kennethnicholson/.rvm/gems/ruby-1.9.3-p194/bin/rake:23:in `<main>'
Tasks: TOP => db:seed => cardboard_seed
More control is needed over Admin pages for Developers building an app with Cardboard. Right now a Developer can only specify the "types" that are provided by Cardboard and that's it... that's the only control a developer has over Admin pages.
Developers should be able to add more things (dynamic widgets, static content, connect resources, etc.) to each page's admin panel that are unrelated to the Cardboard "types" and are more related to a customer's specific business and logic.
For example I have a Person
model for a Cardboard resource of people
, and I want to display these people in my "About us" page on the front end. Right now I can do this and that's fine. But what if I need to pull the same resource in the admin section for the "About us" page so my customer can control which people will display in that page? Right now this is not possible.
I am only showing a simple example here, but you can imagine that customers may have very broad or specific business needs for each page. How is Cardboard allowing Developers to extend each Admin Page's logic and View?
Perhaps this is already taken into account, but I'm opening this issue since there aren't any docs on how to extend the Admin pages themselves.
page views: We could implement our own page views count, or simply hook up to google analytics api (but there's a max).
We should probably design some widgets (number, gage...) that can be used on the dashboard.
2457 VISITS Today
3240 USERS February 2013
322 ORDERS This week
$2,340 SALES
class Person < ActiveRecord::Base
rails g cardboard:resource person
defaults :resource_class => Person
defaults :resource_class => Person
shouldn't be a requirement at all.So we can have default text for a field within a carboard.yml file but what if we want to set a default image? that would make it convenient to show clients what a site might look like with content but not actually adding any content to the database.
cardboard.yml
in the settings section and change the site_title setting to the following:settings:
site_title:
type: string
default: Some Website
<%= Cardboard::Setting.site_title %>
Cardboard::Setting.site_title
should display the string that was specified in the cardboard.yml
file.when setting text as a header in the rich text box, it outputs to that tag but wrapped in quotes making it a string.
Most likely users would not know what "Browser titlebar" refers to. As a user I just want to add my Page's title and its description. "Browser titlebar" means nothing to the user.
"Browser titlebar" should be created automatically based on some other input(s), or it could be a config property in the cardboard.yml
file that doesn't actually show in the page's admin panel.
needs some css
something like
http://detail.herokuapp.com/signin.html
Need to describe an ability to manage cardboard styles from top application.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.