Giter Site home page Giter Site logo

cdl's People

Contributors

amitaibu avatar niryariv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jmdall

cdl's Issues

handle chronological nodes

some nodes have children which should be displayed chronologically, ie 1st child, 2nd child etc. for example:
screen shot 2013-11-20 at 9 51 40 am

we detect & order these by the node title - when the title begins with :1: it's the first child, :2: is the 2nd etc.

handle "bastard" nodes

some nodes are children of a node but we dont want to show them like the normal children. we call them "bastard" nodes, and they show as hollow circle (see #14).

a bastard node is signified by :_: in the beginning of the title.

bastard nodes may have children of their own - we still need to get visual representation of that.

use entire page + center

currently it seems like the tree view uses just a portion of the page:
<rect id="backgroud" width="960" height="500" style="fill: #ffffff;"></rect>
can we make it use the whole page (and be centered)?

screen shot 2013-12-15 at 1 49 34 pm

Prepare node content in JSON from Brain's XML.

via idA and idB we reach Entry

<Entry>
  <guid>49A12098-E17B-065E-FA93-4A4F4EDB1EBD</guid>
  <EntryObjects>
    <EntryObject>
      <objectType>0</objectType>
      <objectID>5F686845-0FE0-05B2-DA4E-F175EF995458</objectID>
    </EntryObject>
  </EntryObjects>
  <body>&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0
    Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
    &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
    &amp;lt;head&amp;gt;
    &amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;EditLive!
    7.6.2.10&amp;quot; /&amp;gt;
    &amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;TheBrain
    7.0.4.5&amp;quot; /&amp;gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html;
    charset=UTF-8&amp;quot; /&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;
    &amp;lt;!--
    body {
    font-family: Arial; font-size: small; background: #ffffff; color:
    #000000;
    }
    p {
    margin-top: 0pt; margin-bottom: 0pt;
    }
    --&amp;gt;
    &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
    &amp;lt;p&amp;gt;One of the most distinct characteristics of the Nazi
    regime was its ideology of the&amp;amp;#160; supremacy of the Aryan race
    and its detestation of the Jews and other groups. In 1942, in the
    Wannsee conference, the Nazis decided to implement a plan called the
    &amp;#8220;Final Solution of the Jewish Question&amp;#8221;. After that
    the Jews of Europe were systematically murdered in the extermination
    camps as part of the Final Solution. In some of the camps permanent gas
    chambers were erected.&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;By 1945 6,000,000 Jews, the majority of the Jews in
    Europe, were dead.&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;For more on the Holocaust follow the link to Yad Vashem&amp;apos;s
    website.&amp;lt;/p&amp;gt;
    &amp;lt;/body&amp;gt;
    &amp;lt;/html&amp;gt;
  </body>
  <format>HTML</format>
  <creationDateTime>2013-10-15 15:06:26.000 @+0200</creationDateTime>
  <modificationDateTime>2013-10-27 16:53:25.386 @+0200
  </modificationDateTime>
</Entry>
  • <body> - the text. Keep only <p><strong><em><a>

allow deep linking to the tree

in the exhibition, there will be QR codes which users will scan and get a URL from.

that URL will place the user in the tree view, focused on a certain item.

this means we need to allow linking to a particular item in the view - ie, in addition to linking to an item page (eg /page/some-item) we'd also have a URL for /#item/some-time which goes to the tree view.

let me know if the above isn't clear :)

handle clicking a node on a touch screen

cc @amitaibu at the moment we need to double click a node to see its content page. that's the correct behavior - but it doesn't work on a touch screen.

it needs to work as follows: first click zooms on the node, 2nd click opens the content page.

show the tree in circular format instead of top down

we want the network to look like a "solar system" rather than a tree. in order to achieve this, instead of using a top->bottom we'll display the nodes as a circle. Here's an example:

screen shot 2013-12-01 at 3 17 57 pm

note that the big circles are the top children (ie the sons of the core node). the circles that connect everything together (give it the "solar system" look) are mostly there for design reasons, we can handle them later on.

Selected Path

How the red path is defined, according the selected node?

screen shot 2013-12-05 at 5 54 19 pm

Siblings nodes

@niryariv
We need to clarify, if the brother nodes "black nodes in the same orbit" will be expand when the nodes one node of the orbit is selected.

screen shot 2013-12-05 at 5 54 02 pm

changes to the view

cc @amitaibu

  • we return to the old tree view
  • when an element is focused (one click), show the "on focus" view (don't show cousins) as in #14
  • once the user zooms out at any level we show cousins

Create a task CDL to call the subtasks

Modify the actual Gruntfile.js and reorder the actual tasks of CDL (CDL. cdlPrepare and generate) and reorder:

Name task: CDL
Subtasks:

  • CDL:parse
  • CDL:prepare
  • CDL: generate

Example to call with grunt:

grunt CDL:prepare

Children of chronological nodes

  1. chronological nodes can have children (but not grandchildren)
  2. the child of chrono is displayed as a show/hide folder in the content page, as seen below
  3. we still need to get a representation for how they are displayed in the map view

screen shot 2013-11-24 at 1 54 44 pm

More than 1 root in the XML data

We found elements in the xml data (Example: National Library of Israel) that not are under the principal root "Torah+Basch 10.11.13"

two roots

@niryariv Could you indicate what is the design of the data in the diagram, expected by the client?

thanks

move focus as the map moves

currently, to focus on a node (ie show it red) the user needs to click on it.

we want to experiment with a new method: as the user moves the map, the node that's centered.

to implement, we'll define a circle in the center of the screen, with a certain radius (say 200px?). when a node is on that field, we consider it focused. if there's more than one node on that field, we'll consider the one closest to the center as focused.

@amitaibu @ceoaliongroo what do you think? sounds doable?

Prepare JSON from Brain's XML

<Thought>
  <guid>5F686845-0FE0-05B2-DA4E-F175EF995458</guid>
  <name>The Holocaust</name>
  <label>&amp; ... #1501;
  </label>
  <creationDateTime>2013-10-15 14:30:22.000 @+0200</creationDateTime>
  <realModificationDateTime>2013-10-20 16:17:47.000 @+0200
  </realModificationDateTime>
  <displayModificationDateTime>2013-10-27 16:53:25.387 @+0200
  </displayModificationDateTime>
  <activationDateTime>2013-11-03 16:57:19.993 @+0200</activationDateTime>
  <linksModificationDateTime>2013-11-03 17:00:29.592 @+0200
  </linksModificationDateTime>
  <isType>0</isType>
  <color>0</color>
  <accessControlType>0</accessControlType>
</Thought>

via guid we reach the Link:

<Link>
  <guid>1D45C65C-6B66-4666-4A1D-546F8593C55F</guid>
  <idA>5F686845-0FE0-05B2-DA4E-F175EF995458</idA>
  <idB>72F39E01-4AA4-B0F0-A73F-6A5A2A39C293</idB>
  <dir>2</dir>
  <isBackward>0</isBackward>
  <name></name>
  <labelForward></labelForward>
  <labelBackward></labelBackward>
  <creationDateTime>2013-11-03 17:00:21.214 @+0200</creationDateTime>
  <modificationDateTime>2013-11-03 17:00:29.590 @+0200
  </modificationDateTime>
  <isType>0</isType>
  <color>0</color>
  <thickness>0</thickness>
  <strength>0</strength>
  <meaning>0</meaning>
  <linkTypeID>A612649B-7311-4A04-D5F9-0D53879CACE3</linkTypeID>
</Link>
  • <idA> and <idB> describe reference between 2 Thought
  • <dir> - direction (father, son, sibling, bastard)
  • <linkTypeID>

via idA and idB we reach Entry

<Entry>
  <guid>49A12098-E17B-065E-FA93-4A4F4EDB1EBD</guid>
  <EntryObjects>
    <EntryObject>
      <objectType>0</objectType>
      <objectID>5F686845-0FE0-05B2-DA4E-F175EF995458</objectID>
    </EntryObject>
  </EntryObjects>
  <body>&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0
    Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
    &amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
    &amp;lt;head&amp;gt;
    &amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;EditLive!
    7.6.2.10&amp;quot; /&amp;gt;
    &amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;TheBrain
    7.0.4.5&amp;quot; /&amp;gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html;
    charset=UTF-8&amp;quot; /&amp;gt;
    &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;
    &amp;lt;!--
    body {
    font-family: Arial; font-size: small; background: #ffffff; color:
    #000000;
    }
    p {
    margin-top: 0pt; margin-bottom: 0pt;
    }
    --&amp;gt;
    &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
    &amp;lt;p&amp;gt;One of the most distinct characteristics of the Nazi
    regime was its ideology of the&amp;amp;#160; supremacy of the Aryan race
    and its detestation of the Jews and other groups. In 1942, in the
    Wannsee conference, the Nazis decided to implement a plan called the
    &amp;#8220;Final Solution of the Jewish Question&amp;#8221;. After that
    the Jews of Europe were systematically murdered in the extermination
    camps as part of the Final Solution. In some of the camps permanent gas
    chambers were erected.&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;By 1945 6,000,000 Jews, the majority of the Jews in
    Europe, were dead.&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;For more on the Holocaust follow the link to Yad Vashem&amp;apos;s
    website.&amp;lt;/p&amp;gt;
    &amp;lt;/body&amp;gt;
    &amp;lt;/html&amp;gt;
  </body>
  <format>HTML</format>
  <creationDateTime>2013-10-15 15:06:26.000 @+0200</creationDateTime>
  <modificationDateTime>2013-10-27 16:53:25.386 @+0200
  </modificationDateTime>
</Entry>
  • <body> - the text. Keep only <p><strong><em><a>
<Attachment>
  <guid>0F1A495D-CD86-6FD4-FB2B-EF7080D63A18</guid>
  <AttachmentEntries>
    <attachmentEntryID>49A12098-E17B-065E-FA93-4A4F4EDB1EBD
    </attachmentEntryID>
  </AttachmentEntries>
  <objectID>5F686845-0FE0-05B2-DA4E-F175EF995458</objectID>
  <name>Twin Holocaust survivors describe arriving at Auschwitz</name>
  <attachmentType>3</attachmentType>
  <location>http://www.youtube.com/watch?v=MWJyjAYyF8E</location>
  <dataLength>0</dataLength>
  <format></format>
  <creationDateTime>2013-10-15 15:06:26.973 @+0200</creationDateTime>
  <modificationDateTime>2013-10-15 15:06:27.306 @+0200
  </modificationDateTime>
</Attachment>
  • <attachmentType> - link or file
  • <objectID> - connection to a Thought
  • < location> - can be a media file (e.g. image) or link (e.g. youtube)

Add Jekyll and gh-pages

This task is about moving logic into jekyll, so we can use grunt gh-pages to push our builds to Github pages.

create splash page

when the user scans a QR or enters a URL, they will this page as a splash page - the scanned item & some links. once everything was loaded they are moved to the normal view:

screen shot 2013-11-24 at 12 37 29 pm

Line/circle styling

all lines are black 3px, except:

brothers: red
bastard: 1px
chrono sons: like above, 13px apart

Circles:

focused node: 220px diameter, red
father/son: 25px diameter, black
brother: 25px diameter, red

Between parents & all sons a light grey (#f5f5f5) triangle

Add README

@niryariv we can add some background and explanation about the project, and credits

@ceoaliongroo add the basic steps needed for installation (shouldn't be more than a few lines)

Requirements:
ruby 1.9
node 10
Bundler (gem install bundler)

bundle install
npm install
bower install

Font Styling

see here

everything is Miso font, uppercase only, black & left aligned unless stated otherwise.

focused node: white, bold, font size 35px, line height 43px. should be inside a 150x120px box

parent/son: font size 19px, line height 22px, max width 150px

brother: like parent/son, color red. below the circle in a 110x60px box

bastard: like parent/son, font weight light

chrono son: 19px font size, bold, centered

The Brain data have styles, need to removed to avoid styling issues.

  • Remove tag and maintain the content from the brain data.

screen shot 2013-12-11 at 3 19 08 pm

<p align="&quot;justify&quot;">
  <font face="&quot;Calibri," serif&quot;="">After the war was over the Scroll was returned to the few survivors of the 
    community, and the honorary president of the community, Mr. Moshe Sauriano gave them to the Ben Atar family, to 
    be brought to the NLI, in memory of the Jews from Rhodes who were exterminated.
  </font>
</p>
<ul type="&quot;circle&quot;">
<li>Born in Cordoba in 1138, Maimonides grew up during &nbsp;the rule of the Berber dynasty&nbsp; of the <i>Murabitun</i> (Almoravids). Under their rule the Jewish and the Christian communities&nbsp; were protected according to Muslim law.</li>
</ul>

i think it's related with the style in the the brain data. Issue related #67

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.