Tatami is an Open Source enterprise social network.
A public installation of Tatami is provided by Ippon Technologies at : https://tatami.ippon.fr
Tatami is made with the following technologies :
Tatami is developed by Ippon Technologies
cd web
npm install
sudo !!
cd ..
mvn cassandra:run
mvn jetty:run
To create users, use the registration form. As we have not configured a SMTP server (you can configure it in src/main/resources/META-INF/tatami/tatami.properties - see below "installation for production use" for more options), the validation URL as well as the password will not be e-mailed to you, but you can see them in the log (look at the Jetty console output).
If you want to use Tomcat instead of Jetty (which works better in development mode on Windows), just use :
mvn tomcat7:run
If you run into some Permgen or OutOfMemory errors, you can configure your Maven settings accordingly :
export MAVEN_OPTS="-XX:PermSize=64m -XX:MaxPermSize=128m -Xms256m -Xmx1024m"
If you want to debug remotely the application with your IDE, set up your MAVEN_OPTS :
export MAVEN_OPTS="$MAVEN_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
On Mac OS X, you should use JDK 6 and not JDK 7, see issue #281.
In order to assure code quality, Ippon manages the pull requests for the project, and upholds certain rules regarding how individuals may contribute.
You may find these rules in your Tatami installation in the file CONTRIBUTING.md
.
In order to use a stable version, use one of the available tags.
Tatami can be configured with the src/main/resources/META-INF/tatami/tatami.properties file. You can configure this file in 2 ways :
Once Tatami is started, you will be able to check your properties at runtime in the Administration page.
To deploy Tatami :
mvn package
Upgrading is normally just a matter of using a newer version of the application.
Sometimes, you will need to update the Cassandra keyspace: upgrade scripts are available in the src/main/cql/upgrade directory.
Stress tests are done with Apache JMeter.
stress-tests
profile : mvn jetty:run -Pstress-tests
src/test/jmeter/tatami-create-users.jmx
script : it will create 200 normal users, which each has 200 follower userssrc/test/jmeter/tatami-stress-test.jmx
Functional tests are a work in progress, you do not have to run them in order to use the application.
Requirement : all components must run on localhost :
Launching UI Tests from maven :
add this profile on your settings.xml :
<profile>
<id>tatami</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<webdriver.chrome.driver>C:\path\to\chromedriver.exe</webdriver.chrome.driver><!--optional-->
<google.password>xxxx</google.password>
<google.email>xxx@xxx.fr</google.email>
</properties>
</profile>
Run Maven with this command : mvn clean verify -Puitest
Launching UI Tests from maven with Chrome :
-Dgeb.env=chrome
to the maven command aboveLaunching UI Tests from your IDE :
mvn cassandra:delete cassandra:start jetty:run -Djetty.scanIntervalSeconds=0 -Puitest
Jetbrains is providing us free Intellij IDEA licenses, which definitely allows us to be more productive and have more fun on the project!
YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.
Copyright © 2012-2015 Ippon Technologies
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this application 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.