- Fineuploader Docs at: http://docs.fineuploader.com/branch/master/api/options.html
- Be aware, the Fineuploader is GPLv3 ed
- Got the CSRF knowledge from: FineUploader/fine-uploader#104
A few weeks ago I posted about a poor man's chat server I created with Hobo's Ajax features. I now had the request to improve performance, so I tried to fix it.
I pimped my old solution with a Faye messaging server: Ryan Bates created a gem and a Railscast about it.
Lets see how we update data on all connected clients but only when necessary. In conversation.dryml we subscribe to a faye server:
<%= subscribe_to "/conversations/" + this.id.to_s %>
I have got a Webshop applacation with a structure of 1700 products in 400 product categories through categorizations, and 1600 product properties in 1100 property groups and their 105 000 values.
For filtering and wanted to have a facetted search on category level on the values, like in the screenshot
in the file facets.png
In the /Gemfile
I load the Searchkick Gem:
gem "searchkick" # Elastic Search integration
This is a short recipe how to add the functionality to a Hobo powered Rails application to login via access to an email address.
I thought about security concerns regarding this.
The only drawback compared to an application that lets you change a forgotten password is that this way, you wouldn't notice if somebody logged in with the stolen login link, because there is no need for a password change.
I'm no security expert. If you are :-), feel free to add comments to this gists, that help me improve security.
This way several ruby versions can be installed individually and it's easy to switch between them.
Installing prerequesties
sudo apt-get install bash curl git-core build-essential bison openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev curl git-core libyaml-dev libxslt-dev autoconf libmysqlclient-dev libreadline5 libltdl-dev libncurses5-dev libserf1-dbg libsvn1 libtool subversion libgdbm-dev pkg-config libffi-dev@
I like the ability to have draggable and sortable lists via acts-as-list in Hobo, but I needed more:
I had a hierarchical structure, like a category tree, that needed to be sortable. I wanted a drag and drop interface. Furthermore the updates should be immediate via Ajax. Because this can take a while for huge trees, the user should be informed clearly, but unobtrusively, when update started, when update suceeded and when it failed.
I found Hobo to be compatible with the Ancestry gem and it plays nicely with Nestable.js and Messenger.js and it doesn't break the Bootstrap look and feel too much.
Hobo can even create an autocompletion for relations from the has_many side of a relation.
Started GET "/story_statuses/index2" for 127.0.0.1 at 2013-12-25 15:50:49 +0100
Processing by StoryStatusesController#index2 as HTML
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", "1"]]
DEPRECATION WARNING: Relation#all is deprecated. If you want to eager-load a relation, you can call #load (e.g. `Post.where(published: true).load`). If you want to get an array of records from a relation, you can call #to_a (e.g. `Post.where(published: true).to_a`). (called from block in dev_user_changer at /var/rails/hobo/hobo_clean/taglibs/nav.dryml:5)
User Load (0.4ms) SELECT "users".* FROM "users" LIMIT 30
StoryStatus Load (0.4ms) SELECT "story_statuses".* FROM "story_statuses" LIMIT 30 OFFSET 0
(0.2ms) SELECT COUNT(*) FROM "story_statuses"
Rendered story_statuses/index2.dryml (119.9ms)
Completed 500 Internal Server Error in 126ms