/shindig-php

The PHP OpenSocial Server

Primary LanguagePHPApache License 2.0Apache-2.0

                          Apache Shindig PHP

  What is it?
  -----------

  Shindig is a JavaScript container and implementations of the backend APIs
  and proxy required for hosting OpenSocial applications.

  This is the PHP implementation of Shindig. If you are looking to the Java 
  implementation, please visit our website.

  Documentation
  -------------

  The most up-to-date documentation can be found at http://shindig.apache.org/
  and at http://shindig.apache.org/developers/php/index.html 
  for specific PHP documentation.

  Read javascript/README for instructions for using the Shindig Gadget 
  Container JavaScript to enable your page to render Gadgets.

  Release Notes
  -------------

  The full list of changes can be found at https://issues.apache.org/jira/browse/SHINDIG.

  System Requirements
  -------------------

  PHP:
    5.2.x or above with the json, simplexml, mcrypt and curl extentions 
    enabled.
  Web server:
    Apache with mod_rewrite enabled.
  Memory:
    No minimum requirement.
  Disk:
    No minimum requirement. 
  Operating System:
    No minimum requirement. On Windows, Windows NT and above or Cygwin is 
    required for the startup scripts. Tested on Windows XP, Fedora Core 
    and Mac OS X.

  Installing Shindig
  ------------------

  Unzip the distribution archive, i.e. shindig-${project.version}-php.zip to 
  the web document root, e.g. /var/www/html. 

  Rename the created shindig-${project.version}-php dir to shindig. 

  a. Create a new virtual host

  Point your Apache to the shindig dir with a virtual host like:

  <VirtualHost your_ip:your_port>
         ServerName your.host
         DocumentRoot /var/www/html/shindig
         ... other normal settings in vhosts...
    <Directory>
      AllowOverride All
    </Directory>
  </VirtualHost>

  Restart apache, and point your browser to:

  http://<your.host>/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml

  b. Run with an existing host

  If you cannot/don't want to create a virtual host, you can edit the file 
  php/config/container.php or php/config/local.php (see the comments 
  php/config/container.php for documentation of the configuration system) 
  and change the web_prefix setting to '/shindig/php'.

  In this case, you should also change all paths in shindig/config/container.js
  (see the comments there for documentation of the JSON configuration system).

  Then you can run the gadget by pointing your browser to:

  http://<your.host>/shindig/php/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml

  Going forward
  -------------
  
  Check out the php/config/container.php file, in local.php you only have 
  to specificy the fields you want to overwrite with other values, for 
  example on a production system you would probably want to have something
  like:
   $shindigConfig = array(
    'debug' => false,
    'allow_plaintext_token' => false,
    'token_cipher_key' => 'MySecretKey',
    'token_hmac_key' => 'MyOtherSecret',
    'private_key_phrase' => 'MyCertificatePassword',
    'person_service' => 'MyPeopleService',
    'activity_service' => 'MyActivitiesService',
    'app_data_service' => 'MyAppDataService',
    'messages_service' => 'MyMessagesService',
    'oauth_lookup_service' => 'MyOAuthLookupService'
    'xrds_location' => 'http://www.mycontainer.com/xrds',
    'check_file_exists' => false
   );
 
  And then implement your own service and oauth lookup classes.

  Running from an svn checkout
  ---------

  If you want to run PHP Shindig directly from an svn checkout, please refer to the
  docs/README.svn file to learn about the configuration differences between the released
  and svn version. 

  Licensing
  ---------

  Please see the file called LICENSE.

  Shindig URLS
  ------------

  Home Page:          http://shindig.apache.org/
  Downloads:          http://shindig.apache.org/download/index.html
  Mailing Lists:      http://shindig.apache.org/mail-lists.html
  Source Code:        http://svn.apache.org/repos/asf/shindig/
  Issue Tracking:     https://issues.apache.org/jira/browse/SHINDIG
  Wiki:               http://cwiki.apache.org/confluence/display/SHINDIG/

This distribution includes cryptographic software.  The country in
which you currently reside may have restrictions on the import,
possession, use, and/or re-export to another country, of
encryption software.  BEFORE using any encryption software, please
check your country's laws, regulations and policies concerning the
import, possession, or use, and re-export of encryption software, to
see if this is permitted.  See <http://www.wassenaar.org/> for more
information.

The U.S. Government Department of Commerce, Bureau of Industry and
Security (BIS), has classified this software as Export Commodity
Control Number (ECCN) 5D002.C.1, which includes information security
software using or performing cryptographic functions with asymmetric
algorithms.  The form and manner of this Apache Software Foundation
distribution makes it eligible for export under the License Exception
ENC Technology Software Unrestricted (TSU) exception (see the BIS
Export Administration Regulations, Section 740.13) for both object
code and source code.

The following provides more details on the included cryptographic
software:

    Apache Shindig PHP interfaces with the mcrypt API
    <http://mcrypt.sourceforge.net/> to provide encryption
    of messages using the AES standard.