Get your free trail of Salsa

Our Technology

Technology that matches our values: Open, Flexible, Scalable, & plays well with others

Architecture

Salsa is a fully hosted application, residing on a set of over 60 web, database and email servers hosted at a tier 1 datacenter located in Northern Virginia. Our technology is a Java web application running on Apache Tomcat and Apache web server, with a MySQL database. Our primary cluster of servers run RedHat Enterprise Linux and are monitored daily for security patches and software updates.

Revolutionizing Software Development

We've always been dedicated to accessibility, transparency, and commitment to building a collaborative platform. With Salsa, we're going even further by revolutionizing and democratizing software development.

We recognize that there is no way we can meet all of the creative and unique needs of thousands of organizations with just our own development staff, and we don’t want to ask organizations to wait for a quarterly release to get a new tool. With minimal (HTML + Javascript) technical knowledge, Salsa Campaign Managers, Partners, and Developers can create custom on-demand applications that leverage the Salsa platform as a hub for managing and sharing information that drives many different applications on top of it. We call our standards-driven programming language "Salsascript".

Salsa is developed with a flexible programming language and hosting environment. It is mature and under active development. Rather than think up our own language, we chose Javascript as our server-side language, the most commonly used language on the internet. Aside from being an international standard (ECMAScript), there are millions of online Javascript resources, and both the code and the support for it is being pushed forward by the community.

We've added things to Javascript, including database access, permissions, utility functions, and includes, labeled it SalsaScript, and execute it on our servers. This dramatically reduces the barrier to entry for developers, allowing applications to be built rapidly by many.

APIs and Integration

We are dedicated to accessibility, transparency, and a commitment to building a collaborative platform that plays well with others.

All of this is in addition to our open, robust, and supported API. With APIs covering access to thousands of objects, and tens of thousands of fields, the Salsa APIs let you interact and integrate third party systems like no other system. The Salsa APIs provide RESTful and XML based interaction with a Salsa Node. From authentication, to pulling custom reports, to saving data, to running credit cards and sending email, the External API features let you enhance your existing tools with Salsa features, or plug tools hosted elsewhere right into Salsa.

Have a system running on another server? Want to have it interact with Salsa? Want people using another system to submit information to Salsa? Feel like using some AJAX, and some JSON? It can all be done through the APIs.

External APIs are a series of authentication features, REST and XML pages to get data from Salsa, and a series of standard controllers to save data back to Salsa. At it's simplest, using the Salsa API may consist of just a form placed on an external website. At it's most complex, you could use a Ruby library to authenticate, pull down information on recent supporters and events, validate that data, change it, and submit it back to the node, while generating and displaying counts of petition signers -- all through the API.

Integrating with 3rd party software and other technology applications is central to our mission at Salsa Labs.

The API though is just the start of Salsa’s capacity for integrating with external application – or building entirely new applications within Salsa.

In addition to the products with which we have already integrated, we deploy an extensive API that allows web designers and people with no knowledge of server-side code to integrate custom products tightly with our services. In addition, our Javascript API allows client browsers to retrieve data directly from our servers, for live display of current news, blogs, or issues.

For working with external databases, we provide an extensive data import suite that allows importing of large numbers of supporters, contacts, message recipients, groups or lists, transactions, and more. The system also has dozens of reports and data exportable in multiple formats.

In addition to our standard content management and web features, Salsa has plug-ins available for many industry leading open source content management systems, including Drupal, Joomla, Plone and others.