These are chat archives for locomotivecms/v3

6th
Mar 2015
Niklas Karoly
@nik736
Mar 06 2015 10:32
Hi guys, I tried to install Loco v3 (git) on a fresh VPS and got some error: ...gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- Locomotive (LoadError)...
any idea? I googled an another guy had the same error
Didier Lafforgue
@did
Mar 06 2015 10:33
hi @Nik736 !
Niklas Karoly
@nik736
Mar 06 2015 10:33
Hi did
but I dont udnerstand what custom_fields would change and how it should work
Didier Lafforgue
@did
Mar 06 2015 10:34
hold on (phone call)
Niklas Karoly
@nik736
Mar 06 2015 10:42
sure, thanks
Didier Lafforgue
@did
Mar 06 2015 10:42
back
Niklas Karoly
@nik736
Mar 06 2015 10:42
wb :)
Didier Lafforgue
@did
Mar 06 2015 10:42
so :-)
Niklas Karoly
@nik736
Mar 06 2015 10:42
I am not even sure if my Gemfile is correct for v3: gem 'locomotive_cms', :git => 'https://github.com/locomotivecms/engine.git', :require => 'locomotive/engine'
I tried to remove the require but that doesnt help
Didier Lafforgue
@did
Mar 06 2015 10:43
hmmm
I think you should specify a ref
like this:
gem 'custom_fields', github: 'locomotivecms/custom_fields', ref: '15cceb66ed'
let me see what is the reference matching the last version of the engine
cd433114a79fb27285a65940334162304352be27
Niklas Karoly
@nik736
Mar 06 2015 10:44
ok, thanks, lets try that, sec
Didier Lafforgue
@did
Mar 06 2015 10:45
generally speaking, perhaps I’m wrong, but what I observed is that if you don’t specify the “ref” options, it may happen that it does not fetch the last commit but use one in the local cache.
Niklas Karoly
@nik736
Mar 06 2015 10:51
hmm, sadly it’s the same error :/
Didier Lafforgue
@did
Mar 06 2015 10:52
what does the Gemfile of your app look like?
Niklas Karoly
@nik736
Mar 06 2015 10:53

gem 'rails', '4.2.0'

gem 'locomotive_cms', github: 'locomotivecms/engine', ref: 'cd433114a79fb27285a65940334162304352be27'
gem 'custom_fields', github: 'locomotivecms/custom_fields', ref: '15cceb66ed'

but I tried different things
I was wondering where you got the ref for custom_fields from?
(latest commit)
Niklas Karoly
@nik736
Mar 06 2015 10:54
ahh Ive overseen the mongoid_4 :P
Didier Lafforgue
@did
Mar 06 2015 10:55
:-)
wait
gem 'locomotive_cms', github: 'locomotivecms/engine', ref: 'cd433114a79fb27285a65940334162304352be27', require: 'locomotive/engine'
please, add the require option at the end
Niklas Karoly
@nik736
Mar 06 2015 10:57
ye, that’s what I did the first time
its the same error ^_^
Didier Lafforgue
@did
Mar 06 2015 10:57
hmmm
let me try locally
Niklas Karoly
@nik736
Mar 06 2015 10:57
ok, thanks
Didier Lafforgue
@did
Mar 06 2015 11:06
alright, I succesfully ran a local install of the v3
rails new foo --skip-active-record --skip-test-unit --skip-javascript --skip-bundle
my Gemfile
source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

gem 'custom_fields', github: 'locomotivecms/custom_fields', ref: '15cceb66ed'
gem 'locomotive_cms', github: 'locomotivecms/engine', ref: 'cd433114a79fb27285a65940334162304352be27', require: 'locomotive/engine'

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'

  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end
