ICalico Development 2014 BMC

From IPRE Wiki
Revision as of 20:12, 10 July 2014 by Cole Harbeck (Talk | contribs) (Thursday, July 10th, 2014)

Jump to: navigation, search


  • be able to use ICalico via a server for fall 2014 courses (Programming Languages, and ESEM)
  • documentation
  • examples
  • JavaScript visualizations
  • JavaScript SpreadSheet interface
  • spelling checker
  • bibliography support
  • commenting by others
  • grading support
  • other functionality as needed
  • clicker-style feedback
  • question/answer widget
  • wiktionary (in-notebook word look-up)

Monday, June 30, 2014



Spelling Checking:


Tuesday, July 1, 2014

Wednesday, July 2, 2014

JavaScript libraries:

ICalico Notebooks with Visualizations:


  • No vertical bar escape

Thursday, July 3, 2014

Hints on spelling checking:

ICalico documentation:

  • ICalico - the only docs we have so far

Mattie's Wishlist:

  • Being able to make the lines of tables invisible
  • Being able to have reference-style links be defined in any cell in the notebook

Monday, July 7th, 2014

Goals for the week:

Tuesday, July 8th, 2014

Testing and added functionality of automatic section numbering:

  • Discussed several new features with Mattie to make section numbering more user-friendly, including:
    • Added alerts that warn user when missing intermediate headers
    • Added additional alerts warning users when the first header cell in their Notebook is not a Header 1 cell
    • Determining when parts of certain user-defined titles should/should not be replaced
  • Tested more extensively, removing several bugs with replacing already existing headers
    • Users cannot name sections of their notebook titles that match the defined section numbering pattern (i.e. naming a section "1.5 Pies" will delete '1.5' and replace it with the correct section number for that section, even if '1.5' was intended to be part of the title)
  • Successfully generated section numbering for Mattie's Reference Guide

Completed Raw Implementation of Table of Contents Generator:

  • Code is labeled "Table of Contents Code" on Dropbox
  • Mostly working with few bugs
  • Several design questions that can be discussed in the future
  • Put a new copy of the reference guide (Title: "Reference Guide Plus Code") in the Dropbox folder which demonstrates both Section Numbering and Table of Contents Generation!

Known Bugs:

  • Making a markdown link that contains ")?)" forms some sort of escape and will not link properly. Cause unknown. EDIT: Fixed 7/9/2014

Doc Writing Update (from Mattie):

  • Finished explanation of toolbar, with exception to the restart kernel tool and the cell toolbar drop down menu, both of which I am trying to figure out the function of
  • Fix internal links so that they don't open up a new window (with Cole's help)
  • Introduced several new sections to the whole guide, including one that hopefully will link to Cole's automatic section numbering program
  • Currently trying to write a section on how to turn your Notebook into a slideshow, but I'm still figuring out how to do it for myself.

Wednesday, July 9th, 2014

Bug Fixes:

  • Added a fix to remove trailing spaces from links for the table of contents generator
  • Added a fix to replace all parentheses with their encodings (%28 and %29 respectively) fixing the bug causing links with parentheses to render incorrectly.

Potential New Bugs For Discussion:

  • Unordered lists do not render if the indentation level increases by more than one tab at a time. Notebooks with headers that are inconsistent in this way (i.e. jumping from header 1 to header 3) will not render their table of contents correctly. However, this could warn users of potential errors within their notebook.

Timeline Work:

Thursday, July 10th, 2014

Doc Writing Update (From Mattie)

  • After trying to figure out how to view my notebook as a slide show, getting very confused in the process, and asking both Ian and Cole for help, I have determined that there currently is no super easy, intuitive way to do this. Ian set it up so it's not too hard, but it does require entering bash commands in terminal. I'm not sure it makes sense to document this process right now, because hopefully we can change it to be more user/novice user-friendly.
  • Similarly, I am interested in talking about Cole's useful table of contents and section numbering code, but I don't know how it will eventually be implemented for any given user, so I'm holding off on procedural documentation for that function as well.
  • Also, Cole did me a favor and wrote a very simple find and replace code that I think could be turned into a useful tool for humanities and social science students writing papers. In my case, it just replaced every instance of the phrase "IP[y]" and replaced it with "Jupyter".
  • I've finished the section on Keyboard short cuts, though right now it just directs the user to the help menu. I wasn't sure reduplicating the a legend for all the keyboard short cuts directly into a cell of the reference guide notebook would be that helpful, but I can do that if it does turn out to prove worthwhile.

Timeline Updates:

  • Have figured out the correct format for JSON data in order to render a timeline using a file instead of googledocs
  • Current embedding code breaks a notebook when run, rendering it useless:
    • All functionality is lost, including keyboard shortcuts, backspacing already written text, etc.
    • <div> tags seem to function fine otherwise so something about the scripts being run seems to be the problem
  • I've tried several different methods of embedding this code, including the two methods listed in the timelineJS documentation, and using python to call the HTML display functions
  • Generating proper JSON format from a markdown table should be fairly easy as the format is basically straightforward