sizzlelab / asi Goto Github PK
View Code? Open in Web Editor NEWAalto Social Interface is a RESTful platform for social media applications.
Home Page: http://cos.sizl.org/
License: MIT License
Aalto Social Interface is a RESTful platform for social media applications.
Home Page: http://cos.sizl.org/
License: MIT License
When you try to update a channel's info i.e. PUT request to /channels/<channel_id>/ but instead sending a POST request with the _method=PUT hack, ASI throws this 500 error:
ActionView::MissingTemplate (Missing template channels/bkYfG20Smr35GSacyIhg8r.erb in view path app/views):
lib/render_extend.rb:15:in render' app/controllers/application_controller.rb:113:in
get_channel'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:in
run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in
start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in
start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in each' /usr/lib/ruby/1.8/webrick/server.rb:92:in
start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:in
start'
Rendering rescues/layout (internal_server_error)
However, updating with the normal PUT request works fine.
updating a collection does not seem to work. The client I use does not send PUT request and therefore I'm forced to send the PUT request as a POST request with method param set to 'PUT'=>This does not work with appdata!
When a user requests to join a group,the admin is expected to accept or reject. The PUT request gives you a "No method error"
Client model should contain contact information in order to contact the developers of a certain client. This way the developers could be contacted in case of API changes and other issues.
Person API does not allow is_association flag to be updated once it has been set.
Is this a deliberate behavior?
Is it feasible/desirable to implement some form of Cross-Origin Resource Sharing in ASI?
This would allow, e.g. javascript-only clients to be more flexible in the way that they are deployed by allowing modern user-agents to perform cross-origin requests to ASI.
Spec is here:
http://www.w3.org/TR/2010/WD-cors-20100727/
We are getting a potential UTF8 error when running rake db:migrate during ASI installation. This is the error output:
(in /opt/asi)
Warning: Error loading /opt/asi/app/models/person.rb
Warning: Error loading /opt/asi/app/models/collection.rb
Warning: Error loading /opt/asi/app/models/channel.rb
Warning: Error loading /opt/asi/app/models/message.rb
Warning: Error loading /opt/asi/app/models/group_search_handle.rb
rake aborted!
/opt/asi/app/models/user_mailer.rb:13: invalid multibyte char (US-ASCII)
/opt/asi/app/models/user_mailer.rb:13: invalid multibyte char (US-ASCII)
/opt/asi/app/models/user_mailer.rb:13: syntax error, unexpected $end, expecting keyword_end
...nt.realname || client.name}-käyttäjäksi! | Welcome to #{c...
... ^
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:380:in load' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:380:in
block in load_file'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in new_constants_in' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:379:in
load_file'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:259:in require_or_load' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:425:in
load_missing_constant'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80:in const_missing_with_dependencies' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:92:in
const_missing'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/inflector.rb:372:in const_get' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/inflector.rb:372:in
block in constantize'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/inflector.rb:371:in each' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/inflector.rb:371:in
constantize'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/core_ext/string/inflections.rb:162:in constantize' /opt/asi/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/configuration.rb:172:in
block (2 levels) in load_models'
/opt/asi/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/configuration.rb:163:in each' /opt/asi/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/configuration.rb:163:in
block in load_models'
/opt/asi/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/configuration.rb:162:in each' /opt/asi/vendor/plugins/thinking-sphinx/lib/thinking_sphinx/configuration.rb:162:in
load_models'
/opt/asi/vendor/plugins/thinking-sphinx/rails/init.rb:13:in block (2 levels) in evaluate_init_rb' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:182:in
call'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:182:in evaluate_method' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:166:in
call'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:90:in block in run' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:90:in
each'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:90:in run' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/callbacks.rb:276:in
run_callbacks'
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.2/lib/action_controller/dispatcher.rb:52:in run_prepare_callbacks' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:609:in
prepare_dispatcher'
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:183:in process' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/initializer.rb:113:in
run'
/opt/asi/config/environment.rb:23:in <top (required)>' <internal:lib/rubygems/custom_require>:29:in
require'
internal:lib/rubygems/custom_require:29:in require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in
block in require'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in new_constants_in' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in
require'
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/tasks/misc.rake:4:in block in <top (required)>' /usr/local/lib/ruby/1.9.1/rake.rb:634:in
call'
/usr/local/lib/ruby/1.9.1/rake.rb:634:in block in execute' /usr/local/lib/ruby/1.9.1/rake.rb:629:in
each'
/usr/local/lib/ruby/1.9.1/rake.rb:629:in execute' /usr/local/lib/ruby/1.9.1/rake.rb:595:in
block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in mon_synchronize' /usr/local/lib/ruby/1.9.1/rake.rb:588:in
invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:605:in block in invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake.rb:602:in
each'
/usr/local/lib/ruby/1.9.1/rake.rb:602:in invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake.rb:594:in
block in invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/monitor.rb:201:in mon_synchronize' /usr/local/lib/ruby/1.9.1/rake.rb:588:in
invoke_with_call_chain'
/usr/local/lib/ruby/1.9.1/rake.rb:581:in invoke' /usr/local/lib/ruby/1.9.1/rake.rb:2041:in
invoke_task'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in block (2 levels) in top_level' /usr/local/lib/ruby/1.9.1/rake.rb:2019:in
each'
/usr/local/lib/ruby/1.9.1/rake.rb:2019:in block in top_level' /usr/local/lib/ruby/1.9.1/rake.rb:2058:in
standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2013:in top_level' /usr/local/lib/ruby/1.9.1/rake.rb:1992:in
run'
/usr/local/bin/rake:31:in `
Not all the channels that a person has access to, but only channels that a person has subscribed to. Also could there be another channel parameter, besides channel_type, that can be added to enable filtering of channels. Say for example channel_category (that can be null).
We have many services using the same app_name (which enables us to share data across the services) and some of them use channels. So when a user fetches channels it would be nice to filter channels for the service he/she is using only. Currently we have to use another database to filter channel subscriptions and the various channel types which is not good for performance.
It appears that in Ruby 1.9 no longer comes with ftools bundled in, therefore an ASI library called backup.rake fails:
(in /opt/asi)
rake aborted!
no such file to load -- ftools
internal:lib/rubygems/custom_require:29:in require' <internal:lib/rubygems/custom_require>:29:in
require'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in block in require' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in
new_constants_in'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in require' /opt/asi/lib/tasks/backup.rake:3:in
<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:145:in load' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:145:in
block in load_with_new_constant_marking'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in new_constants_in' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:145:in
load_with_new_constant_marking'
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/tasks/rails.rb:8:in block in <top (required)>' /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/tasks/rails.rb:8:in
each'
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/tasks/rails.rb:8:in <top (required)>' <internal:lib/rubygems/custom_require>:29:in
require'
internal:lib/rubygems/custom_require:29:in require' /opt/asi/Rakefile:10:in
<top (required)>'
/usr/local/lib/ruby/1.9.1/rake.rb:2373:in load' /usr/local/lib/ruby/1.9.1/rake.rb:2373:in
raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in block in load_rakefile' /usr/local/lib/ruby/1.9.1/rake.rb:2058:in
standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in load_rakefile' /usr/local/lib/ruby/1.9.1/rake.rb:1991:in
run'
/usr/local/bin/rake:31:in `
The ASI API returns HTML when a 500 Internal Server Error is triggered.
This should be JSON so that clients can have a chance to handle the error.
Test case:
GET /people/<id with a rogue space character added>/@self
something is maybe wrong.
A group admin is incapable of neither accepting a pending membership requests nor declining the request.
Setting group[create_channel] parameter to true when POSTing to /groups does not actually create a channel.
When one sends a PUT request (or a POST with the _method=PUT hack for that matter), the app throws a 400 error code (Bad request). This may be my misunderstanding of the role attribute, or that there is actually an issue here.
Is this parameter supposed to be editable by the client application? Or can someone suggest a way to set some users as admins..?
Thanks!
The email is sent in finnish which is a problem for the non-finish speaking people. Is there a configuratio that can be changed to allow for English?
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.