| Class |
Description |
|
AssertionWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryBooleanExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryDoubleExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryExpressionMultiTypeDispatcher
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryExpressionWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryFloatExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryIntExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryLongExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BinaryObjectExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BytecodeDumper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BytecodeHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
BytecodeVariable
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
CallSiteWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
ClosureWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
CompileStack
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
CompileStack.BlockRecorder
|
|
|
CompileStack.LabelRange
|
|
|
DelegatingController
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
ExpressionAsVariableSlot
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
InvocationWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
MethodCaller
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
MethodCallerMultiAdapter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
MopWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
OperandStack
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
OptimizingStatementWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
OptimizingStatementWriter.ClassNodeSkip
|
|
|
OptimizingStatementWriter.StatementMeta
|
|
|
StatementMetaTypeChooser
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
StatementWriter
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
UnaryExpressionHelper
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
VariableSlotLoader
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |
|
WriterController
|
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. |


Customer Churn Scenario - Microsoft Machine Learning and Data Science Team
1 - Intro and Business Case
2 - The Microsoft Azure Platform
3 - Cortana Analytics Overview
4 - Solution Review
5 - Data Sourcing and Identification
6 - Loading Data to Azure
7 - Data Ingestion
8 - Hadoop for Processing
9 - Feature Selection and Implementation in Azure ML
10 - Developing and Selecting Models
11 - Deploying and Using the Model
Microsoft R Server
HDInsight One-Day Course


