Phoenix per principianti
|
|
|
- Katrina Potter
- 10 years ago
- Views:
Transcription
1 Phoenix per principianti di Paolo Montrasio Slide a connettiva.eu/phoenix-per-principianti.pdf
2 Ovvero : Conoscenza(Ruby) == 0 Rails 2014: Conoscenza(Elixir) == 0 Phoenix Imparare Elixir mentre si impara Phoenix Le guide di Phoenix I generatori per i controller (C) Connettiva 2
3 Per ambientarsi Phoenix è MVC È giovane ma si innalza sulle spalle dei giganti Per chi conosce Rails: Models e Controllers Models e Controllers Views Template Helpers Views (circa) Cables (Rails 5) Channels (da sempre) ActiveRecord Ecto Migrations Migrations (C) Connettiva 3
4 Creare una web app nning mix phoenix.new bologna_2015 git add.gitignore config/ lib/ mix.* package.json priv/ README.md test/ web/ git commit -a -m "Demo for today!" (C) Connettiva 4
5 config/dev.exs config :bologna_2015, Bologna_2015.Repo, adapter: Ecto.Adapters.Postgres, username: "bologna_2015", password: "RJP4Q1_2vPYX4UOR", database: "bologna_2015_dev", hostname: "localhost", pool_size: 10 (C) Connettiva 5
6 Lancio della web app $ mix phoenix.run # rails s $ iex -S mix # rails c + rails s $ mix -h # rake -T (C) Connettiva 6
7 web/router.ex defmodule Bologna_2015.Router do use Bologna_2015.Web, :router scope "/", Bologna_2015 do pipe_through :browser get "/", PageController, :index resources "/users", UserController (C) Connettiva 7
8 Restful routes $ mix phoenix.routes page_path GET / Bologna_2015.PageController :index user_path GET /users Bologna_2015.UserController :index user_path GET /users/:id/edit Bologna_2015.UserController :edit user_path GET /users/new Bologna_2015.UserController :new user_path GET /users/:id Bologna_2015.UserController :show user_path POST /users Bologna_2015.UserController :create user_path PATCH /users/:id Bologna_2015.UserController :update PUT /users/:id Bologna_2015.UserController :update user_path DELETE /users/:id Bologna_2015.UserController :delete (C) Connettiva 8
9 I controller def show(conn, %{"id" => id}) do user = Repo.get!(User, id) rer(conn, "show.html", user: user) o anche: conn > assign(:user, user) > rer("show.html") (C) Connettiva 9
10 API JSON def show(conn, %{"id" => id}) do user = Repo.get!(User, id) json conn, %{ id: user.id, user. , inserted_at: user.inserted_at, updated_at: user.updated_at } GET /admin/users/1 {"updated_at":" t09:47: z", "inserted_at":" t09:47: z", "id":1," ":"[email protected]"} (C) Connettiva 10
11 Redirect def delete(conn, %{"id" => id}) do user = Repo.get!(User, id) conn > put_flash(:info, "User deleted successfully.") > redirect(to: user_path(conn, :index)) (C) Connettiva 11
12 Cos'è un flash? web/templates/layout/app.html.eex <p class="alert alert-info" role="alert"> <%= :info) %> </p> <p class="alert alert-danger" role="alert"> <%= :error) %> </p> %> (C) Connettiva 12
13 Porting di una app a Phoenix Customers analytics per CheckBonus Web app Rails Le pagine fanno richieste a Rails per mostrare tabelle e grafici Risposte JSON (C) Connettiva 13
14 Modelli $ mix phoenix.gen.html Retailer retailers name:string internal_id:integer * creating web/controllers/retailer_controller.ex * creating web/templates/retailer/edit.html.eex * creating web/templates/retailer/form.html.eex * creating web/templates/retailer/index.html.eex * creating web/templates/retailer/new.html.eex * creating web/templates/retailer/show.html.eex * creating web/views/retailer_view.ex * creating test/controllers/retailer_controller_test.exs * creating priv/repo/migrations/ _create_retailer.exs * creating web/models/retailer.ex * creating test/models/retailer_test.exs (C) Connettiva 14
15 Migrazioni con Ecto $ mix ecto.migrate # up $ mix ecto.rollback # down di uno Adapter per PostgreSQL, MySQL, MariaDB, MSSQL, MongoDB. (C) Connettiva 15
16 Il modello generato defmodule Bologna_2015.Retailer do use Bologna_2015.Web, :model schema "retailers" do field :name, :string field :internal_id, :integer timestamps has_many :shops, Bologna_2015.Shop has_many :visits, ~w(internal_id) def changeset(model, params \\ :empty) do model (C) Connettiva 16
17 Validazioni def changeset(model, params \\ :empty) do model > validate_confirmation(:password) > validate_length(:password, min: 12) > validate_number(:age) > validate_inclusion(:age, ) > validate_format(: , (C) Connettiva 17
18 Registrazione e autenticazione L'ostacolo più grande all'adozione di Phoenix No framework con copertura di tutto lo use case Registrazione Invio mail di attivazione Non ho ricevuto il link di attivazione Ho perso la password Faccio login / faccio logout Mi autentico con FB / Tw / G+ / OAuth (C) Connettiva 18
19 Soluzioni Addict POST JSON per registrazione, login, logout, recupero e reset password: OK per SPA. Mail via Mailgun Passport No routes, no controllers: un SessionManager da usare nel proprio codice Do it yourself (C) Connettiva 19
20 Do It Yourself: solo la login /admin/users/5 /sessions/new /admin/users/5 /sessions/create (C) Connettiva 20
21 I file necessari resources "/sessions", SessionController, only: [ :new, :create, :delete ] web/models/user.ex web/controllers/session_controller.ex web/views/session_view.ex web/templates/session/new.html.eex lib/bologna_2015/authentication.ex lib/bologna_2015/must_be_logged_in.ex (C) Connettiva 21
22 Modello e cifratura password schema "users" do field : , :string field :encrypted_password, ~w( encryped_password) def hash(plaintext) do Base.encode16(:crypto.hash(:sha256, to_char_list(plaintext))) ating-hex-digests-md5-sha1-sha2/ (C) Connettiva 22
23 Inserimento utenti $ iex -S mix alias Bologna_2015.User changeset = User.changeset(%User{}, %{ "[email protected]", encrypted_password: User.hash("password")}) alias Bologna_2015.Repo Repo.insert(changeset) (C) Connettiva 23
24 Form di login <form action="/sessions" method="post"> <input type="hidden" name="_csrf_token" value="<%= get_csrf_token() %>"> <input name="user[ ]" type=" " value="" /> Password <input name="user[password]" type="password" /> <input type="submit" value="sign in" /> </form> (C) Connettiva 24
25 Controller per le sessioni def create(conn, %{ "user" => %{ " " => , "password" => password }}) do case User.find( , password) do [user] -> fetch_session(conn) > put_session(:user_id, user.id) # user.id nella sessione per i controller > put_flash(:info, "Login successful") > redirect(to: page_path(conn, :index)) def find( , password) do [ ] -> enc_pwd = hash(password) fetch_session(conn) query = from user in User, > put_flash(:error, "Login failed") where: user. == ^ and > redirect(to: session_path(conn, :new)) user.encrypted_password == ^enc_pwd, select: user Repo.all(query) (C) Connettiva 25
26 Plug di autenticazione defmodule Bologna_2015.Plugs.Authentication do import Plug.Conn alias Bologna_2015.User alias Bologna_2015.Repo def init(default), do: default def call(conn, _default) do user = nil user_id = get_session(conn, :user_id) unless user_id == nil do user = Repo.get(User, user_id) assign(conn, :current_user, user) # conn.assigns[:current_user] web/router.ex defmodule Bologna_2015.Router do use Bologna_2015.Web, :router pipeline :browser do plug :accepts, ["html"] plug :fetch_session plug :fetch_flash plug :protect_from_forgery plug :put_secure_browser_headers plug Bologna_2015.Plugs.Authentication (C) Connettiva 26
27 Plug di autorizzazione defmodule Bologna_2015.Plugs.MustBeLoggedIn do import Plug.Conn import Phoenix.Controller def init(default), do: default def call(conn, _default) do if conn.assigns[:current_user] == nil do conn > put_flash(:info, "You must be logged in") > redirect(to: "/") > halt else conn web/controllers/admin/user_controller.ex defmodule Bologna_2015.Admin.UserController do use Bologna_2015.Web, :controller plug Bologna_2015.Plugs.MustBeLoggedIn (C) Connettiva 27
28 Funziona? mix test defmodule Bologna_2015.SessionControllerTest do use Bologna_2015.ConnCase alias %{" " => "password" => "password"} setup do conn = conn() {:ok, conn: conn} test "creates session and redirects when data is valid", %{conn: conn} do changeset = User.changeset(%User{}, encrypted_password: User.hash(@valid_attrs[ password"])}) {:ok, user } = Repo.insert(changeset) conn = post conn, session_path(conn, :create), assert redirected_to(conn) == page_path(conn, :index) assert get_session(conn, :user_id) == user.id (C) Connettiva 28
29 API JSON di nuovo e meglio pipeline :api do plug :accepts, ["json"] scope "/api", Bologna_2015, as: :api do resources "/retailers", API.RetailerController, only: [:index] do... resources "/visits", API.VisitController, only: [:index] api_retailer_path GET /api/retailers Bologna_2015.API.RetailerController :index api_retailer_visit_path GET /api/retailers/:retailer_id/visits Bologna_2015.API.VisitController :index (C) Connettiva 29
30 Visit: migrazione e modello defmodule Bologna_2015.Repo.Migrations.CreateVisit do use Ecto.Migration def change do create table(:visits) do add :retailer_id, :integer add :started_at, :timestamp add :duration, :integer defmodule Bologna_2015.Visit do use Bologna_2015.Web, :model schema "visits" do belongs_to :retailer, Bologna_2015.Retailer field :started_at, Ecto.DateTime field :duration, ~w(retailer_id, started_at, ~w() def changeset(model, params \\ :empty) do model (C) Connettiva 30
31 Generazione controller mix phoenix.gen.json API.Visit visits --no-model * creating web/controllers/api/visit_controller.ex * creating web/views/api/visit_view.ex * creating test/controllers/api/visit_controller_test.exs * creating web/views/changeset_view.ex (C) Connettiva 31
32 Il controller def index(conn, _params) do retailer_id = conn.assigns[:retailer].id # da dove arriva? query = from visit in Visit, where: visit.retailer_id == ^retailer_id, select: visit visits = Repo.all(query) rer(conn, "index.json", visits: visits) # dov'è il template? (C) Connettiva 32
33 Assign del modello plug :assign_retailer defp assign_retailer(conn, _options) do retailer = Repo.get!(Bologna_2015.Retailer, conn.params["retailer_id"]) assign(conn, :retailer, retailer) (C) Connettiva 33
34 Il template / 1 # web/views/api/visit_view.ex def rer("index.json", %{visits: visits}) do %{data: rer_many(visits, Bologna_2015.API.VisitView, "visit.json")} # rer_many? Circa equivalente a Enum.map(visits, fn user -> ) rer(bologna_2015.api.visitview, "visit.json, visit: visit) (C) Connettiva 34
35 Il template / 2 # web/views/api/visit_view.ex def rer("visit.json", %{visit: visit}) do %{id: visit.id} - %{id: visit.id} + %{started_at: visit.started_at, duration: visit.duration} (C) Connettiva 35
36 La richiesta GET /retailers/1/visits {"data":[ {"started_at":" t20:11:00z","duration":6}, {"started_at":" t20:41:00z","duration":6}, ]} (C) Connettiva 36
37 Benchmark Phoenix query = from visit in Visit, where: visit.retailer_id == ^retailer_id, select: visit visits = Repo.all(query) (252), 147, 134, 145, 133, 142 media 140 ms per visits (C) Connettiva 37
38 Benchmark Rails visits = Visit.where( retailer_id: params[:retailer_id]). pluck(:started_at, :duration) (149), 117, 112, 124, 109, 122 media 116 ms (C) Connettiva 38
39 Benchmark Rails visits = Visit.where( retailer_id: params[:retailer_id]). pluck(:started_at, :duration) (149), 117, 112, 124, 109, 122 media 116 ms Ma è un confronto onesto? select * vs select started_at, duration (C) Connettiva 39
40 Benchmark Rails select * visits = Visit.where( retailer_id: params[:retailer_id]) (265), 236, 233, 230, 259, 282 media 248 ms (C) Connettiva 40
41 Benchmark Phoenix query = from visit in Visit, where: visit.retailer_id == ^retailer_id, select: [visit.started_at, visit.duration] visits = Repo.all(query) (193), 85, 72, 79, 70, 68 media 74 ms (C) Connettiva 41
42 Benchmark: riassunto select * from visits Phoenix 140 ms Rails 248 ms x 1.71 select started_at, duration from visits Phoenix 74 ms Rails 116 ms x 1.56 (C) Connettiva 42
43 Benchmark: riassunto select * from visits Phoenix 140 ms Rails 248 ms x 1.71 Ruby senza AR 219 ms PostgreSQL 2.97 ms select started_at, duration from visits Phoenix 74 ms Rails 116 ms x 1.56 Ruby senza AR 88 ms PostgreSQL 3.47 ms (C) Connettiva 43
44 Fastidi alias / import / require all'inizio di ogni file Mancanza di un framework di autenticazione Dover chiamare ogni tanto Erlang Dover scrivere due volte lo schema, nella migrazione e nel modello (C) Connettiva 44
45 Delizie Hot reload iex -S mix Channels -power-of-elixir-the-ws2048-case-b510eaa568c0 (C) Connettiva 45
46 Domande e contatti Paolo Montrasio [email protected] Slide a connettiva.eu/phoenix-per-principianti.pdf (C) Connettiva 46
Topics. Query Repo Model Changeset
Ecto @emjii Topics Query Repo Model Changeset Query Query Based on LINQ Enabled by macros Database queries only LINQ Language Integrated Query Released 2007 Supported in C#, F# and VB.net LINQ from p in
Rails 4 Quickly. Bala Paranj. www.rubyplus.com
Rails 4 Quickly Bala Paranj 1 About the Author Bala Paranj has a Master s degree in Electrical Engineering from The Wichita State University. He has over 15 years of experience in the software industry.
How to configure Linksys SPA 941 942 for VOIP Connections
How to configure Linksys SPA 941 942 for VOIP Connections Congratulations. Welcome to VOIP Connections family. 1.) Connect the phone properly. Make sure the phone is connected securely to your router or
Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10
Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...
Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA
Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA Page 1 Introduction The ecommerce Hub provides a uniform API to allow applications to use various endpoints such as Shopify. The following
Role Based Access Control. Using PHP Sessions
Role Based Access Control Using PHP Sessions Session Developed in PHP to store client data on the web server, but keep a single session ID on the client machine (cookie) The session ID : identifies the
NCAA Single-Source Sign-On System User Guide
NCAA Single-Source Sign-On System Table of Contents General Description... 1 Glossary of Terms... 1 Common Features Log In... 2 Password... 3 Log Out... 4 Tabs... 4 Buttons and Links... 4 Management and
Building Dynamic Web 2.0 Websites with Ruby on Rails
Building Dynamic Web 2.0 Websites with Ruby on Rails Create database-driven dynamic websites with this open-source web application framework A.P. Rajshekhar Chapter 5 "Gathering User Comments" In this
Avaya Inventory Management System
Avaya Inventory Management System June 15, 2015 Jordan Moser Jin Oh Erik Ponder Gokul Natesan Table of Contents 1. Introduction 1 2. Requirements 2-3 3. System Architecture 4 4. Technical Design 5-6 5.
Quick DDNS Quick Start Guide
Quick DDNS Quick Start Guide Contents Before Use... 1 Enable Domain Name Access... 2 Default Domain Name Access... 2 Custom Domain Name... 3 DDNS Web Registration and Management... 5 Smart Phone Client...
Comparing Dynamic and Static Language Approaches to Web Frameworks
Comparing Dynamic and Static Language Approaches to Web Frameworks Neil Brown School of Computing University of Kent UK 30 April 2012 2012-05-01 Comparing Dynamic and Static Language Approaches to Web
Corso: Administering Microsoft SQL Server 2012 Databases Codice PCSNET: MSQ2-1 Cod. Vendor: 10775 Durata: 5
Corso: Administering Microsoft SQL Server 2012 Databases Codice PCSNET: MSQ2-1 Cod. Vendor: 10775 Durata: 5 Obiettivi Pianificare e installare SQL Server. Descrive i database di sistema, la struttura fisica
Progetto Ombra Milano propone un nuovo progetto dal design tutto italiano. Una SCALA di prestigio accessibile a tutti.
la crisi è la migliore benedizione che ci può accadere, tanto alle persone quanto ai paesi, poiché questa porta allo sviluppo personale e ai progressi. Crisis is the best blessing that could ever happen,
OpenLogin: PTA, SAML, and OAuth/OpenID
OpenLogin: PTA, SAML, and OAuth/OpenID Ernie Turner Chris Fellows RightNow Technologies, Inc. Why should you care about these features? Why should you care about these features? Because users hate creating
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure Malte Lantin Technical Evanglist Microsoft Azure Agenda Mobile Services Features and Demos Advanced Features Scaling and Pricing 2 What is Mobile Services? Storage
Configuration Guide - OneDesk to SalesForce Connector
Configuration Guide - OneDesk to SalesForce Connector Introduction The OneDesk to SalesForce Connector allows users to capture customer feedback and issues in OneDesk without leaving their familiar SalesForce
REMOTE ACCESS DDNS CONFIGURATION MANUAL
REMOTE ACCESS DDNS CONFIGURATION MANUAL Analog DVR Series 1 www.mezory.com INTRODUCTION TO REMOTE ACCESS As the World sinks into one global village, reliable connectivity is one of the most demanding facilities
Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is
Chris Panayiotou Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is the current buzz in the web development
NAS 221 Remote Access Using Cloud Connect TM
NAS 221 Remote Access Using Cloud Connect TM Access the files on your NAS remotely with Cloud Connect TM A S U S T O R C O L L E G E COURSE OBJECTIVES Upon completion of this course you should be able
Infinitel HotSpotWeb User Manual
Infinitel HotSpotWeb User Manual INTRODUCTION... 5 REQUIREMENTS... 6 INSTALLATION... 7 FIRST STEP... 7 MICROSOFT WINDOWS... 7 Uninstall service... 7 OTHER OS... 7 ADVANCED INSTALLATION SETTINGS... 8 Application.properties
Archive Server for MDaemon disaster recovery & database migration
Archive Server for MDaemon Archive Server for MDaemon disaster recovery & database migration Abstract... 2 Scenarios... 3 1 - Reinstalling ASM after a crash... 3 Version 2.2.0 or later...3 Versions earlier
Setup and Administration for ISVs
17 Setup and Administration for ISVs ISV accounts for both hosted and private cloud support white labeling functionality and give you the ability to provision and manage customer tenants directly. A customer
Talk-101 User Guides Mailgate Administration Guide
Talk-101 User Guides Mailgate Administration Guide Contents Contents... 2 Accessing the Mailgate Interface... 3 Adding a new domain... 3 User Aliases... 7 Update 09/06/2005 Page: 2 of 7 Accessing the Mailgate
Online Payments. Intel Learn Easy Steps Activity Card
Activity Card : Pay your mobile bills online (Airtel*) All of us use a number of utility services in our daily activities at business and home. Utility services are services like electricity, telephone,
Hands-on MESH Network Exercise Workbook
Hands-on MESH Network Exercise Workbook Santa Clara County RACES Date: 18 March 2015 Version: 1.0 scco_wifi_intro_exonly_v150318.docx 1 Table of Contents HANDS ON! Exercise #1: Looking at your Network
8Q PRQGR GL FRQWHQLWRUL $ ZRUOG RI HQFORVXUHV
www.italtronic.com 0 L MODULBOX XT COMPACT MODULBOX XT COMPACT Norme DIN 880 Materiale: Blend PC/ABS autoestinguente Colore: Grigio RAL0 Misure: M/M/M/M/M/8M/9M/M CARATTERISTICHE GENERALI & SERVIZIO TUTTO
CS169.1x Lecture 5: SaaS Architecture and Introduction to Rails " Fall 2012"
CS169.1x Lecture 5: SaaS Architecture and Introduction to Rails " Fall 2012" 1" Web at 100,000 feet" The web is a client/server architecture" It is fundamentally request/reply oriented" Web browser Internet
IntelliPay Billpay Application Documentation
IntelliPay Billpay Application Documentation Contents Billpay Introduction First Time Payment (With username and password) First Time Payment (Without username and password) Returning Customer Introduction:
Migration User Guides: The Console Email Application Setup Guide
Migration User Guides: The Console Email Application Setup Guide Version 1.0 1 Contents Introduction 3 What are my email software settings? 3 Popular email software setup tutorials 3 Apple Mail OS Maverick
www.kdev.it - ProFTPd: http://www.proftpd.org - ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
&8730; www.kdev.it ProFTPd Guida per ottenere un server ProFTPd con back-end MySQL. Guida per ottenere un server ProFTPd con back-end MySQL. Condizioni strettamente necessarie: - Mac OS X Developer Tools:
Deep in the CRUD LEVEL 1
Deep in the CRUD LEVEL 1 Prerequisites: TryRuby.org TwitteR for ZOMBIES {tweets Columns (we have 3) DB TABLE Rows { (we have 4) id status zombie Zombie Challenge #1 Retrieve the Tweet object with id =
Certified PHP/MySQL Web Developer Course
Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,
OneLogin Integration User Guide
OneLogin Integration User Guide Table of Contents OneLogin Account Setup... 2 Create Account with OneLogin... 2 Setup Application with OneLogin... 2 Setup Required in OneLogin: SSO and AD Connector...
Pay your mobile bills online. Intel Easy Steps 1 2012 Intel Corporation All rights reserved.
Pay your mobile bills online Intel Easy Steps 1 2012 Intel Corporation Online Payments: Pay your mobile bills online (Airtel*) Online Payments All of us use a number of utility services in our daily activities
Going AUTH the Rails on a Crazy Train
Going AUTH the Rails on a Crazy Train Tomek Rabczak @sigdroid Jeff Jarmoc @jjarmoc November, 2015 Who we are Tomek Rabczak Senior Security Consultant @ NCC Group Ex-Rails Maker turned Rails Breaker Jeff
ipratico POS Quick Start Guide v. 1.0
ipratico POS Quick Start Guide v. 1.0 Version History Version Pages Comment Date Author 1.0 First Release 5/Marzo/2012 Luigi Riva 2 SUMMARY 1 GETTING STARTED 4 1.1 What do you need? 4 1.2 ipad 5 1.3 Antenna
Quick DDNS Quick Start Guide
Quick DDNS Quick Start Guide DDNS 快 速 指 导 手 册 1 / 11 Before Use The device must be connected to the Internet, please check if the connection works properly. Please confirm Internet access port is open
Cloud Powered Mobile Apps with Microsoft Azure
Cloud Powered Mobile Apps with Microsoft Azure Malte Lantin Technical Evanglist Microsoft Azure Malte Lantin Technical Evangelist, Microsoft Deutschland Fokus auf Microsoft Azure, App-Entwicklung Student
AusCERT Remote Monitoring Service (ARMS) User Guide for AusCERT Members
AusCERT Remote Monitoring Service (ARMS) User Guide for AusCERT Members Last updated: 27/06/2014 Contents 1 Introduction... 2 1.1 What is ARMS?... 2 1.2 Glossary Terms... 2 2 Setting up your ARMS configuration
GetLibraryUserOrderList
GetLibraryUserOrderList Webservice name: GetLibraryUserOrderList Adress: https://www.elib.se/webservices/getlibraryuserorderlist.asmx WSDL: https://www.elib.se/webservices/getlibraryuserorderlist.asmx?wsdl
Kittys School Management System
Management Module: Login Module: In this module site admin can be able to login by using their unique username and password. Add Section and Standard: Subject: Syllabus: Inbox: i. Admin can add the Standard
BiPAC 74xx series. VoIP Quick Install Guide
BiPAC 74xx series VoIP ADSL2/2+ Modem/Routers VoIP Quick Install Guide This guide covers the initial VoIP set-up only. Please contact your VoIP service provider for their full VoIP setting. This guide
SETTING UP REMOTE ACCESS ON EYEMAX PC BASED DVR.
SETTING UP REMOTE ACCESS ON EYEMAX PC BASED DVR. 1. Setting up your network to allow incoming connections on ports used by Eyemax system. Default ports used by Eyemax system are: range of ports 9091~9115
DocuSign for SharePoint 2010 1.5.1
Quick Start Guide DocuSign for SharePoint 2010 1.5.1 Published December 22, 2014 Overview DocuSign for SharePoint 2010 allows users to sign or send documents out for signature from a SharePoint library.
TestNav Common Error Codes
TestNav Common Error Codes 1 TestNav Common Error Codes Message Description What Do I Do Now? 1001 Students are instructed to notify their test administrator when this message appears. This is likely occurring
VASCO Data Security. The Authentication Company. Richard Zoni Channel Manager Italy
VASCO Data Security The Authentication Company Richard Zoni Channel Manager Italy 05/05/2010 Le password... più utilizzate 1. password 2. 123456 3. Qwerty 4. Abc123 5. pippo 6. 696969 7. Myspace1 8. Password1
Release Notes LS Retail Data Director 3.01.04 August 2011
Release Notes LS Retail Data Director 3.01.04 August 2011 Copyright 2010-2011, LS Retail. All rights reserved. All trademarks belong to their respective holders. Contents 1 Introduction... 1 1.1 What s
CHEF IN THE CLOUD AND ON THE GROUND
CHEF IN THE CLOUD AND ON THE GROUND Michael T. Nygard Relevance [email protected] @mtnygard Infrastructure As Code Infrastructure As Code Chef Infrastructure As Code Chef Development Models
Rails Cookbook. Rob Orsini. O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo
Rails Cookbook Rob Orsini O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword : ; xi Preface ; ;... xiii 1. Getting Started 1 1.1 Joining the Rails Community
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
Guides.rubyonrails.org
More at rubyonrails.org: Overview Download Deploy Code Screencasts Documentation Ecosystem Community Blog Guides.rubyonrails.org Ruby on Rails Guides (v3.2.2) These are the new guides for Rails 3.2 based
Alfresco Share SAML. 2. Assert user is an IDP user (solution for the Security concern mentioned in v1.0)
Alfresco Share SAML Version 1.1 Revisions 1.1 1.1.1 IDP & Alfresco user logs in using saml login page (Added info about saving the username and IDP login date as a solution for the Security concern mentioned
Building Secure Applications. James Tedrick
Building Secure Applications James Tedrick What We re Covering Today: Accessing ArcGIS Resources ArcGIS Web App Topics covered: Using Token endpoints Using OAuth/SAML User login App login Portal ArcGIS
IRF2000 IWL3000 SRC1000 Application Note - Apps with OSGi - Condition Monitoring with WWH push
Version 2.0 Original-Application Note ads-tec GmbH IRF2000 IWL3000 SRC1000 Application Note - Apps with OSGi - Condition Monitoring with WWH push Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IWL3000 SRC1000
Building and Deploying Web Scale Social Networking Applications Using Ruby on Rails and Oracle. Kuassi Mensah Group Product Manager
Building and Deploying Web Scale Social Networking Applications Using Ruby on Rails and Oracle Kuassi Mensah Group Product Manager The following is intended to outline our general product direction. It
Graylog2 Lennart Koopmann, OSDC 2014. @_lennart / www.graylog2.org
Graylog2 Lennart Koopmann, OSDC 2014 @_lennart / www.graylog2.org About me 25 years old Living in Hamburg, Germany @_lennart on Twitter Co-Founder of TORCH - The Graylog2 company. Graylog2 history Started
Instructions for the Integrated Travel Manager (ITM) Self Service Password Reset (May 2011)
How to Complete the Challenge Questions and Responses Setup Process 1a 1b Open an Internet Explorer window Point your browser to: https://itm-prod.rdc.noaa.gov/cgibin/90ipi/docprep/login.w If the Web Security
Dynamic DNS How-To Guide
Configuration Guide Dynamic DNS How-To Guide Overview This guide will show you how to set up a Dynamic DNS host name under the D-Link DDNS service with your D-Link ShareCenter TM. Dynamic DNS is a protocol
JusticeConnect AVL for Windows SETUP GUIDE
JusticeConnect AVL for Windows SETUP GUIDE 1 Table of Contents JusticeConnect AVL Procure Software... 3 JusticeConnect AVL Deploy Software... 3 JusticeConnect AVL First Time Setup... 4 JusticeConnect AVL
Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk
Programming Autodesk PLM 360 Using REST Doug Redmond Software Engineer, Autodesk Introduction This class will show you how to write your own client applications for PLM 360. This is not a class on scripting.
Connecting to your Database!... 3
Connecting to your Database!... 3 Connecting to Access Databases!... 3 Connecting to SQL Server!... 8 Connecting to Oracle!... 10 Connecting to MySQL!... 11 Connecting to Sybase!... 12 Connecting to IBM
Aradial Installation Guide
Aradial Technologies Ltd. Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. No part of this document
Installation documentation for Ulteo Open Virtual Desktop
Installation documentation for Ulteo Open Virtual Desktop Copyright 2008 Ulteo SAS - 1 PREREQUISITES CONTENTS Contents 1 Prerequisites 1 1.1 Installation of MySQL.......................................
HOW WILL I KNOW THAT I SHOULD USE THE IAS EMAIL CONTINUITY SERVICE? https://web.ias.edu/updateme/
WHEN DO I NEED TO ACCESS THE IAS EMAIL CONTINUITY SERVICE? This service is provided to address the following actions during periods where the IAS email servers are offline: 1. If you need to check for
LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE
LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE VERSION 1.6.0 LICENSE4J www.license4j.com Table of Contents Getting Started... 2 Server Roles... 4 Installation... 9 Server WAR Deployment...
Optimum Business SIP Trunk Set-up Guide
Optimum Business SIP Trunk Set-up Guide For use with IP PBX only. SIPSetup 07.13 FOR USE WITH IP PBX ONLY Important: If your PBX is configured to use a PRI connection, do not use this guide. If you need
How to Create a Free Private GitHub Repository Educational Account
How to Create a Free Private GitHub Repository Educational Account Computer Science Department College of Engineering, Computer Science, & Technology California State University, Los Angeles What is GitHub?
Ulteo Open Virtual Desktop Installation
Ulteo Open Virtual Desktop Installation Copyright 2008 Ulteo SAS - CONTENTS CONTENTS Contents 1 Prerequisites 2 1.1 Installation of MySQL....................................... 2 2 Session Manager (sm.ulteo.com)
Web Framework Performance Examples from Django and Rails
Web Framework Performance Examples from Django and Rails QConSF 9th November 2012 www.flickr.com/photos/mugley/5013931959/ Me Gareth Rushgrove Curate devopsweekly.com Blog at morethanseven.net Text Work
Print Management version 2.3.15. Administrator's Guide
Print Management version 2.3.15 Administrator's Guide November 2014 www.lexmark.com Contents 2 Contents Overview...4 Supported printers...5 Using Lexmark Management Console...6 Accessing Lexmark Management
Navicat Premium è uno strumento di amministrazione per database con connessioni-multiple, consente di connettersi
Navicat Premium è uno strumento di amministrazione per database con connessioni-multiple, consente di connettersi simultaneamente con una singola applicazione a MySQL, SQL Server, SQLite, Oracle e PostgreSQL,
Comtrend 1 Port Router Installation Guide CT-5072T
Comtrend 1 Port Router Installation Guide CT-5072T 1 Installing Access Point s DSL Service with a Comtrend Router Thank you for selecting Access Point, Inc. to be your Internet service provider. This guide
IBM System Storage DS3400 Simple SAN Express Kit PN.172641U
IBM System Storage Simple SAN Express Kit PN.172641U Facile da implementare Pronto per supportare la crescita del tuo business Al prezzo che non ti aspetti 1 Soluzione Dischi SAN Fibre 4Gbps a basso costo
How to use EasyDDNS. 2006 2012 by HIKVISION. All rights reserved. 1
How to use EasyDDNS 1 Index Before you start... 3 EasyDDNS Mode - Basic Settings... 3 EasyDDNS Mode - Client software... 5 EasyDDNS Mode - DDNS Management System(optional)... 6 IP Server Mode - Settings
WorldPay Mobile Demonstration
Demonstration 2014 1 Creating your Merchant Portal Login 1. Before using WorldPay Mobile, you will need to create a Merchant Portal account by going to Portal.WorldPay.us and clicking Create My Account.
Slides from INF3331 lectures - web programming in Python
Slides from INF3331 lectures - web programming in Python Joakim Sundnes & Hans Petter Langtangen Dept. of Informatics, Univ. of Oslo & Simula Research Laboratory October 2013 Programming web applications
Connect to MySQL or Microsoft SQL Server using R
Connect to MySQL or Microsoft SQL Server using R 1 Introduction Connecting to a MySQL database or Microsoft SQL Server from the R environment can be extremely useful. It allows a research direct access
IBM System Storage DS3400 Simple SAN Ready Express
IBM System Storage Simple SAN Ready Express Facile da implementare Pronto per supportare la crescita del tuo business Al prezzo che non ti aspetti 1 Soluzione Dischi SAN Fibre 4Gbps a basso costo ma affidabile?
Safewhere*Identify 3.4. Release Notes
Safewhere*Identify 3.4 Release Notes Safewhere*identify is a new kind of user identification and administration service providing for externalized and seamless authentication and authorization across organizations.
Web Authentication Application Note
What is Web Authentication? Web Authentication Application Note Web authentication is a Layer 3 security feature that causes the router to not allow IP traffic (except DHCP-related packets) from a particular
Traitware Authentication Service Integration Document
Traitware Authentication Service Integration Document February 2015 V1.1 Secure and simplify your digital life. Integrating Traitware Authentication This document covers the steps to integrate Traitware
Application Note: Cisco Integration with Onsight Connect
Application Note: Cisco Integration with Onsight Connect Table of Contents Application Note:... 1 Cisco Integration with Onsight Connect... 3 Direct Onsight Device to Cisco Endpoint Calls... 3 Cisco Unified
Here is a quick diagram of the ULV SSO/Sync Application. Number 3 is what we deal with in this document.
University of La Verne Single-SignOn Project How this Single-SignOn thing is built, the requirements, and all the gotchas. Kenny Katzgrau, August 25, 2008 Contents: Pre-requisites Overview of ULV Project
Cloud Elements! Marketing Hub Provisioning and Usage Guide!
Cloud Elements Marketing Hub Provisioning and Usage Guide API Version 2.0 Page 1 Introduction The Cloud Elements Marketing Hub is the first API that unifies marketing automation across the industry s leading
1 You will need the following items to get started:
QUICKSTART GUIDE 1 Getting Started You will need the following items to get started: A desktop or laptop computer Two ethernet cables (one ethernet cable is shipped with the _ Blocker, and you must provide
AdRadionet to IBM Bluemix Connectivity Quickstart User Guide
AdRadionet to IBM Bluemix Connectivity Quickstart User Guide Platform: EV-ADRN-WSN-1Z Evaluation Kit, AdRadionet-to-IBM-Bluemix-Connectivity January 20, 2015 Table of Contents Introduction... 3 Things
WiNG5 CAPTIVE PORTAL DESIGN GUIDE
WiNG5 DESIGN GUIDE By Sriram Venkiteswaran WiNG5 CAPTIVE PORTAL DESIGN GUIDE June, 2011 TABLE OF CONTENTS HEADING STYLE Introduction To Captive Portal... 1 Overview... 1 Common Applications... 1 Authenticated
ConvincingMail.com Email Marketing Solution Manual. Contents
1 ConvincingMail.com Email Marketing Solution Manual Contents Overview 3 Welcome to ConvincingMail World 3 System Requirements 3 Server Requirements 3 Client Requirements 3 Edition differences 3 Which
SmartConnect User Credentials 2012
User Credentials Used When The SmartConnect client connects to Microsoft Dynamics GP When connecting to the Microsoft Dynamics GP the credentials of the current AD user are used to connect to Dynamics
MPP Manager Users Guide
MPP Manager Users Guide Spam Quarantine and Email Archive Administration \ August, 2008 MPP Mable of Contents 1 About This Guide 4 1.1 MPP Manager Overview 4 1.2 Other Documentation 4 2 Mppserver MPP Manager
How do I Install and Configure MS Remote Desktop for the Haas Terminal Server on my Mac?
Enterprise Computing & Service Management How do I Install and Configure MS Remote Desktop for the Haas Terminal Server on my Mac? In order to connect remotely to a PC computer from your Mac, we recommend
