simpleapi Documentation
|
|
- MargaretMargaret Willis
- 6 years ago
- Views:
Transcription
1 simpleapi Documentation Release Florian Schlachter July 06, 2014
2
3 Contents 1 Contents User s Guide Developer s Reference Additional Pages Easy example handlers.py (in your django app) in django: urls.py in Flask: app.py Python Client (using simpleapi s client library) PHP Client (using simpleapi s PHP client) JavaScript Client (using jquery) Python Module Index 15 i
4 ii
5 simpleapi is an easy to use, consistent, transparent and portable way of providing an API. It supports several transport formats (e. g. json, jsonp, xml, yaml) and provides server (django, flask) and client libraries (PHP, Python) to interact seamlessly. You can also use nearly every Ajax framework (e. g. jquery, ExtJS, etc.) to access the API. To install, simply run: # pip install --upgrade simpleapi The source is available on GitHub. You can als follow simpleapi on to stay up-to-date. Warning: This documentation is uncomplete and will be finished over the next few weeks. Please be patient. Contents 1
6 2 Contents
7 CHAPTER 1 Contents 1.1 User s Guide Preparation Dependencies In order to use simpleapi, you must have Python and at least django or Flask installed. If you re using Python <= 2.5 you have to install simplejson by: pip install --upgrade simplejson Python >= 2.6 contains a built-in json module which already fits our needs. Installation PyPI You can either install a stable version of simpleapi from PyPI using easy_install or pip: easy_install -U simpleapi or pip install simpleapi GitHub If you re brave you can use the latest development version: git clone git://github.com/flosch/simpleapi.git Please consider yourself warned: The bleeding edge version might contain bugs, new features, backwardincompatibility issues and more problems you might not think of. 3
8 Manual Setup If you don t like one of the easy ways to install simpleapi, you can also download the latest version of simpleapi from GitHub as an tgz or zip file. To install simpleapi on your computer, unpack the compressed file and run: python setup.py install Depending on your system s configuration, you must be an administrator to install simpleapi Getting Started The Basics The Server Implementation A basic server implementation contains one Namespace and one Route. The Namespace holds all your API logic and implementation, the Route connects your Namespace to the world. When a client call comes in, Route will parse the request, checks whether all required arguments exist and will finally pass them to your method. For you, the user of simpleapi, Route is fairly unspectacular. The more interesting part is the Namespace. The Namespace is a bunch of published and non-published methods. Published methods are accessable from outside, non-published methods are your internally used methods (called helper functions). A Namespace can have several global and local configuration options for authentication, ip restrictions, type conversion, constraints, features (like caching, throttling, etc.) and input/output formatters. Even though the common way for placing your Namespace is to use handlers.py, you re free to put it wherever you like. As you already saw on the frontpage, an example implementation of handlers.py would look like this: from simpleapi import Namespace class Calculator(Namespace): def add(self, a, b): return a + b add.published = True This is a very easy, but still working calculator with only one function add(). With the local configuration option published set to True we export the method add() to the world. It requires two arguments, a and b. To finally make our exported functions available to the world with django, we hook up an URL to our Route. Route takes our Namespace as an argument. In this example, the URL api/calculator/ is used to access our Calculator-API: from simpleapi import Route from handlers import Calculator urlpatterns = patterns(, (r ^api/calculator/$, Route(Calculator)) ) Route takes care of all incoming requests and - in our example - makes sure that the two required arguments a and b of our add()-function exist. 4 Chapter 1. Contents
9 Client Libraries simpleapi comes with easy-to-use python and php client libraries which allows you fully, transparently access to your server implementation. With the client libraries, you call the desired remote function as they would be local. The only difference between a remote call using the library and a local call are the obligatory named arguments. On every remote call you must name your arguments when passing them to the function: from simpleapi import Client calculator = Client(ns= ) print "5 + 3 =", calculator.add(a=5, b=3) As you can see, the required arguments a and b are explicitly named and passed to the function add(). Internally, the client determines which function you want to call, builds an appropriate query and sends the request to the server. The server response is being received and parsed by the client and the return value is passed to you Server Namespaces Namespaces contain your business logic. They are normal Python classes and are being implemented very intuitively. Here s how an example looks like: import urllib import re from simpleapi import Namespace class Downloader(Namespace): def download(self, url): """Downloads a webpage and returns the full sourcecode.""" try: response = urllib.urlopen(url) print response.getcode() except IOError, e: self.error(unicode(e)) return response.read() download.published = True download.constraints = { url : re.compile(r ^http\://[a-za-z0-9\-\.]+\.[a-za-z]{2,3}(/\s*)?$ )} As you can see simpleapi works pretty much like common RPC-implementations. Every method within your Namespace flagged with the published-keyword set to True will be exposed by simpleapi to the remote clients. For more information on how Namespaces work see the following subpages. Contents Validation Session Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum User s Guide 5
10 Authentication IP Restrictions Error handling Route Features Client Python client library simpleapi ships with a Python client library which makes the communication between Python apps a snap. It s absolutely seamless, transparent and easy to use. This is how a remote call looks like on the client side: from simpleapi import Client client = Client(ns= ) print "Mom s birthday is on:", client.get_birthday("mom").ctime() ns takes the URL of your API. It can either be a http or a https (preferred) address for a secure connection. As you can see simpleapi can work with data objects (for instance datetime-objects). In special this depends on the used data protocol (for example JSON, XML, Pickle, etc.), but the common data types like strings, integers, floats, lists, dicts and datetimes are supported by all of them. For more limitations on transport types see Limitations and work-arounds. By default, the Python client library uses JSON as a transport type (for requests as well as responses), but you re free to change that by passing the transport_type parameter to the constructor containing your desired formatter name. For available built-in formatters (or writing your own ones), see the Messages documentation part. Multiple versions of Namespaces simpleapi supports multiple versions of Namespaces (e. g. for the case that your API evolves over time and existing method behaviour changes). By default, the client automatically uses the latest provided version. If you want to stay at one Namespace version and want to use it anytime, you can supply your desired version number by passing it to the version argument of client s constructor. Authentication If your Namespace requires an authentication key you can supply one using the access_key parameter passing to the client s constructor. There s nothing special about that. If the authentication fails, the client will raise a RemoteException (see more below for Exception handling). Long running calls For remote calls which take long time to proceed (for example a newsletter which is send to a bunch of recipients and your client application is still waiting for an OKAY) the constructor has a timeout parameter which takes the 6 Chapter 1. Contents
11 desired response timeout in seconds (default depends on your system s configuration). Set it as high as you want and as your system support it, e.g. timeout = 600 for 10 minutes. Exception handling To handle connection problems or remote exceptions the client raises two types of errors: ConnectionException and RemoteException. The client library throws a ConnectionException whenever there are problems with receiving the data from the given URL. These exceptions are covering all the network communication stuff, instead of RemoteException which basically raises when the client reaches the API but the specific call fails (in all situations like authentication failed, wrong parameters, user-generated errors). In both situations the exception message contains more information about the error (especially the error message in most cases). PHP client library Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. JavaScript client Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Same-domain requests (JSON) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Cross-site requests (JSONP) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Raw HTTP request simpleapi communicates using HTTP and therefore takes some parameters which will be discussed here. Sample call: /api/?_call=multiply&_access_key=foobar&a=5&b=11 _call method name (from the Namespace you re calling) 1.1. User s Guide 7
12 _access_key Key to access the Namespace (default: empty) _callback When using JSONP, defines the callback function (default: simpleapicallback). _mimetype Individual mimetype differing from the default one (note: simpleapi sets the correct mimetype depending on your desired output format). Hint: If you want to see the response in your browser (instead of download like some browsers want to), set the mimetype to text/html. _data Takes an object containing all function parameters (default: empty). See below for more. _version Defines which version of your Namespaces to use (default: latest). _input Format type (see Formatters) to use (e. g. JSON, JSONP, XML, etc.) for the request parameters (default: value, see below) _output Format type (see Formatters) to use (e. g. JSON, JSONP, XML, etc.) for the response (default: JSON) _wrapper Wrapper name of the wrapper to use to form the response (see Wrappers). All parameters except _call are optional. Method arguments If you call a method, you frequently have to pass arguments to the method. In simpleapi you can do this in two ways. Either you just append the parameter to your HTTP call (like a and b in the sample call above) or you use the _data http parameter to provide an object (a dictionary/associative array) with your parameters inside. Regardless which way you use, you have to encode your parameters depending on your _input http parameter. By default, there s no input-encoding set (hence you can pass your arguments plain). Note that you ve to set an input encoding since value (plain) is prohibited when using the _data parameter Messages simpleapi has several ways of converting, wrapping and formatting the transported messages (requests and responses). Due to protocol restrictions there are a few limitations and possible work-arounds which are worth to recommend. Wrappers Formatters Limitations and work-arounds JSON and datetimes By default, JSON does not support datetimes as a data type. simpleapi takes care of this automatically and converts any datetime, date and time objects to a special format which is supported by JavaScript s Date-object. If your Namespace method returns a datetime like: datetime.datetime(2010, 6, 2, 12, 0, 35, ) simpleapi will converts this into the following string representation: 8 Chapter 1. Contents
13 Wed Jun 2 12:00: In JavaScript you can simply create a Date-object by passing the converted string to the constructor like this new Date("Wed Jun 2 12:00: ") The Date-object will parse the string and convert it. Between both the simpleapi server and the Python client working with datetimes is absolutely seamless and transparent. As seen the server will convert the datetime into a string representation and the Python client (unfortunately not the PHP client yet) will detect this string representation and will convert it back into appropriate datetime, date and time objects. 1.2 Developer s Reference API Client Python class simpleapi.client.client(ns, access_key=none, version= default, transport_type= json, wrapper_type= default, timeout=none) simpleapi s client library. Parameters ns URL of your Route s endpoint access_key string key used for authentication version Namespace version to be used (default is highest) transport_type encoding/decoding type for request/response (default is json) wrapper_type wrapper used for formatting the response timeout connection timeout in secs (default is system parameter) set_ns(ns) changes the URL for the Route s endpoint set_version(version) uses a different version for further requests Server Route class simpleapi.server.route.route Namespace class simpleapi.server.namespace.namespace(request) 1.2. Developer s Reference 9
14 error(*errors) introspect(framework= default, provider= Ext.app, namespace=none) exception simpleapi.server.namespace.namespaceexception(msg=none) Features class simpleapi.server.feature.feature(ns_config) error(errmsg) get_config(request) get_config_scope(request) handle_request(request) handle_response(response) has_config() is_triggered(request) setup() exception simpleapi.server.feature.featureexception(msg=none) exception simpleapi.server.feature.featurecontentresponse(msg=none) Request class simpleapi.server.request.request(sapi_request, namespace, input_formatter, output_formatter, wrapper, callback, mimetype, restful, debug, route, ignore_unused_args) process_request(request_items) exception simpleapi.server.request.requestexception(msg=none) Response class simpleapi.server.response.response(sapi_request, namespace=none, output_formatter=none, wrapper=none, errors=none, result=none, mimetype=none, callback=none, function=none) add_error(errmsg) build(skip_features=false, managed=false) has_errors() class simpleapi.server.response.responsemerger(sapi_request, responses) build() class simpleapi.server.response.responseexception 10 Chapter 1. Contents
15 class simpleapi.server.response.unformattedresponse(content, mimetype= text/html ) Session class simpleapi.server.session.session clear() Utils class simpleapi.server.utils.glob_list A list which is Unix shell-style wildcards searchable Message Formatter class simpleapi.message.formatter.formatterssingleton This singleton takes care of all registered formatters. You can easily register your own formatter for use in both the Namespace and python client. register(name, formatter, override=false) Register the given formatter. If there s already an formatter with the given name, you can override by setting override to True. class simpleapi.message.formatter.formatter(sapi_request, callback) Baseclass for Formatter-implementations build(value) Takes care of the building process and returns the encoded data. kwargs(value, action= build ) Is called within simpleapi. This method invokes both the parse and build function when needed. parse(value) Takes care of the parsing proccess and returns the decoded data. class simpleapi.message.formatter.jsonformatter(sapi_request, callback) Formatter for the JSON-format. Used by default by the python client and by many Javascript-Frameworks. class simpleapi.message.formatter.jsonpformatter(sapi_request, callback) Formatter for JSONP-format. Used for cross-domain requests. If callback isn t provided, simpleapicallback is used. class simpleapi.message.formatter.valueformatter(sapi_request, callback) Basic formatter for simple, fast and tiny transports (it has a lot of limitations, though). class simpleapi.message.formatter.pickleformatter(sapi_request, callback) Formatter for use the cpickle python module which supports python object serialization. It has the fewest limitations (ie. it can also serialize datetime objects), but is a security risk and should only be used in a trusted environment. It s strongly recommended that you use authentication mechanismen to protect your namespace. The formatter is not activated by default and can be enabled by putting pickle into Namespace s input and output configuration Developer s Reference 11
16 Wrapper class simpleapi.message.wrapper.wrapperssingleton This singleton takes care of all registered wrappers. You can easily register your own wrapper for use in both the Namespace and python client. register(name, wrapper, override=false) Register the given wrapper class simpleapi.message.wrapper.wrapper(sapi_request) The baseclass wrapper you can use as a basis for your own wrapper class simpleapi.message.wrapper.defaultwrapper(sapi_request) class simpleapi.message.wrapper.extjsformwrapper(sapi_request) Request objects 1.3 Additional Pages Credits Thanks to... Stephan Jaekel and Martin Mahner for their inspiration and testing. 12 Chapter 1. Contents
17 CHAPTER 2 Easy example 2.1 handlers.py (in your django app) from simpleapi import Namespace class Calculator(Namespace): def add(self, a, b): return a + b add.published = True 2.2 in django: urls.py from simpleapi import Route from handlers import Calculator urlpatterns = patterns(, (r ^api/calculator/$, Route(Calculator)) ) 2.3 in Flask: app.py from simpleapi import Route from handlers import Calculator from flask import Flask app = Flask( name ) app.route( /api/ )(Route(Calculator, framework= flask )) if name == main : app.run() 13
18 2.4 Python Client (using simpleapi s client library) from simpleapi import Client calculator = Client(ns= ) print "5 + 3 =", calculator.add(a=5, b=3) 2.5 PHP Client (using simpleapi s PHP client) <?php $calculator = new Client(ns= ); print("5 + 3 ".$calculator->add(array( a =>5, b =>3)));?> 2.6 JavaScript Client (using jquery) jquery.get( "/api/calculator/", {_call: add, a: 5, b: 3}, function (result) { alert( = + result); } ) 14 Chapter 2. Easy example
19 Python Module Index s simpleapi.message.formatter, 11 simpleapi.message.wrapper, 12 simpleapi.server.feature, 10 simpleapi.server.namespace, 9 simpleapi.server.request, 10 simpleapi.server.response, 10 simpleapi.server.route, 9 simpleapi.server.session, 11 simpleapi.server.utils, 11 15
UVic Senior s Program: Microsoft Word
UVic Senior s Program: Microsoft Word Created by Robert Lee for UVic Senior s Program website: https://www.uvic.ca/engineering/computerscience/community/index.php Opening Microsoft Word: Launch it from
More informationKIDS BEDROOMS SHOP NOW -00% NEW. Item Name & Description $00 $00 -00% NEW. Item Name & Description $00 $00 NEW COLLECTIONS SHOP NOW!
Sign In / 0 0 0 HOME ACCESSORIES DINING SETS SPECIAL OFFERS 2016 COLLECTIONS! JUNE 24,2016 ELEGANT DINING SET Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
More informationHTML for D3. Visweek d3 workshop
HTML for D3 Visweek d3 workshop What is HTML HTML is the language in which the web pages are encoded. What is HTML? HTML can be complicated But it doesn t have to be.
More informationTypography is the art and technique of arranging type in order to make language visible.
TYPOGRAPHY 101 Typography is the art and technique of arranging type in order to make language visible. Good typography goes unnoticed. Readability How easy it is to read words, phrases and blocks of text
More informationbrand rationale logo colour typography graphics & images GREEN BISHOP BRAND IDENTITY GUIDELINES
brand rationale logo colour typography graphics & images 1 BRAND RATIONALE THE STORY OF GREEN BISHOP Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
More informationBusiness Applications Page Format
Margins Business Applications Page Format Page margins are the blank space around the edges of the page. The printable area is the section of the page inside the margins. To Change the Page Margins Margins
More informationCASE EXPLORER - INSTALLATION GUIDE. Doc
CASE EXPLORER - INSTALLATION GUIDE Doc. 20161104 Table Of Contents Overview... 3 Log In... 3 Procedure... 3 Home Page... 4 Searching and Pagination... 4 Utility Tools... 5 Report Generation... 6 Additional
More informationgraceland-core Documentation
graceland-core Documentation Release 0.1.0-SNAPSHOT Javier Campanini April 14, 2014 Contents 1 About 3 1.1 Contributing............................................... 3 1.2 License..................................................
More informationBRAND Guide. EuropeActive LOGOS
BRAND Guide EuropeActive LOGOS version 10/2014- p1 EuropeActive Logo The European Health & Fitness Association (EHFA) has been rebranded to EuropeActive. With our mission to get more people, more active,
More informationHARBORTOUCH STYLE GUIDE
HARBORTOUCH STYLE GUIDE THE LOGO The Harbortouch logo was created for its simplicity and ease of use for all types of applications. It is essential that the logo is not altered in any way in order for
More informationHigh Performance Auto Layout
#WWDC18 High Performance Auto Layout Ken Ferry, ios System Experience Kasia Wawer, ios Keyboards 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationThinking inside the box
Intro to CSS Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside
More informationhowtomarketing VISUAL IDENTITY In this section 30/04/ MY PR plus 1
howtomarketing VISUAL IDENTITY Module 1 Identify 1 In this section + WHAT IS VISUAL IDENTITY? + BRAND PROMISE AND STYLE + COLOURS + FONTS + DESIGN + VISUAL IDENTITY GUIDES/STYLE SHEETS 2 1 Visual Identity
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 1 Introduc)on IDM 221: Web Authoring I 2 Hello I am Phil Sinatra, professor in the Interac4ve Digital Media program. You can find me at: ps42@drexel.edu
More informationLorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam,
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
More informationPromiseShip Style Guide
Logo Options Primary - Color Primary with Tag - Color Black Black with Tag Reverse/White Reverse/White with Tag 2 Logo Use Guidelines Use the height of the P in PromiseShip to determine the width of space
More informationStyling of Controls Framework
Styling of Controls Framework 2011 51Degrees.mobi Limited. All rights reserved. The copyright in and title to the document Styling of Controls Framework belongs to 51Degrees.mobi Limited. No part of it
More informationManual ODIP Content Management System Version 1.0 February 2013
Manual ODIP Content Management System Version 1.0 February 2013 Chapter 1- Home page After you have logged in you will find the entry buttons to all sections of the CMS you will need to maintain the ODIP
More informationSTOCKHOLM BEAMER THEME
STOCKHOLM BEAMER THEME sthlm is based on the hsrm theme 20130731-093333-r2.2B-TemplatesthlmBeamerTheme HendryOlson.com Made in Sweden OVERVIEW 1. Background 2. Structure 3. Features 4. Tutorial 2 BACKGROUND
More informationDESIGN GUIDELINES. Use the following slides as a guide to make sure your presentation follows the PCS Plus brand.
Use the following slides as a guide to make sure your presentation follows the PCS Plus brand. LOGO PLACEMENT On white content slides the logo should appear in full colour on the bottom left of the screen
More informationHTML. UC Berkeley Graduate School of Journalism
HTML UC Berkeley Graduate School of Journalism Webpages are made of three Webpages are made of three HTML Webpages are made of three HTML CSS Webpages are made of three HTML CSS JavaScript Webpages are
More informationCOMCAS 2015 Author Instructions for Full Manuscript Submission
COMCAS 2015 Author Instructions for Full Manuscript Submission This document provides guidance on the submission of your Manuscript to COMCAS 2015. You may wish to print out these instructions and read
More informationANNEX VIII.2 New dangerous substances website. Safety and health at work is everyone s concern. It s good for you. It s good for business.
ANNEX VIII.2 New dangerous substances website Safety and health at work is everyone s concern. It s good for you. It s good for business. Information architecture 2 Information architecture Multilingual
More informationBrand Guidelines. Brand Guidelines V1.2 May 21, 2018
Brand Guidelines Brand Guidelines V1.2 May 21, 2018 1. Table of Contents 1. Table of Contents 2. Introduction 3. Logo 3.1 Clear Space 3.2 Color 3.3 Photo Backround 3.4 Sizing 3.4 Don t 4. Color Palette
More informationSphinx Readability Theme Documentation
Sphinx Readability Theme Documentation Release 0.0.6 Tsuyoshi Tokuda December 27, 2015 Contents 1 What Is It? 1 2 User s Guide 3 2.1 Installation................................................ 3 2.2
More informationAd Spec Guidelines
Ad Spec Guidelines 03.19.18 Ad Spec Guidelines 1 General Guidelines Required Assets For best results, please provide fully editable assets. FILES Design Files - Layered PSD (Photoshop) Fonts - RTF / TTF
More information15. Recursion 2. Motivation: Calculator. Naive Attempt (without Parentheses) Analyzing the Problem (15 7 3) = Input * 3 = Result 15
Motivation: Calculator Goal: we build a command line calculator 15. Recursion 2 Building a Calculator, Streams, Formal Grammars, Extended Backus Naur Form (EBNF), Parsing Expressions Example Input: 3 +
More informationINTRODUCTION. As GRADED brand user, you are also responsible for preserving that image. We count on your cooperation in this process.
BRAND BOOK 1 INTRODUCTION In this guide, you will find the rules to use the GRADED logo and graphic elements correctly with the possible variations and allowed limits. The guide aims to build a harmonious
More informationThis is an H1 Header. This is an H2 Header. This is an H3 Header
is a key element in web design. This templates delivers you sophisticated typography and various stylings. The style guide gives you an overview about all possible HTML tag stylings provided by the template.
More informationCONTENT STRATEGY: What s Real, What s Relevant. Kristina Halvorson Web 2.0 Expo San Francisco
CONTENT STRATEGY: What s Real, What s Relevant Kristina Halvorson Web 2.0 Expo San Francisco 04.01.09 WHO AM I? President, Brain Traffic Speaker, conferences Author, in training WHO AM I? Advocate, importance
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 6 IDM 221: Web Authoring I 2 The Box Model IDM 221: Web Authoring I 3 When a browser displays a web page, it places each HTML block element in a box.
More informationCase Study: Gut Check App
Case Study: Adam Keller User Experience Client: Janssen Pharmaceuticals Design & Direction Business Objective: To provide IBD and Crohn s Disease patients with a helpful tool that also collects patient-reported
More information#BDOG2018. Taglines, Hashtags And More. Spice Up Your Messaging. Digital Sharing. Questions? Comments?
Taglines, Hashtags And More Digital Sharing Follow and share your story using the hashtag #bdog2018 Browse nonprofits and tools to get involved on our website: bigdayofgiving.org Like us on Facebook: facebook.com/bigdayofgiving
More informationnagement ompetition enture coaching GRAPHIC STANDARDS capital investment launch opening risk assessment entrepreneur information feasibility study
eas development ESEARCH startup groundwork capital investment risk assessment Analysis nagement enture coaching entrepreneur information ompetition GRAPHIC STANDARDS launch opening feasibility study strategy
More informationBrand Guidelines CONTENTS. About these guidelines...2. Logo usage...3. Color palette...6. Fonts...7. Additional design elements...
CONTENTS About se guidelines...2 Logo usage...3 Color palette...6 Fonts...7 Additional design elements...8 Collateral examples...10 Brand Guidelines AUGUST 2013 1 about se guidelines [yoc-to] The smallest
More informationChapter 3 CSS for Layout
Chapter 3 CSS for Layout Chapter two introduced how CSS is used to manage the style of a webpage, this chapter explores how CSS manages the layout of a webpage. Generally a webpage will consist of many
More information01/ 03/ 05/ 07/ 09/ 11/ 13/ 15/ 17/ 19/ 21/ 23/ WEB DESIGN PRINT DESIGN PERSONAL DESIGN. DESIGN IS: a finely crafted method of mass communication
WEB DESIGN 01/ 03/ 05/ 07/ 09/ Delicious Boutique Product Page Design Vida Vibe Website Mock Design IIWII Homepage Design Naturewasher Landing Page Design Grown - Up Talk Application Design PRINT DESIGN
More informationUSER MANUAL. ICIM S.p.A. Certification Mark
USER MANUAL ICIM S.p.A. Certification Mark Index Informative note 4 The Certification Mark 6 Certified Management System 8 Certified Management System: Examples 19 Certified Product 27 Certified Product:
More informationDESIGNPRINCIPPER FANG FORTÆLLINGEN
DESIGNPRINCIPPER Indhold: 3 / Bomærke 6 Skrift 8 Farve 9 Plakat overordnet På udstillingsstedet 11 Plakat Udstilling 12 Skrift 13 Folder 17 Flyer 2 / Bomærke 3 frizone 4 (minimum gengivelse) 2 cm 4 cm
More informationCondition of the Mobile User
Condition of the Mobile User Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 2 IDM 221: Web Authoring I 2 Tools for Development Text Editor Hos.ng Version Control FTP (later) IDM 221: Web Authoring I 3 Last week we discussed
More informationDashboard Dashboard Screens Screens
Dashboard Screens DataSynapse Grid Server Dashboard Grid Components Services Admin Diagnostics Overview Overview Director Monitor Broker Monitor 45 Available Engines 16 Connected Drivers 31 Active Sessions
More informationEnter the Elephant. Massively Parallel Computing With Hadoop. Toby DiPasquale Chief Architect Invite Media, Inc.
Enter the Elephant Massively Parallel Computing With Hadoop Toby DiPasquale Chief Architect Invite Media, Inc. Philadelphia Emerging Technologies for the Enterprise March 26, 2008 Image credit, http,//www.depaulca.org/images/blog_1125071.jpg
More informationAd Spec Guidelines. Ad Spec Guidelines 1
Ad Spec Guidelines Ad Spec Guidelines 1 Table of Contents General Guidelines 3 Banners Display 4-5 Native Ads 6 Landing Pages: Super 7-8 Image 9 Interstitials 10 Rich Media 11-12 Tags 14 Attribution Pixels
More informationsphinx-argparse Documentation
sphinx-argparse Documentation Release 0.2.2 Alex Rudakov and Devon Ryan Mar 15, 2018 Contents 1 Installation 3 2 Basic usage 5 2.1 Other useful directives.......................................... 6 3
More information[ ] corporate brand guide brought to you from the minds at:
[ ] corporate brand guide 2015-2016 introduction This document describes the most essential elements of the p d adapt visual identity collage including logo usage, typographical marks and color palette.
More informationThe Moldable Editor. Bachelor Thesis. Aliaksei Syrel from Minsk, Belarus. Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern
The Moldable Editor Bachelor Thesis Aliaksei Syrel from Minsk, Belarus Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern 6. February 2018 Prof. Dr. Oscar Nierstrasz Dr. Andrei Chiş, Dr.
More informationUsername. Password. Forgot your password? Sign in. Register as new user
Username Password Forgot your password? Sign in Register as new user Registration Email Password Mobile phone Verify your account via SMS otherwise leave blank to verify via email. Terms & Conditions Lorem
More informationCSC 337. Cascading Style Sheets. Marty Stepp, Rick Mercer
CSC 337 Cascading Style Sheets Marty Stepp, Rick Mercer Preview of a style sheet /* The good way, with a preview of cascading style sheet (css) that has class mystyle */ body { background-color: grey;.mystyle
More informationIntroducing Natural Language
Session #WWDC18 Introducing Natural Language 713 Doug Davidson, Senior Software Engineer Vivek Kumar Rangarajan Sridhar, Software Engineering Manager 2018 Apple Inc. All rights reserved. Redistribution
More informationFeature Extraction and Classification. COMP-599 Sept 19, 2016
Feature Extraction and Classification COMP-599 Sept 19, 2016 Good-Turing Smoothing Defined Let N be total number of observed word-tokens, w c be a word that occurs c times in the training corpus. N = i
More informationTechnical Document Authoring and
2015 Aras 1 Technical Document Authoring and Management in PLM Kevin Richard 2015 Aras 2 Agenda Business Justification (Challenges/Goals) Technical Documents Features Demo Wrap up and questions 2015 Aras
More informationElaine Torres/Jeremy Henderson/Edward Bangs
SCENARIO 1: IMAGE AND TEXT PERSONAL USE Lorem ipsum dolor sit am, consectur adipiscing Lorem ipsum dolor sit am, consectur adipiscing Cloud Capture Icon appears in the top right corner of any browser after
More information01 The logo design. Our logo is the touchstone of our brand and one of the most valuable assets. We must. Designed by KING DESIGN
01 The logo design Our logo is the touchstone of our brand and one of the most valuable assets. We must 1. The logo and its usage / 2. Black, white and grayscale / 3. Logo construction + clear space /
More informationIntroduction to MVC 1.0
Introduction to MVC 1.0 David Delabassee - @delabassee Software Evangelist Cloud & Microservices - Oracle Java Day Tokyo 2016 May 24, 2016 Copyright 2016, Oracle and/or its its affiliates. All All rights
More information.and we ll give you 100 to say thank you
The digital bank Windows Internet Explorer http://www.anybank.co.uk/distinction Open an anybank current account today. Get our award winning Distinction Account 5 mobile banking app No monthly fees* Earn
More informationTitle Optional Subtitle
. Title Optional Subtitle J. Random Author Technische Universiteit Delft . Title Optional Subtitle by J. Random Author in partial fulfillment of the requirements for the degree of Master of Science in
More informationBrand Guidelines Clarity Coverdale Fury
Brand Guidelines 1 B R A N D M A N I F ESTO There s a spark when a girl realizes she has someone she can count on to support her dreams. The Ann Bancroft Foundation believes in nurturing that spark. Through
More informationDebugging programs. Khoo Yit Phang October 24, 2012
Debugging programs Khoo Yit Phang October 24, 2012 1 Ideal week of a CS430 student Write code for assignment Compile code into program??? Profit! (Or get an A ) 2 More realistic week of a CS430 student
More informationTitle. Optional subtitle J. Random Author. Cover Text possibly spanning multiple lines ISBN
Title Optional subtitle J. Random Author Cover Text possibly spanning multiple lines ISBN 000-00-0000-000-0 Title Optional subtitle by J. Random Author to obtain the degree of Master of Science at the
More informationbrand guide book & resources
brand guide book & resources back to top 1 logo page 3 placement, colours and composition key visuals & graphics page 8 placement, colours and composition typography page 10 font use and rules placement,
More informationAmplience Content Authoring Cartridge for Salesforce Commerce Cloud
Amplience Content Authoring Cartridge for Salesforce Commerce Cloud Makes it easy to integrate Amplience-created content modules with Commerce Cloud page templates. The result? Seamless content and commerce
More informationGraphic Identity Manual Version 5.0 (Updated 08/17)
Graphic Identity Manual Version 5.0 (Updated 08/17) University at at Albany Graphic Identity Manual 2 Contents 3 Introduction 4 Name 5 Colors 7 Typefaces and Fonts 8 Wordmarks and Logos 16 Signatures 17
More informationTravelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes 2/14/ :01 AM V1.5
Travelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes /4/0 :0 AM V.5 Katie Turcotte Rob Staples Michael Johnson Natalie Weathers John Adcox : A Unified Marketing
More informationTelly Mamayek, MCWD Director of Communications and Education
Minnehaha Creek Watershed District REQUEST FOR BOARD ACTION MEETING DATE: March 26, 2015 TITLE: Acceptance of 2014 MCWD Brand Manual Updates RESOLUTION NUMBER: 15-XXX021 PREPARED BY: Telly Mamayek, MCWD
More informationControl-flow Statements
Introduction to Programming Control-flow Statements Sergey Shershakov #4/22 Jan 2019 Test 3 (5 pts) https://goo.gl/forms/9yfm7kohnezgp3gk2 2 MORE ON STREAMS AND STRINGS 3 Class std::stringstream Allows
More informationC OLLABORATIVE AI WORKFLOWS
C OLLABORATIVE AI WORKFLOWS At, we transform the way people work within companies We offer the technological solutions to develop bespoke collaborative workflows providing superior access to information,
More informationMachine-actionable Data Management Planning
Machine-actionable Data Management Planning Please select a stakeholder to launch the associated mockup! Researcher Research Support ICT Operator Management Funder DMap Sign In Welcome to DMap the Machine-actionable
More informationUser Guide. Version 2.3.0,
User Guide Version 2.3.0, 2018-01-21 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...12 Block name...13 Block code...14 Simple editor for mobile
More informationUser Manual. Version ,
User Manual Version 2.3.13, 2018-07-20 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15
More informationUser Guide. Version 2.3.9,
User Guide Version 2.3.9, 2018-05-30 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15
More informationGhislain Fourny. Big Data 7. Syntax
Ghislain Fourny Big Data 7. Syntax Introduction 2 The stack: Syntax Text CSV XML JSON RDF/XML Turtle XBRL Syntax 3 Data Shapes Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel erat nec
More informationRHYMES WITH HAPPIER!
RHYMES WITH HAPPIER! Title Subtitle Date Title Subtitle Date Title Subtitle Date Title Subtitle Date WHO AM I? First Last Body copy Quick Facts about Zapier HQ: San Francisco, CA 100% Remote 145 Employees
More information1 VISION BRAND. Vision Brand Guide
1 VISION BRAND Vision Brand Guide Introduction There are times in the evolution of every corporation that you must embrace change in order to move forward. Optimal strategic positioning and corporate brand
More informationSIGNAGE STANDARDS MANUAL RYERSON UNIVERSITY
SIGNGE STNDRDS MNUL RYERSON UNIVERSITY 350 VICTORI ST, TORONTO, ON M5 2K3 ISSUE FOR TENDER SEPTEMER 1, 2017 Sign Type 1.0/Interior Identification Sign Type 2.0/Interior Directory Sign Type 3.0/Interior
More informationPython 3: Child processes
Python 3: Child processes Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having completed one or other of Python
More information(12) United States Patent
USOO8782.042B1 (12) United States Patent Cooke et al. (54) METHOD AND SYSTEM FOR IDENTIFYING ENTITIES (75) Inventors: David Cooke, Los Altos, CA (US); Martin Betz, Palo Alto, CA (US); Ashutosh Joshi, Fremont,
More informationVendio Stores RST Template Language Reference
Vendio Stores RST Template Language Reference Version 2.1, 09/07/2009 2009 by Vendio Services, Inc. 1 Contents Introduction:...4 The Vendio Stores...4 Assumptions and prerequisites...6 1. RST Basics...6
More informationBuoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links
Buoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links Tuomas J. Lukka, Janne V. Kujala, Matti Katila and Benja Fallenstein Hyperstructure Group Agora Center,
More informationTheLadders. brand guidelines
TheLadders brand guidelines purpose of this guide This guide is for TheLadders internal team and any of TheLadders trusted vendors. It establishes clear guidelines to help TheLadders teams execute creative
More informationTranslation features of SharePoint Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios
Translation features of SharePoint 2013. Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios Machine Translation Risks 3 Machine Translation Risk to your brand Machine Translation:
More informationKeywords: authors must specify 3-5 keywords in English, which will be used for indexing
Title Subtitle Author Name1, Author Name2* Affiliation1, *Affiliation2 Authors must provide an abstract of 100-200 words, written in English in a single paragraph. Lorem ipsum dolor sit amet, consectetur
More informationPython 3: Argument parsing
Python 3: Argument parsing Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having completed one or other of Python
More informationRinohType. A Document Processor inspired by LaTeX. Brecht Machiels EuroPython 2015
RinohType A Document Processor inspired by LaTeX Brecht Machiels EuroPython 2015 About the Speaker Brecht Machiels, *1982 enjoying computers since about 1986 Ph.D. in micro-electronics programming C, C++,
More informationPython 3: Handling errors
Python 3: Handling errors Bruce Beckles mbb10@cam.ac.uk Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having
More informationKNOWLEDGE CENTER SERVICE. Customization Guide
KNOWLEDGE CENTER SERVICE Customization Guide TABLE OF CONTENTS PAGE Homepage Overview 1 Homepage Customization Options 1. Header 3 2. Engagement Tools 5 3. Search Box 8 4. Search Results 13 5. Footer 20
More informationHOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY
HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY AYIMA HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY PAGE 1 The New iphone 8 & How To Rank For It: A Complete SEO Strategy After
More informationBrand Guideline Book
Brand Guideline Book Contents Tone of Voice 02 Logotype 06 Colour 12 Typography 16 Brand Language 20 Photographic Style 24 Application 28 01 TONE OF VOICE TONE OF VOICE Tone of Voice O1 is a brand that
More informationBOOTSTRAP GRID SYSTEM
BOOTSTRAP GRID SYSTEM http://www.tutorialspoint.com/bootstrap/bootstrap_grid_system.htm Copyright tutorialspoint.com In this chapter we shall discuss the Bootstrap Grid System. What is a Grid? As put by
More informationConversion Rate Optimisation. A small business guide
Conversion Rate Optimisation A small business guide 1 Contents About this e-book Why conversion rate optimisation A focus on ROI A 6 step approach to CRO Creating goals and funnels Types of tests Statistical
More informationBRAND GUIDELINES
BRAND GUIDELINES 06.19.18 CONTENTS 3 BRAND ELEMENTS 1.1 Overview 1.2 The Nutrien Logo 1.3 The Nutrien Ag Solutions Logo 1.4 Color System 1.5 Logo: Colors 1.6 Logo: Clear Space 1.7 Logo: Scaling & Minimum
More informationLECTURE 6 Scanning Part 2
LECTURE 6 Scanning Part 2 FROM DFA TO SCANNER In the previous lectures, we discussed how one might specify valid tokens in a language using regular expressions. We then discussed how we can create a recognizer
More informationBrand Usage Guide must any all logo files Word templates
Brand Usage Guide You must refer to this guide for any use of the Stsʼailes logo or Brand. The enclosed CD contains all logo files and Word templates for use. For the latest files go to: www.stsailes.com/brand
More informationPIXEL PERFECT PRECISION. Version 3 Produced
PIXEL PERFECT PRECISION Version 3 Produced by ustwo @pppustwo @gyppsy CONTENT Intro 1 Photoshop & ustwo 110 Thanks 2 Colour Profiles 111 The Core 3 Pixel Precision 116 Pixel Perfect Principles 4 Techniques
More informationLANGUAGE SELECTION. Which language do you prefer? English. English
LANGUAGE SELECTION Which language do you prefer?? English English Your guide to Samsung 837, where technology and culture collide. Confirm 837,. SWIPE TO EXPLORE You, or the concierge who gives you the
More information(12) Patent Application Publication (10) Pub. No.: US 2016/ A1
(19) United States US 20160371751A1 (12) Patent Application Publication (10) Pub. No.: US 2016/0371751A1 Cohen (43) Pub. Date: Dec. 22, 2016 (54) METHODS AND SYSTEMS FOR REDUCING NADVERTENT INTERACTIONS
More informationTitle. Optional Subtitle
Title Optional Subtitle Title Optional Subtitle Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. ir. K.C.A.M. Luyben,
More informationMap Me To ZERO Waste. Putthisak Panomsarnnarin. Thammasat University.
Map Me To ZERO Waste Putthisak Panomsarnnarin Thammasat University. Chemical Substance Identified Problems Leftover Improper Waste Disposal & Collection Solution Difficulties in Accessing to Waste Management
More informationDEV-C. OP Administrator Created the OP. Search Organizaion. Enter Org. Info. Set up Merchant Account. Enter Payment Method. Review Order and Submit
Information Architecture User Types and Status- Developers DEV-A DEV-B DEV-C DEV-D Anonymous Not registered or signed-in on Developer Program site Variations of Anonymous Cookies include: - First time
More information