|
1 | 1 | ## PROJECT SUMMARY |
2 | 2 |
|
3 | | -This is the developer's "NetCreate 2.0" branch, forked from [NetCreate 2018](https://github.com/netcreateorg/netcreate-2018)'s `dev` branch. We will be doing the experimental development stuff here independent from the main repo to avoid changing how it works by accident, as there is quite a lot of architectural refactoring we need to do. If you are not a developer for NetCreate 2.0, this repo will likely only have curiosity value to you. |
| 3 | +NetCreate 2018 is a network graph analysis tool for researching reading comprehension in the digital humanities classroom. See the [NetCreate Wiki](https://github.com/netcreateorg/netcreate-2018/wiki) for additional documentation. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +**This is a work in progress. Please see [Developer 2.0 Work in Progress Branch](#developer-2-0-work-in-progress-branch) at the bottom for current notes.** |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## CITATION |
| 12 | + |
| 13 | +If you use or refer to Net.Create in a publication, we ask that you cite it. The correct citation is: Craig, K. & Danish, J. (2018). Net.Create. http://www.netcreate.org. Indiana University, IN. |
| 14 | + |
| 15 | +## QUICK INSTALLATION |
| 16 | + |
| 17 | +The Wiki has [detailed instructions](https://github.com/netcreateorg/netcreate-2018/wiki/Installation-Guide). In general, you'll need to install the prerequisite `Git` and `NodeJS` (as of 12/23/2023 the officially supported version of Node is version 18.18.0) command line utilities to your computer and use a `terminal` program to issue the following commands to install from the Internet. |
| 18 | + |
| 19 | +### 1. First Install |
| 20 | + |
| 21 | +The first time you run Net.Create, you need to do some initial setup. |
| 22 | + |
| 23 | +``` |
| 24 | +git clone https://github.com/netcreateorg/netcreate-itest.git |
| 25 | +cd netcreate-itest |
| 26 | +git checkout dev |
| 27 | +nvm use |
| 28 | +npm ci |
| 29 | +# create default netcreate.config file |
| 30 | +./nc.js --dataset=demo |
| 31 | +``` |
| 32 | + |
| 33 | +This will get NetCreate installed and ready to run. It may take some time for the `npm ci` command to finish installing, so be patient! |
| 34 | + |
| 35 | +The first time you run Net.Create, you also need to create a `net-create.config` file. This will tell Net.Create which dataset to open and which ports to use. We have a script that can do this for you. Run: |
| 36 | + |
| 37 | +* `./nc.js --dataset=demo` -- where `demo` will be the name of the dataset you want to use. |
| 38 | + |
| 39 | +This will start up the app server. View the webapp by visiting `localhost:3000`. The IP address of the server is reported in console if you need to test from remote computer. |
| 40 | + |
| 41 | +### 2. Subsequent Runs |
| 42 | + |
| 43 | +After you've installed Net.Create, you can just run this script whenever you want to start the app: |
| 44 | + |
| 45 | +``` |
| 46 | +npm run dev |
| 47 | +``` |
| 48 | + |
| 49 | +This will load the dataset defined and set by the `nc.js` command during first install. |
| 50 | +To change the default dataset, use the `./nc.js --dataset=projectname` command. |
| 51 | + |
| 52 | +### 3. Generating Logins |
| 53 | + |
| 54 | +Run NetCreate server and browse to the web app. Enter the console and type `ncMakeTokens('class','prj','demo',5);` to generate 5 login tokens. |
| 55 | + |
| 56 | +To access the Import/Export and Template Editor, you will need to enable admin mode in one of two ways: |
| 57 | + |
| 58 | +* use `localhost:3000` instead of the ip address. |
| 59 | +* if on a remote, login with a login token and append `?admin=true` to the end of the URL (e.g. `192.168.1.100:3000/#/edit/TEST-TEST-GXK?admin=true`) |
| 60 | + |
| 61 | +## NPM SCRIPTS |
| 62 | + |
| 63 | +Once you have NetCreate installed, make sure you are in the `netcreate-itest` directory. From there, you can execute **scripts** through the `npm` tool that is installed as part of NodeJS. |
| 64 | + |
| 65 | +You will be using these commands most frequently: |
| 66 | + |
| 67 | +* `npm run dev` - Run the NetCreate Server in developer mode. This is the mode that most people use the most. The terminal will print status and instructions on how to connect to the NetCreate Server with the Chrome browser. An optional command (`./nc.js --dataset=projectname`) can create/load a specific database and template file. See the User Guide for more information. |
| 68 | +* `npm run log` - While NetCreate is running, use another terminal window to print the contents of the current **session log**. You can use this to monitor the activity of the running server. |
| 69 | +* `npm run package` - Make the 'standalone' version! After a NetCreate classroom session, use this command to make a snapshot of the current database and placed in the `netcreate-2018/build/public` directory. You can copy this directory to a webserver for read-only access to the netgraph! |
| 70 | +* `npm run package:debug` - Run/debug the current standalone version from http://localhost:3000 |
| 71 | + |
| 72 | + |
| 73 | +## QUICK-START USER GUIDE |
| 74 | + |
| 75 | +**How to access Net.Create as a client:** After starting the Net.Create server, you'll see a set of command line responses. One of those is labeled "CLIENTS" and has an IP address that clients can paste into their browser window's address field to access the main Net.Create server. |
| 76 | + |
| 77 | +**How to add/change node/edge entries in Net.Create:** Net.Create defaults to a view-only state. In order to make any additions/changes to the Net.Create database, each client needs an access token entered in the "Login" field in the upper left-hand corner of the Net.Create window. See `ncMakeTokens` below in "Support Operations". |
| 78 | + |
| 79 | +**How to change node/edge types and select a different project:** Two files in the /build/runtime folder hold both data (netcreate.loki) and template (netcreate.template). You can copy and rename these file pairs (i.e. netcreate.template/loki -> mynetwork.template/loki) and then use that to run the server (`./nc.js --dataset=mynetwork`). |
| 80 | + |
| 81 | +## SUPPORT OPERATIONS |
| 82 | + |
| 83 | +To generate **access keys** for groups, there is a utility accessible from the **javascript console** of a browser that's running the NetCreate app. |
| 84 | + |
| 85 | +* Open the javascript console (in MacOS Chrome, COMMAND-OPTION-J will open it) |
| 86 | +* Type `ncMakeTokens('<class>','<project>',10)` to create 10 **group access tokens** that can be used to connect to the application. `<class>` and `<project>` are short strings used to uniquely identify each class and project. The access tokens are case-insensitive and |
| 87 | +* The group access tokens can be generated ahead-of-time and assigned during class. If you need more access tokens, you can easily increase the number. These tokens will be used to tag every logged action performed by connected computers. |
| 88 | +* Students within a group and append a string of the form `-ID<#>`, where `<#>` is a positive integer to uniquely identify their computer. They can tell the teacher which ID they used. |
| 89 | + |
| 90 | +To **erase the database**, another javascript console command `ncEmptyDatabase()` will erase the server database. You may have to issue the command twice for it to take hold. Then refresh the browser and see if the database was erased. |
| 91 | + |
| 92 | +All **session logs** are stored in `netcreate-2018/build/runtime/logs`. |
| 93 | + |
| 94 | +The **server database** is stored in `netcreate-2018/build/runtime/netcreate.loki` if you use `npm run dev` to start the server. You can copy this file to back it up, even while the server is running. |
| 95 | + |
| 96 | +The **node/edge templates** are stored in `netcreate-2018/build/runtime/netcreate.template` if you use `npm run dev` to start the server. |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +--- |
| 101 | + |
| 102 | + |
| 103 | +--- |
| 104 | + |
| 105 | +## Developer 2.0 Work in Progress Branch |
| 106 | + |
| 107 | +This is currently tagged v1.5.0, but in fact, this is the developer's "NetCreate 2.0" branch, forked from [NetCreate 2018](https://github.com/netcreateorg/netcreate-2018)'s `dev` branch. We will be doing the experimental development stuff here independent from the main repo to avoid changing how it works by accident, as there is quite a lot of architectural refactoring we need to do. If you are not a developer for NetCreate 2.0, this repo will likely only have curiosity value to you. |
4 | 108 |
|
5 | 109 | Note: |
| 110 | + |
6 | 111 | * The default branch is **dev**, not master. |
7 | 112 | * When creating pull requests in GitHub, make sure that it's referring to _this repository_ and the the parent repository |
8 | 113 |
|
9 | 114 | ## QUICK INSTALL AND RUN |
10 | 115 |
|
11 | 116 | ### First Install |
| 117 | + |
12 | 118 | ``` |
13 | 119 | nvm use |
14 | 120 | npm ci |
15 | 121 | # create default netcreate.config file |
16 | 122 | ./nc.js --dataset=testproject |
17 | 123 | ``` |
| 124 | + |
18 | 125 | This will start up the app server. View the webapp by visiting `localhost:3000`. The IP address of the server is reported in console if you need to test from remote computer. |
19 | 126 |
|
20 | 127 | ### Subsequent Runs |
| 128 | + |
21 | 129 | ``` |
22 | 130 | npm run dev |
23 | 131 | ``` |
| 132 | + |
24 | 133 | This will load the dataset defined and set by the `nc.js` command during first install. |
25 | 134 | To change the default dataset, use the `./nc.js --dataset=projectname` command. |
26 | 135 |
|
@@ -58,7 +167,4 @@ MAJOR SYSTEM FEATURE REQUESTS |
58 | 167 | * suggest accessible colors/colorblind friendly |
59 | 168 | * network visual collapse based on filtering |
60 | 169 | * collapsible subnetworks |
61 | | -* easy-to-understand visual theming system for UI elements |
62 | | - |
63 | | - |
64 | | - |
| 170 | +* easy-to-understand visual theming system for UI elements |
0 commit comments