then
bundle 
bundle exec rails g locomotive:install
the mongoid.yml does not look good (that will have to be changed in the engine repo)
take this file instead
development:
  # Configure available database sessions. (required)
  sessions:
    # Defines the default session. (required)
    default:
      # Defines the name of the default database that Mongoid can connect to.
      # (required).
      database: locomotive_engine_foo_dev
      # database: locomotive_engine_v3_dev
      # database: locomotive_mounter_dev
      # Provides the hosts the default session can connect to. Must be an array
      # of host:port pairs. (required)
      hosts:
        - localhost:27017
      options:
        # Change whether the session persists in safe mode by default.
        # (default: false)
        # safe: false

        # Change the default consistency model to :eventual or :strong.
        # :eventual will send reads to secondaries, :strong sends everything
        # to master. (default: :eventual)
        # consistency: :strong
  # Configure Mongoid specific options. (optional)
  options:
    # Configuration for whether or not to allow access to fields that do
    # not have a field definition on the model. (default: true)
    # allow_dynamic_fields: true

    # Enable the identity map, needed for eager loading. (default: false)
    # identity_map_enabled: true

    # Includes the root model name in json serialization. (default: false)
    # include_root_in_json: false

    # Include the _type field in serializaion. (default: false)
    # include_type_for_serialization: false

    # Preload all models in development, needed when models use
    # inheritance. (default: false)
    # preload_models: false

    # Protect id and type from mass assignment. (default: true)
    # protect_sensitive_fields: true

    # Raise an error when performing a #find and the document is not found.
    # (default: true)
    # raise_not_found_error: true

    # Raise an error when defining a scope with the same name as an
    # existing method. (default: false)
    # scope_overwrite_exception: false

    # Skip the database version check, used when connecting to a db without
    # admin access. (default: false)
    # skip_version_check: false

    # User Active Support's time zone in conversions. (default: true)
    # use_activesupport_time_zone: true

    # Ensure all times are UTC in the app side. (default: false)
    # use_utc: false

test:
  sessions:
    default:
      database: locomotive_engine_test
      hosts:
        - localhost:27017
      options:
        # consistency: :strong
        # identity_map_enabled: true

production:
  sessions:
    default:
      database: locomotive_engine_production
      hosts:
        - localhost:27017
      options:
        # consistency: :strong
        # identity_map_enabled: true
