Skip to content

Latest commit

 

History

History
180 lines (165 loc) · 6.59 KB

notes.org

File metadata and controls

180 lines (165 loc) · 6.59 KB

Add a check-hash command to lovett CLI tool

Docs

Convert docs to RST, host on readthedocs

Versioning

Use git describe or similar.

Add deploy hooks

  • ReadTheDocs
  • Travis-CI (with deploy to pypi)

Using a data-binding library

After exploring the idea of using a data-binding library such as Ractive for Annotald’s UI, I’ve decided against it. This is because in the JS object, we’d need to maintain parent references, a burdensome task. This is handled in the DOM automatically (and efficiently), however. The current plan is to make use of more structured DOM representations, with data-* attributes, in conjunction with Shadow DOM/Web Components inspired ideas for presenting UI elements. (Or just hack it with onchange events and DOM munging.)

PSDX format

  • Define format (XML schema)
  • Write up- and down-converters in lovett (release lovett)
    • add a lovett command line tool which reindents, checks trees, checks hashes, …
  • Support this format in Annotald 2

Format ideas

Doc structure <doc><header></hdr><trees></trees></doc>

In header:

  • file-level info (corpus name, version, etc.)
  • hash
  • info about metadata fields: what type (string, bool, choice, etc.), what vals are allowed
    • can we use embedded xml schema for this?
    • can we use xml include to have this info represented once for a many-file corpus
      • or should corpora be distributed as a single file??? (gzipped?)

Notion of scopes

Allow a scope tag inside trees, which wraps some trees and assigns their metadata (e.g. author) jointly

How to edit? -> each scope has a name, annotald lets you open just a single scope within a file? Or: scopal metadata vals show up in metadata editor (in separate section to indicate they are scope and not tree-level) But: how to delimit a scope? Manually (by editing as text? a bad idea if it can be cleverly avoided)?

inheritance of metadata:

  • tree
  • scopes, nestedly
  • file-level

Annotald 2 features

  • PSDX support
  • revamped frontend code (data-* attributes instead of mov’t indices as text, e.g.)
  • works in node-webkit and from server
    • explore moving to node.js as server backend
      • drawback: harder to install on legacy systems (babel)

For DIGS workshop

  • TogetherJS
  • metadata editor

Brainstorming TogetherJS

  1. make the site usable as statically served JS
  2. integrate with various ways of getting the file into the page
    1. Fetch from web via Ajax
    2. Fetch from github with its API
      • Then upload changes to repo
    3. Upload from computer
      • Then download to save again?
      • With multi-user syncing via WebRTC?
      • Store intermediate data in localStorage, with export page to download changed files?
    4. Local files
      • use node-webkit to create a thin wrapper which:
        • allows read/write of local files
        • downloads and caches the JS files from the server

Other TODOs

  • log multiuser joins and leaves in event journal

add .dir-locals.el with js2 mode local var decls

var -> let?

Jasmine plugins

  • (node)-jasmine-jquery
  • jasmine-expect
  • jasmine-as-promised

Emacs setup

  • beefy + live reload script
  • skewer mode (see also: jss, swank-js)
  • create special html template to set debug variables and load main js
  • tern, lintnode

webrtc notes

https://www.webrtc-experiment.com/DataChannel/ https://github.com/erbbysam/webRTCCopy http://bloggeek.me/send-file-webrtc-data-api/ https://github.com/Peer5/Sharefest

jsgit

https://github.com/creationix/js-git

other

http://www.lucaongaro.eu/blog/2012/12/02/easy-two-way-data-binding-in-javascript/ http://ericbidelman.tumblr.com/post/23615290220/data-binding-using-data-attributes list of resources realted to web components: https://gist.github.com/ebidel/6314025 resumable uploads: http://resumablejs.com/

idea for download fn

http://www.phpied.com/files/react/src/table2.js

for github file browser

use jqtree http://mbraak.github.io/jqTree/ https://stackoverflow.com/questions/14731459/github-api-fetch-all-folders-and-files-in-single-get-request also: google drive file picker https://gist.github.com/Daniel15/5994054

alternate notification lib

https://github.com/naoxink/notifIt

router

https://github.com/andreypopp/react-router-component https://github.com/mephux/annex

https://github.com/flatiron/director

https://medium.com/react-tutorials/8aaec65a546c

https://stackoverflow.com/questions/21951734/react-js-custom-events-for-communicating-with-parent-nodes

https://stackoverflow.com/questions/21903604/is-there-any-proper-way-to-integrate-d3-js-graphics-into-facebook-react-applicat

https://stackoverflow.com/questions/20795323/editing-a-rich-data-structure-in-react-js

https://www.npmjs.org/package/react-pushstate-mixin https://www.npmjs.org/package/react-bacon

new, better:

https://github.com/rpflorence/react-nested-router

grunt tips

Supercharging your Gruntfile

Supercharging your Gruntfile

lua in browser

https://github.com/blixt/js-luaworker

forms

http://newforms.readthedocs.org/en/latest/

files in browser

combine https://gildas-lormeau.github.io/zip.js/fs-api.html for uploads with https://www.npmjs.org/package/browserify-fs

also: https://stuk.github.io/jszip/

promises

switch to: https://github.com/petkaantonov/bluebird for speed

DIGS todos

fix ipnodes highlighting

icelandic and OE demos

port forwards fixes from 1.0 branch

website up and running

test each user-facing fn

pretty print xml on save

get comments working

look for todos in code; fix

don’t put local files in recent list

versioning scheme for stored configs to upgrade them on new annotald versions

case isn’t showing up as dash tags

get case menu working

create an icepahc file reader

implement non-chrome browser warning

I’m a bad person…

document the corpus format description

step-by-step intro

intro.js

integrate metadata editor with undo

on return key in metadata editor text field -> unfocus

also esc for cancel?

known incomplete

  • comment display, editing

Things that make Annotald barf from IcePaHC

(IP-MAT=1-2 from (ID 1150.FIRSTGRAMMAR.SCI-LIN,.29)

*pro*-dat

dead chrome tabs

sbo-sphinx napoleon (sphinx plugin) react typescript things