Coder Social home page Coder Social logo

rizzoma / rizzoma Goto Github PK

View Code? Open in Web Editor NEW
122.0 26.0 19.0 17.6 MB

Code that powers Rizzoma collaboration platform

License: Other

CoffeeScript 66.44% JavaScript 18.31% Shell 0.24% HTML 6.64% CSS 7.46% Gherkin 0.90%
rizzoma rizzoma-collaboration-platform operational-transformation

rizzoma's Introduction

Rizzoma Collaboration Platform

Rizzoma is a powerful web-application for realtime collaboration. It was created with Google Wave principles in mind and features tree-structured discussions, gadget-form extensions and multimedia support. Rizzoma is an ultimate solution for team communication which can be used as knowledge-management and discussion platform at the same time. Watch short video or see it online - Rizzoma.com.

Just want to get hacking in a virtual machine?

Don't directly clone this repo, but instead get the Rizzoma Vagrant Skeleton, follow the steps and get hacking! :)

Want to know how to do it properly on your local machine - follow the steps below!

Build and run

Install requirements:

Node.js 0.10, CouchDB, RabbitMQ, SphinxSearch, Redis (optional), ImageMagick (optional)

On Debian/Ubuntu:

sudo apt-get install build-essential libssl-dev couchdb rabbitmq-server sphinxsearch redis-server imagemagick libicu-dev

Install Node Version Manager or similar tool. Install Node.js 0.10.x:

nvm install v0.10
nvm use v0.10
# to check Node.js version run:
node -v

Build:

  • git clone and cd to the project root
  • cp src/server/settings_local.coffee.template src/server/settings_local.coffee
  • node_modules/.bin/cake build-server build-client
  • configure SphinxSearch (optional, TBD)

Run:

Learn internals

Rizzoma architecture described in details in this topic

In short:

  • Operational Transformation (via ShareJS library + our custom types for rich text) for topic state synchronization, concurrent text editing and a bit of offline
  • Hard research work for multi-cursor concurrent realtime multi-language WYSIWYG editor with embedded non-editable elements that works in Chrome, Firefox, IE, Safari, Opera, Android and iOS browsers
  • CoffeeScript, Browserify for client
  • Node.js, CoffeeScript, RabbitMQ, Express, Swig templates for backend
  • SockJS (WebSocket) and REST APIs for client-server
  • CouchDB, Redis, S3 for data storage
  • SphinxSearch for topics/mentions/tasks list and full text search
  • Shindig for embedding OpenSocial gadgets
  • Google and Facebook oAuth and contacts, email notifications and reply by email, Android application, Hangouts, Google Calendar, Google Drive, Chrome extensions

Other topics: REST API, Developing gadgets with OpenSocial, Topic export (structure and converters)

Make changes

Server side entry points:

  • src/server,
  • src/server/app_roles/web_wave.coffee, src/server/templates/wave*.html - web (views and templates),
  • src/server/common/root_router.coffee - API module routing.

For most changes to apply just restart ./app.js.

Client entry points:

  • src/client, src/static

For .coffee files changes to apply run node_modules/.bin/cake build-client, for .css changes - just press F5.

Help Rizzoma

  • Contribute code. Bug fixes, new features, documentation and translations are welcome. Please make one feature or bug fix per pull request. Do not hesitate to ask questions.
  • Spread a word, like, star the repo ;)
  • Sponsor feature development or just upgrade your Rizzoma plan to support the project.

Who is behind Rizzoma and license

Rizzoma Project was created and is developed by the Tekliner team with great help from the community. Rizzoma.com service is provided and supported by Tekliner. Write us a line - [email protected]

Copyright 2011-2017 Tekliner, http://tekliner.com/
Copyright 2011-2017 Rizzoma Project, https://rizzoma.com/

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this project files except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

rizzoma's People

Contributors

granescb avatar jontheniceguy avatar nilya avatar robintibor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rizzoma's Issues

Better discovery of public waves

Public waves were one of the best and most unique features of Google Wave. Sadly, browsing public waves in Rizzoma isn't very efficient. Recently, a new product called Penflip was released which is a collaborative writing platform. Now while it isn't a real-time editing application like Wave was, it has a rather nicely designed "Discover" section to find projects to work on.

Install configuration

Where can I found necessary needs for configuring settings.coffee and settings_local.coffee ?

documented code of these files is not all in english...

Website is down

Not sure how else to get in touch with the team, but the website seems to be down right now. Anyone working to bring it back up again?

access token

Hi there!

As noted in the REST API documentation, to auth we need to extract access token value from the source code of a page.

Is there a way around? Permanent API keys? I'd like to automate exporting topics to back everything up.

Thanks!

"NotificationError: No any available notification transports" when attempting to register using email