finally
bundle exec rails s
and
open localhost:3000/locomotive
Niklas Karoly
@nik736
Mar 06 2015 11:17
oh wow, thanks for the detailed answer!! I will try it now
Didier Lafforgue
@did
Mar 06 2015 11:17
hope it will work this time!
itmilos
@itmilos
Mar 06 2015 11:29
can I use lcomotive
for highly functional site
Didier Lafforgue
@did
Mar 06 2015 11:30
hi @MilosRujevic
itmilos
@itmilos
Mar 06 2015 11:30
for example
TaskRabbit clone
Didier Lafforgue
@did
Mar 06 2015 11:30
the new version v3 is not stable enough to be used in production
let me see what TaskRabbit is
small job platform
Didier Lafforgue
@did
Mar 06 2015 11:32
hmm, I imagine you could build a simple clone of taskrabbit but I won’t recommend it. Locomotive is not a framework to build applications with functional logic.
itmilos
@itmilos
Mar 06 2015 11:33
ok I will use Rails
Didier Lafforgue
@did
Mar 06 2015 11:33
that’s a good choice :-)
itmilos
@itmilos
Mar 06 2015 11:33
so you would recommend locomotive only for multi lingual website
blogs etc
?
Didier Lafforgue
@did
Mar 06 2015 11:34
mostly for public sites (corporates websites, blogs, …etc)
see Locomotive as a publishing sites platform
Locomotive is a tool for web agencies creating sites on a daily basis
or marketing agencies
Nataniel Pedersen
@frisksitron
Mar 06 2015 11:37
is the current master branch stable enough to run a production website?
Didier Lafforgue
@did
Mar 06 2015 11:38
nope
Nataniel Pedersen
@frisksitron
Mar 06 2015 11:38
Looks aweosme tho, good job so far!
Didier Lafforgue
@did
Mar 06 2015 11:38
thanks!
my main job right now is to plug Steam (the site rendering component) into the Engine
Steam is persistence-agnostic meaning that right now, it renders site from a MongoDB instance or the Filesystem (Wagon-like)
Nataniel Pedersen
@frisksitron
Mar 06 2015 11:40
A-ha
Didier Lafforgue
@did
Mar 06 2015 11:40
perhaps, in a close future, we could have a Postgresql adapter for Steam…. ;-)
Nataniel Pedersen
@frisksitron
Mar 06 2015 11:41
So for the devs using Locomotive, they will need only Steam and Wagon?
Didier Lafforgue
@did
Mar 06 2015 11:41
Engine and Wagon will embed Steam
Engine is mainly for the back-office + API
it also includes Steam but, in a more complex architecture, you could remove the Steam component from the Engine.
In that context, you will need servers running only Steam
Nataniel Pedersen
@frisksitron
Mar 06 2015 11:43
Ok I see, very interesting
Didier Lafforgue
@did
Mar 06 2015 11:44
what we observed from our experience with the hosting platform is that most of the traffic is for rendering sites (which is totally obvious), not for editing sites.
(except when you deploy a site with the API)
so no need to have a full locomotive stack (back-office + API + rendering) on servers
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 11:45
hi, salut
Didier Lafforgue
@did
Mar 06 2015 11:46
hi Mohamed!
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 11:54
you will be interested in frondend framework like angular, ember, aurelia? What a 10% exactly to develop (the issues)?
Didier Lafforgue
@did
Mar 06 2015 11:55
good question about the frontend frameworks. are you thinking about using one of them for the back-office of Locomotive or to build Locomotive sites with them?
concerning the 10% to develop is mostly to implement the page editing in the back-office
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 11:56
for the back-office of locomotive
Didier Lafforgue
@did
Mar 06 2015 11:57
that’s a hot topic these days for me. I read some feedbacks about angular and ember.
Alexander Ulitin
@ulitiy
Mar 06 2015 11:57
frontend frameworks more suit for the back office. Made some event booking and gift card management within locomotive using angular.
Didier Lafforgue
@did
Mar 06 2015 11:57
interesting
I really like reactjs
oddly, in v3, I removed a lot of javascript code (backbone), trying to rely on Rails as much as possible (alright, I tend to follow what DHH says ;-))
Alexander Ulitin
@ulitiy
Mar 06 2015 11:59
I've also interested which to use - react, angular, ember. But decided to use angular, less verbose, clean architecture, seamless integration.
Niklas Karoly
@nik736
Mar 06 2015 11:59
batman was cool, but sadly shopify isnt maintaining it anymore
Didier Lafforgue
@did
Mar 06 2015 12:00
if we had more frontend people as contributors, I would be more confident to build a back-office with a frontend technology.
Nataniel Pedersen
@frisksitron
Mar 06 2015 12:00
hint hint
but
This is huge project and it will make a lot of webdevs (and their clients) happy. You are doing a lot of the heavy lifting and how do you plan to earn enough to actively develop and improve Loco?
Alexander Ulitin
@ulitiy
Mar 06 2015 12:02
yes, that's the main concern for me also
Didier Lafforgue
@did
Mar 06 2015 12:02
we already earn money from Locomotive
Niklas Karoly
@nik736
Mar 06 2015 12:02
did btw, I got it working. I made a mistakes requiring the things in the application.rb. THX for your help
Didier Lafforgue
@did
Mar 06 2015 12:02
with the hosting solution + consulting / dev for Locomotive sites (see us as a small web agency)
(@Nik736 you’re welcome :-))
that being said, that does not enough to be full time on Locomotive
Alexander Ulitin
@ulitiy
Mar 06 2015 12:03
I would be glad to help, but in Russia it's hard to survive nowadays))
Didier Lafforgue
@did
Mar 06 2015 12:03
that’s why I’m doing this huge refactoring to simplify the maintenance of Locomotive
Nataniel Pedersen
@frisksitron
Mar 06 2015 12:05
Ok so you are follow kind of that same model as Zurb with Foundation?
Didier Lafforgue
@did
Mar 06 2015 12:05
@ulitiy not the best time for Russian people
well, we are kinda forced to be a web agency which is not a bad thing since we use our own products (and so we can see what’s wrong and what can be improved).
Alexander Ulitin
@ulitiy
Mar 06 2015 12:06
Starting to work internationally, hope this will help. And really love this CMS, 10+ websites/landings made in our webstudio.
Nataniel Pedersen
@frisksitron
Mar 06 2015 12:06
Awesome, thanks for your time :D
Didier Lafforgue
@did
Mar 06 2015 12:07
my pleasure @frisksitron
we accept any help
and this is for the best of Locomotive. It became too big to maintain for a single developer.
Alexander Ulitin
@ulitiy
Mar 06 2015 12:11
@did do you want to replace backbone?
for back office
Didier Lafforgue
@did
Mar 06 2015 12:12
not in that version
"baby” steps first ;-)
Alexander Ulitin
@ulitiy
Mar 06 2015 12:13
Didier Lafforgue
@did
Mar 06 2015 12:13
Maik Kempe, a German developer, was working of a emberJS POC for the back-office. I need to contact him to see how it went.
@ulitiy that’s really impressive, great job!
Alexander Ulitin
@ulitiy
Mar 06 2015 12:15
Didier Lafforgue
@did
Mar 06 2015 12:15
so, the task we could delegate to “frontend” developers is the page inline-editing
Alexander Ulitin
@ulitiy
Mar 06 2015 12:16
and don't you want to separate the back office part into another gem? I remember there was a concept of "platform" for locomotive
that modularity could help future developers to build new and customise existing back office solutions
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 12:17
i have experience with angular and i had some exeprience with ember i will be happy to contrib :smile:
Didier Lafforgue
@did
Mar 06 2015 12:18
@ulitiy , yep, I had this in mind for a time but I realized it was too much work, so I decided to extract first the rendering component in the v3.
then, we’ll extract the API and the back-office
@mabouchalkha awesome!
@ulitiy , @mabouchalkha if I got it, you would be willing to help on the back-office, mostly js code, right?
Alexander Ulitin
@ulitiy
Mar 06 2015 12:20
Ok, I could help with angular/backbone. Also could study react.
Didier Lafforgue
@did
Mar 06 2015 12:20
actually, I was going to use reactjs to build the page inline-editing functionnality.
Alexander Ulitin
@ulitiy
Mar 06 2015 12:20
@did I could help with RoR also, I know LocomotiveCMS architecture a bit, made several custom solutions.
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 12:20
yes no probleme
Didier Lafforgue
@did
Mar 06 2015 12:21
awesome!!!
Niklas Karoly
@nik736
Mar 06 2015 12:23
wow did, v3 looks stunning :D
Didier Lafforgue
@did
Mar 06 2015 12:23
thanks! but it still misses the page section :-)
Alexander Ulitin
@ulitiy
Mar 06 2015 12:23
Integrated own drops, customised Locomotive::Account to send notifications to trello, bitrix24 and email using resque, integrated with 2 complex rails apps. Used refinery before, but it was very hard to monkey patch their rails-destructive code.
Niklas Karoly
@nik736
Mar 06 2015 12:23
I see the dashboard is still a todo, is someone already working on it? If not what was the plan feature wise?
Didier Lafforgue
@did
Mar 06 2015 12:24
@ulitiy interesting!
@ulitiy I’ve got some ideas to integrate Locomotive with other systems but that would be another discussion :-)
Alexander Ulitin
@ulitiy
Mar 06 2015 12:25
so when I get a new request from the website, it creates a card in trello named "leads". So I've made some kind of CRM of trello. Love this system also.
And bitrix24 for my clients, it's Russian CRM
Didier Lafforgue
@did
Mar 06 2015 12:25
@Nik736 still a todo, I know you contacted me about it and you’re the only one so far ;-)
@ulitiy I didn’t want to bring up this topic :-)
actually, I’ve got a solution in mind to integrate Locomotive to another platforms (like Trello or any CRM) without touching the codebase of Locomotive
Alexander Ulitin
@ulitiy
Mar 06 2015 12:27
just braggin) maybe you need a proof of experience)
Didier Lafforgue
@did
Mar 06 2015 12:28
@Nik736 , the thing is that I don’t know exactly what to display on that page. The activity (we log every action in v3), traffic? (but we don’t have metrics)
@ulitiy ah ah :-) (I got it ;-))
Niklas Karoly
@nik736
Mar 06 2015 12:29
Well, I think every site which is serious about tracking visitors is using analytics, so maybe to integrate the Analytics API and display it in the dashboard is an option
Google Analytics*
Didier Lafforgue
@did
Mar 06 2015 12:31
so you mean having GA as the default tracking tool?
Alexander Ulitin
@ulitiy
Mar 06 2015 12:31
I think it's not the primary goal. And don't think it should be hardcoded into the engine
customers use Yandex.Metrika in Russia for example
Niklas Karoly
@nik736
Mar 06 2015 12:33
Well than maybe an external tool is not the right choice, or maybe that people can choose what they use, and depending on that the stats will be displayed in the dashboard (just an idea), but that would be overkill to be integrated by default I think
Didier Lafforgue
@did
Mar 06 2015 12:34
right. Besides, the aim of the dashboard is to provide useful numbers or indicators for the current site.
we should not care about what external tools they chose to measure their audience.
Niklas Karoly
@nik736
Mar 06 2015 12:35
I think its just one of the most important things to know, how many visitors you got, etc
Didier Lafforgue
@did
Mar 06 2015 12:35
exactly
(+ number of pages viewed)
Niklas Karoly
@nik736
Mar 06 2015 12:36
maybe its also important to know which pages get viewed the most, but I am not sure if thats the right thing to display on the dashboard ;D
Didier Lafforgue
@did
Mar 06 2015 12:37
I’d say the number of visitors for the last 30 days + number page views.
and also the last activity logs (who does what)
Alexander Ulitin
@ulitiy
Mar 06 2015 12:38
ok, would you give some instructions and primary goals for me if I could help? where to start? inline editing?
Didier Lafforgue
@did
Mar 06 2015 12:38
@ulitiy , absolutely!
I’m going to clean up my Trello board
Alexander Ulitin
@ulitiy
Mar 06 2015 12:42
ok. Need to go. Invite ulitiy@gmail.com. I'll be in a few hours. It was nice to meet you.
Didier Lafforgue
@did
Mar 06 2015 12:42
thank you so much @ulitiy , I’ll contact you (probably on Monday).
Jeremy Seitz
@somebox
Mar 06 2015 12:43
Hi did! We're looking forward to testing v3! :) Some ideas for the dashboard:
  • latest edits (date, page, author)
  • new user submissions (custom content-types)
  • latest assets added/removed
  • new users added
    (basically, a timeline I guess)
