Enumerations | |
| enum | Endpoint_Stream_RW_ErrorCodes_t { ENDPOINT_RWSTREAM_NoError = 0, ENDPOINT_RWSTREAM_EndpointStalled = 1, ENDPOINT_RWSTREAM_DeviceDisconnected = 2, ENDPOINT_RWSTREAM_BusSuspended = 3, ENDPOINT_RWSTREAM_Timeout = 4, ENDPOINT_RWSTREAM_CallbackAborted = 5 } |
| enum | Endpoint_ControlStream_RW_ErrorCodes_t { ENDPOINT_RWCSTREAM_NoError = 0, ENDPOINT_RWCSTREAM_HostAborted = 1, ENDPOINT_RWCSTREAM_DeviceDisconnected = 2, ENDPOINT_RWCSTREAM_BusSuspended = 3 } |
Functions | |
| uint8_t | Endpoint_Discard_Stream (uint16_t Length, StreamCallbackPtr_t Callback) |
| uint8_t | Endpoint_Write_Stream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_EStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_PStream_LE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Stream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_EStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_PStream_BE (const void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Stream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_EStream_LE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Stream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_EStream_BE (void *Buffer, uint16_t Length, StreamCallbackPtr_t Callback) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_Stream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_EStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_PStream_LE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_Stream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_EStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Write_Control_PStream_BE (const void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Control_Stream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Control_EStream_LE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Control_Stream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
| uint8_t | Endpoint_Read_Control_EStream_BE (void *Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) |
Functions, macros, variables, enums and types related to data reading and writing of data streams from and to endpoints.
Enum for the possible error return codes of the Endpoint_*_Control_Stream_* functions.
Enum for the possible error return codes of the Endpoint_*_Stream_* functions.
| ENDPOINT_RWSTREAM_NoError |
Command completed successfully, no error. |
| ENDPOINT_RWSTREAM_EndpointStalled |
The endpoint was stalled during the stream transfer by the host or device. |
| ENDPOINT_RWSTREAM_DeviceDisconnected |
Device was disconnected from the host during the transfer. |
| ENDPOINT_RWSTREAM_BusSuspended |
The USB bus has been suspended by the host and no USB endpoint traffic can occur until the bus has resumed. |
| ENDPOINT_RWSTREAM_Timeout |
The host failed to accept or send the next packet within the software timeout period set by the USB_STREAM_TIMEOUT_MS macro. |
| ENDPOINT_RWSTREAM_CallbackAborted |
Indicates that the stream's callback function aborted the transfer early. |
| uint8_t Endpoint_Discard_Stream | ( | uint16_t | Length, |
| StreamCallbackPtr_t | Callback | ||
| ) |
Reads and discards the given number of bytes from the endpoint from the given buffer, discarding fully read packets from the host as needed. The last packet is not automatically discarded once the remaining bytes has been read; the user is responsible for manually discarding the last packet from the host via the Endpoint_ClearOUT() macro. Between each USB packet, the given stream callback function is executed repeatedly until the next packet is ready, allowing for early aborts of stream transfers.
The callback routine should be created according to the information in Endpoint and Pipe Stream Callbacks. If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are disabled and this function has the Callback parameter omitted.
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Read_Control_EStream_BE | ( | void * | Buffer, |
| uint16_t | Length | ||
| ) |
EEPROM buffer source version of Endpoint_Read_Control_Stream_BE().
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| uint8_t Endpoint_Read_Control_EStream_LE | ( | void * | Buffer, |
| uint16_t | Length | ||
| ) |
EEPROM buffer source version of Endpoint_Read_Control_Stream_LE().
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| uint8_t Endpoint_Read_Control_Stream_BE | ( | void * | Buffer, |
| uint16_t | Length | ||
| ) |
Reads the given number of bytes from the CONTROL endpoint from the given buffer in big endian, discarding fully read packets from the host as needed. The device IN acknowledgement is not automatically sent after success or failure states; the user is responsible for manually sending the setup IN to finalize the transfer via the Endpoint_ClearIN() macro.
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| uint8_t Endpoint_Read_Control_Stream_LE | ( | void * | Buffer, |
| uint16_t | Length | ||
| ) |
Reads the given number of bytes from the CONTROL endpoint from the given buffer in little endian, discarding fully read packets from the host as needed. The device IN acknowledgement is not automatically sent after success or failure states; the user is responsible for manually sending the setup IN to finalize the transfer via the Endpoint_ClearIN() macro.
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| uint8_t Endpoint_Read_EStream_BE | ( | void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
EEPROM buffer source version of Endpoint_Read_Stream_BE().
| [out] | Buffer | Pointer to the destination data buffer to write to, located in EEPROM memory space. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Read_EStream_LE | ( | void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
EEPROM buffer source version of Endpoint_Read_Stream_LE().
| [out] | Buffer | Pointer to the destination data buffer to write to, located in EEPROM memory space. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Read_Stream_BE | ( | void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
Reads the given number of bytes from the endpoint from the given buffer in big endian, discarding fully read packets from the host as needed. The last packet is not automatically discarded once the remaining bytes has been read; the user is responsible for manually discarding the last packet from the host via the Endpoint_ClearOUT() macro. Between each USB packet, the given stream callback function is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early aborts of stream transfers.
The callback routine should be created according to the information in Endpoint and Pipe Stream Callbacks. If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are disabled and this function has the Callback parameter omitted.
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Read_Stream_LE | ( | void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
Reads the given number of bytes from the endpoint from the given buffer in little endian, discarding fully read packets from the host as needed. The last packet is not automatically discarded once the remaining bytes has been read; the user is responsible for manually discarding the last packet from the host via the Endpoint_ClearOUT() macro. Between each USB packet, the given stream callback function is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early aborts of stream transfers.
The callback routine should be created according to the information in Endpoint and Pipe Stream Callbacks. If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are disabled and this function has the Callback parameter omitted.
| [out] | Buffer | Pointer to the destination data buffer to write to. |
| [in] | Length | Number of bytes to send via the currently selected endpoint. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_Control_EStream_BE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
EEPROM buffer source version of Endpoint_Write_Control_Stream_BE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_Control_EStream_LE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
EEPROM buffer source version of Endpoint_Write_Control_Stream_LE.
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_Control_PStream_BE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
FLASH buffer source version of Endpoint_Write_Control_Stream_BE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_Control_PStream_LE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
FLASH buffer source version of Endpoint_Write_Control_Stream_LE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_Control_Stream_BE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
Writes the given number of bytes to the CONTROL type endpoint from the given buffer in big endian, sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared in both failure and success states; the user is responsible for manually clearing the setup OUT to finalize the transfer via the Endpoint_ClearOUT() macro.
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_Control_Stream_LE | ( | const void * | Buffer, |
| uint16_t | Length | ||
| ) |
Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian, sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared in both failure and success states; the user is responsible for manually clearing the setup OUT to finalize the transfer via the Endpoint_ClearOUT() macro.
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| uint8_t Endpoint_Write_EStream_BE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
EEPROM buffer source version of Endpoint_Write_Stream_BE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_EStream_LE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
EEPROM buffer source version of Endpoint_Write_Stream_LE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_PStream_BE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
FLASH buffer source version of Endpoint_Write_Stream_BE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_PStream_LE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
FLASH buffer source version of Endpoint_Write_Stream_LE().
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_Stream_BE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
Writes the given number of bytes to the endpoint from the given buffer in big endian, sending full packets to the host as needed. The last packet filled is not automatically sent; the user is responsible for manually sending the last written packet to the host via the Endpoint_ClearIN() macro. Between each USB packet, the given stream callback function is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early aborts of stream transfers.
The callback routine should be created according to the information in Endpoint and Pipe Stream Callbacks. If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are disabled and this function has the Callback parameter omitted.
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |
| uint8_t Endpoint_Write_Stream_LE | ( | const void * | Buffer, |
| uint16_t | Length, | ||
| StreamCallbackPtr_t | Callback | ||
| ) |
Writes the given number of bytes to the endpoint from the given buffer in little endian, sending full packets to the host as needed. The last packet filled is not automatically sent; the user is responsible for manually sending the last written packet to the host via the Endpoint_ClearIN() macro. Between each USB packet, the given stream callback function is executed repeatedly until the endpoint is ready to accept the next packet, allowing for early aborts of stream transfers.
The callback routine should be created according to the information in Endpoint and Pipe Stream Callbacks. If the token NO_STREAM_CALLBACKS is passed via the -D option to the compiler, stream callbacks are disabled and this function has the Callback parameter omitted.
| [in] | Buffer | Pointer to the source data buffer to read from. |
| [in] | Length | Number of bytes to read for the currently selected endpoint into the buffer. |
| [in] | Callback | Name of a callback routine to call between successive USB packet transfers, NULL if no callback. |


Unprotecting payloads whose keys have been revoked¶
The ASP.NET 5 data protection APIs are not primarily intended for indefinite persistence of confidential payloads. Other technologies like Windows CNG DPAPI and Azure Rights Management are more suited to the scenario of indefinite storage, and they have correspondingly strong key management capabilities. That said, there is nothing prohibiting a developer from using the ASP.NET 5 data protection APIs for long-term protection of confidential data. Keys are never removed from the key ring, so IDataProtector.Unprotect can always recover existing payloads as long as the keys are available and valid.
However, an issue arises when the developer tries to unprotect data that has been protected with a revoked key, as IDataProtector.Unprotect will throw an exception in this case. This might be fine for short-lived or transient payloads (like authentication tokens), as these kinds of payloads can easily be recreated by the system, and at worst the site visitor might be required to log in again. But for persisted payloads, having Unprotect throw could lead to unacceptable data loss.
IPersistedDataProtector¶
To support the scenario of allowing payloads to be unprotected even in the face of revoked keys, the data protection system contains an IPersistedDataProtector type. To get an instance of IPersistedDataProtector, simply get an instance of IDataProtector in the normal fashion and try casting the IDataProtector to IPersistedDataProtector.
Note
Not all IDataProtector instances can be cast to IPersistedDataProtector. Developers should use the C# as operator or similar to avoid runtime exceptions caused by invalid casts, and they should be prepared to handle the failure case appropriately.
IPersistedDataProtector exposes the following API surface:
DangerousUnprotect(byte[] protectedData, bool ignoreRevocationErrors,
out bool requiresMigration, out bool wasRevoked) : byte[]
This API takes the protected payload (as a byte array) and returns the unprotected payload. There is no string-based overload. The two out parameters are as follows.
- requiresMigration: will be set to true if the key used to protect this payload is no longer the active default key, e.g., the key used to protect this payload is old and a key rolling operation has since taken place. The caller may wish to consider reprotecting the payload depending on his business needs.
- wasRevoked: will be set to true if the key used to protect this payload was revoked.
Warning
Exercise extreme caution when passing ignoreRevocationErrors: true to the DangerousUnprotect method. If after calling this method the wasRevoked value is true, then the key used to protect this payload was revoked, and the payload’s authenticity should be treated as suspect. In this case only continue operating on the unprotected payload if you have some separate assurance that it is authentic, e.g. that it’s coming from a secure database rather than being sent by an untrusted web client.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | using System;
using System.IO;
using System.Text;
using Microsoft.AspNet.DataProtection;
using Microsoft.AspNet.DataProtection.KeyManagement;
using Microsoft.Framework.DependencyInjection;
public class Program
{
public static void Main(string[] args)
{
var serviceCollection = new ServiceCollection();
serviceCollection.AddDataProtection();
serviceCollection.ConfigureDataProtection(configure =>
{
// point at a specific folder and use DPAPI to encrypt keys
configure.PersistKeysToFileSystem(new DirectoryInfo(@"c:\temp-keys"));
configure.ProtectKeysWithDpapi();
});
var services = serviceCollection.BuildServiceProvider();
// get a protector and perform a protect operation
var protector = services.GetDataProtector("Sample.DangerousUnprotect");
Console.Write("Input: ");
byte[] input = Encoding.UTF8.GetBytes(Console.ReadLine());
var protectedData = protector.Protect(input);
Console.WriteLine($"Protected payload: {Convert.ToBase64String(protectedData)}");
// demonstrate that the payload round-trips properly
var roundTripped = protector.Unprotect(protectedData);
Console.WriteLine($"Round-tripped payload: {Encoding.UTF8.GetString(roundTripped)}");
// get a reference to the key manager and revoke all keys in the key ring
var keyManager = services.GetService<IKeyManager>();
Console.WriteLine("Revoking all keys in the key ring...");
keyManager.RevokeAllKeys(DateTimeOffset.Now, "Sample revocation.");
// try calling Protect - this should throw
Console.WriteLine("Calling Unprotect...");
try
{
var unprotectedPayload = protector.Unprotect(protectedData);
Console.WriteLine($"Unprotected payload: {Encoding.UTF8.GetString(unprotectedPayload)}");
}
catch (Exception ex)
{
Console.WriteLine($"{ex.GetType().Name}: {ex.Message}");
}
// try calling DangerousUnprotect
Console.WriteLine("Calling DangerousUnprotect...");
try
{
IPersistedDataProtector persistedProtector = protector as IPersistedDataProtector;
if (persistedProtector == null)
{
throw new Exception("Can't call DangerousUnprotect.");
}
bool requiresMigration, wasRevoked;
var unprotectedPayload = persistedProtector.DangerousUnprotect(
protectedData: protectedData,
ignoreRevocationErrors: true,
requiresMigration: out requiresMigration,
wasRevoked: out wasRevoked);
Console.WriteLine($"Unprotected payload: {Encoding.UTF8.GetString(unprotectedPayload)}");
Console.WriteLine($"Requires migration = {requiresMigration}, was revoked = {wasRevoked}");
}
catch (Exception ex)
{
Console.WriteLine($"{ex.GetType().Name}: {ex.Message}");
}
}
}
/*
* SAMPLE OUTPUT
*
* Input: Hello!
* Protected payload: CfDJ8LHIzUCX1ZVBn2BZ...
* Round-tripped payload: Hello!
* Revoking all keys in the key ring...
* Calling Unprotect...
* CryptographicException: The key {...} has been revoked.
* Calling DangerousUnprotect...
* Unprotected payload: Hello!
* Requires migration = True, was revoked = True
*/
|


primary text
secondary text
sucess text
danger
warning
info data
light text color
dark color text
white color
primary text
secondary text
sucess text
danger
warning
info data
light text color
dark color text
white color
this is the example for container class in bootstrap
this is the example for container class in bootstrap
this is the example for jumbotron
this is the example for jumbotron
this is the example for jumbotron
this is the example for jumbotron
this is the example for jumbotron
| table data | ||
|---|---|---|
| s no | Name | Clz |
| 1 | Bhavana | Rgukt |
| 2 | Jay | Rgukt |
| table data | ||
|---|---|---|
| s no | Name | Clz |
| 1 | Bhavana | Rgukt |
| 2 | Jay | Rgukt |
| table data | ||
|---|---|---|
| s no | Name | Clz |
| 1 | Bhavana | Rgukt |
| 2 | Jay | Rgukt |
| table data | ||
|---|---|---|
| s no | Name | Clz |
| 1 | Bhavana | Rgukt |
| 2 | Jay | Rgukt |
| table data | ||
|---|---|---|
| s no | Name | Clz |
| 1 | Bhavana | Rgukt |
| 2 | Jay | Rgukt |


Tests whether a predicate holds for all elements of this list.
Arguments:
list: An expression that returns a list.
variable: This is the variable that can be used from the predicate.
predicate: A predicate that is tested against all items in the list.
Example Query:
MATCH p=(a)-[*1..3]->(b)
WHERE a.name='Alice' AND b.name='Daniel' AND ALL (x IN nodes(p) WHERE x.age > 30)
RETURN p


Manuel Op de Coul's
Scala Tunings Archive in MTX format - version 2.0
Release 2.0 - March 2007 - data conversion by Victor Cerullo
Description
Manuel Op de Coul's "Scala" is one of the most comprehensive and popular microtonal software packages currently available. Over the years, its own archive of tuning files has grown to a number of 3,400+ files. Even though Max Magic Microtuner is endowed with a Scala format (.scl) file import function, the whole archive of Scala tuning files currently available has been converted into an alphabetically organized archive of Microtuner format tuning files (.mtx). For more details about Scala and the .scl file archive and file format please read the "additional information" section below.
Conversion details
The Scala-to-Microtuner mass conversion has been performed with a dedicated program. Where possible (that is, in the vast majority of cases) the original files have been converted into Microtuner files starting at middle C (MIDI note #60); in those cases where this was not possible due to the number of notes in the scale exceeding 68, the corresponding Microtuner file starts at the highest possible MIDI note, so that the last row of the intonation table is assigned the last note of the scale. Intervals recognized as "JUST" intervals (according to the Microtuner definition) have been automatically rationalized and "snapped" to their best fraction approximation, on the basis of the following rationalization parameters:
Just interval fraction denominator threshold = 256
JUST error tolerance: 0.00001 cents ("almost-just" intervals discarded from rationalization)
All files have been created using Windows "wide" end-of-line characters (ASCII 13 + ASCII 10), so that they can be read and edited with a text editor on the PC platform as well. A very few Scala files are not compatible with Max Magic Microtuner, and they have not been converted nor included in this archive: in particular, these are the files containing scales with more than 128 notes (you can find a detailed "Conversion Log" text file in the same folder as this "Readme" file, with a complete listing of both the converted and the unconverted files).
Additional information
http://groups.yahoo.com/group/16tone (Max Magic Microtuner support page and mailing list)
Scala home page: http://www.xs4all.nl/~huygensf/scala
Scala file format details: http://www.xs4all.nl/~huygensf/scala/scl_format.html
.scl file archive (download URL): http://www.xs4all.nl/~huygensf/doc/scales.zip


Hi there! Your browser does not allow JavaScript to run on this site. You may have a degraded experience navigating around our website. You can view the contents of any script on this site at our GitHub,
https://github.com/PurdueIEEE/IEEE-Website
.
Redirect Link for Current Year


{% extends "base.html" %} {% block body %} {% spaceless %}
Listen and speak with care!
Cool and handsome!


title=A Walking Tour of Spring 3.1 date=2012-03-08 type=post tags=blog status=published ~~~~~~
I put together a quick walking tour of Spring 3.1. The code is available on my GitHub account. It runs on a Servlet 3 container, and demonstrates how to build a completely XML free (no persistence.xml
, no web.xml
, no orm.xml
, etc.) application that uses Hibernate 4, Spring 3.1, and Spring MVC 3.1. It shows how to build everything from a transactional service to a RESTful endpoint.


Informations
Name*
Lead
Description
Genre
Add new genre
Musician
Create new musician
+ more musicians
Event
Add to event
Add to event
Arrival hour
Links
Title
Name
URL
Image
Browse existing image
Upload new image
CREATE NEW ARTIST


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.uni.bamberg.wiai.minf.forflow.datagenerator.controller.datageneration.filltype.FillType
public class FillType
This abstract class represents the type of filling any MetaAttribute
with valuable data. Because there are a bunch of possibilities to
do the job properly a strategy pattern is used at the basic level.
| Constructor Summary | |
|---|---|
FillType()
sole default constructor |
| Method Summary | |
|---|---|
FillBehaviour |
getFillBehaviour()
gets the filling strategy. |
int |
getN()
this method is a pass through to the strategy and returns this value. |
java.lang.String |
getName()
gets the name of the strategy currently selected. |
java.lang.String |
getValueAt(int n)
this method is a pass through and is for convenience only. |
void |
setFillBehaviour(FillBehaviour fb)
sets the filling algorithm. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public FillType()
| Method Detail |
|---|
public void setFillBehaviour(FillBehaviour fb)
fb
- algorithm to handle fillingpublic FillBehaviour getFillBehaviour()
public java.lang.String getValueAt(int n)
n
- the value at index n to fetch
public int getN()
getFillBehaviour()
and then call getN().
FillBehaviour.getN()
public java.lang.String getName()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


{% extends "layout_with_help.html" %} {% block pageTitle %} NRS Diagnostic Prototype {% endblock %} {% block header %} {{ govukHeader() }} {% endblock %} {% block beforeContent %}
{% endblock %} {% block content %}Based on your required skills, these are courses we recommened you work through. These courses are online, free and are ready to start straight away.


"Shogun"
"The Hammer"
Method: KO/TKO Round: 3 Time: 4:36 Time format: 3 Rnd (5-5-5) Referee: Kevin Mulhall
Details: Punches to Head At Distance
Totals
| Fighter | KD | Sig. str. | Sig. str. % | Total str. | Td | Td % | Sub. att | Pass | Rev. |
|---|---|---|---|---|---|---|---|---|---|
|
2 0 |
62 of 102 31 of 69 |
60% 44% |
106 of 148 71 of 113 |
1 of 2 7 of 9 |
50% 77% |
2 0 |
1 1 |
0 0 |
| Fighter | KD | Sig. str. | Sig. str. % | Total str. | Td % | Td % | Sub. att | Pass | Rev. | Round 1 |
|---|---|---|---|---|---|---|---|---|---|
|
1 0 |
23 of 29 10 of 24 |
79% 41% |
39 of 46 14 of 29 |
1 of 1 3 of 5 |
100% 60% |
0 0 |
1 0 |
0 0 |
Round 2 |
|
0 0 |
25 of 48 8 of 24 |
52% 33% |
44 of 68 20 of 37 |
0 of 0 3 of 3 |
0% 100% |
1 0 |
0 0 |
0 0 |
Round 3 |
|
1 0 |
14 of 25 13 of 21 |
56% 61% |
23 of 34 37 of 47 |
0 of 1 1 of 1 |
0% 100% |
1 0 |
0 1 |
0 0 |
Significant Strikes
| Fighter | Sig. str | Sig. str. % | Head | Body | Leg | Distance | Clinch | Ground |
|---|---|---|---|---|---|---|---|---|
|
62 of 102 31 of 69 |
60% 44% |
34 of 69 26 of 64 |
19 of 21 4 of 4 |
9 of 12 1 of 1 |
39 of 72 12 of 45 |
17 of 23 7 of 7 |
6 of 7 12 of 17 |
| Fighter | Sig. str | Sig. str. % | Head | Body | Leg | Distance | Clinch | Ground | Round 1 |
|---|---|---|---|---|---|---|---|---|
|
23 of 29 10 of 24 |
79% 41% |
10 of 15 9 of 23 |
8 of 9 0 of 0 |
5 of 5 1 of 1 |
12 of 16 4 of 15 |
6 of 7 3 of 3 |
5 of 6 3 of 6 |
Round 2 |
|
25 of 48 8 of 24 |
52% 33% |
14 of 34 8 of 24 |
7 of 8 0 of 0 |
4 of 6 0 of 0 |
17 of 36 5 of 21 |
8 of 12 3 of 3 |
0 of 0 0 of 0 |
Round 3 |
|
14 of 25 13 of 21 |
56% 61% |
10 of 20 9 of 17 |
4 of 4 4 of 4 |
0 of 1 0 of 0 |
10 of 20 3 of 9 |
3 of 4 1 of 1 |
1 of 1 9 of 11 |


Gets params applied to image
Gets query string part of the image URL
Gets full transformed url to image with parameters
Enables WebP image support.
Specifies the compression mode for the WebP image transformations.
Specifies the lossy or lossless compression.
The dpr transformation is used to serve correctly sized images for devices that expose a device pixel ratio.
A required DPR value.
The fit transformation controls how the output image is fit to its target dimensions after resizing.
Specifies the mode for the transformation.
Applies the crop transformation centered on the specified point.
Focal point X coordinate.
Focal point Y coordinate.
Zoom of the transformation.
The format transformation enables the source image to be converted (a.k.a., "transcoded") from one encoded format to another. This is very useful when the source image has been saved in a sub-optimal file format that hinders performance.
Target image file type.
The height transformation enables dynamic height resizing based on pixels and percent values.
A required image height.
Applies the quality parameter that enables control over the compression level for lossy file-formatted images.
The required quality of the image.
Applies the crop transformation that removes pixels from an image outside the specified rectangle.
Rectangle offset on the X-axis.
Rectangle offset on the Y-axis.
Rectangle width.
Rectangle height.
The width transformation enables dynamic width resizing based on pixels and percent values.
A required image width.
Generated using TypeDoc
Image url


Learning Agreement
A description of your own strengths and limitations
Strengths are techncial knowledge, problem solving skills, hard work and commitment. Limitations are time management and having to commit to too many things than I could handle.
Based on the above description, a commitment to how you will manage your workload in this programme. This should include - an explanation of how you will manage yourself to work productively and safely with other learners, facilitators and industry/community representatives.
I have decided not to postpone work to end of deadlines. I have decided on set times to work on coding every single day and sticking to the schedule is my goal.
A commitment as to how and where you will seek help in a timely way.
Approach facilitators and cohort for help and also helping them with queries in the same way.
A description of what you expect from the facilitation team
Support for a successful learning environment.
Any scheduling information such as block-out times when you are committed to other things.For example, you might have whanau commitments such as school drop-offs. It’s important to plan these in.
These elements do not need to be structured as they are in this list. You should put them together in the way that you feel they are most clearly communicated.
I have quite a few things planned in the next few months and having to plan and commit to those plans are very important. I have time scheduled
for everyday coding and I am committed to sticking to the schedule.


Uninama
Dashboard
stats
Campaign
Create Campaign
View Campaign
Support
3
Notifications
John Doe
liked your
post
5 mins ago
Moo Doe
liked your
cover image
7 mins ago
Lee Doe
commented on your
video
10 mins ago
View All Notifications
3
Emails
John Doe
5 mins ago
Want to create your own customized data generator for your app...
Moo Doe
15 mins ago
Want to create your own customized data generator for your app...
Lee Doe
25 mins ago
Want to create your own customized data generator for your app...
View All Email
John Doe
Setting
Profile
Messages
Logout
Create Campaign
Campaign Title
upload campaign Image
Description
Terms and Conditions
Category
Campaign Type
Online
Offline
Both
Starting date
Select number of weeks
1
2
3
4
Discount Type
Fixed
Percentage
free Meal or Product
Utilization
How many times a day?
how many times a week?
how many times entire campaign?
Select a number
1
2
3
4
5
6
7
8
9
10
Ambassador perks
Do you want ambassadors for your campaign?
do you want same deal for ambassador?
or you want to define ambassadors perk separately?

Select a number
1
2
3
4
5
6
7
8
9
10
Discount Type
Fixed
Percentage
free Meal or Product
Here is the list of ambassadors available
Referral perks
Do you want referrals ?
do you want same deal for referral?
or you want to define refferal perk separately?
Discount Type
Fixed
Percentage
free Meal or Product
Submit


The Relationship between mindfulness and self awareness is that they are really quite similar. Self awareness is said to be a “neutral mode that maintains self-reflectiveness even in the midst of turbulent emotions.” and mindfulness means “paying attention in a particular way: on purpose, in the present moment, and non-judgmentally.”. As we can see the both really mean to look inside yourself and be aware of what is happening in your body.
I tried the body scan practice and found it to be very relaxing, not so relaxing that I was falling asleep though! I enjoyed the sensation of just focusing on one part of your body at a time and giving that part of your body your full attention. My initial reaction before trying body scanning was that I thought the time was going to drag on, but I found myself engrossed in the activity and time passing by pretty quickly!
What I took away from chapter four of Search Inside Yourself is that paying attention to what your body is doing and feeling, is really important to having a strong emotional intelligence and providing clarity to your mind so you can be more focus and switched on when you need to be.


Overview
Mission Statement
This journal club aims to provide a forum for discussing neurons, brains, and behavior among people with diverse quantitative and neurobiology backgrounds. Weekly meetings will focus on a paper relevant to a theoretical understanding of some neuroscientific problem or system. Graduate students and postdocs are especially encouraged to attend and propose/present papers. Appropriate papers present neural data, theoretical models, foundational principles for computation, new statistical, mathematical, or machine learning methods, etc.
Organizers
Sugandha Sharma (MIT), Michael Happ (MIT), Nimrod Shaham (Harvard)
Time & Place
Wednesdays, 12:00pm - 2:00pm
MIT: Building 46 (google maps)
Harvard: Northwest Building (google maps)
The journal club alternates between Harvard and MIT. Check the Meetings table below for the location of the next meeting.
Mailing List
Subscribe to the journal club mailing list.
Meetings
Current schedule for the virtual computational neuroscience journal club can be found
Below is the list of all prior journal club meetings. Here is the schedule.
| Date | Presenter | Reading | Location |
|---|---|---|---|
| 6.12.2019 |
Sugandha Sharma and Nhat Le |
Tutorial: Building large scale neural models using the Nengo neural simulator, (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 5.30.2019 |
Marc Howard |
Compressed representation of time and space in the brain using the Laplace transform
|
MIT 46-3310 (**note different location for this meeting**) |
| 5.23.2019 |
Michael Happ |
Task representations in neural networks trained to perform many cognitive tasks, Yang, Joglekar, Song, Newsome, Wang (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 4.25.2019 |
Haozhe Shan |
Deep Learning with Dynamic Spiking Neurons and Fixed Feedback Weights, Samadi, Lillicrap, Tweed (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 4.18.2019 |
Jungsoo Kim |
Global Brain Dynamics Embed the Motor Command Sequence of Caenorhabditis elegans, Kato, Kaplan, Schrö, Skora, Lindsay, Yemini, Lockery, Zimmer (link, pdf) |
MIT (46-3015) |
| 4.11.2019 |
Lucy Lai |
Reinforcement regulates timing variability in thalamus, Wang, Hosseini, Meirhaeghe, Akkad, Jazayeri (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 4.4.2019 |
Eli Pollock |
Prefrontal cortex as a meta-reinforcement learning system, Wang, Kurth-Nelson, Kumaran, Tirumala, Soyer, Leibo, Hassabis, Botvinick (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 3.28.2019 |
Noga Weiss Mosheiff |
Efficiency and stability of the modular grid cell code
|
MIT (46-3015) |
| 3.21.2019 |
Michael Happ, Sugandha Sharma, Sam Lewallen |
The emergence of multiple retinal cell types through efficient coding of natural movies, Ocko*, Lindsey*, Ganguli, Deny (link, pdf) |
MIT (46-3015) |
| π.2019 |
Ila Fiete |
A Flexible Model of Working Memory, Bouchacourt, Buschman (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 2.21.2019 |
Ni Ji |
Discrete attractor dynamics underlies persistent activity in the frontal cortex, Inagaki, Fontonal, Romani, Svoboda (link, pdf) |
MIT (46-3015) |
| 2.14.2019 |
Honi Sanders |
Off-line replay maintains declarative memories in a model of hippocampal-neocortical interactions, Kali, Dayan (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 2.7.2019 |
Nimrod Shaham |
Long-Term Memory Stabilized by Noise-Induced Rehearsal, Alexei, Koulakov (link, pdf) |
MIT (46-3015) |
| 12.13.2018 |
Leo Kozachkov |
Neuronal Circuits Underlying Persistent Representations Despite Time Varying Activity, Druckmann, Chklovskii (link, pdf) |
MIT (46-3015) |
| 12.6.2018 |
Michael Happ |
Learning arbitrary dynamics in efficient, balanced spiking networks using local plasticity rules, Alemi, Machens, Denève, Slotine (link, pdf) |
Harvard (Northwest Building, Room 353) |
| 11.27.2018 |
Sam Lewallen |
Opening the black box: low-dimensional dynamics in high-dimensional recurrent neural networks, Sussillo, Barak (link, pdf) |
MIT (46-5056, special location for first meeting) |


New Calculation Method
Provide initial information about your new calculation method...

U
se extended functionality?
F
inish
C
ancel
H
elp


This example shows the response of a PT2 defined by its transfer function
1 H(jw)=------------------- 1 + 2 d jw + (jw)^2
Frequency performs a logarithmic ramp from 0.01 to 100 s^-1.
Plot the magnitude locus (in dB) dB versus lg_w and the phase locus versus lg_w.


| Total net profit | -4.97 | Gross profit | 40.79 | Gross loss | -45.76 |
| Profit factor | 0.89 | Expected payoff | -0.11 | ||
| Absolute drawdown | -12.45 | Maximal drawdown (%) | 17.63 (340.35%) | ||
| Total trades | 45 | Profit trades (% of total) | 25 (55.56%) | Loss trades (% of total) | 20 (44.44%) |
| Long positions (won %) | 26 (46.15%) | Short positions (won %) | 19 (68.42%) | ||
| Largest | profit trade | 3.78 | loss trade | -3.38 | |
| Average | profit trade | 1.63 | loss trade | -2.29 | |
| Minimum | profit trade | 0.19 | loss trade | -0.26 | |
| Maximum | take profit in pips | 89.3 | stop loss in pips | -44.7 | |
| Average | take profit in pips | 24.3 | stop loss in pips | -30.8 | |
| Minimum | take profit in pips | -3.5 | stop loss in pips | -17.7 | |
| Maximum | Reward-Risk | 2.7 | Duration in minutes | 818 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 152.7 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 2 | |
| Maximum | consecutive wins (profit in money) | 9.0 (11.92) | consecutive losses (loss in money) | 7.0 (-16.69) | |
| Average | consecutive wins | 3.0 | consecutive losses | 2.0 |
| Total net profit | -15.06 | Gross profit | 15.95 | Gross loss | -31.01 |
| Profit factor | 0.51 | Expected payoff | -0.58 | ||
| Absolute drawdown | -15.44 | Maximal drawdown (%) | 18.11 (678.28%) | ||
| Total trades | 26 | Profit trades (% of total) | 12 (46.15%) | Loss trades (% of total) | 14 (53.85%) |
| Largest | profit trade | 3.78 | loss trade | -3.38 | |
| Average | profit trade | 1.33 | loss trade | -2.21 | |
| Minimum | profit trade | 0.19 | loss trade | -0.26 | |
| Maximum | take profit in pips | 89.3 | stop loss in pips | -44.7 | |
| Average | take profit in pips | 24.6 | stop loss in pips | -32.3 | |
| Minimum | take profit in pips | -3.5 | stop loss in pips | -18.2 | |
| Maximum | Reward-Risk | 2.7 | Duration in minutes | 818.0 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 166.7 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 2.0 | |
| Maximum | consecutive wins (profit in money) | 5.0 (7.04) | consecutive losses (loss in money) | 7.0 (-16.69) | |
| Average | consecutive wins | 2.0 | consecutive losses | 2.0 |
| Total net profit | 10.09 | Gross profit | 24.84 | Gross loss | -14.75 |
| Profit factor | 1.68 | Expected payoff | 0.53 | ||
| Absolute drawdown | -7.21 | Maximal drawdown (%) | 4.64 (-180.54%) | ||
| Total trades | 19 | Profit trades (% of total) | 13 (68.42%) | Loss trades (% of total) | 6 (31.58%) |
| Largest | profit trade | 3.61 | loss trade | -2.6 | |
| Average | profit trade | 1.91 | loss trade | -2.46 | |
| Minimum | profit trade | 0.5 | loss trade | -2.31 | |
| Maximum | take profit in pips | 47.0 | stop loss in pips | -33.5 | |
| Average | take profit in pips | 24.0 | stop loss in pips | -28.8 | |
| Minimum | take profit in pips | 6.6 | stop loss in pips | -17.7 | |
| Maximum | Reward-Risk | 1.6 | Duration in minutes | 505.0 | |
| Average | Reward-Risk | 0.8 | Duration in minutes | 133.5 | |
| Minimum | Reward-Risk | Duration in minutes | 4.0 | ||
| Maximum | consecutive wins (profit in money) | 5.0 (8.66) | consecutive losses (loss in money) | 3.0 (-7.21) | |
| Average | consecutive wins | 3.0 | consecutive losses | 1.0 |


and become an Elite Citizen today.
Our Citizens work hard to make our nation grow. That is why we offer Elite Citizenship. A way for us to give back.
Our most productive Citizens will be entitled to more accomodies so they can live in the conditions they've earned.
| Features | Standard Citizen | ELITE Citizen | ELITE+ Citizen |
|---|---|---|---|
| Earn Civil Credit | Exchange foreign currency to Civil Credit at a 2% Fee |
Exchange foreign currency for fixed amount of Civil Credit with NO FEES |
Freely exchange foreign currency to Civil Credit at no cost |
| Housing | Studio Apartment / One Bedroom Availabilty |
1 - 4 Bedroom Apartment Availability |
Unlimited Bedroom and Condo Availability |
| Voting | Vote in person | Vote in person or online | Vote in person or online Votes count 1.5x |
| Axis: Neurological Enhancement |
One free installation with free firmware updates |
One free installation annually and free firmware updates |
One free installation annually and free firmware updates |
Unanimous believes in a merit-based society. That is why we designed our citizenship status to be competetive. Those who can put in the work, get results.
Unanimous uses a merit-based system to award Citizens for productive behavior.

By meeting those quotas, you can upgrade your Citizenship Status to reflect your productivity.


Thoughts
Most of my thoughts aren't particularly interesting to anyone but me. When they might be interesting, in most cases enough other people have already written up something similar enough that you don't need to read my version. In a few cases, though, I think my thoughts might be interesting to other people and I haven't found too many other good pieces on a similar topic:
- Issues with Caste - December 2020
- Was Holden Caulfield abducted by aliens? - November 2020
- Hiring in Journalism is Behind the Times - August 2018
- A deal with the Blue Devil (or why we should think about things besides college sports) - April 2017


Geo queries
OpenSearch supports two types of geo data:
geo_point
fields which support lat/lon pairs, and
geo_shape
fields, which support points,
lines, circles, polygons, multi-polygons, etc.
The queries in this group are:
geo_bounding_box
query-
Finds documents with geo-points that fall into the specified rectangle.
geo_distance
query-
Finds documents with geo-points within the specified distance of a central point.
geo_polygon
query-
Find documents with geo-points within the specified polygon.
geo_shape
query-
Finds documents with:
-
geo-shapes
which either intersect, are contained by, or do not intersect with the specified geo-shape -
geo-points
which intersect the specified geo-shape
-
Geo-bounding box query
A query allowing to filter hits based on a point location using a bounding box. Assuming the following indexed document:
PUT /my_locations
{
"mappings": {
"properties": {
"pin": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
}
PUT /my_locations/_doc/1
{
"pin": {
"location": {
"lat": 40.12,
"lon": -71.34
}
}
}
Then the following simple query can be executed with a
geo_bounding_box
filter:
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": {
"lat": 40.73,
"lon": -74.1
},
"bottom_right": {
"lat": 40.01,
"lon": -71.12
}
}
}
}
}
}
}
Query Options
| Option | Description |
|---|---|
|
Optional name field to identify the filter |
|
Set to |
|
Set to one of |
Accepted Formats
In much the same way the geo_point type can accept different representations of the geo point, the filter can accept it as well:
Lat Lon As Properties
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": {
"lat": 40.73,
"lon": -74.1
},
"bottom_right": {
"lat": 40.01,
"lon": -71.12
}
}
}
}
}
}
}
Lat Lon As Array
Format in [lon, lat]
, note, the order of lon/lat here in order to
conform with GeoJSON.
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": [ -74.1, 40.73 ],
"bottom_right": [ -71.12, 40.01 ]
}
}
}
}
}
}
Lat Lon As String
Format in lat,lon
.
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": "40.73, -74.1",
"bottom_right": "40.01, -71.12"
}
}
}
}
}
}
Bounding Box as Well-Known Text (WKT)
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"wkt": "BBOX (-74.1, -71.12, 40.73, 40.01)"
}
}
}
}
}
}
Geohash
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": "dr5r9ydj2y73",
"bottom_right": "drj7teegpus6"
}
}
}
}
}
}
When geohashes are used to specify the bounding the edges of the
bounding box, the geohashes are treated as rectangles. The bounding
box is defined in such a way that its top left corresponds to the top
left corner of the geohash specified in the top_left
parameter and
its bottom right is defined as the bottom right of the geohash
specified in the bottom_right
parameter.
In order to specify a bounding box that would match entire area of a
geohash the geohash can be specified in both top_left
and
bottom_right
parameters:
GET my_locations/_search
{
"query": {
"geo_bounding_box": {
"pin.location": {
"top_left": "dr",
"bottom_right": "dr"
}
}
}
}
In this example, the geohash dr
will produce the bounding box
query with the top left corner at 45.0,-78.75
and the bottom right
corner at 39.375,-67.5
.
Vertices
The vertices of the bounding box can either be set by top_left
and
bottom_right
or by top_right
and bottom_left
parameters. More
over the names topLeft
, bottomRight
, topRight
and bottomLeft
are supported. Instead of setting the values pairwise, one can use
the simple names top
, left
, bottom
and right
to set the
values separately.
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top": 40.73,
"left": -74.1,
"bottom": 40.01,
"right": -71.12
}
}
}
}
}
}
geo_point Type
The filter requires the geo_point
type to be set on the relevant
field.
Multi Location Per Document
The filter can work with multiple locations / points per document. Once a single location / point matches the filter, the document will be included in the filter
Type
The type of the bounding box execution by default is set to memory
,
which means in memory checks if the doc falls within the bounding box
range. In some cases, an indexed
option will perform faster (but note
that the geo_point
type must have lat and lon indexed in this case).
Note, when using the indexed option, multi locations per document field
are not supported. Here is an example:
GET my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_bounding_box": {
"pin.location": {
"top_left": {
"lat": 40.73,
"lon": -74.1
},
"bottom_right": {
"lat": 40.10,
"lon": -71.12
}
},
"type": "indexed"
}
}
}
}
}
Ignore Unmapped
When set to true
the ignore_unmapped
option will ignore an unmapped field
and will not match any documents for this query. This can be useful when
querying multiple indexes which might have different mappings. When set to
false
(the default value) the query will throw an exception if the field
is not mapped.
Notes on Precision
Geopoints have limited precision and are always rounded down during index time. During the query time, upper boundaries of the bounding boxes are rounded down, while lower boundaries are rounded up. As a result, the points along on the lower bounds (bottom and left edges of the bounding box) might not make it into the bounding box due to the rounding error. At the same time points alongside the upper bounds (top and right edges) might be selected by the query even if they are located slightly outside the edge. The rounding error should be less than 4.20e-8 degrees on the latitude and less than 8.39e-8 degrees on the longitude, which translates to less than 1cm error even at the equator.
Geo-distance query
Filters documents that include only hits that exists within a specific distance from a geo point. Assuming the following mapping and indexed document:
PUT /my_locations
{
"mappings": {
"properties": {
"pin": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
}
PUT /my_locations/_doc/1
{
"pin": {
"location": {
"lat": 40.12,
"lon": -71.34
}
}
}
Then the following simple query can be executed with a geo_distance
filter:
GET /my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "200km",
"pin.location": {
"lat": 40,
"lon": -70
}
}
}
}
}
}
Accepted Formats
In much the same way the geo_point
type can accept different
representations of the geo point, the filter can accept it as well:
Lat Lon As Properties
GET /my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "12km",
"pin.location": {
"lat": 40,
"lon": -70
}
}
}
}
}
}
Lat Lon As Array
Format in [lon, lat]
, note, the order of lon/lat here in order to
conform with GeoJSON.
GET /my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "12km",
"pin.location": [ -70, 40 ]
}
}
}
}
}
Lat Lon As String
Format in lat,lon
.
GET /my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "12km",
"pin.location": "40,-70"
}
}
}
}
}
Geohash
GET /my_locations/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_distance": {
"distance": "12km",
"pin.location": "drm3btev3e86"
}
}
}
}
}
Options
The following are options allowed on the filter:
distance
|
The radius of the circle centred on the specified location. Points which
fall into this circle are considered to be matches. The |
distance_type
|
How to compute the distance. Can either be |
_name
|
Optional name field to identify the query |
validation_method
|
Set to |
geo_point Type
The filter requires the geo_point
type to be set on the relevant
field.
Multi Location Per Document
The geo_distance
filter can work with multiple locations / points per
document. Once a single location / point matches the filter, the
document will be included in the filter.
Ignore Unmapped
When set to true
the ignore_unmapped
option will ignore an unmapped field
and will not match any documents for this query. This can be useful when
querying multiple indexes which might have different mappings. When set to
false
(the default value) the query will throw an exception if the field
is not mapped.
Geo-polygon query
A query returning hits that only fall within a polygon of points. Here is an example:
GET /_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_polygon": {
"person.location": {
"points": [
{ "lat": 40, "lon": -70 },
{ "lat": 30, "lon": -80 },
{ "lat": 20, "lon": -90 }
]
}
}
}
}
}
}
Query Options
| Option | Description |
|---|---|
|
Optional name field to identify the filter |
|
Set to |
Allowed Formats
Lat Long as Array
Format as [lon, lat]
Note: the order of lon/lat here must conform with GeoJSON.
GET /_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_polygon": {
"person.location": {
"points": [
[ -70, 40 ],
[ -80, 30 ],
[ -90, 20 ]
]
}
}
}
}
}
}
Lat Lon as String
Format in lat,lon
.
GET /_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_polygon": {
"person.location": {
"points": [
"40, -70",
"30, -80",
"20, -90"
]
}
}
}
}
}
}
Geohash
GET /_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_polygon": {
"person.location": {
"points": [
"drn5x1g8cu2y",
"30, -80",
"20, -90"
]
}
}
}
}
}
}
geo_point Type
The query requires the geo_point
type to be set on the
relevant field.
Ignore Unmapped
When set to true
the ignore_unmapped
option will ignore an unmapped field
and will not match any documents for this query. This can be useful when
querying multiple indexes which might have different mappings. When set to
false
(the default value) the query will throw an exception if the field
is not mapped.
Geo-shape query
Filter documents indexed using the geo_shape
or geo_point
type.
Requires the geo_shape
Mapping or the
geo_point
Mapping.
The geo_shape
query uses the same grid square representation as the
geo_shape
mapping to find documents that have a shape that intersects
with the query shape. It will also use the same Prefix Tree configuration
as defined for the field mapping.
The query supports two ways of defining the query shape, either by providing a whole shape definition, or by referencing the name of a shape pre-indexed in another index. Both formats are defined below with examples.
Inline Shape Definition
Similar to the geo_shape
type, the geo_shape
query uses
GeoJSON to represent shapes.
Given the following index with locations as geo_shape
fields:
PUT /example
{
"mappings": {
"properties": {
"location": {
"type": "geo_shape"
}
}
}
}
POST /example/_doc?refresh
{
"name": "Wind & Wetter, Berlin, Germany",
"location": {
"type": "point",
"coordinates": [ 13.400544, 52.530286 ]
}
}
The following query will find the point using OpenSearch’s envelope
GeoJSON
extension:
GET /example/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_shape": {
"location": {
"shape": {
"type": "envelope",
"coordinates": [ [ 13.0, 53.0 ], [ 14.0, 52.0 ] ]
},
"relation": "within"
}
}
}
}
}
}
The above query can, similarly, be queried on geo_point
fields.
PUT /example_points
{
"mappings": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
PUT /example_points/_doc/1?refresh
{
"name": "Wind & Wetter, Berlin, Germany",
"location": [13.400544, 52.530286]
}
Using the same query, the documents with matching geo_point
fields are
returned.
GET /example_points/_search
{
"query": {
"bool": {
"must": {
"match_all": {}
},
"filter": {
"geo_shape": {
"location": {
"shape": {
"type": "envelope",
"coordinates": [ [ 13.0, 53.0 ], [ 14.0, 52.0 ] ]
},
"relation": "intersects"
}
}
}
}
}
}
{
"took" : 17,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "example_points",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"name": "Wind & Wetter, Berlin, Germany",
"location": [13.400544, 52.530286]
}
}
]
}
}
Pre-Indexed Shape
The query also supports using a shape which has already been indexed in another index. This is particularly useful for when you have a pre-defined list of shapes and you want to reference the list using a logical name (for example 'New Zealand') rather than having to provide coordinates each time. In this situation, it is only necessary to provide:
-
id
- The ID of the document that containing the pre-indexed shape. -
index
- Name of the index where the pre-indexed shape is. Defaults to 'shapes'. -
path
- The field specified as path containing the pre-indexed shape. Defaults to 'shape'. -
routing
- The routing of the shape document if required.
The following is an example of using the Filter with a pre-indexed shape:
PUT /shapes
{
"mappings": {
"properties": {
"location": {
"type": "geo_shape"
}
}
}
}
PUT /shapes/_doc/deu
{
"location": {
"type": "envelope",
"coordinates" : [[13.0, 53.0], [14.0, 52.0]]
}
}
GET /example/_search
{
"query": {
"bool": {
"filter": {
"geo_shape": {
"location": {
"indexed_shape": {
"index": "shapes",
"id": "deu",
"path": "location"
}
}
}
}
}
}
}
Spatial Relations
The geo_shape strategy mapping parameter determines which spatial relation operators may be used at search time.
The following is a complete list of spatial relation operators available when
searching a field of type geo_shape
:
-
INTERSECTS
- (default) Return all documents whosegeo_shape
field intersects the query geometry. -
DISJOINT
- Return all documents whosegeo_shape
field has nothing in common with the query geometry. -
WITHIN
- Return all documents whosegeo_shape
field is within the query geometry. -
CONTAINS
- Return all documents whosegeo_shape
field contains the query geometry.
When searching a field of type geo_point
there is a single supported spatial
relation operator:
-
INTERSECTS
- (default) Return all documents whosegeo_point
field intersects the query geometry.
Ignore Unmapped
When set to true
the ignore_unmapped
option will ignore an unmapped field
and will not match any documents for this query. This can be useful when
querying multiple indexes which might have different mappings. When set to
false
(the default value) the query will throw an exception if the field
is not mapped.
Shape Types supported for Geo-Point
When searching a field of type geo_point
the following shape types are not
supported:
-
POINT
-
LINE
-
MULTIPOINT
-
MULTILINE
Notes
-
Geo-shape queries on geo-shapes implemented with
PrefixTrees
will not be executed ifsearch.allow_expensive_queries
is set to false. -
When data is indexed in a
geo_shape
field as an array of shapes, the arrays are treated as one shape. For this reason, the following requests are equivalent.
PUT /test/_doc/1
{
"location": [
{
"coordinates": [46.25,20.14],
"type": "point"
},
{
"coordinates": [47.49,19.04],
"type": "point"
}
]
}
PUT /test/_doc/1
{
"location":
{
"coordinates": [[46.25,20.14],[47.49,19.04]],
"type": "multipoint"
}
}


