Skip to content
/ SFCCW2 Public

Content Centric Networking Redux of Smallest-Federated-Wiki. take two

License

GPL-2.0, MIT licenses found

Licenses found

GPL-2.0
gpl-license.txt
MIT
mit-license.txt
Notifications You must be signed in to change notification settings

rynomad/SFCCW2

Repository files navigation

Content Centric Wiki Goals

Content Centric Wiki is a port of Ward Cunninghams Smallest Federated Wiki, modified to federate via Content Centric Networking via NDN-js. The concept has proven to be workable, though it will be some time before it is useable. This is the first of many projects envisioned to run over Nei.ghbor.Net, a cooperatively administered, globaly scaled, locally-focused CCN network...

We imagine two components:

  1. a razor thin server serving the client code and managing a TCP websocket proxy to either a local or remote CCN router
  2. a client component that renders, saves and serves pages in a users IndexedDB capable browser.

This project should be judged by the degree that it can:

  • Demonstrate the versatility and practicality of distributed CCNx web applications.
  • Explore federation policies necessary to sustain an open creative community.

This project is an evolution of Smallest Federated Wiki, married with NDN-js from the UCLA Named Data Team, and achieves federation via CCNx routers.

How to Participate

First you will want to get familiar with the projects listed above. There are numerous demo videos of SFW available. Watch them. They're short:

CCW retains as much of the frontend UI from SFW as possible, so you may want to read through the end-user how-to documentation for that project, which is itself written in a federated wiki:

Once you know where we are and how we got there, you could peruse the project roadmap. This and a number of other forward looking pages are kept in the project's GitHub wiki:

When you start reading code you'll want to start with the "reference" server implementation. This is coded in Ruby as a Sinatra application. There are other server implementations but the Ruby code is as close as we have to a specification as to what it means to be a federated wiki server:

The next code reading stop is the client side javascript which is coded in the punctuation friendly dialect CoffeeScript:

Code contributions are always welcome. We're developing using the fork and pull request model supported so well by GitHub. Please read through their excellent help to make sure you know what's expected of you:

If you'd like to know what we think of your programming idea before you program it, just write up an Issue here on GitHub. You'll save us all some time if you read through open issues first:

We're proud to be forked frequently. Go ahead and fork this project now. We're glad to have you.

Install and Launch

In order to run the server in it's current state, you'll need a local CCN daemon running. This is not a strict requirement of NDN-js, but rather of our implimentation. The server is only tested thus far on Ubuntu 12.04 LTS.

The project is distributed as a GitHub repository. You will need a git client. Learn more from GitHub:

When you have git. Use it to clone the repository:

git clone git://github.com/rynomad/SFCCW2.git

start your ccn daemon and repository. take the Welcome Visitors page from the default data folder and put it in your repository under the prefix /NeighborNet/pages/welcome-visitors (you are free to use another prefix, but note that as of now this is how the server will request your page, so you must change the client side code accordingly) Now start your server.

cd SFCCW2/server/express
node ./bin/server.js

And point your browser like so:

http://localhost:3000

License

CCW is an amalgom of multiple open source projects. SFW is licenced under either the MIT or GNU GPL: MIT License or the GNU General Public License (GPL) Version 2.

NDN-js is licensed under a BSD style license NDN Licensing

About

Content Centric Networking Redux of Smallest-Federated-Wiki. take two

Resources

License

GPL-2.0, MIT licenses found

Licenses found

GPL-2.0
gpl-license.txt
MIT
mit-license.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published