mohamed amine bouchalkha
@mabouchalkha
Mar 06 2015 12:43
Didier Lafforgue
@did
Mar 06 2015 12:43
hi @somebox , glad to see you around!!! ;-)
thanks you so much @mabouchalkha ! I will contact you as well!!!
@mabouchalkha @ulitiy do you have a Trello account?
@Nik736 same question
Jens
@Freexer
Mar 06 2015 12:47
Hi did, can you invite me too ? jens.deubner@gmail.com
Didier Lafforgue
@did
Mar 06 2015 12:48
@somebox , makes totally sense, I took your list and put it in the Trello
@Freexer done :-)
Niklas Karoly
@nik736
Mar 06 2015 12:48
Jens
@Freexer
Mar 06 2015 12:48
thanks :smile:
Niklas Karoly
@nik736
Mar 06 2015 12:49
thanks!
Alexander Ulitin
@ulitiy
Mar 06 2015 12:49
@did I do
Didier Lafforgue
@did
Mar 06 2015 12:51
btw, fyi, Nic Boie @boie0025 helps me on the API. He’s refactoring the whole stuff by replacing everything with GrapeAPI. Goal: less code in Locomotive and delegating as much as possible to external gems.
Donnie Clapp
@dhc02
Mar 06 2015 15:58
Super excited to see this unveiled, @did
abFx
@abFx
Mar 06 2015 16:43
Hi, I've been working with an ember full project for almost a year now and it has been a delight... I can help also with the front end
Brandon Zylstra
@brandondrew
Mar 06 2015 20:15
@did have you seen Riot? (as an alternative to ReactJS) https://muut.com/blog/technology/riot-2.0/