jsPlumbInstance Class
This class models an instance of jsPlumb. The global object JsPlumb is both a static module and an instance of this class, and it is an instance of this class that is returned from JsPlumb. A jsPlumbInstance manages a set of Endpoints and Connections.
Item Index
Methods
- addEndpoint
- addEndpoints
- animate
- batch
- bind
- cleanupListeners
- connect
- deleteConnection
- deleteEndpoint
- deleteEveryEndpoint
- doWhileSuspended deprecated
- draggable
- empty
- extend static
- fire
- getAllConnections
- getConnections
- getContainer
- getDefaultConnectionType static
- getDefaultEndpointType static
- getDefaultScope
- getEndpoint
- getInstance
- getScope
- getSelector
- getSourceScope
- getTargetScope
- getType
- hide
- importDefaults
- isHoverSuspended
- isSource
- isSourceEnabled
- isSuspendDrawing
- isSuspendEvents
- isTarget
- isTargetEnabled
- jsPlumbUtil.replace
- makeSource
- makeTarget
- off
- on
- ready
- recalculateOffsets
- registerConnectionType
- registerConnectionTypes
- registerEndpointType
- registerEndpointTypes
- remove
- removeAllEndpoints
- repaint
- repaintEverything
- reset
- restoreDefaults
- revalidate
- select
- selectEndpoints
- setContainer
- setDefaultScope
- setDraggable
- setHoverSuspended
- setIdChanged
- setParent
- setScope
- setSource
- setSourceEnabled
- setSourceScope
- setSuspendDrawing
- setSuspendDrawing
- setSuspendEvents
- setTarget
- setTargetEnabled
- setTargetScope
- show
- toggleDraggable
- toggleSourceEnabled
- toggleTargetEnabled
- toggleVisible
- unbind
- unmakeEverySource
- unmakeEveryTarget
- unmakeSource
- unmakeTarget
Properties
- connectorClass
- Defaults
- Defaults.Anchor
- Defaults.Anchors
- Defaults.ConnectionOverlays
- Defaults.ConnectionsDetachable
- Defaults.Connector
- Defaults.Container
- Defaults.DoNotThrowErrors
- Defaults.DragOptions
- Defaults.DropOptions
- Defaults.Endpoint
- Defaults.EndpointHoverStyle
- Defaults.EndpointHoverStyles
- Defaults.Endpoints
- Defaults.EndpointStyle
- Defaults.EndpointStyles
- Defaults.HoverPaintStyle
- Defaults.LabelStyle deprecated
- Defaults.LogEnabled
- Defaults.MaxConnections
- Defaults.Overlays
- Defaults.PaintStyle
- Defaults.ReattachConnections
- Defaults.RenderMode
- Defaults.Scope
- draggingClass
- elementDraggingClass
- endpointAnchorClassPrefix
- endpointClass
- endpointConnectedClass
- endpointDropAllowedClass
- endpointDropForbiddenClass
- endpointFullClass
- hoverClass
- overlayClass
- SVG static
Methods
addEndpoint
-
el
-
[params]
-
[referenceParams]
Adds an Endpoint to a given element or elements. See also jsPlumbInstance.addEndpoints
.
Parameters:
-
el
String | Object | ArrayElement to add the endpoint to. Either an element id, a selector representing some element(s), or an array of either of these.
-
[params]
Object optionalObject containing Endpoint constructor arguments. For more information, see {@link Endpoint}
-
[referenceParams]
Object optionalObject containing more Endpoint constructor arguments; it will be merged with params by jsPlumb. You would use this if you had some shared parameters that you wanted to reuse when you added Endpoints to a number of elements. The allowed values in this object are anything that 'params' can contain. See
.
Returns:
The newly created Endpoint, if el
referred to a single element. Otherwise, an array of newly created Endpoint
s.
addEndpoints
-
target
-
endpoints
-
[referenceParams]
Adds a list of Endpoints to a given element or elements. See also jsPlumbInstance.addEndpoint
.
Parameters:
-
target
String | Object | ArrayElement to add the Endpoint to. Either an element id, a selector representing some element(s), or an array of either of these.
-
endpoints
ArrayList of objects containing Endpoint constructor arguments. one Endpoint is created for each entry in this list. See {@link Endpoint}'s constructor documentation.
-
[referenceParams]
Object optionalObject containing more Endpoint constructor arguments; it will be merged with params by jsPlumb. You would use this if you had some shared parameters that you wanted to reuse when you added Endpoints to a number of elements.
Returns:
List of newly created Endpoints, one for each entry in the endpoints
argument.
animate
-
el
-
[properties]
-
[options]
This is a wrapper around the supporting library's animate function; it injects a call to jsPlumb in the 'step' function (creating the 'step' function if necessary). This only supports the two-arg version of the animate call in jQuery, the one that takes an 'options' object as the second arg. MooTools has only one method, a two arg one. Which is handy. YUI has a one-arg method, so jsPlumb merges 'properties' and 'options' together for YUI.
Parameters:
-
el
String | Element | SelectorElement to animate. Either an id, or a selector representing the element.
-
[properties]
Object optionalThe 'properties' argument you want passed to the library's animate call.
-
[options]
Object optionalThe 'options' argument you want passed to the library's animate call.
batch
-
fn
-
[doNotRepaintAfterwards=false]
Suspends drawing, runs the given function, then re-enables drawing (and repaints, unless you set 'doNotRepaintAfterwards' to true)
Parameters:
-
fn
FunctionFunction to execute while drawing is suspended.
-
[doNotRepaintAfterwards=false]
Boolean optionalIf true, will not run a repaint after running the function supplied to this function.
bind
-
event
-
listener
-
[insertAtStart=false]
Binds a listener to one or more events.
Parameters:
-
event
String | StringName(s) of the event(s) to bind to. Note that if you provide multiple event names they all are bound with the same function.
-
listener
FunctionFunction to execute.
-
[insertAtStart=false]
Boolean optionalWhether or not to insert this listener at the start of the listener list, so it is fired before the other currently registered listeners.
cleanupListeners
()
Removes all listeners.
connect
-
params
-
referenceParams
Establishes a {@link Connection} between two elements (or {@link Endpoint}s, which are themselves registered to elements).
Parameters:
-
params
ObjectConnection params
-
source
String | Object | EndpointSource of the connection. May be an id, or an element, or an Endpoint.
-
target
String | Object | EndpointTarget of the connection. May be an id, or an element, or an Endpoint.
-
[uuids]
String optionalOptional array of UUIDs of the two Endpoints to connect. If you supply this you do not need to supply
source
ortarget
. -
[type]
String optionalOptional type for the Connection.
-
[pointer-events]
String optionalOptional
pointer-events
value for the Connection (only used by the SVG renderer) -
[connector]
String | Array optionalThe type of Connector to use. Defaults to whatever is set in the defaults for the instance. This parameter can be either a String - a named Connector, such as "Straight" - or an array consisting of a Connector name plus constructor parameters. For further information see the main documentation.
-
-
referenceParams
ObjectOptional second set of parameters, which will be merged into a new object along with
params
. This can be useful if you have some common settings to share between multipleconnect
calls. Valid values in this object are anything that is valid inparams
.
Returns:
The Connection that was created, or null if either the source or target element was not found (in which case the missin element is also logged).
deleteConnection
-
Connection
Removes a Connection, detaching it from its Endpoints.
Parameters:
-
Connection
Connectionto delete
deleteEndpoint
-
object
-
[doNotRepaintAfterwards=false]
Deletes an Endpoint and removes all Connections it has (which removes the Connections from the other Endpoints involved too)
Parameters:
-
object
String | EndpointEither a string, representing the endpoint's uuid, or an Endpoint.
-
[doNotRepaintAfterwards=false]
Boolean optionalIndicates whether or not to repaint everything after this call.
Returns:
The current jsPlumb instance.
deleteEveryEndpoint
()
JsPlumbInstance
Deletes every Endpoint
and their associated Connection
s. Distinct from {@link jsPlumbInstance#reset} because we dont clear listeners here, so
for that reason this function is often the best way to reset a jsPlumb instance.
Returns:
The current jsPlumb instance.
doWhileSuspended
()
deprecated
Original method name for the batch
function.
draggable
-
el
-
[options]
Initialises some element or elements to be draggable. You should use this instead of your library's draggable method so that jsPlumb can setup the appropriate callbacks. Your underlying library's drag method is always called from this method.
Parameters:
-
el
ObjectEither an element id, an element, a list of element ids, or a selector.
-
[options]
Object optionalOptions to pass through to the underlying library. A common use case in jQueryUI, for instance, is to provide a
containment
parameter:`jsPlumb.draggable("someElementId", { containment:"parent" });`
Returns:
The current jsPlumb instance.
empty
-
el
Empties out the given element: all Endpoints and Connections belonging to child elements, as well as - of course - the child elements themselves. Endpoints and Connections belonging to the element itself are retained.
Parameters:
-
el
String | Element | SelectorThe element in question.
extend
-
o1
-
o2
-
[filterList]
Extends o1 with the properties of o2, optionally filtering via the values in filterList.
Parameters:
-
o1
ObjectObject to extend into
-
o2
ObjectObject to extend from
-
[filterList]
String optionalOptional list of property names to filter by - if this is provided, only values whose keys are in this list will be copied into o1.
Returns:
The object into which values were extended.
fire
-
event
-
value
-
originalEvent
Fires an update for the given event.
Parameters:
-
event
StringEvent to fire
-
value
ObjectValue to pass to the event listener(s).
-
originalEvent
EventThe original event from the browser
getAllConnections
()
Object
Gets all Connections the given jsPlumbInstance is managing.
Returns:
All connections, as a map of the form:
{ scope -> [ connection... ] }
getConnections
-
scope
-
options
-
[flat=false]
Gets all or a subset of connections currently managed by this jsPlumb instance. If only one scope is passed in to this method, the result will be a list of connections having that scope (passing in no scope at all will result in jsPlumb assuming you want the default scope).
If multiple scopes are passed in, the return value will be a map of
{ scope -> [ connection... ] }
Parameters:
-
scope
StringIf the first argument supplied to this function is a string, it is treated as a scope filter, and this method will return a list of connections that are in the given scope. use '*' for all scopes.
-
options
ObjectFilter options
-
[scope]
String | String optionalmay be a string specifying a single scope, or an array of strings, specifying multiple scopes. Also may have the value '*', indicating any scope.
-
[source]
String | String | Selector optionaleither a string representing an element id, a selector, or an array of ids. Also may have the value '*', indicating any source. Constrains the result to connections having this/these element(s) as source.
-
[target]
String | String | Selector optionaleither a string representing an element id, a selector, or an array of ids. Also may have the value '*', indicating any target. Constrains the result to connections having this/these element(s) as target.
-
-
[flat=false]
Boolean optionalreturn results in a flat array (don't return an object whose keys are scopes and whose values are lists per scope).
Returns:
If only one scope was requested, a list of Connections that match the criteria. Otherwise, a map of [scope->connection lists].
getContainer
()
Element
Gets the current element in use as the Container for the given jsPlumbInstance
Returns:
The current element in use as the Container.
getDefaultConnectionType
()
static
Returns the default Connection type. Used when someone wants to subclass Connection and have jsPlumb return instances of their subclass. you would make a call like this in your class's constructor:
jsPlumb.getDefaultConnectionType().apply(this, arguments);
Returns:
The default Connection function used by jsPlumb.
getDefaultEndpointType
()
static
Returns the default Endpoint type. Used when someone wants to subclass Endpoint and have jsPlumb return instances of their subclass. you would make a call like this in your class's constructor:
jsPlumb.getDefaultEndpointType().apply(this, arguments);
Returns:
The default Endpoint function used by jsPlumb.
getDefaultScope
()
String
Gets the default scope for connections and endpoints. A scope defines a type of endpoint/connection; supplying a scope to an Endpoint or Connection allows you to support different types of connections in the same UI. but if you're only interested in one type of connection, you don't need to supply a scope. this method will probably be used by very few people; it's good for testing though.
Returns:
The default scope for the given jsPlumbInstance
getEndpoint
-
uuid
Gets an Endpoint by UUID
Parameters:
-
uuid
StringThe UUID for the Endpoint
Returns:
Endpoint with the given UUID, null if nothing found.
getInstance
-
[_defaults]
Gets a new instance of jsPlumb.
Parameters:
-
[_defaults]
Object optionalOptional default settings for the new instance.
getScope
-
Element
Gets the source or target scope of some element that has that has been configured as a connection source with makeTarget
and/or makeSource
, defaulting to the source scope if the element has been configured for both.
Parameters:
-
Element
Element | Stringto get source or target scope for.
Returns:
Source or Target scope (you will get Source if the element is both a source and a target), or the default scope if nothing was explicitly set.
getSelector
-
[context]
-
spec
This method takes the given selector spec and, using the current underlying library, turns it into a selector from that library. This method exists really as a helper function for those applications where you're writing jsPlumb code that will target more than one library (such as in the case of the jsPlumb demo pages).
Parameters:
-
[context]
Element | Selector optionalAn element to search from. may be omitted (not null: omitted. as in you only pass one argument to the function)
-
spec
StringA valid selector string.
getSourceScope
-
Element
Gets the source scope of some element that has that has been configured as a connection source with makeSource
Parameters:
-
Element
Element | Stringto get source scope for.
Returns:
Source scope, or the default scope if nothing was explicitly set.
getTargetScope
-
Element
Gets the target scope of some element that has that has been configured as a connection source with makeTarget
Parameters:
-
Element
Element | Stringto get target scope for.
Returns:
Target scope, or the default scope if nothing was explicitly set.
getType
-
id
-
typeDescriptor
Returns the given type's specification.
Parameters:
-
id
StringId of the type to retrieve
-
typeDescriptor
String"connection"
or"endpoint"
- the category of Type to get.
Returns:
Type specification, it if exists, null otherwise.
hide
-
el
-
[changeEndpoints=false]
Sets an element's connections to be hidden.
Parameters:
-
el
String | Element | SelectorElement to hide connections for.
-
[changeEndpoints=false]
Boolean optionalWhether not to also hide endpoints on the element.
Returns:
The current jsPlumb instance.
importDefaults
-
defaults
Imports all the given defaults into this instance of jsPlumb.
Parameters:
-
defaults
ObjectThe defaults to import.
Returns:
The current jsPlumb instance.
isHoverSuspended
()
Boolean
Returns:
Whether or not hover effects are currently suspended.
isSource
-
el
Returns whether or not the given element is registered as a connection source.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
True if source, false if not.
isSourceEnabled
-
el
-
[connectionType]
Returns whether or not the given connection source is enabled.
Parameters:
-
el
String | Element | SelectorThe element in question.
-
[connectionType]
String optionalOptional specific connection type to test against. If not provided, uses the default, which means a
makeSource
call that did not specify aconnectionType
.
Returns:
True if enabled, false if not.
isSuspendDrawing
()
Boolean
Returns whether or not drawing is currently suspended.
Returns:
True if drawing suspended, false otherwise.
isSuspendEvents
()
Boolean
Checks whether or not events are currently suspended.
Returns:
True if events are suspended, false otherwise.
isTarget
-
el
Returns whether or not the given element is registered as a connection target.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
True if source, false if not.
isTargetEnabled
-
el
Returns whether or not the given connection target is enabled.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
True if enabled, false if not.
jsPlumbUtil.replace
-
inObj
-
path
-
value
Replaces values inside some JS object according to a given path spec. A path spec is a string in dotted notation, with each component optionally declaring an array index. Some examples are:
foo.bar foo.baz[2] foo.qux[3].baz[3].shwee
The function fails gracefully if the path identifies a non-existent object.
Parameters:
-
inObj
ObjectObject to perform replacements inside.
-
path
StringPath to use for replacements
-
value
ObjectValue to set.
makeSource
-
el
-
params
Makes some DOM element(s) a Connection source, allowing you to drag connections from it/them without having to first register any Endpoints. When a Connection is established, the endpoint spec that was passed in to this method is used to create a suitable Endpoint (the default will be used if you do not provide one).
Parameters:
-
el
String | Element | SelectorString id, element, or element selector for the element(s) to make a source.
-
params
ObjectParameters for the call
-
[endpoint]
String | Array optionalSpecification of an endpoint to create when a connection is created.
-
[parent]
String | Element optionalThe element to add Endpoints to when a Connection is established. if you omit this, Endpoints will be added to 'el'.
-
[scope]
String optionalScope for the connections dragged from this element.
-
[dragOptions]
Object optionalSame stuff as you would pass to dragOptions of an Endpoint definition.
-
[deleteEndpointsOnEmpty=false]
Boolean optionalWhether or not to delete any Endpoints created by a connection from this source if the connection is subsequently detached. this will not remove Endpoints that have had more Connections attached to them after they were created.
-
[filter]
Function optionalFunction to call when the user presses the mouse button to start a drag. This function is passed the original event and the element on which the associated makeSource call was made. If it returns anything other than false, the drag begins as usual. But if it returns false (the boolean false, not just something falsey), the drag is aborted.
-
makeTarget
-
el
-
params
Makes some DOM element(s) a Connection target, allowing you to drag connections to it/them without having to first register any Endpoints. When a Connection is established, the endpoint spec that was passed in to this method is used to create a suitable Endpoint (the default will be used if you do not provide one).
Parameters:
-
el
String | Element | SelectorElement(s) to turn into a connection target.
-
params
ObjectParameters for the call
-
[endpoint]
String | Array optionalSpecification of an Endpoint to create when a Connection is established.
-
[scope]
String optionalScope for the drop zone.
-
[dropOptions]
Object optionalSame stuff as you would pass to dropOptions of an Endpoint definition.
-
[deleteEndpointsOnEmpty=true]
Boolean optionalWhether or not to delete any Endpoints created by a connection to this target if the connection is subsequently detached. this will not remove Endpoints that have had more Connections attached to them after they were created.
-
[maxConnections=-1]
Integer optionalSpecifies the maximum number of Connections that can be made to this element as a target.
-
[onMaxConnections]
Function optionalFunction to call when user attempts to drop a connection but the limit has been reached. The callback signature should look like this:
function( { element, connection, maxConnection }, originalEvent )
-
off
-
el
-
event
-
fn
Cancel delegate event handling for the given function. Note that unlike with 'on' you do not supply a list of child selectors here: it removes event delegation from all of the child selectors for which the given function was registered (if any).
Parameters:
-
el
Element | Element | StringEither an Element, or a CSS selector (if you want to specify an ID you must prepend it with '#'), or an array of Elements, from which to remove the event listener.
-
event
StringEvent ID.
-
fn
FunctionEvent handler function.
Returns:
The current jsPlumb instance; you can chain this method.
on
-
el
-
[children]
-
event
-
fn
Register an event handler, optionally as a delegate for some set of descendant elements. Note
that this method takes either 3 or 4 arguments - if you supply 3 arguments it is assumed you have
omitted the children
parameter, and that the event handler should be bound directly to the given element.
Parameters:
-
el
Element | Element | StringEither an Element, or a CSS selector (if you want to specify an ID you must prepend it with '#'), or an array of Elements.
-
[children]
String optionalComma-delimited list of selectors identifying allowed children.
-
event
StringEvent ID.
-
fn
FunctionEvent handler function.
Returns:
The current jsPlumb instance; you can chain this method.
ready
-
fn
Helper method to bind a function to jsPlumb's ready event. You should use this method instead of your library's equivalent, to ensure that jsPlumb has loaded properly before you start to use it. This is particularly true in the case of YUI, because of the asynchronous nature of the module loading process.
Parameters:
-
fn
FunctionFunction to call once the instance is ready.
recalculateOffsets
-
el
Recalculates the offsets of all child elements of some element. If you have Endpoints registered on the descendants of some element and you make changes to that element's markup, it is possible that the location of each Endpooint relative to the origin of the element may have changed. So you call this to tell jsPlumb to recalculate. You need to do this because, for performance reasons, jsplumb won't calculate these offsets on the fly.
Parameters:
-
el
String | Element | SelectorThe element for which to recalculate offsets.
registerConnectionType
-
typeId
-
type
Registers the given connection type on this instance of jsPlumb.
Parameters:
-
typeId
StringId of the type
-
type
ObjectObject containing the type specification.
registerConnectionTypes
-
types
Registers all of the given connection types on this instance of jsPlumb. types
is expected
to contain keys with typeids and values with type specification objects.
Parameters:
-
types
ObjectObject containing the type specifications.
registerEndpointType
-
typeId
-
type
Registers the given endpoint type on this instance of jsPlumb.
Parameters:
-
typeId
StringId of the type
-
type
ObjectObject containing the type specification.
registerEndpointTypes
-
types
Registers all of the given Endpoint types on this instance of jsPlumb. types
is expected
to contain keys with typeids and values with type specification objects.
Parameters:
-
types
ObjectObject containing the type specifications.
remove
-
el
Removes the given element from the DOM, along with all Endpoints associated with it, and their connections. This also removes all Endpoints and Connections belonging to child elements, as well as - of course - the child elements themselves.
Parameters:
-
el
String | Element | SelectorThe element in question.
removeAllEndpoints
-
el
-
[recurse=false]
Removes all Endpoints associated with a given element. Also removes all Connections associated with each Endpoint it removes. jsPlumb expects that the element referenced here exists in the DOM. If it does not, or you are uncertain whether it will exist or not, use {@link jsPlumbInstance#remove}.
Parameters:
-
el
String | Element | SelectorThe element in question.
-
[recurse=false]
Boolean optionalWhether or not to recurse down through this elements children and remove their endpoints too.
Returns:
The current jsPlumb instance.
repaint
-
el
Repaints an element and its connections.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
The current jsPlumb instance.
repaintEverything
-
[clearEdits=false]
Repaints all connections and endpoints.
Parameters:
-
[clearEdits=false]
Boolean optionalIf true, clear all edits made since last paint (anchors having moved, conenctions edited, absolute overlay positions etc)
Returns:
The current jsPlumb instance.
reset
-
[doNotUnbindInstanceEventListeners]
Removes all endpoints and connections and clears the listener list. By default, and in retrospect this may not be the most awesome, this method will unbind all listeners on the instance. From 2.6.6 onwards you can override this behaviour, by setting doNotUnbindInstanceEventListeners to true.
Parameters:
-
[doNotUnbindInstanceEventListeners]
Boolean optionalIf true, event bindings on the instance will not be removed.
restoreDefaults
()
JsPlumbInstance
chainable
Restores the default settings to "factory" values.
Returns:
The current jsPlumb instance.
revalidate
-
el
Clears the offset and size cache for an element, then repaints it and its connections.
Parameters:
-
el
String | Element | SelectorThe element in question.
select
-
[params]
Selects a set of Connections, using the filter options from the getConnections method, and returns an object that allows you to perform an operation on all of the Connections at once.
The return value from any of these operations is the original list of Connections, allowing operations to be chained (for 'setter' type operations). 'getter' type operations return an array of values, where each entry is of the form:
[ Connection, return value ]
Parameters:
-
[params]
Object optionalFilter parameters. All of the values in this object are optional; if you supply no parameters at all you will get back all of the current Connections in the given jsPlumb instance.
-
[scope]
String | String optionalscope - see getConnections
-
[source]
String | String optional- see getConnections
-
[target]
String | String optional- see getConnections
-
[connections]
Connection[] optional- an existing list of Connections. If you supply this, 'source' and 'target' will be ignored.
-
Returns:
A list of Connections on which operations may be executed. 'Setter' type operations can be chained; 'getter' type operations
return an array of [Connection, value]
pairs, one entry for each Connection in the list returned. The full list of operations
is as follows (where not specified, the operation's effect or return value is the same as the corresponding method on Connection) :
- addClass : Adds a class to all the Connections in the list.
- addOverlay : Adds an Overlay to all the Connections in the list.
- addType : Adds a type to all the Connections in the list.
- delete : Deletes all the Connections in the list. Not chainable, and does not return anything.
- each(function(connection)...) : Allows you to specify your own function to execute; this function is chainable.
- get(index) : Returns the Connection at 'index' in the list.
- getHoverPaintStyle
- getLabel
- getOverlay
- getPaintStyle
- getParameter
- getParameters
- getType
- getZIndex
- hasType
- hideOverlay
- hideOverlays
- isDetachable
- isHover
- isReattach
- isVisible
- length : returns the length of the list.
- removeAllOverlays
- removeClass
- removeOverlay
- removeOverlays
- removeType
- repaint
- setConnector
- setDetachable
- setHover
- setHoverPaintStyle
- setLabel
- setPaintStyle
- setParameter
- setParameters
- setReattach
- setType
- showOverlay
- showOverlays
selectEndpoints
-
[params]
Selects a set of Endpoints and returns an object that allows you to execute various different methods on them at once. The return value from any of these operations is the original list of Endpoints, allowing operations to be chained (for 'setter' type operations). 'getter' type operations return an array of values, where each entry is of the form:
[ Endpoint, return value ]
Parameters:
-
[params]
Object optionalFilter parameters.
-
[scope=jsPlumb.DefaultScope]
String | String optionalScope(s) to match
-
[source]
String | Element | Selector | Array optional- limits returned endpoints to those that are declared as a source endpoint on any elements identified.
-
[target]
String | Element | Selector | Array optional- limits returned endpoints to those that are declared as a target endpoint on any elements identified.
-
[element]
String | Element | Selector | Array optional- limits returned endpoints to those that are declared as either a source OR a target endpoint on any elements identified.
-
Returns:
A list of Endpoints on which operations may be executed. 'Setter' type operations can be chained; 'getter' type operations
return an array of [Endpoint, value]
pairs, one entry for each Endpoint in the list returned.
The full list of operations is as follows (where not specified, the operation's effect or return value is the same as the corresponding method on Endpoint) :
- setHover
- removeAllOverlays
- setLabel
- addClass
- addOverlay
- removeClass
- removeOverlay
- removeOverlays
- showOverlay
- hideOverlay
- showOverlays
- hideOverlays
- setPaintStyle
- setHoverPaintStyle
- setParameter
- setParameters
- setAnchor
- getLabel
- getOverlay
- isHover
- isDetachable
- getParameter
- getParameters
- getPaintStyle
- getHoverPaintStyle
- deleteEveryConnection : Deletes all the Connections from every Endpoint in the list. not chainable and does not return anything.
- delete : Deletes every Endpoint in the list. not chainable and does not return anything.
- length : returns the length of the list.
- get(index) : returns the Endpoint at 'index' in the list.
- each(function(endpoint)...) : allows you to specify your own function to execute; this function is chainable.
setContainer
-
container
Sets the current element to use as the Container for the given jsPlumbInstance - the element that will be the parent for
all artefacts added by jsPlumb. By default, the Container is set to the offsetParent of the first element on which
connect
, addEndpoint
, makeSource
or makeTarget
is called, but you are encouraged to set a Container either in the
arguments to the jsPlumb.newInstance(...)
method, or via jsPlumbInstance.importDefaults
.
Parameters:
-
container
String | Element | SelectorEither an element id, a DOM element, or a selector from the underlying library
setDefaultScope
-
scope
Sets the default scope for Connections and Endpoints. A scope defines a type of Endpoint/Connection; supplying a scope to an Endpoint or Connection allows you to support different types of Connections in the same UI. If you're only interested in one type of Connection, you don't need to supply a scope. This method will probably be used by very few people; it just instructs jsPlumb to use a different key for the default scope.
Parameters:
-
scope
StringScope to set as default.
Returns:
The current jsPlumb instance.
setDraggable
-
el
-
draggable
Sets whether or not the given element(s) should be draggable, regardless of what a particular method may request.
Parameters:
-
el
String | Object | ArraySome identifier for the element(s) - may be a string id, a selector, or an array of ids/selectors
-
draggable
BooleanWhether or not the given element(s) should be draggable.
setHoverSuspended
-
hover
Sets whether or not hover effects should be suspended. jsPlumb uses this internally during various drag/drop operations, and it is exposed because it might also be useful for you too.
Parameters:
-
hover
Booleanwhether or not to set hover suspended.
setIdChanged
-
oldId
-
newId
Notify jsPlumb that the element with oldId has had its id changed to newId. This method is equivalent to what jsPlumb does itself in the second step of the setId method.
Parameters:
-
oldId
StringPrevious element id
-
newId
StringElement's new id
setParent
-
el
-
newParent
Switches the parent of the element to be the newParent, updating jsPlumb references to the element as necessary.
Parameters:
-
el
Selector | ElementElement to re-parent
-
newParent
Selector | Element | StringSelector, DOM element, or id of new parent.
setScope
-
el
-
scope
Sets the source and target scope of some element that has been configured as a connection source and target with makeTarget
and makeSource
. If the element is only a source or only a target, this method will just set what it can.
Parameters:
-
el
Element | StringElement to set source and target scope for.
-
scope
StringSpace delimited list of scopes. Note, though, that multiple scopes is supported by the jquery flavour only programmatcally, not with drag/drop connections.
setSource
-
connection
-
source
-
[doNotRepaint=false]
Sets the source for some Connection. A connectionMoved
event is fired.
Parameters:
-
connection
ConnectionThe connection to set the source for
-
source
String | Element | EndpointEither an element, element id, or existing Endpoint. If you pass an element or element id for an element that has been registered as a Connection source via makeSource, the Endpoint properties from that call are used.
-
[doNotRepaint=false]
Boolean optionalIf true, the Connection will not be repainted after the source is changed.
Returns:
The current jsPlumb instance
setSourceEnabled
-
el
-
state
Sets the enabled state of one or more elements that were previously made a connection source with the makeSource method.
Parameters:
-
el
String | Element | SelectorThe element in question.
-
state
BooleanTrue to enable the element(s), false to disable it.
Returns:
The current jsPlumb instance.
setSourceScope
-
el
-
scope
-
[connectionType]
Sets the source scope of some element that has been configured as a connection source with makeSource
Parameters:
-
el
Element | StringElement to set source scope for.
-
scope
StringSpace delimited list of scopes. Note, though, that multiple scopes is supported by the jquery flavour only programmatcally, not with drag/drop connections.
-
[connectionType]
String optionalOptional connection type to constrain the scope change to.
setSuspendDrawing
-
val
-
[doNotRepaintAfterwards=false]
Sets whether or not drawing is suspended. you should use this when doing bulk painting, like when first drawing a UI.
Parameters:
-
val
BooleanWhether or not to suspend drawing.
-
[doNotRepaintAfterwards=false]
Boolean optionalIf true, jsPlumb won't run a full repaint. Otherwise it will.
setSuspendDrawing
-
val
-
[repaintAfterwards=false]
Suspends drawing operations. This can (and should!) be used when you have a lot of connections to make or endpoints to register; it will save you a lot of time.
Parameters:
-
val
BooleanIndicates whether to suspend or not
-
[repaintAfterwards=false]
Boolean optionalInstructs jsPlumb to do a full repaint after changing the suspension state.
Returns:
The value of the suspend drawing flag before this method was called.
setSuspendEvents
-
val
Sets whether or not events are suspended.
Parameters:
-
val
BooleanWhether or not to suspend events.
setTarget
-
connection
-
target
-
[doNotRepaint=false]
Sets the target for some Connection. A connectionMoved
event is fired.
Parameters:
-
connection
ConnectionThe connection to set the target for
-
target
String | Element | EndpointEither an element, element id, or existing Endpoint. If you pass an element or element id for an element that has been registered as a Connection target via makeTarget, the Endpoint properties from that call are used.
-
[doNotRepaint=false]
Boolean optionalIf true, the Connection will not be repainted after the target is changed.
Returns:
The current jsPlumb instance
setTargetEnabled
-
el
-
state
Sets the enabled state of one or more elements that were previously made a connection target with the makeTarget method. method.
Parameters:
-
el
String | Element | SelectorThe element in question.
-
state
BooleanTrue to enable the element(s), false to disable it.
Returns:
The current jsPlumb instance.
setTargetScope
-
el
-
scope
-
[connectionType]
Sets the target scope of some element that has been configured as a connection source with makeTarget
Parameters:
-
el
Element | StringElement to set target scope for.
-
scope
StringSpace delimited list of scopes. Note, though, that multiple scopes is supported by the jquery flavour only programmatcally, not with drag/drop connections.
-
[connectionType]
String optionalOptional connection type to constrain the scope change to.
show
-
el
-
[changeEndpoints=false]
Sets an element's connections to be visible.
Parameters:
-
el
String | Element | SelectorElement to show connections for.
-
[changeEndpoints=false]
Boolean optionalWhether or not to also change the visible state of the endpoints on the element. this also has a bearing on other connections on those endpoints: if their other endpoint is also visible, the connections are made visible.
Returns:
The current jsPlumb instance.
toggleDraggable
-
el
Toggles draggability (sic?) of an element's Connections.
Parameters:
-
el
String | Element | SelectorThe element for which to toggle draggability.
Returns:
The current draggable state.
toggleSourceEnabled
-
el
Toggles the source enabled state of the given element or elements.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
The current enabled state of the source.
toggleTargetEnabled
-
el
Toggles the target enabled state of the given element or elements.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
The current enabled state of the target.
toggleVisible
-
el
-
[changeEndpoints=false]
Toggles visibility of an element's Connections.
Parameters:
-
el
String | Element | SelectorElement to toggle visibility for.
-
[changeEndpoints=false]
Boolean optionalWhether or not to also toggle the endpoints on the element.
Returns:
But should be updated to return the current state.
unbind
-
[eventOrListener]
-
[listener]
Clears either all listeners, or listeners for some specific event, or just some listener. You can call this method with zero, one or two arguments: with zero arguments, all listeners are cleared. With one argument that is a string, all listeners for the specified event type are cleared. With one argument that is a function, it is removed from the appropriate event list. With two arguments, the first is an event type, and the second is a function to be unbound. In fact this is perhaps unnecessary given that you can unbind a function just by passing it.
Parameters:
-
[eventOrListener]
String | Function optionalIf a string, constrains the clear to just listeners for the event identified by the string. If a Function, unbinds this function wherever it may have been bound.
-
[listener]
Function optionalIf provided, removes just this listener for the given event.
unmakeEverySource
()
JsPlumbInstance
Resets all elements in this instance of jsPlumb so that none of them are connection sources.
Returns:
The current jsPlumb instance.
unmakeEveryTarget
()
JsPlumbInstance
Resets all elements in this instance of jsPlumb so that none of them are connection targets.
Returns:
The current jsPlumb instance.
unmakeSource
-
el
Sets the given element to no longer be a connection source, optionally for just one specified connection type.
Parameters:
-
el
String | Element | SelectorThe element in question.
Returns:
The current jsPlumb instance.
unmakeTarget
-
el
Sets the given element to no longer be a connection target.
Parameters:
-
el
String | Element | SelectorElement to unmake as a connection target.
Returns:
The current jsPlumb instance.
Properties
connectorClass
String
The CSS class(es) to set on Connection elements. This value is a String and can have multiple classes; the entire String is appended as-is (this is true of all the CSS properties in a jsPlumbInstance).
Defaults
Object
These are the default settings for jsPlumb. They are what will be used if you do not supply specific pieces of information to the various API calls. A convenient way to implement your own look and feel can be to override these defaults by including a script somewhere after the jsPlumb include, but before you make any calls to jsPlumb.
Defaults.Anchor
String
The default anchor to use for all connections (both source and target). Default is "Bottom".
Defaults.Anchors
String
The default anchors to use as ([source, target]
) for all connections. Defaults are ["Bottom", "Bottom"]
.
Defaults.ConnectionOverlays
Object
The default overlay definitions for Connections. Defaults to an empty list.
Defaults.ConnectionsDetachable
Boolean
Whether or not connections are detachable by default (using the mouse). Defaults to true.
Defaults.Connector
String
Name of the default connector definition to use for all connections. Default is "Bezier".
Defaults.Container
Element | String
Optional selector or element id that instructs jsPlumb to append elements it creates to a specific element.
Defaults.DoNotThrowErrors
Boolean
Defaults to false; whether or not to throw errors if a user specifies an unknown anchor, endpoint or connector type.
Defaults.DragOptions
Object
The default drag options to pass in to {@link jsPlumbInstance#connect}, {@link jsPlumbInstance#makeTarget} and {@link jsPlumbInstance#addEndpoint} calls. Default is empty.
Defaults.DropOptions
Object
The default drop options to pass in to {@link jsPlumbInstance#connect}, {@link jsPlumbInstance#makeTarget} and {@link jsPlumbInstance#addEndpoint} calls. Default is empty.
Defaults.Endpoint
String
The name of the default endpoint to use for all connections (both source and target). Default is "Dot"
.
Defaults.EndpointHoverStyle
Object
The default hover style definition to use for all endpoints. Default is null.
Defaults.EndpointHoverStyles
Object
The default hover style definitions ([ source, target ]) to use for all endpoints. Defaults are null.
Defaults.Endpoints
String
The names of the default endpoint definitions ([ source, target ]) to use for all connections. Defaults are ["Dot", "Dot"]
.
Defaults.EndpointStyle
Object
The default style definition to use for all endpoints. Default is { fill:"#456" }
Defaults.EndpointStyles
Object
The default style definitions ([ source, target ]) to use for all endpoints. Defaults are empty.
Defaults.HoverPaintStyle
Object
The default hover style definition to use for all connections. Defaults are null.
Defaults.LabelStyle
Object
deprecated
The default style to use for label overlays on connections.
Defaults.LogEnabled
Boolean
Whether or not the jsPlumb log is enabled. defaults to false.
Defaults.MaxConnections
Integer
The default maximum number of connections for an Endpoint. Defaults to 1.
Defaults.Overlays
Object
The default overlay definitions (for both Connections and Endpoint). Defaults to an empty list.
Defaults.PaintStyle
Object
The default paint style for a connection. Default is line width of 8 pixels, with color "#456".
Defaults.ReattachConnections
Boolean
Whether or not to reattach Connections that a user has detached with the mouse and then dropped. Default is false.
Defaults.RenderMode
String
What mode to use to paint with. If you're on IE<9, you don't really get to choose this. You'll just get VML. Otherwise, jsPlumb uses SVG. Note that from 1.6.0 onwards, support for Canvas has been removed.
Defaults.Scope
String
The default "scope" to use for connections. Scope lets you assign connections to different categories.
Default: "_jsPlumb_Default_Scope"
draggingClass
String
The CSS class(es) to set on connections that are being dragged. This value is a String and can have multiple classes; the entire String is appended as-is.
elementDraggingClass
String
The CSS class(es) to set on connections whose source or target element is being dragged, and on their endpoints too. This value is a String and can have multiple classes; the entire String is appended as-is.
endpointAnchorClassPrefix
String
The prefix for the CSS class to set on Endpoints that have dynamic anchors whose individual locations have declared an associated CSS class. This value is a String and, unlike the other classes, is expected to contain a single value, as it is used as a prefix for the final class: '_' is appended, where "" is the CSS class associated with the current dynamic anchor location.
endpointClass
String
The CSS class(es) to set on Endpoint elements. This value is a String and can have multiple classes; the entire String is appended as-is.
endpointConnectedClass
String
The CSS class(es) to set on an Endpoint element when its Endpoint has at least one connection. This value is a String and can have multiple classes; the entire String is appended as-is.
endpointDropAllowedClass
String
The CSS class(es) to set on an Endpoint on which a drop will be allowed (during drag and drop). This value is a String and can have multiple classes; the entire String is appended as-is.
endpointDropForbiddenClass
String
The CSS class(es) to set on an Endpoint on which a drop will be forbidden (during drag and drop). This value is a String and can have multiple classes; the entire String is appended as-is.
endpointFullClass
String
The CSS class(es) to set on a full Endpoint element. This value is a String and can have multiple classes; the entire String is appended as-is.
hoverClass
String
The CSS class(es) to set on Connection or Endpoint elements when hovering. This value is a String and can have multiple classes; the entire String is appended as-is.
overlayClass
String
The CSS class(es) to set on an Overlay that is an HTML element. This value is a String and can have multiple classes; the entire String is appended as-is.
SVG
String
static
Constant for use with the setRenderMode method


TIFF Mapper
Introduction
TIFF Mapper is a relatively simple tool that uses the TIFF Reader to open and load a file, then loads the data (16-bit integers) from the file one line at a time. The data is then used to build a three.js Geometry by explicitly creating all the Vector3, Face3 and FaceVertex UVs. Let's look at some samples, then cover how it was done.
Sample Images
One can also optionally load an image which can be draped onto the mesh.
A fully functional demo (assuming your browser supports JavaScript and WebGL) is here. Be patient, it takes a few seconds (depending on your hardware) to load and render the model. You can zoom in and out with your mouse (or trackpad). The exaggeration is 100x.
Here is a sample view with the elevations exaggerated 100x. If you don't exaggerate the elevations the earth is almost a smooth as a ping-pong ball. See additional discussion here.
Here is another sample, with the same exaggeration as used on the bronze earth sculpture Geo-F/X helped construct currently on display at the New York Museum of Natural History. See here for more details.
Finally, here is a sample with no exaggeration at all. At this scale, the height of Mount Everest on a 12" (30 cm) globe would be just over 0.01" (0.4 mm). With no exaggeration one might as well use a smooth sphere.
How The Demo Was Made
Getting The Data
First off, we need to get a data set. The source is the GLOBE project. The 5-minute GeoTIFF is a complete DEM (digital elevation model) of the entire earth, including the ocean bathymetry and the ice caps on Antarctica and Greenland. The resulting data set is 21601x10801 data points - a whopping 233 million data points or over 466 MB uncompressed! A little large to load into three.js in JavaScript, so we need to resample it down to something a little smaller. I used to have my own tools, written in C++ with LibTIFF and GeoTIFF to do this but nowadays I use QGIS, which does a good job.
After a little experimentation, I found that a file about 1/15 that size - 1440x720 data points gave good results and didn't crash the browser :-)
Rendering the GeoTIFF
The first step is initializing the scene (GFXScene) and setting up our lights:
var gfxScene = new GFX.Scene( {
cameraPos : [4, 3, 4],
controls:true,
defaultLights:false,
displayStats:true});
gfxScene.addLight( 'ambient', { color:0xffffff, intensity : 0.75 });
gfxScene.addLight( 'directional', { color:0xffffff, intensity:0.25, position:[30,0,0]});
Then we instantiate the TIFF Reader, passing in the GeoTIFF file to be opened.
function initializeDemo() { tiffReader = new TIFFX.TIFFReader("../data/ETOPO_15.tif", tiffReady); } /** * Called when the TIFF is loaded and ready to be used */ function tiffReady() { tiffMapper = new TIFFX.TIFFMapper( gfxScene, tiffReader ); tiffMapper.createGlobe(
"../data/8081-earthmap8k.jpg"); }
Note that we pass the function tiffReady to the TIFFReader. That will be called when the TIFF is loaded. It has to be done that way because the loading of resources is done asynchronously. Then, in tiffReady we instantiate the TIFFMapper to which we pass the GFXScene object and the TIFFReader. Then we call createGlobe where all the heavy lifting is done.
The first step is to build all the vertices.
var lat = 90 * Math.PI / 180.0;
var vec;
for (var i=0; i < height; i++ ) {
var rasterWindow = [0, i, width - 0, i+1]; // left, top, right, bottom
rasterData = image.readRasters({window: rasterWindow});
var lon = 0;
for ( var j=0; j<rasterData[0].length; j++ ) {
// instead of using the last *real* value, use the first again so it meshes
if ( j === 0 )
k = rasterData[0].length-1;
else
k = j;
var radius = SCALE_FACTOR *
(rasterData[0][k] / 1000.0 * EXAGGERATION + EARTH_DIAMETER) / EARTH_DIAMETER;
// this transform from https://stackoverflow.com/questions/28365948/javascript-\
// latitude-longitude-to-xyz-position-on-earth-threejs
var phi = Math.PI/2 - lat;
var theta = Math.PI + lon;
x = -(radius * Math.sin(phi) * Math.cos(theta));
z = (radius * Math.sin(phi) * Math.sin(theta));
y = (radius * Math.cos(phi));
this.globeGeom.vertices.push(new THREE.Vector3(x, y, z));
max = Math.max(max, rasterData[0][j]);
min = Math.min(min, rasterData[0][j]);
lon += deltaLon;
}
lat -= deltaLat;
}
This is pretty straightforward, it just walks through the GeoTIFF, reading one line at a time and converting each data point to a Vector3 and push the vertex into the geometry. However, there are two aspects wothr noting.
First, the transform has two parts. The first two lines convert latitude and longitude to spherical coordinates (theta and phi). The radius is computed from the earth's radius plus the altitude of the data point. This is not strictly speaking completely accurate as we should probably project the point on to the WGS84 ellipsoid. But the difference between that ellipsoid and a sphere is very small (<0.02%) so we just neglect it. Then the speherical coordinates are converted to an XYZ position in 3D space.
Second, when we reach the last data point in each row, we discard that value and use the first value again. This way the mesh is perfectly matched. Otherwise there will be a small but perceptible "rip" in the mesh. Note that this also could be fixed by generating another Face when we generate the Faces, but that is a bit more complicated. Perhaps later.
Then, the Faces and the FaceVertexUvs have to be generated:
for (var i = 0; i < height - 1; i++ ) {
var i0 = width * i;
var i1 = width * (i + 1);
// note that they y-coord (i.e. the 'v' of uv) must start at coordinate 1.0 and descend
// since the UV coordinate system has the origin at the lower-left, not upper-left
var i0v = 1 - i / height;
var i1v = 1 - (i+1) / height;
for (var j = 0; j < width - 1; j++) {
var v0 = i0 + j;
var v1 = i0 + j+1;
var v2 = i1 + j+1;
var v3 = i1 + j;
// note that the faces MUST be in CCW winding order!
this.globeGeom.faces.push(new THREE.Face3(v0, v2, v1));
this.globeGeom.faces.push(new THREE.Face3(v0, v3, v2));
var j0u = j /width;
var j1u = (j+1) / width;
var v0uv = new THREE.Vector2( j0u, i0v );
var v1uv = new THREE.Vector2( j1u, i0v );
var v2uv = new THREE.Vector2( j1u, i1v );
var v3uv = new THREE.Vector2( j0u, i1v );
this.globeGeom.faceVertexUvs[0].push([v0uv, v2uv, v1uv]);
this.globeGeom.faceVertexUvs[0].push([v0uv, v3uv, v2uv]);
}
}
this.globeGeom.computeFaceNormals();
this.globeGeom.computeVertexNormals();
Two aspects to note:
- The y-coordinate of the uv coordinates must start at 1 since the origin of the uv coordinate system is at the lower-left, not the upper-left as the GeoTIFF data is
- When the faces are constructed, the winding order of the face must counter-clockwise.
Here is an image I put together to help myself understand how all the geometry of mapping the image to a globe (or any other shape) should work:
Click on the image for a full-size version.
Finally, the image to drape on the model is loaded:
this.globeMat = new THREE.MeshPhongMaterial({color: '#eeeeee'});
if (this.globeImage !== undefined ) {
var textureLoader = new THREE.TextureLoader();
var pThis = this;
textureLoader.load(this.globeImage, function (texture) {
pThis.globeMat.map = texture;
pThis.globeMat.needsUpdate = true;
});
}
Note the use of pThis. This is needed since inside the load function 'this' points to the window object.
And that's it. You can see a working example of the demo by clicking on this link.
Acknowledgements
The GeoTIFF data was obtained from the GLOBE project. The high-res earth images were obtained from JHT'S Planetary Pixel Emporium. The TIFFReader is based on the geotiff.js library of Fabian Schindler (constantinius). The sources for both the TIFF Reader and TIFF Mapper are freely available under the BSD License via rkwright at github. Feel free to contact me directly at rkwright@geofx.com


public class AI
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private int |
AI_COLOR |
private BoardView |
boardView |
private int |
PLAYER_COLOR |
| Constructor and Description |
|---|
AI(BoardView board,
int ai,
int player)
Construct the AI class.
|
| Modifier and Type | Method and Description |
|---|---|
int[] |
nextMove()
Try to find a piece available to move, and calculate where to move it.
|
int |
nextPlace()
Try to find the next available position to place a piece.
|
int |
nextRemove()
Find the next available piece from the player to remove.
|
void |
updateBoardView(BoardView boardView)
gives AI the most up-to-date board view
|
private BoardView boardView
private int PLAYER_COLOR
private int AI_COLOR
public AI(BoardView board, int ai, int player)
board
- boardView received from BoardControllerpublic void updateBoardView(BoardView boardView)
boardView
- board view class received from BoardControllerpublic int nextPlace()
public int nextRemove()
public int[] nextMove()


The trigonometric identity
|
| (78) |
indicates that nonlinear interaction between two waves of the same frequency generates zero frequency component and its second harmonic. The process of generating of second-harmonic is also called frequency doubling.


Some content about the main topic, for example Java documentation introduction about the language
Introduction
What you should already know
Background information before getting into the topic:
Any other content to be covered before learning this topic
About topic
More lines about the topic. For example, how the basic functionality works, features etc...
Technical documentation should be thorough and to the point
Write about features, comparisons with other languages etc
Topic 1
This would come in a different color and font indicating lines of code
Topic 2
Another topic about the main topic, for example, if the topic is Java, this could be variables or data types in Java


Website
Create your own website and share it with others
Code editor
Code directly in your browser
Templates
Start with ready-to-use designs and structures
File manager
Upload and handle files in browser
Experiment
Learn, test, and go live with your space
Playground
Playground for HTML, CSS and JavaScript


WITNESS LIST Appropriations-S/C on Criminal Justice Committee February 14, 2003-8:00A Budget On: Arnot, Bud (Eleventh Court of Appeals District, Eastland) Barajas, Richard (Eighth Court of Appeals District, El Paso) Brister, Scott (Fourteenth Court of Appeals District, Houston) Cayce, John (Second Court of Appeals District, Fort Worth) Davis, Rex (Tenth Court of Appeals District, Waco) Johnson, Phil (Seventh Court of Appeals District, Amarillo) Keller, Sharon (Court of Criminal Appeals) Keller, Sharon (Task Force on Indigent Defense) Law, Ken (Third Court of Appeals District, Austin) Lopez, Alma L. (Fourth Court of Appeals District, San Antonio) McKeithen, Steve (Ninth Court of Appeals District, Beaumont) Morriss, III, Josh (Sixth Court of Appeals District, Texarkana) Phillips, Tom (Supreme Court of Texas) Radack, Sherry (First Court of Appeals District, Houston) Thomas, Linda (Fifth Court of Appeals District, Dallas; Council of Chief Justices) Valdez, Rogelio (Thirteenth Court of Appeals District, Corpus Christi) Worthen, James (Twelfth Court of Appeals District, Tyler)


---
title: SharePoint MOSS 2007 - Custom Master Page causes 401 UNAUTHORIZED for anonymous
users
date: '2008-02-11T16:59:00.000-08:00'
tags:
- MOSS
- SharePoint
modified_time: '2008-02-13T13:40:47.201-08:00'
blogger_id: tag:blogger.com,1999:blog-19111454.post-7125608275023542889
blogger_orig_url: http://www.bryansgeekspeak.com/2008/02/sharepoint-moss-2007-custom-master-page.html
---
If you customize the Master Page in MOSS 2007, you'll run into a problem where anonymous users will see the error 401 UNAUTHORIZED in their browsers when they try to hit the site. To fix this in MOSS, you need to use the Site Collection Administrator to check in and approve changes made to the Custom Master Page.
To do that, go to the root of your site and login as your site collection administrator. From the Site Admin menu, select "Site Content and Structure". Browse to the Master Page Gallery, Select the Master Page you were working on and select "Approve". Go though the approval steps, then try hitting the site again as an anonymous user. That should fix the problem.
I hear that this work around isnt available for the base Sharepoint 3.0 Server product (without the MOSS component), so you'll have to do more searching on google for another work around there >_>


{% extends "forum/base.html" %} {% load forum_tags %} {% if post_form.captcha %} {% load recaptcha2 %} {% block head_tags %} {{ block.super }} {% recaptcha_init %} {% endblock %} {% endif %} {% block content %}
Please note that you are not logged in. This post will not be connected to your account, and you will not receive notifications of replies.


| 006:082 Khan | : |
It is those who believe (in the Oneness of Allah and worship none but Him Alone) and confuse not their belief with Zulm (wrong i.e. by worshipping others besides Allah), for them (only) there is security and they are the guided. |
| 006:082 Maulana | : |
Those who believe and mix not up their faith with iniquity -- for them is security and they go aright. |
| 006:082 Pickthal | : |
Those who believe and obscure not their belief by wrongdoing, theirs is safety; and they are rightly guided. |
| 006:082 Rashad | : |
Those who believe, and do not pollute their belief with idol worship, have deserved the perfect security, and they are truly guided. |
| 006:082 Sarwar | : |
Those who have accepted the faith and have kept it pure from injustice, have achieved security and guidance. |
| 006:082 Shakir | : |
Those who believe and do not mix up their faith with iniquity, those are they who shall have the security and they are those who go aright. |
| 006:082 Sherali | : |
Those who belief and mix not up their belief with injustice - it is they who shall have peace, and who are rightly guided. |
| 006:082 Yusufali | : |
"It is those who believe and confuse not their beliefs with wrong - that are (truly) in security, for they are on (right) guidance." |
Concepts/Themes Covered: أركان الإسلام > التوحيد > الشرك والمشركون > النهي عن الشِرك والوعيد عليه Pillars of Islam> Islamic> Polytheism and the Polytheists> The Inhibition of Polytheisms and the Threat Against it العمل > العمل الطالح > الظلم Action(Work)> Bad Deeds>Injustice
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Welcome to my first post!
I’m trying to promote the use of APIs to clearly separate and decouple functionality in end-to-end banking platorms.
Rather than enforce a particular integration pattern or technology (always difficult in a diverse and large corporation), I’m trying to focus on the desirable traits of an API that a service provider should offer. My strawman list follows; I’m planning to update this following feedback.
Clarity of responsibility
an API normally has a Provider that provides and maintains the service, and a Consumer that uses it, and these roles are well defined and do not change in regard to the service.
Direction of dependency
it is normal for the Consumer to depend on the Provider (for as long as the Consumer needs the service), but the Provider should not be aware of individual Consumers, although it does need to be aware of them at an aggregated level for performance and capacity planning purposes.
Documentation
An API should be well documented - this is a pre-requisite for Self-Service (see below). The documentation should include usage examples, a formal API specification with inputs and outputs, documentation of allowable values, documentation of the data model and data relationships, usage notes etc. The acid test is whether it is possible for a Consumer that is skilled in the art to pick up the Provider’s API and begin to use it without problems or questions.
Stability
An API should be relatively stable and slow-changing. An API represents a service contract definition between a Consumer and a Provider, and in order to minimise the dependency of a Provider on a Consumer (managing change communications during change), and minimise the overhead on the Consumer of modifying their own application to track the changing service, the API should be relatively stable. Of course, this does not mean that the internals of the Provider’s application cannot be changed continuously, or that the Consumer cannot be agile in how they consume the service - just that the linkage between them changes slower than both.
Evolution
An API should be evolved to meet changing business needs. But the nature of the evolution is important - as far as possible, evolution should be non-breaking on the consumer, additive in nature, and the core concepts and interaction patterns maintained. Identifiers of data records and entities should be chosen carefully, as changing these causes particularly bad disruption. Additionally, the Provider should ensure that current and current-1 versions of the API are supported, so that Consumers are free to choose when they migrate within a supported time window.
Control
An API should be managed in a controlled way, ideally with a sense of direction and a product backlog or roadmap.
Anti-fragility
An API should use a semantically-rich serialisation format, where the model structure of data exchanged across the API is self-describing. Examples include the tree-structure and element names of XML and property names of JSON. Crucially, this allows Consumers to pick the data elements that they need, and allows Providers to evolve the API and include additional data elements that do not break the Consumer. By contrast, flat data files with data elements defined by column position are very brittle, since the addition of data elements in the middle of the record alter the column position of all subsequent elements.
Operational support
An API should be managed, with efficient and communications from the Provider to the Consumer in the event of service degradation, unavailability or evolutionary change.
Self-servicability
A Consumer should be able to discover an API, register through a series of automated processes to complete any steps necessary to authenticate themselves and be authorised to access resources, without “engaging” the Provider. This is critical, since too often the Provider becomes a bottleneck, and individual service to the Consumer breaks the Direction of Dependency trait, and makes the service much more expensive.
No further dependencies
Preferably, the infrastructure should be in place such that it is not necessary to engage a separate infrastructure team before the Consumer can use the service. A generic MQ routing service, or generic HTTP infrastructure (TCP, IP, DNS, proxy servers etc.) fulfil this trait.
I’m not prescribing an individual technology approach or stack for APIs - for example, I’m not saying that APIs should use JSON over HTTP in a RESTful style, although often these technologies are chosen since they make fulfilling the traits easier. There are definitely times when file or message-queue-based solutions are more appropriate - ultimately I want to encourage these traits regardless of the solution.
James


Template for the item object
| button | regular button |
| check | check button (see .checked property. |
| radio | radio button (see .checked and .group property |
| menu | drop down menu. The .items property will be treated as menu items. This property either an array of strings or array of objects. If it is array of string, then each element of the array is a menu item. If it is array of object, then each element of the array is an object of the following type: There are several default icons in w2ui.css file you can use or you can create your own css file with icons. Majority of default icons are used in w2grid. Default icons are: icon-folder, icon-page, icon-reload, icon-columns, icon-search, icon-add, icon-delete, icon-save, icon-edit, icon-bullet-black |
| menu-check | drop down menu of check boxes. It is similar to the menu item, but displays a checkbox next to the menu item. You can check what checkboxes are selected if you read .selected property (toolbar item not menu item). In case of menu-check it is an array of ids of the selected items. |
| menu-radio | drop down menu of radio buttons. It is similar to the menu item, but displays a radio button next to the menu item. You can check what radio button is selected if you read .selected property (toolbar item not menu item). In case of menu-radio it is a single value that is the id of the selected item |
| drop | simple drop down, whatever in .html property will be display in the drop down |
| html | html item, this html will be displayed instead of the toolbar item |
| color | color picker drop down, see .color and .transparent properties. |
| text-color | color picker drop down for text, see .color, .transparent properties. |
| break | horizontal separator |
| spacer | horizontal spacer, will push all following buttons to the right hand side |
| new-line | vertical separator |


bio
The introduction typically describes the scope of the document and gives the brief explanation or summary of the document. It may also explain certain elements that are important to the essay if explanations are
The introduction typically describes the scope of the document and gives the brief explanation or summary of the document. It may also explain certain elements that are important to the essay if explanations are The introduction typically describes the scope of the document and gives the brief explanation or summary of the document. It may also explain certain elements that are important to the essay if explanations are


| pgpool-II 4.0.3 Documentation | |||
|---|---|---|---|
| Prev | Up | Appendix A. Release Notes | Next |
Release Date: 2016-12-26
Tightening up the watchdog security. (Muhammad Usama)
Now wd_authkey uses the HMAC SHA-256 hashing.
Add pgpool_adm extension in Pgpool-II RPM. (Bo Peng)
Fix occasional segfault when query cache is enabled. (bug 263) (Tatsuo Ishii)
Fix packet kind does not match error in extended protocol. (bug 231) (Tatsuo Ishii)
According to the bug231, the bug seem to bite you if all of following conditions are met:
Streaming replication mode
Load balance node is not node 0
Extended protocol is used
SELECT is executed, the statement is closed, then a transaction command is executed
The sequence of how the problem bites is:
SELECT executes on statement S1 on the load balance node 1
Frontend send Close statement
Pgool-II forward it to backend 1
Frontend sends Parse, Bind, Execute of COMMIT
Pgool-II forward it to backend 0 & 1
Frontend sends sync message
Pgool-II forward it to backend 0 & 1
Backend 0 replies back Parse complete ("1"), while backend 1 replies back close complete ("3") because of #3.
Kind mismatch occurs
The solution is, in #3, let Pgpool-II wait for response from backend 1, but do not read the response message. Later on Pgpool-II's state machine will read the response from it before the sync message is sent in #6. With this, backend 1 will reply back "1" in #8, and the kind mismatch error does not occur.
Also, fix not calling pool_set_doing_extended_query_message() when receives Close message. (I don't know why it was missed).
New regression test "067.bug231" was added.
Fix a race condition in a signal handler. (bug 265) (Tatsuo Ishii)
In child.c there's signal handler which calls elog. Since the signal handler is not blocked against other signals while processing, deadlock could occur in the system calls in the pgpool shutdown sequence. To fix the problem, now the signal handler is blocked by using POOL_SETMASK.
Ideally we should avoid calling elog in signal handlers though.
Fix wrong minimum configuration value for client_idle_limit_in_recovery. (bug 264) (Tatsuo Ishii)
Allow to execute "make xslthtml" under doc.ja. (Tatsuo Ishii)


DSC resource for configuring scheduled tasks.
Carbon_ScheduledTask [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[Ensure = [string]{ Absent | Present }]
[PsDscRunAsCredential = [PSCredential]]
[TaskCredential = [PSCredential]]
[TaskXml = [string]]
}
The Carbon_ScheduledTask
resource configures scheduled tasks using schtasks.exe
with Task Scheduler XML.
The task is installed when the Ensure
property is set to Present
. If the task already exists, and the XML of the current task doesn't match the XML passed in, the task is deleted, and a new task is created in its place. The XML comparison is pretty dumb: it compares the XML document(s) as a giant string, not element by element. This means if your XML doesn't order elements in the same way as schtasks.exe /query /xml
, then your task will always be deleted and re-created. This may or may not be a problem for you.
Carbon_ScheduledTask
is new in Carbon 2.0.
| Name | Type | Description | Required? | Pipeline Input | Default Value |
|---|---|---|---|---|---|
| Name | String | The name of the scheduled task to return. Wildcards supported. This must be the full task name, i.e. the task's path/location and its name. |
true | false | |
| TaskXml | String | Install the task from this XML. |
false | false | |
| TaskCredential | PSCredential | The identity that should run the task. The default is |
false | false | |
| Ensure | String | If |
false | false | Present |
Demonstrates how to install a new or update an existing scheduled task that runs as a built-in user. The user's SID should be declared in the task XML file.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
TaskXml = (Get-Content -Path $clearApplicationCacheTaskPath.xml -Raw);
}
Demonstrates how to install a new or update an existing scheduled task that runs as a custom user.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
TaskXml = (Get-Content -Path $clearApplicationCacheTaskPath.xml -Raw);
TaskCredential = (Get-Credential 'runasuser');
}
Demonstrates how to remove a scheduled task.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
Ensure = 'Absent';
}


A Louisiana themed resturant featuring Cajun and Southern cuisine. We make everything from scratch here to preserve both the spirit and quality of our food. Wedo the best we can to use local ingrediants, including locally supplied crawdads. Happy Hours starts at 4:00pm and last until 7:00pm. We love friends, like us on Facebook!


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4-6
Preheat the grill to a medium heat.
Heat half of the butter in a pan over a medium heat. When the butter is foaming, add the chopped shallots and fry for 2-3 minutes, or until softened.
Add the scallop roes and trimmings and the wine and bring to the boil. Reduce the heat until the mixture is simmering, then continue to simmer until the volume of liquid has reduced by half.
Add the fish stock and return the mixture to the boil. Return the mixture to a simmer, and simmer for 1-2 minutes.
Add the cream and mustard, stir well, and simmer for a further minute, or until the cream has warmed through.
Strain the mixture into a clean pan (discard the solids), sprinkle over the chives, and season, to taste, with salt and freshly ground black pepper.
Season the scallops, to taste, with salt and freshly ground black pepper.
Heat a frying pan over a medium to high heat. When the pan is hot, add the remaining butter.
When the butter is foaming, add the scallops, in batches if necessary, and fry for 15-20 seconds on each side, or until just cooked through. Remove from the pan and set aside.
Mix together the julienned carrot and courgette. Place small piles of the julienned vegetables into the washed scallop shells.
Layer the scallops and lobster meat alternately in each of the shells, arranging the shellfish layers in a fan shape. Spoon over the strained cream sauce.
Mix the breadcrumbs and grated Gruyère together, then sprinkle the mixture generously over each scallop shell.
Transfer the filled scallop shells to the preheated grill and grill for 2-3 minutes, or until the breadcrumbs are golden-brown and the cheese is bubbling. Serve immediately.


Pictorial guide to AEROMAP
About
News
Research
Publications
Media
Gateways into AEROMAP
New Visitors
Researchers
Education
Home
… Any sufficiently advanced technology is indistinguishable from magic - Arthur C. Clarke (1984)
Top


ui.iframe
innovaphone.ui.IFrame(container, src, name)
adds an iframe element which opens '''src'''
The iframe has width/height set to '''100%'''.
- container
-
- src
-
the URL to the webpage, which is displayed inside the iframe
- name
-
sets the attribute name of the iframe
Members
- container
Functions
- open(src)
-
opens a window in the iframe


The Interpolate Points tool interpolates points into a raster surface.
The feature layer that defines the points.
Choose the field whose value to interpolate.
Choose the raster layer you wish to summarize.
Choose to optimize or not.
The layer to clip the output to.
The classification type to use.
The number of classes to use.
The values to break the classes into.
The locations to give predictions for.
This is the name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be asked to provide another name.
Using the Save result in drop-down box, you can specify the name of a folder in My Content where the result will be saved.


--- layout: post title: ! 'Weekend updates: Mini Skin Care Haul and Book updates' tags: - Berry - Book Review - Clean & clear - Clean & Clear - Cleanser - Conditioner - Face Wash - Hair Care - Handmade - Herbal - Indian author - Life - Lotus Herbals - Medplusbeauty - Medplusbeauty.com - Oil control - Organic - PMS - Revlon - Roll on - Romance - Scrub - Shampoo - Soap - Soulflower - Sunscreen - Tea Tree - Thriller - Whiteglow status: publish type: post published: true meta: _thumbnail_id: '7158' _yoast_wpseo_linkdex: '66' _edit_last: '2' _yoast_wpseo_focuskw: Haul and Book updates _yoast_wpseo_title: ! 'Weekend updates: Mini Skin Care Haul and Book updates - Miss Enchanted' _yoast_wpseo_metadesc: The Oath of the Vayuputra,The Guardian, The Best of Me, The Promise, Tea SkinDrink, Feels like Silk, Butter My Orange and Cool Aloe vera,PMS Relief Roll on _yoast_wpseo_metakeywords: '' _yoast_wpseo_meta-robots-noindex: '0' _yoast_wpseo_meta-robots-nofollow: '0' _yoast_wpseo_meta-robots-adv: none _yoast_wpseo_sitemap-include: ! '-' _yoast_wpseo_sitemap-prio: ! '-' _yoast_wpseo_canonical: '' _yoast_wpseo_redirect: '' ---
These are few regular purchases from Medplusbeauty and I mostly picked up few Lotus Herbals scrubs and face wash
I also picked up a lost and forgotten Revlon Extra Body Flex Hair condiitoner,
My March Reads, I am quite excited to finish all of them but I am currently reading the The Oath of the Vayuputra by Amish Tripathi,
I picked up two more writes from Nicholas Sparks The Guardian & The Best of Me
I made a purchase at Soulflower website during women's day offer, and its really sweet of them to include few freebies...
Soulflower Green Tea SkinDrink, Feels like Silk, Butter My Orange and Cool Aloe vera,
But I am most anxious to try out the Aromatherapy PMS Relief Roll on....
I shall be reviewing these very soon, but if there is anything you want to read about first....do not forget to drop a comment. Happy Sunday Everyone!!!!


com.thinkaurelius.faunus.formats.rexster.RexsterInputFormat
Rexster is a graph server that exposes any Blueprints graph (e.g. TinkerGraph, Neo4j, OrientDB, DEX, Titan, and Sail RDF Stores) through REST and a binary protocol called RexPro. (See the Benefits of Rexster).
Faunus can be configured to be used with Rexster (version 2.1.0+, see the Rexster Operations section of Gotchas and Limitations) through a Faunus Rexster Kibble (also known as an Extension).
The easiest way to get started is with one of the standard “toy” graphs that comes with Rexster: the Grateful Dead Graph. To deploy Faunus to Rexster, first make a directory as in:
mkdir REXSTER_HOME/ext/faunus
Then, if building Faunus from source:
cp FAUNUS_HOME/target/faunus-x.y.z-standalone/lib/*.* REXSTER_HOME/ext/faunus
or, if using the Faunus zipped distribution download:
cp FAUNUS_HOME/lib/*.* REXSTER_HOME/ext/faunus
NOTE: Future releases will have a much more efficient/simple packaging model.
Next, edit the following segment of the rexster.xml
file to tell Rexster to expose the Faunus Kibble on the gratefulgraph
:
<graph>
<graph-name>gratefulgraph</graph-name>
<graph-type>com.tinkerpop.rexster.config.TinkerGraphGraphConfiguration</graph-type>
<graph-location>data/graph-example-2</graph-location>
<extensions>
<allows>
<allow>tp:gremlin</allow>
<allow>faunus:rexsterinputformat</allow>
</allows>
</extensions>
</graph>
Start Rexster (See Getting Started with Rexster) and note the inclusion of the Faunus Kibble in the console on gratefulgraph
:
rexster$ bin/rexster.sh -s -c ./bin/rexster.xml
[INFO] WebServer - .:Welcome to Rexster:.
...
[INFO] RexsterApplicationGraph - Graph [gratefulgraph] - configured with allowable namespace [tp:gremlin]
[INFO] RexsterApplicationGraph - Graph [gratefulgraph] - configured with allowable namespace [faunus:rexsterinputformat]
...
[INFO] WebServer - Rexster Server running on: [http://localhost:8182]
[INFO] WebServer - Rexster configured with no security.
[INFO] WebServer - RexPro serving on port: [8184]
[INFO] ShutdownManager$ShutdownSocketListener - Bound shutdown socket to /<IP_ADDRESS>:8183. Starting listener thread for shutdown requests.
Next, a rexster-input.properties
is created with the following properties. Note that bin/rexster-input.properties
is provided by default with Faunus.
faunus.graph.input.format=com.thinkaurelius.faunus.formats.rexster.RexsterInputFormat
faunus.graph.input.rexster.hostname=<IP_ADDRESS>
faunus.graph.input.rexster.port=8182
faunus.graph.input.rexster.ssl=false
faunus.graph.input.rexster.graph=gratefulgraph
faunus.graph.input.rexster.v-estimate=800
faunus.graph.output.format=com.thinkaurelius.faunus.formats.graphson.GraphSONOutputFormat
faunus.sideeffect.output.format=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat
faunus.output.location=output
faunus.output.location.overwrite=true
From here, any Faunus job can be run where now, the source data is being pulled from Rexster.
All settings Rexster specific configuration settings in bin/rexster-input.properties
are prefixed with faunus.graph.input.rexster
.
| Setting | Description |
|---|---|
hostname |
The IP address or hostname of the Rexster server. |
port |
The port that Rexster is serving the REST API from. |
ssl |
Tells Faunus if it should connect to Rexster with http or https . |
graph |
The name of the graph as configured in Rexster. |
v-estimate |
The estimated number of vertices in the target graph. Helps Faunus understand how to split the job into even bits for better efficiency in processing. Set this value to -1 to have Faunus request the actual vertex count from Rexster. This configuration will come at the expense of a full iteration of the vertices in the graph. |
username |
The username to send on the authentication header, if basic Rexster Security is configured. |
password |
The password to send on the authentication header, if basic Rexster Security is configured. |
Rexster can expose any Blueprints graph to Faunus. It is important to note that Faunus is only capable of working with graph vertex and edge identifiers that are of the long
data type. Using a Blueprints graph that does not have identifiers that resolve to long
will produce errors.
OrientDB does not use long
identifiers and instead has a compound identifier which consists of a cluster id
and unique identifier for the item in the cluster. The Faunus Kibble is capable of converting this compound identifier to something Faunus can operate with. To tell the Faunus Kibble to convert the compound identifier to long
, add the following configuration to rexster.xml
for any OrientDB database:
<graph>
<graph-name>orientdbsample</graph-name>
<graph-type>orientgraph</graph-type>
<graph-location>local:/tmp/orientdb</graph-location>
<properties>
<username>admin</username>
<password>admin</password>
</properties>
<extensions>
<allows>
<allow>tp:gremlin</allow>
<allow>faunus:rexsterinputformat</allow>
</allows>
<extension>
<namespace>faunus</namespace>
<name>rexsterinputformat</name>
<configuration>
<id-handler>orientdb</id-handler>
</configuration>
</extension>
</extensions>
</graph>
The Titan BerkeleyDB can be exposed to Faunus via Rexster. It does not expose long
identifiers for edges through its Blueprints interface. The Faunus Kibble is capable of converting the identifier it does use to something Faunus can operate with. To tell the Faunus Kibble to convert the identifier to long
, add the following configuration to rexster.xml
for any Titan BerkeleyDB database:
<graph>
<graph-name>titanexample</graph-name>
<graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
<graph-location>/tmp/titan</graph-location>
<graph-read-only>false</graph-read-only>
<properties>
<storage.backend>local</storage.backend>
<buffer-size>100</buffer-size>
</properties>
<extensions>
<allows>
<allow>tp:gremlin</allow>
<allow>faunus:rexsterinputformat</allow>
</allows>
<extension>
<namespace>faunus</namespace>
<name>rexsterinputformat</name>
<configuration>
<id-handler>titan-berkeleyje</id-handler>
</configuration>
</extension>
</extensions>
</graph>
It is important to note that this configuration is for BerkeleyDB configuration only. For all other modes of Titan operations (i.e. Cassandra), use the appropriate Titan Formats.
It’s not difficult to get Faunus running with Rexster in Amazon EC2. There are just a few EC2 and Rexster configuration steps to consider in addition to the instructions for Running Faunus on Amazon EC2.
After downloading Rexster to the EC2 instance, ensure that the base-uri
and rexster-server-host
configuration properties of rexster.xml
are set to the private IP address of the EC2 instance. The configuration should look something like the following:
<rexster>
...
<rexster-server-host><IP_ADDRESS></rexster-server-host>
<base-uri>http://<IP_ADDRESS></base-uri>
...
</rexster>
By default, Faunus creates an EC2 security group called jclouds#faunuscluster
, which all the Hadoop nodes are created in. To allow the nodes in this cluster to talk to the Rexster instance, the security group that Rexster is in must allow access to that security group.
To provide this access, first utilize Whirr to establish the Hadoop cluster (as described here) and find the jclouds#faunuscluster
security group in the Amazon EC2 Console:
Take note of the security group identifier. In the case above, it is sg-02e38b6a
. Edit the Inbound settings for the security group that Rexster is in. In the following screenshot, Rexster exists in a security group that is aptly named “Rexster Group”.
Add a rule that allows the jclouds#faunuscluster
to access the Rexster Group over port 8182 (the default port established in rexster.xml
). Utilize the security group identifier as shown in the above screenshot to create this rule. It is now possible to run a Faunus job against Rexster.


Developer Profile
Welcome
User Name:
GitHub Profile:
Map
User Bio:
Public Repositories:
Followers:
GitHub Stars:
Following:


Methods
Check All
Uncheck All
Basic Select
January
February
March
April
May
June
July
August
September
October
November
December
Group Select
Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9


Before Change
index=True)
created = Column(DateTime(timezone=True), default=datetime.utcnow)
__table_args__ = (Index("states__state_changes",
"last_changed", "last_updated", "entity_id"),
Index("states__significant_changes",
"domain", "last_updated", "entity_id"),
Index("ix_states_entity_id_created",
"entity_id", "created"),
Index("ix_states_created_domain",
"created", "domain"),)
@staticmethod
def from_event(event):
Create object from a state_changed event.
After Change
index=True)
created = Column(DateTime(timezone=True), default=datetime.utcnow)
__table_args__ = (
// Used for fetching the state of entities at a specific time
// (get_states in history.py)
Index(
"ix_states_entity_id_last_updated", "entity_id", "last_updated"),)
@staticmethod
def from_event(event):
Create object from a state_changed event.


This website deals with advertisements of elecronics.
In future i would make it an online shop.
language used are
This website deals with information concerning entertainment news.it deals with news like celebrity,supercars and fashion.
language used are