Member Login
LOGIN
Resend authentication e-mail.
×
Resend authentication e-mail.
This account is already verified.
×
Create your account


I can quickly build a beautiful Responsive Website at the lowes prices.
For all the buildings of your entreprise, just contact me for to handler everything about the network administration and network security.
I can build any Software of your need using the java programming language and integreting the javafx technologie to make your Software more beautiful.
I am a great chess player (2150+ on www.lichess.org), and I can help you improving your level in chess too. Just contact me and I will bring your from the Beginner level the the Candidate Master at least
We put our website on line on Monday, April 6 2020 early at 2:00am. We were very happy to see how it will look like as soon as it will be on the Internet. We hosted it on github (Very easy to do and $0 cost )!
We started sharing the link of our website in almost all the social media to let people know that we exist, that we have started offring them our services!
We planned to start with E-COMMECER. That is something we were not quite sure it will work but we did it and imagine what : It did not work hahahaha. We made many mistakes but learned from them and lunched ourselves into it again. And for that second time, it really work and people were very happy to use our Website for their sales !
We started looking for partners to join us and expand our Website. At first it was really difficult to find them, but Tsopgni Duhamel thought about his friend at school who was the owner of NGAMSOLOGIE DESIGN. He contacted him and he accepted to join us, providing our clients with his sercices. That was the beginning of our Expansion!
Web Developper Frontend and Backend
Network administrator
Software Developer
You can join our team whenever your want, at the only condition that your should share your latter experience with us.


