Skip to content

salesking/contact-importer

Repository files navigation

SalesKing CSV Importer

A SalesKing app to import contacts via csv-files.

you should make sure to clean your csv-file e.g. split "Mr. Test User" into three columns "Mr." "Test" "User".

HINT: If there is no column which is used to identify the contact-type (e.g. client, lead, supplier) you should enhance your csv-file with that column and each row with such type-info. Otherwise SalesKing will create Contacts as Clients which can't be converted to e.g. lead or supplier afterwards.

Advice: If you are not sure about the type give all rows a type called "lead" - this contact-type is convertible into client/supplier after import within SalesKing.

Developer Info

The app is build with Rails 4 and Ruby 2+ and is working with MySQL or PostgreSQL. It uses oAuth2 and has a canvas integration, so a user can use it wihtout leaving his SalesKing-UI.

Development Dependencies

Assets are managed via bower and the bower-rails gem. So you should have the following running:

  • nodejs
  • bower

Clone assets into /vendor/assets/bower_components

rake bower:install

Getting Started

  1. Register a new app to get an app-id & secret in your SalesKing account.

    • Set a unique CANVAS SLUG so it can be reached inside salesking.eu/app/my-import
    • Set the Canvas URL to http://MY-URL.local/login <- /login receives the auth POST when a user opens the app in sk/app/my-import
  2. Checkout this repo, copy and edit salesking_app.yml & database.yml.

    bundle install bundle exec rake db:migrate bundle exec rails s

  3. Go into SalesKing at /app/your-canvas-slug

  4. SSL Restrictions in browsers will prevent iFrames to load (your local) http-site into the https-enabled SalesKing install. In Google Chrome look at the very right site of the url-input where an icon appears to allow such content.

Run on Heroku

This app is deployed on Heroku and you can do it too. The only problem to be solved is the creation of the salesking_app.yml keeping the app key & secret. Instead of using Heroku's env_vars you should use a separate local git branch where you add the ignored salesking_app.yml file:

# create a new branch
git checkout production
# [create salesking_app.yml, remove from .gitignore and commit]
git merge master
git push heroku production:master
# change back to master branch for normal edits .. DO NOT merge production into master
git checkout master

DON'T FORGET: never push production to your public branch, if you do you need to setup NEW app credentials

Translating contact-importer

  • Edit the translations directly on the salesking/contact-importer project on Locale.
  • That's it!
  • The maintainer will then pull translations from the Locale project and push to Github.

We want to strictly seperate the localeapp from this project thus if you need to pull locales install the localeapp gem globally:

gem install localeapp

And than add to the config file in .localeapp/config.rb in your root directory the following:

config.sending_environments = [] config.polling_environments = []

Happy translating!

Test

Run specs with

bundle exec rake spec

Test coverage report is created by simpleCov and available after running the specs

Copyright (c) 2014 Georg Leciejewski, released under the MIT license