22 Commits

Author SHA1 Message Date
111be977c6 Move web application into /web. 2024-08-04 20:48:32 -05:00
338eab1c96 Merge Web application. 2024-08-04 20:45:13 -05:00
fbc9052e5a Move CLI application code into /cli. 2024-08-04 20:44:46 -05:00
0a49df1828 Merge CLI project. 2024-08-04 20:42:37 -05:00
e32c6358e9 Move library code into lib folder in preparation for consolidating the lib, CLI, and web projects. 2024-08-04 20:42:26 -05:00
Jonathan Bernard
168d7cd03f Moved to gradle. FIXME: This is broken.
The JDB Util dependency has been upgraded to 3.4 from 2.0. This includes
backwords-incompatible changes in the LightOptionParser class used by this
project. I need to re-write that code to use the newer version of
LightOptionParser.
2015-02-05 00:54:06 -06:00
Jonathan Bernard
66c00e2473 Moved to gradle build system. 2015-02-05 00:41:26 -06:00
Jonathan Bernard
216b3c5303 Updated to library 2.1. Fixed auto-generated start script. 2013-10-11 16:34:36 -05:00
Jonathan Bernard
774778ee55 Added UUID binary. 2013-10-11 20:45:45 +00:00
Jonathan Bernard
98032e2b89 Added UUIDs to timestamps, refactored the build process
* Added UUIDs to `ts_entry` records. Updated `ts_json:construct_record` to
  respond to `uuid` member properties if present. UUIDs are not required by the
  strict parsing functions in `ts_json` because the client will make a request
  with no UUID if it is a purely new timestamp. IN fact, this is the normal
  case. The UUID is only present when another tool is syncing its copy of this
  timeline wand adding entries that it has created and assigned UUIDs to.
* `ts_entry:new` will create a UUID for a new entry if it does not already have
  one.
* Restructured the build process to put all build artifacts into a dedicated
  `build` subdirectory, instead of mising them in an amongst the source code.
* Added the `uuid` module to the project. It can be found at

      https://gitorious.org/avtobiff/erlang-uuid

* Rewrote asset URLs to use relative paths instead of absolute paths. Relative
  paths are correct in this case, becuase assets always live alongside the HTML
  pages. This change was needed to accomodate the new organization of the JDB
  Labs dev environment, where all projects live under subdirectories of the
  same virtual server instead of subdomains.
* Tweaked the timestamp entry fields in the web UI to save when the field is
  blurred, not just when <Enter> or <Ctrl>-<Enter> is pressed (though those
  still work).
2013-10-11 20:06:31 +00:00
Jonathan Bernard
d473d74112 Updated lib version 2.0 and promoted CLI to 1.0
`timestamper-lib-java` introduces a breaking change in the way timeline files
are written, so this is considered a new major version change.
2013-10-11 20:04:12 +00:00
Jonathan Bernard
15750f65d4 Upgrading timestamper-lib version. 2013-09-22 15:23:15 -05:00
Jonathan Bernard
269a9b9125 Version 0.5: Added support for syncing timelines.
* Added missing libraries required by timeline-lib to support syncable
  timelines.
* Added code to shutdown sync threads upon exit.
2013-09-13 08:57:45 -05:00
Jonathan Bernard
68ce5bb272 Version 1.3: bugfix, add shutdown for SyncTarget threads.
* SyncTarget now persists the remote timeline after pushing to it.
* Added SyncTarget.shutdown() to allow callers to signal the sync timer thread
  to stop.
* Fixed a bug where a SyncTarget was added instanciated times.
2013-09-13 08:48:50 -05:00
Jonathan Bernard
76bf676c2c Added edit and delete commands.
* Added `edit` which uses the program in $EDITOR to allow the user to edit the
  current timeline marker.
* Added `delete` to remove the current timeline marker from the timeline.
* Added support for using a named TTY device in order to use an interactive
  program ($EDITOR in this case) to take over interaction with the user. There
  is still a problem with this, in that a process by default only has access to
  its controlling TTY device. This mean, for example, that redirecting the
  subprocess input and output to the TTY will fail to work properly if the
  timestamper CLI process is not part of the same process group as the process
  owning the TTY the user is interacting with. This is the case when using
  nailgun: the java process running TimeStamperCLI is not part of the same
  process group as the user's client shell.

  I think TTY device permissions may be alterable, and we can work around this
  by changing the permissions for the current TTY in the launcher script that
  invokes the nailgun client. Needs more investigation.
* Added package build target to create a zip of the CLI standalone installation.
2013-08-10 01:40:02 -05:00
Jonathan Bernard
284a4159d1 Added command to re-read the timeline source. 2013-08-09 11:45:56 -05:00
Jonathan Bernard
e4a756baf5 Moved back to realtime update model.
* Using patched version of Jansi.
* Raw ANSI controls always sent to play well with Nailgun.
2013-08-08 23:14:18 -05:00
Jonathan Bernard
769245b690 Working on UI using ANSI escape sequences. 2013-08-08 14:21:00 -05:00
Jonathan Bernard
b56a708a09 Version 1.2: Refactored JDBLabsWebTimeline, cleaned up libs.
* Removed superfluous ``signpost`` library used by ``HTTPBuilder`` for OAuth
  support.
* Refactored JDBLabsWebTimeline to throw appropriate exceptions when problems
  occur while communicating with the server.
2011-06-28 18:14:43 -05:00
Jonathan Bernard
3ca6909b95 Version 1.1: Added support for web timelines.
Web timelines as defined by the JDB Labs Web TimeStamper tool are now supported.

* `TimelineSource` now also takes the timeline config file as constructor input.
* Refactored `Timeline` to use reduce implementation redundencies: internal
  implementations do not duplicate functionality.
* Improved comments in `TimelineProperties`.
* Updated `TimelineSourceFactory` to handle timelines that need to use
  `JDBLabsWebTimelineSource`.
2011-06-27 17:18:15 -05:00
Jonathan Bernard
cda3544cac Creating initial project structure. 2011-06-19 07:23:36 -05:00
Jonathan Bernard
c061ea6c1f Added libraries, ammended build file, built v1.0 release. 2011-06-16 12:41:53 -05:00