{% extends "main_template.html" %}
{% block content %}
ASLA, a revolutionary new toolkit designed by industry experts in Machine Learning to help people
communicate with ASL using a Leap Motion. Just download our software, register, hook up your Leap Motion and you're
set!Gesture. Speak. Communicate
Always wanted to send that heart emoji without touching your keyboard?
We got your back!


referenced
by Max Kadel at 2023-04-13 15:45:33.merged
by Max Kadel at 2023-04-13 15:45:33.closed
by Max Kadel at 2023-04-13 15:45:34.head_ref_deleted
by Max Kadel at 2023-04-13 15:45:35.review_requested
by None at 2023-04-13 14:21:58.review_requested
by None at 2023-04-13 14:21:58.mentioned
by Kevin Reiss at 2023-04-13 14:44:21.subscribed
by Kevin Reiss at 2023-04-13 14:44:21.mentioned
by Peter Green at 2023-04-13 14:44:21.subscribed
by Peter Green at 2023-04-13 14:44:21.assigned
by Jane Sandberg at 2023-04-13 20:10:06.labeled
by Jane Sandberg at 2023-04-13 20:15:37.referenced
by Christina Chortaria at 2023-04-13 20:38:32.merged
by Christina Chortaria at 2023-04-13 20:38:32.closed
by Christina Chortaria at 2023-04-13 20:38:32.head_ref_deleted
by Christina Chortaria at 2023-04-13 20:38:33.labeled
by Jane Sandberg at 2023-04-13 20:19:03.assigned
by Jane Sandberg at 2023-04-13 20:19:48.closed
by Christina Chortaria at 2023-04-13 20:38:34.deployed
by None at 2023-04-13 21:29:09.referenced
by Kevin Reiss at 2023-04-13 21:33:06.merged
by Kevin Reiss at 2023-04-13 21:33:06.closed
by Kevin Reiss at 2023-04-13 21:33:07.head_ref_deleted
by Kevin Reiss at 2023-04-13 21:33:08.head_ref_force_pushed
by Jane Sandberg at 2023-04-13 22:11:11.deployed
by None at 2023-04-13 22:15:01.ready_for_review
by Jane Sandberg at 2023-04-13 22:20:55.Ok, I take it back, looking at how this is created in the database, I don't think there's a way to remove it from the database as an option. From the PostgreSQL documentation:
Existing values cannot be removed from an enum type, nor can the sort ordering of such values be changed, short of dropping and re-creating the enum type.
I'm not sure it's worth dropping and re-creating the column for this? What do you think @christinach and @kevinreiss ? See this stack overflow answer for an all-sql example.
Hrm, and then the Rails ActiveRecord documentation for Enum doesn't say anything about migrations, but only talks about the definition in the class, which this PR changes as suggested.
Therefore, once a value is added to the enum array, its position in the array must be maintained, and new values should only be added to the end of the array. To remove unused values, the explicit hash syntax should be used.
I don't think it's worth investing time to alter the database. We should just add a commit that removes the choice for the interface.
mentioned
by Kevin Reiss at 2023-04-13 13:02:24.subscribed
by Kevin Reiss at 2023-04-13 13:02:24.mentioned
by Christina Chortaria at 2023-04-13 13:02:24.subscribed
by Christina Chortaria at 2023-04-13 13:02:24.ready_for_review
by Max Kadel at 2023-04-13 13:58:44.deployed
by None at 2023-04-13 22:22:25.referenced
by Jane Sandberg at 2023-04-13 22:25:25.merged
by Jane Sandberg at 2023-04-13 22:25:25.closed
by Jane Sandberg at 2023-04-13 22:25:26.head_ref_deleted
by Jane Sandberg at 2023-04-13 22:25:27.closed
by Jane Sandberg at 2023-04-13 22:25:27.assigned
by None at 2023-04-12 22:49:01.closed
by None at 2023-04-13 14:44:49.assigned
by None at 2023-04-12 23:20:09.closed
by None at 2023-04-13 14:44:53.assigned
by None at 2023-04-12 22:45:51.closed
by None at 2023-04-13 14:44:57.assigned
by None at 2023-04-12 22:39:34.closed
by None at 2023-04-13 14:45:01.Sudden priority information: Staff need a way to look up container information to fill requests for patrons.
labeled
by None at 2023-04-12 22:31:04.assigned
by None at 2023-04-12 22:31:04.closed
by None at 2023-04-13 14:45:10.closed
by Max Kadel at 2023-04-13 15:22:29.labeled
by None at 2023-04-13 15:44:36.referenced
by Max Kadel at 2023-04-13 15:52:12.merged
by Max Kadel at 2023-04-13 15:52:12.closed
by Max Kadel at 2023-04-13 15:52:12.head_ref_deleted
by Max Kadel at 2023-04-13 15:52:13.labeled
by None at 2023-04-13 15:44:32.head_ref_force_pushed
by None at 2023-04-13 15:54:04.referenced
by Max Kadel at 2023-04-13 15:55:35.merged
by Max Kadel at 2023-04-13 15:55:35.closed
by Max Kadel at 2023-04-13 15:55:35.head_ref_deleted
by Max Kadel at 2023-04-13 15:55:36.labeled
by None at 2023-04-13 15:44:22.head_ref_force_pushed
by None at 2023-04-13 16:39:50.referenced
by Max Kadel at 2023-04-13 17:26:13.merged
by Max Kadel at 2023-04-13 17:26:13.closed
by Max Kadel at 2023-04-13 17:26:14.head_ref_deleted
by Max Kadel at 2023-04-13 17:26:15.Sudden priority justification: the collection needs to be made requestable so patrons can use it.
assigned
by None at 2023-04-12 22:11:20.labeled
by None at 2023-04-12 22:11:36.closed
by None at 2023-04-13 17:35:02.labeled
by None at 2023-04-13 17:55:08.ready_for_review
by None at 2023-04-13 18:25:17.referenced
by Christina Chortaria at 2023-04-13 18:38:22.merged
by Christina Chortaria at 2023-04-13 18:38:22.closed
by Christina Chortaria at 2023-04-13 18:38:22.head_ref_deleted
by Christina Chortaria at 2023-04-13 18:38:23.assigned
by None at 2023-04-13 18:56:36.closed
by Christina Chortaria at 2023-04-13 17:11:28.Update it as enum_chron in bibdata and Enumeration/Chronology in the requests form
Update the label on the request form table to say "Enumeration and Chronology" and update the code's hash key to be [:enum_chron].
@escowles will check with DSSG to confirm that we want the language facet updated for this, not an extra subject heading.
mentioned
by esmé cowles at 2023-04-13 17:24:23.subscribed
by esmé cowles at 2023-04-13 17:24:23.Deployed to staging successfully, merging.
deployed
by None at 2023-04-13 21:31:49.referenced
by Kevin Reiss at 2023-04-13 21:34:26.merged
by Kevin Reiss at 2023-04-13 21:34:26.closed
by Kevin Reiss at 2023-04-13 21:34:26.head_ref_deleted
by Kevin Reiss at 2023-04-13 21:34:27.assigned
by Jane Sandberg at 2023-04-13 22:27:18.mentioned
by Max Kadel at 2023-04-13 22:54:09.subscribed
by Max Kadel at 2023-04-13 22:54:09.labeled
by None at 2023-04-13 16:30:39.labeled
by None at 2023-04-13 16:30:39.referenced
by Max Kadel at 2023-04-13 16:38:30.merged
by Max Kadel at 2023-04-13 16:38:30.closed
by Max Kadel at 2023-04-13 16:38:30.head_ref_deleted
by Max Kadel at 2023-04-13 16:38:31.labeled
by None at 2023-04-13 16:39:04.labeled
by None at 2023-04-13 16:39:04.labeled
by None at 2023-04-13 16:39:09.labeled
by None at 2023-04-13 16:39:09.referenced
by Max Kadel at 2023-04-13 16:47:40.merged
by Max Kadel at 2023-04-13 16:47:40.closed
by Max Kadel at 2023-04-13 16:47:40.head_ref_deleted
by Max Kadel at 2023-04-13 16:47:42.labeled
by None at 2023-04-13 16:39:25.labeled
by None at 2023-04-13 16:39:25.head_ref_force_pushed
by None at 2023-04-13 16:50:57.referenced
by Max Kadel at 2023-04-13 17:25:44.merged
by Max Kadel at 2023-04-13 17:25:44.closed
by Max Kadel at 2023-04-13 17:25:44.head_ref_deleted
by Max Kadel at 2023-04-13 17:25:45.labeled
by None at 2023-04-13 16:38:58.labeled
by None at 2023-04-13 16:38:58.head_ref_force_pushed
by None at 2023-04-13 16:49:15.head_ref_force_pushed
by None at 2023-04-13 17:27:34.labeled
by None at 2023-04-13 16:39:06.labeled
by None at 2023-04-13 16:39:06.head_ref_force_pushed
by None at 2023-04-13 17:27:41.ready_for_review
by Kate Lynch at 2023-04-13 18:45:04.referenced
by Hector Correa at 2023-04-13 18:58:36.merged
by Hector Correa at 2023-04-13 18:58:36.closed
by Hector Correa at 2023-04-13 18:58:36.closed
by Hector Correa at 2023-04-13 18:58:38.assigned
by Trey Pendragon at 2023-04-12 23:21:29.referenced
by Eliot Jordan at 2023-04-13 15:09:42.merged
by Eliot Jordan at 2023-04-13 15:09:42.closed
by Eliot Jordan at 2023-04-13 15:09:42.head_ref_deleted
by Eliot Jordan at 2023-04-13 15:09:43.head_ref_force_pushed
by Eliot Jordan at 2023-04-13 15:51:47.labeled
by Trey Pendragon at 2023-04-13 16:02:07.labeled
by Trey Pendragon at 2023-04-13 16:02:07.labeled
by Trey Pendragon at 2023-04-13 17:38:45.labeled
by Trey Pendragon at 2023-04-13 17:38:45.deployed
by None at 2023-04-13 19:52:07.deployed
by None at 2023-04-13 20:06:35.head_ref_force_pushed
by Trey Pendragon at 2023-04-13 20:35:27.ready_for_review
by Trey Pendragon at 2023-04-13 20:41:53.referenced
by Max Kadel at 2023-04-13 15:59:11.merged
by Max Kadel at 2023-04-13 15:59:11.closed
by Max Kadel at 2023-04-13 15:59:11.head_ref_deleted
by Max Kadel at 2023-04-13 15:59:12.referenced
by Max Kadel at 2023-04-13 16:00:26.merged
by Max Kadel at 2023-04-13 16:00:26.closed
by Max Kadel at 2023-04-13 16:00:27.head_ref_deleted
by Max Kadel at 2023-04-13 16:00:28.Because the servers can't talk to each other directly, I just downloaded the files locally, and am now rsyncing them up to the staging server (since as far as I know the production nfs still has firewall issues).
rsync -rv ~/Documents/pod_full_dump/ deploy@lib-jobs-staging1.princeton.edu:/mnt/nfs/open_marc_records/
Files are now on both staging and production
closed
by Max Kadel at 2023-04-13 16:23:57.deployed
by None at 2023-04-13 23:02:33.deployed
by None at 2023-04-13 21:28:33.referenced
by Kevin Reiss at 2023-04-13 21:33:33.merged
by Kevin Reiss at 2023-04-13 21:33:33.closed
by Kevin Reiss at 2023-04-13 21:33:33.head_ref_deleted
by Kevin Reiss at 2023-04-13 21:33:34.referenced
by Max Kadel at 2023-04-13 16:09:59.merged
by Max Kadel at 2023-04-13 16:09:59.closed
by Max Kadel at 2023-04-13 16:09:59.head_ref_deleted
by Max Kadel at 2023-04-13 16:10:00.referenced
by Kevin Reiss at 2023-04-13 19:40:57.merged
by Kevin Reiss at 2023-04-13 19:40:57.closed
by Kevin Reiss at 2023-04-13 19:40:57.head_ref_deleted
by Kevin Reiss at 2023-04-13 19:40:58.labeled
by Kevin Reiss at 2023-04-13 13:30:39.labeled
by Kevin Reiss at 2023-04-13 13:30:39.May want to revisit UX of Requests form after fixing this bug.
in progress work https://github.com/pulibrary/orangelight/tree/3505-electronic-delivery.
renamed
by Kevin Reiss at 2023-04-13 16:35:06.We need to check the current production state to see if this is still a valid issue.
Tried to sitemap.xml again today.
assigned
by Kevin Reiss at 2023-04-13 17:14:06.Discuss current WAF capabilities with @kayiwa and @acozine.
mentioned
by Francis Kayiwa at 2023-04-13 17:17:14.subscribed
by Francis Kayiwa at 2023-04-13 17:17:14.mentioned
by Alicia Cozine at 2023-04-13 17:17:15.subscribed
by Alicia Cozine at 2023-04-13 17:17:15.assigned
by Kevin Reiss at 2023-04-13 17:23:02.April now. Any prospect of looking more closely?
Coverage: 95.206% (-0.02%) from 95.224% when pulling 9d233f9484bf2246c15b58044795e51c378229b6 on upgraderailssecurity into 75f9c5bc8231d6f49abf0ab4cb1831df530539da on main.
Deployed successful to staging merging.
deployed
by None at 2023-04-13 21:34:57.referenced
by Kevin Reiss at 2023-04-13 21:41:13.merged
by Kevin Reiss at 2023-04-13 21:41:13.closed
by Kevin Reiss at 2023-04-13 21:41:13.head_ref_deleted
by Kevin Reiss at 2023-04-13 21:41:14.Coverage: 95.224%. Remained the same when pulling 5968ad9ebcf2773b1452c6502a99dc81e435ba22 on 3505-electronic-delivery into 3c29e3e30bd23b435fbc018995ef3bb0b784582f on main.
head_ref_force_pushed
by Christina Chortaria at 2023-04-13 22:15:01.head_ref_force_pushed
by Christina Chortaria at 2023-04-13 22:17:11.head_ref_force_pushed
by Christina Chortaria at 2023-04-13 22:20:22.deployed
by None at 2023-04-13 22:22:20.head_ref_force_pushed
by Christina Chortaria at 2023-04-13 22:35:40.assigned
by Hector Correa at 2023-04-13 14:13:36.closed
by James R. Griffin III at 2023-04-13 15:00:04.deployed
by None at 2023-04-13 14:34:29.referenced
by James R. Griffin III at 2023-04-13 15:00:02.merged
by James R. Griffin III at 2023-04-13 15:00:02.closed
by James R. Griffin III at 2023-04-13 15:00:02.head_ref_deleted
by James R. Griffin III at 2023-04-13 15:00:05.I did a bit more digging and it seems that our reindex process is indeed having issues with the replication which is what causes the number of total documents to flip flop between two values, for example between 142 vs 367.
We are currently not experiencing this issue in production because we are locked to a single replica but this is not a good long term plan.
Forcing the reindex to target the "leader" node seems to fix this problem (details here) but we shouldn't have to do this.
closed
by Max Kadel at 2023-04-13 14:55:05.review_requested
by Francis Kayiwa at 2023-04-13 16:03:18.review_requested
by Francis Kayiwa at 2023-04-13 16:03:29.review_request_removed
by Francis Kayiwa at 2023-04-13 16:03:35.referenced
by Max Kadel at 2023-04-13 16:36:33.merged
by Max Kadel at 2023-04-13 16:36:33.closed
by Max Kadel at 2023-04-13 16:36:33.head_ref_deleted
by Max Kadel at 2023-04-13 16:36:34.PR #3705 fixed this CI problem. Closing this PR as solved.
closed
by Alicia Cozine at 2023-04-13 19:39:18.head_ref_deleted
by Alicia Cozine at 2023-04-13 19:39:27.Closing in favor of #3782.
closed
by Alicia Cozine at 2023-04-13 21:16:58.Deployed prod. Will pull new database updates every hour. Closing
closed
by Kevin Reiss at 2023-04-13 02:04:51.labeled
by Kevin Reiss at 2023-04-13 13:29:37.assigned
by Kevin Reiss at 2023-04-13 13:29:39.ERM team asked to check back in one more week.
These have been imported and I wrote to Lynn to let her know:
Hi, Lynn.
These have now been imported. There were 36 items on the spreadsheet you sent, but only 35 in the dissertation shipment from ProQuest.
We appear to be missing this one:
14451 Andersen Sonja Marie<EMAIL_ADDRESS>2023
The rest have been imported into dataspace production and they look correct as far as I can tell.
Please take a look when you get a chance and let me know if you see any issues.
Thank you! Bess
closed
by Bess Sadler at 2023-04-13 18:52:40.referenced
by Max Kadel at 2023-04-13 16:44:51.merged
by Max Kadel at 2023-04-13 16:44:51.closed
by Max Kadel at 2023-04-13 16:44:51.head_ref_deleted
by Max Kadel at 2023-04-13 16:44:53.labeled
by None at 2023-04-13 16:46:49.labeled
by None at 2023-04-13 16:46:49.referenced
by Max Kadel at 2023-04-13 16:48:31.merged
by Max Kadel at 2023-04-13 16:48:31.closed
by Max Kadel at 2023-04-13 16:48:31.head_ref_deleted
by Max Kadel at 2023-04-13 16:48:32.referenced
by Max Kadel at 2023-04-13 16:12:58.merged
by Max Kadel at 2023-04-13 16:12:58.closed
by Max Kadel at 2023-04-13 16:12:59.head_ref_deleted
by Max Kadel at 2023-04-13 16:13:00.referenced
by Kevin Reiss at 2023-04-13 19:40:33.merged
by Kevin Reiss at 2023-04-13 19:40:33.closed
by Kevin Reiss at 2023-04-13 19:40:33.head_ref_deleted
by Kevin Reiss at 2023-04-13 19:40:34.referenced
by Max Kadel at 2023-04-13 16:41:58.merged
by Max Kadel at 2023-04-13 16:41:58.closed
by Max Kadel at 2023-04-13 16:41:58.head_ref_deleted
by Max Kadel at 2023-04-13 16:41:59.referenced
by Max Kadel at 2023-04-13 16:42:23.merged
by Max Kadel at 2023-04-13 16:42:23.closed
by Max Kadel at 2023-04-13 16:42:24.head_ref_deleted
by Max Kadel at 2023-04-13 16:42:25.closed
by Kate Lynch at 2023-04-13 14:02:19.