When trying to use a combination of username/email address/password to create an account on the initial page, I get the following:
[2014-07-30 08:02:05.380] [ERROR] auth - NotificationError: No any available notification transports
at NotificationError.ServerError (/srv/src/server/common/exceptions.coffee:22:41)
at NotificationError.ExternalError (/srv/src/server/common/exceptions.coffee:97:43)
at new NotificationError (/srv/src/server/notification/exceptions.coffee:20:47)
at Notificator._notificateUsers (/srv/src/server/notification/index.coffee:151:25)
at /srv/src/server/notification/index.coffee:3:61
at /srv/node_modules/async/lib/async.js:532:23
at fn (/srv/node_modules/async/lib/async.js:517:34)
at /srv/node_modules/async/lib/async.js:441:34
at process._tickCallback (node.js:415:13)

[howto][doc] Editor shortcuts

Hi

Where to see the list of all available shortcuts? Are there any directions on adding new ones?

Specifically I eager to know how to apply colors without using mouse, how to reset formatting and etc.

Add option to edit topics without an account

I found that I have a lot of use for Workflowy, which is in every aspect inferior to Rizzoma, except... that it makes it possible to share documents with people without forcing them to have an account... Basically we would need to have a more etherpad-like way to access Rizzoma-topics.

Unstable functioning for the last week

Hi!

I noticed that during the last week the service is not available for a new minutes several times per day.

Sometimes it shows the message:

"Sorry, we perform a small maintenance."

otherwise it just loads infinitely.

Should we start worrying about our data?
And one more question. Can I somehow export all my topics?

Database issues?

Currently I see no topics. Are there some problems with database?

Image

Title is out of sync for published topic

When a topic is published for anonymous access, the resulting page is lacking the proper title tag as well as the body itself, example:
https://rizzoma.com/topic/8728d448bb8fdd90cfe0659b75a559db/

The title should be: "Кулинарная поэма", while it set to just "Rizzoma".

This is perhaps the result of pure asynchronous nature of document loading, then it's interesting how it is supposed search enginges would index pages? Surely 'escaped_fragment' can be used to workaround this.

500. That’s an error.

Since yesterday I cannot access my rizzoma dashboard. Instead I get this error:

  1. That’s an error.
    There was an error. Please try again later. That’s all we know.

Any ideas?

Not showing Topic List

I could log in with google account and create new topic.

But, I could not see the list of topics that I created.

To check search mechanism I restart sphinxsearch service and I could see below log.
Could you tell me what I do for the log?

vagrant@rizzoma:~$ sudo service sphinxsearch start
Starting sphinxsearch: Sphinx 2.0.4-id64-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
listening on all interfaces, port=9312
listening on all interfaces, port=9306
precaching index 'dev_0_index'
WARNING: index 'dev_0_index': preload: failed to open         
/var/lib/sphinxsearch/data/dev_0/index.sph: No such file or directory; NOT SERVING
precaching index 'dev_1_index'
WARNING: index 'dev_1_index': preload: failed to open     
/var/lib/sphinxsearch/data/dev_1/index.sph: No such file or directory; NOT SERVING
precaching index 'dev_2_index'
WARNING: index 'dev_2_index': preload: failed to open 
/var/lib/sphinxsearch/data/dev_2/index.sph: No such file or directory; NOT SERVING
FATAL: no valid indexes to serve
 ERROR.

Thanks in advance.

coffee issue??

Hello,
I tried to install rizzoma, but I get this as error on the ssh terminal.
May someone can help me?

$ node_modules/.bin/cake build-server build-client
/var/www/virtual/xxx/rizzoma.xxx.de/node_modules/coffee-script/lib/coffee-script/cake.js:93
if (path.existsSync(path.join(dir, 'Cakefile'))) return dir;
^

TypeError: path.existsSync is not a function
at cakefileDirectory (/var/www/virtual/xxx/rizzoma.xxx.de/node_modules/coffee-script/lib/coffee-scrip
t/cake.js:93:14)
at Object.exports.run (/var/www/virtual/xxx/rizzoma.xxx.de/node_modules/coffee-script/lib/coffee-scri
pt/cake.js:46:19)
at Object. (/var/www/virtual/xxx/rizzoma.xxx.de/node_modules/coffee-script/bin/cake:7:38)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:382:7)

Folded comments (inside docs) by default

I never use unfolded comments or inside docs, and for this reason I always have to click Hide, for every of my hundreds of nested things. Is there a way to make them hidden by default?

INT37F6DBAA

Just tried installing Rizzoma on my own server because the cloud version is down for the second time now in some time, and we're getting increasingly worried the problem may not go away.
Installation went fine, based on the instructions (and after installing CloudDB from aptitude), But I here immediately got the INT37F6DBAA error code that we know so well from the cloud version too. Any suggestions?
image

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.