Giter Site home page Giter Site logo

cardboard-admin-archive's People

Contributors

anthonylebrun avatar brandonmathis avatar elfassy avatar ethikz avatar iandonovan avatar jarrad avatar joeyjoejoejr avatar joshvc avatar jrforrest avatar jukkagrao avatar leonelgalan avatar waffle-iron avatar

Stargazers

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

Watchers

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

cardboard-admin-archive's Issues

order the resources

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

Images in wysiwyg rich editor?

In some cases (i'm looking at you blog post) it makes sense to let the use add images in a rich text editor. I think we should implement something like what refinery has:

screen shot 2013-05-04 at 1 55 53 pm
screen shot 2013-05-04 at 1 55 37 pm

Pages: A page's "Browser Title" and "Description" fields under the SEO part don't save their own values.

Reproduce:

  • Create 2 pages... Example: Create a "Welcome" page and an "About us" page.
  • Fill the "Browser Title" and "Description" fields under the SEO part on the Welcome page.
  • View the "Browser Title" and "Description" fields on the About us page. The About us page has the exact same values as what you inserted in the Welcome page.
  • Now try to change those values for the About us page to something different and save.

Result:

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.

What should happen instead?

  • A user should be able to assign unique values for each page's SEO fields.

add ability to pass collection for search

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"

rake generate command formatting issue in routes file

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

Sorting is ineficient

    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

Images broken

Specifically, they break in repeatable parts. I seem to be able to upload the image but the admin form breaks subsequently.

Extend scss

Update readme to show how to add custom css for admin section (and overwrite defaults).

Add Link modal needs love!

Basic actions:

Link to page
Link to resource
Link to external page

Maybe a tabs in the modal,
screen shot 2013-05-03 at 12 00 45 pm

The textfield on the screenshot allows relative or absolute URLS, but it will be nice to select resources instead and have http:// already there for external URLs.

Extend admin_helper

Add documentation on how to extend the admin_helper with custom helper for resources

Access other page content on current_page

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.

Underline button in Rich Editor doesn't work.

Reproduce:

  • Go to a page's Admin panel.
  • Add some content via the Rich Editor and underline a word.
  • Go to the front end to see the content inserted into the editor.

What's wrong?

  • The word that was underlined in the Admin editor isn't underlined in the fornt end view.

What should happen instead?

  • The word should be underlined.

Imagine a nicer way of showing repeatable parts!

We show them vertically now, but it's hard to tell that all parts belong to a collection. We need ideas, sketches on how to improve this!

screen shot 2013-05-13 at 3 39 24 pm

See how a second part starts at the bottom? It's not very clear that this belong together.

Seed error when editing cardboard.yml

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 over Admin pages for Developers

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.

Dashboard

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

Cardboard::SomeController should know which resource class it belongs to.

Reproduce:

  • Create a model such as: class Person < ActiveRecord::Base
  • Create a Cardboard resource: rails g cardboard:resource person
  • Go the resource view in the Admin panel and observe

What's wrong?

  • The resource has default incorrect data that cannot be overridden unless we put this at the top of the model: defaults :resource_class => Person

What should happen instead?

  • defaults :resource_class => Person shouldn't be a requirement at all.

Add image to "default" field within the cardboard.yml file

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.

site_title setting in cardboard.yml always displays the string 'Idea'

Reproduce

  • Go to cardboard.yml in the settings section and change the site_title setting to the following:
    settings:
    site_title:
    type: string
    default: Some Website
  • In your view paste the following: <%= Cardboard::Setting.site_title %>

What's wrong?

  • The site shows the string 'Idea' instead of 'Some Website' as it was specified.

What should happen instead?

  • Cardboard::Setting.site_title should display the string that was specified in the cardboard.yml file.

What's the difference between "Title" and "Browser titlebar"?

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.

Resource filters

We want to add a filters sidebar to the index page of all resources. This filters are generated based on the fields of each resource.

Help us change this:

screen shot 2013-05-03 at 11 57 06 am

To this:

screen shot 2013-05-03 at 11 57 35 am

I think we should worry about UX, before UI. All final UI will have to be approved by Bryan.

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.