This is an example of a HTML5 form which has a different error message style for each of its form elements. Back to User Agent Man HTML5 Forms article
It is important you fill out all of the information in this form.


Welcome to the Epicodus track suggester site!
Epicodus is a code school that offers 5 different tracks in its program.
They are:
Ruby/Rails
PHP/Drupal
Java/Android
CSS/Design
C#/.NET
Answer the questions below to help determine what track best fits you.
Name:
What type of development appeals to you?
Front End
Back End
What size company would you like to work for?
Large
Medium
Small
What operating system do you like to develop on?
Mac
PC
Linux
Do you like gemstones?
Yes
No
Do you like drops with inifinity eyes?
Yes
No
, you should take the
track!
Enter


--- layout: example categories: example/v1.0.0 version: v1.0.0 title: Multiple filters on markers description: Apply multiple filters on markers based on characteristics in the data. tags: - markers - ui --- Show all Rentals Tackle shop Fuel station


CPack DragNDrop Generator¶
The DragNDrop CPack generator (macOS) creates a DMG image.
Variables specific to CPack DragNDrop generator¶
The following variables are specific to the DragNDrop installers built on macOS:
-
CPACK_DMG_VOLUME_NAME
¶ The volume name of the generated disk image. Defaults to CPACK_PACKAGE_FILE_NAME.
-
CPACK_DMG_FORMAT
¶ The disk image format. Common values are
UDRO
(UDIF read-only),UDZO
(UDIF zlib-compressed) orUDBZ
(UDIF bzip2-compressed). Refer tohdiutil(1)
for more information on other available formats. Defaults toUDZO
.
-
CPACK_DMG_DS_STORE
¶ Path to a custom
.DS_Store
file. This.DS_Store
file can be used to specify the Finder window position/geometry and layout (such as hidden toolbars, placement of the icons etc.). This file has to be generated by the Finder (either manually or through AppleScript) using a normal folder from which the.DS_Store
file can then be extracted.
-
CPACK_DMG_DS_STORE_SETUP_SCRIPT
¶ Path to a custom AppleScript file. This AppleScript is used to generate a
.DS_Store
file which specifies the Finder window position/geometry and layout (such as hidden toolbars, placement of the icons etc.). By specifying a custom AppleScript there is no need to useCPACK_DMG_DS_STORE
, as the.DS_Store
that is generated by the AppleScript will be packaged.
-
CPACK_DMG_BACKGROUND_IMAGE
¶ Path to an image file to be used as the background. This file will be copied to
.background
/background.<ext>
, where<ext>
is the original image file extension. The background image is installed into the image beforeCPACK_DMG_DS_STORE_SETUP_SCRIPT
is executed orCPACK_DMG_DS_STORE
is installed. By default no background image is set.
-
CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
¶ Default behaviour is to include a symlink to
/Applications
in the DMG. Set this option toON
to avoid adding the symlink.
-
CPACK_DMG_SLA_DIR
¶ Directory where license and menu files for different languages are stored. Setting this causes CPack to look for a
<language>.menu.txt
and<language>.license.txt
file for every language defined inCPACK_DMG_SLA_LANGUAGES
. If both this variable andCPACK_RESOURCE_FILE_LICENSE
are set, CPack will only look for the menu files and use the same license file for all languages.
-
CPACK_DMG_SLA_LANGUAGES
¶ Languages for which a license agreement is provided when mounting the generated DMG. A menu file consists of 9 lines of text. The first line is is the name of the language itself, uppercase, in English (e.g. German). The other lines are translations of the following strings:
- Agree
- Disagree
- Save…
- You agree to the terms of the License Agreement when you click the “Agree” button.
- Software License Agreement
- This text cannot be saved. The disk may be full or locked, or the file may be locked.
- Unable to print. Make sure you have selected a printer.
For every language in this list, CPack will try to find files
<language>.menu.txt
and<language>.license.txt
in the directory specified by theCPACK_DMG_SLA_DIR
variable.
-
CPACK_COMMAND_HDIUTIL
¶ Path to the
hdiutil(1)
command used to operate on disk image files on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).
-
CPACK_COMMAND_SETFILE
¶ Path to the
SetFile(1)
command used to set extended attributes on files and directories on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).
-
CPACK_COMMAND_REZ
¶ Path to the
Rez(1)
command used to compile resources on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).


