Event URI Construction (SUPERSEDED)
This blueprint is superseded. Zeitgeist events does not have a URI, only a unique serial number |
Launchpad blueprint: event-uris
Example:
zg://event/2009-10-08T20:30:00.543#27
Ideas behind this:
- Use ISO-8601 encoded time stamps (with the millisecond mark as well)
URI fragment (stuff after the #) is a sequence number, because we may have more than one event in any given millisecond. This counter starts from 1 every ms.
- The URIs will sort correctly time-wiseby using simple alphanumeric sorting
Only use zg as prefix to shorted the URL and reduce storage space
- Generally be as short as possible without being useless
- Be fast to construct (UUID generation can be costly)
Comments
- Seif: How will it ensure that an application if it sends its history twice that it does not get duplicated ?
- kamstrup: This is as such not something we can handle solely by our URI construction for the events. It is something we must be able to infer from the metadata for the event when the app calls us. Strictly speaking we have no way of telling whether or not two events with the exact same metadata are the same. For example two mouse clicks on the same coordinates within the same millisecond? The only way we can do "true" duplicate detection is to let the apps provide a unique id per event...