Thirty-fifth alpha release.
This release focuses mainly on fixing long-standing bugs, while also improving the user experience in certain areas of the plugin.
The following issues have been fixed:
Contributors:


ServiceProviders.com
Verizon’s Wireless Network ranked #1 for overall performance nationally by RootMetrics.
Verizon
AT&T
Sprint
ComCast
Contact
|
Feed back
|
Queries
|
Terms and Conditions


The 3rd Workshop on Java Technologies for Real-time and Embedded
Systems
OOPSLA 2005
17 October 2005
San Diego, California, USA
::Schedule::
| 8:45 |
Welcome |
| 9:00 |
Invited talk
Java for Large Distributed Real-Time Systems
En-Kuan Lung (Raytheon)
Given that Java has now become the programming language of choice for many
software engineers, and that some have already had success in applying Java
to small embedded real-time systems, it is just a matter of time when
serious attempts are made to use Java on large real-time systems. With
both Sun and IBM developing virtual machines that complies with the
Real-Time Specification for Java (RTSJ), and many other vendors joining the
real-time Java ecosystem, the time is right to take Java to the world of
large and distributed real-time systems. This presentation will look at
the approach Raytheon took to introduce real-time Java to a large real-time
project and share some of the lesson learned. |
| 10:00 |
Break |
| 10:20 |
Design and implementation of the Ovm RTSJ VM: an
experience report
Jason Baker, Krista Bennet, Antonio Cunei, Chapman Flack,
Christian Grothoff, David Holmes, Andrey Madan, Gergana Markova,
Jeremy Manson, Krzystof Palacz, Filip Pizlo, Marek Prochazka,
Jacques Thomas, Hiroshi Yamauchi, Jan Vitek (Purdue University)
A Simulation Based Model Checker for
Real Time Java Gary Lindstrom (University of
Utah), Peter C. Mehlitz, Willem Visser (NASA Ames Research
Center)
A High Integrity Profile for Memory Safe
Programming in Real-time Java Alex
Potanin, James Noble, (Victoria University of Wellington)
Tian Zhao, (University of Wisconsin–Milwaukee),
Jan Vitek (Purdue)
Checking Timeliness Correctness At Runtime
using Real-Time Java Usa Sammapun, Insup Lee,
and Oleg Sokolsky (University of Pennsylvania) |
| 12:00 |
Lunch |
| 13:00 |
Schedulable Persistence System for
Real-Time Embedded Applications in CLI Okehee
Goh, Yann-Hang Lee (Arizona State University), Ziad Kaakani
(Honeywell International Inc)
Techniques for Real-Time Checkpointing Antonio
Cunei, Jan Vitek (Purdue University)
Java Garbage Collection Scheduling
in Utility Accrual Scheduling Environments Shahrooz
Feizabadi, Godmar Back (Virginia Tech)
First In, First Out Memory Filip
Pizlo (Purdue University) |
| 3:00 |
Break |
| 3:20 |
Making Real-Time Abstractions Concrete
with Aspects Celina Gibbs and Yvonne Coady
(University of Victoria)
Toward Automatic Performance Visualization
of Distributed Real-Time Systems Trevor Harmon
and Raymond Klefstad (University of California, Irvine)
Real-Time Communication with Direct
Publish/Subscribe Event Service Marc Schanne
(FZI) |
| 5:00 |
Pannel: Real-time Java for High Integrity Applications
David Bacon (IBM)
James Hunt (Aicas)
Doug Wells (Open Group) |
| 18:00 |
Discussion and close |
::Motivation::
Over 90 percent of all microprocessors are now used for real-time
and embedded applications, and the behavior of many of these applications
is constrained by the physical world. Designing real-time and embedded
systems that implement their required capabilities, are dependable
and predictable, and are parsimonious in their use of limited computing
resources is hard; building them on time and within budget is even
harder. It is therefore essential that the production of real-time
embedded systems can take advantage of languages, tools, and methods
that enable higher software productivity.
Ideally, developers should use a programming language that shields
them from many complexities, such as type errors, memory
management and that allow them to express the desired
application structure in a convenient way -- such as supporting periodic
tasks or sporadic events in the language.
The Java programming language has become an attractive
choice because of advantages such as safety, productivity, low
maintenance costs, and availability of well trained developers.
But, to meet real-time constraints, issues such as under-specification
of thread scheduling and predictability of the runtime system must
be addressed. A number of real-time extensions to Java have been
proposed, the main two being the Real-Time Specification
for Java (RTSJ) and the J-Consortium Real-Time Core Extension (RTCore).
The intent of these specifications is to ease the development of
real-time applications by providing several additions such as extending
the memory management model, providing stronger semantics in thread
scheduling, and so on.
::Goal::
There is an increasingly growing interest in Real-Time object
technologies in both the research community and the industry. The
goal of the workshop is to gather researchers working on real-time
and embedded Java, and related languages, to identify the challenging
problems that still need to be properly solved, and to report on
research results and practical experience. The topics of interest
are not limited to particular variants of real-time Java, we are
looking for novel ideas and techniques in the following research
areas:
- New real-time programming paradigms and language features
- Industrial experience and practitioner reports
- Real-time design patterns and programming idioms
- Formal models of real-time computation
- Extensions to RTSJ and RTCore
- Virtual machines and execution environments
- Memory management and Real-time Garbage collection
- Compiler analysis and implementation techniques
- Distributed real-time Java
- Scheduling frameworks, feasibility analysis, and timing analysis
::Important dates::
Submissions due: August 22, 2005
Notification: September 19, 2005
::Paper submission::
Papers must be submitted by email to<EMAIL_ADDRESS>in
Postscript or PDF format. Hard copies of all research presentations
and position papers will be distributed at the meeting. The conference
web page will make available all slides from presentations given
by the attendees, but the conference web page will not host papers.
This is to ensure that the workshop is correctly understood to
be an informal workshop, and that presentation of research at the
workshop is not considered a barrier to republication of that research
in conferences. Papers should be clearly labeled as either:
- Research papers: These papers present new results which have
not appeared and are not under submission elsewhere. These papers
should not exceed 10 pages in ACM double column format.
- Position/Experience papers: Short papers (<5 pages in ACM format)
which present current research or experience using real-time
Java. Please notify the organizers if a position paper is currently
being considered for publication.
::Organizers::
| Program Committee:
David Bacon, IBM T.J. Watson
Ted Baker, Florida State University
Daniel Dvorak, Jet Propulsion Laboratories
Chris Gill, Washington University
Jeff Gray, University of Alabama, Birmingham
David Holmes, DLTeCH
Christoph Kirsch, University of Salzburg
Doug Lea, State University of New York
at Oswego
Insup Lee, Univeristy of Pennsylvania
Jens Palsberg, UCLA
Raj Rajkumar, Carnegie Mellon University
John Regehr, University of Utah
Andy Wellings, University of York
|
Program Chairs:
Greg Bollella, Sun Microsystems
Jan Vitek, Purdue Univeristy
Steering Committee:
Angelo Corsaro, SELEX SI
Greg Bollella, Sun Microsystems
Ron Cytron, Washington University
Doug Lea, State University of New York
at Oswego
Corrado Santoro, University of Catania
Douglas Schmidt, Vanderbilt University
Jan Vitek, Purdue University
Andy Wellings, University of York |
|


/* This file is part of Ext JS 4 Copyright (c) 2011 Sencha Inc Contact: http://www.sencha.com/contact Commercial Usage Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. */ /** * @class Ext.flash.Component * @extends Ext.Component * * A simple Component for displaying an Adobe Flash SWF movie. The movie will be sized and can participate * in layout like any other Component. * * This component requires the third-party SWFObject library version 2.2 or above. It is not included within * the ExtJS distribution, so you will have to include it into your page manually in order to use this component. * The SWFObject library can be downloaded from the [SWFObject project page](http://code.google.com/p/swfobject) * and then simply import it into the head of your HTML document: * *  * * ## Configuration * * This component allows several options for configuring how the target Flash movie is embedded. The most * important is the required {@link #url} which points to the location of the Flash movie to load. Other * configurations include: * * - {@link #backgroundColor} * - {@link #wmode} * - {@link #flashVars} * - {@link #flashParams} * - {@link #flashAttributes} * * ## Example usage: * * var win = Ext.widget('window', { * title: "It's a tiger!", * layout: 'fit', * width: 300, * height: 300, * x: 20, * y: 20, * resizable: true, * items: { * xtype: 'flash', * url: 'tiger.swf' * } * }); * win.show(); * * ## Express Install * * Adobe provides a tool called [Express Install](http://www.adobe.com/devnet/flashplayer/articles/express_install.html) * that offers users an easy way to upgrade their Flash player. If you wish to make use of this, you should set * the static EXPRESS\_INSTALL\_URL property to the location of your Express Install SWF file: * * Ext.flash.Component.EXPRESS_INSTALL_URL = 'path/to/local/expressInstall.swf'; * * @docauthor Jason Johnston<EMAIL_ADDRESS>*/ Ext.define('Ext.flash.Component', { extend: 'Ext.Component', alternateClassName: 'Ext.FlashComponent', alias: 'widget.flash', /** * @cfg {String} flashVersion * Indicates the version the flash content was published for. Defaults to <tt>'9.0.115'</tt>. */ flashVersion : '9.0.115', /** * @cfg {String} backgroundColor * The background color of the SWF movie. Defaults to <tt>'#ffffff'</tt>. */ backgroundColor: '#ffffff', /** * @cfg {String} wmode * The wmode of the flash object. This can be used to control layering. Defaults to <tt>'opaque'</tt>. * Set to 'transparent' to ignore the {@link #backgroundColor} and make the background of the Flash * movie transparent. */ wmode: 'opaque', /** * @cfg {Object} flashVars * A set of key value pairs to be passed to the flash object as flash variables. Defaults to <tt>undefined</tt>. */ /** * @cfg {Object} flashParams * A set of key value pairs to be passed to the flash object as parameters. Possible parameters can be found here: * http://kb2.adobe.com/cps/127/tn_12701.html Defaults to <tt>undefined</tt>. */ /** * @cfg {Object} flashAttributes * A set of key value pairs to be passed to the flash object as attributes. Defaults to <tt>undefined</tt>. */ /** * @cfg {String} url * The URL of the SWF file to include. Required. */ /** * @cfg {String/Number} swfWidth The width of the embedded SWF movie inside the component. Defaults to "100%" * so that the movie matches the width of the component. */ swfWidth: '100%', /** * @cfg {String/Number} swfHeight The height of the embedded SWF movie inside the component. Defaults to "100%" * so that the movie matches the height of the component. */ swfHeight: '100%', /** * @cfg {Boolean} expressInstall * True to prompt the user to install flash if not installed. Note that this uses * Ext.FlashComponent.EXPRESS_INSTALL_URL, which should be set to the local resource. Defaults to <tt>false</tt>. */ expressInstall: false, /** * @property swf * @type {Ext.Element} * A reference to the object or embed element into which the SWF file is loaded. Only * populated after the component is rendered and the SWF has been successfully embedded. */ // Have to create a placeholder div with the swfId, which SWFObject will replace with the object/embed element. renderTpl: ['

'], initComponent: function() { // <debug> if (!('swfobject' in window)) { Ext.Error.raise('The SWFObject library is not loaded. Ext.flash.Component requires SWFObject version 2.2 or later: http://code.google.com/p/swfobject/'); } if (!this.url) { Ext.Error.raise('The "url" config is required for Ext.flash.Component'); } // </debug> this.callParent(); this.addEvents( /** * @event success * Fired when the Flash movie has been successfully embedded * @param {Ext.flash.Component} this */ 'success', /** * @event failure * Fired when the Flash movie embedding fails * @param {Ext.flash.Component} this */ 'failure' ); }, onRender: function() { var me = this, params, vars, undef, swfId = me.getSwfId(); me.renderData.swfId = swfId; me.callParent(arguments); params = Ext.apply({ allowScriptAccess: 'always', bgcolor: me.backgroundColor, wmode: me.wmode }, me.flashParams); vars = Ext.apply({ allowedDomain: document.location.hostname }, me.flashVars); new swfobject.embedSWF( me.url, swfId, me.swfWidth, me.swfHeight, me.flashVersion, me.expressInstall ? me.statics.EXPRESS_INSTALL_URL : undef, vars, params, me.flashAttributes, Ext.bind(me.swfCallback, me) ); }, /** * @private * The callback method for handling an embedding success or failure by SWFObject * @param {Object} e The event object passed by SWFObject - see http://code.google.com/p/swfobject/wiki/api */ swfCallback: function(e) { var me = this; if (e.success) { me.swf = Ext.get(e.ref); me.onSuccess(); me.fireEvent('success', me); } else { me.onFailure(); me.fireEvent('failure', me); } }, /** * Retrieve the id of the SWF object/embed element */ getSwfId: function() { return this.swfId || (this.swfId = "extswf" + this.getAutoId()); }, onSuccess: function() { // swfobject forces visiblity:visible on the swf element, which prevents it // from getting hidden when an ancestor is given visibility:hidden. this.swf.setStyle('visibility', 'inherit'); }, onFailure: Ext.emptyFn, beforeDestroy: function() { var me = this, swf = me.swf; if (swf) { swfobject.removeSWF(me.getSwfId()); Ext.destroy(swf); delete me.swf; } me.callParent(); }, statics: { /** * Sets the url for installing flash if it doesn't exist. This should be set to a local resource. * See http://www.adobe.com/devnet/flashplayer/articles/express_install.html for details. * @static * @type String */ EXPRESS_INSTALL_URL: 'http:/' + '/swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf' } });