User Tools

Site Tools


Sidebar

developers:libraries_used:start

This is an old revision of the document!


3rd Party Libraries Used

In the Geo software, we utilize a number of 3rd party software libraries, which are listed below in sort-of directory listing order. Feel free to reference any of these libraries in your Addon, but pay attention to the notes on each library as some are slated for removal in future releases. If you see any out of date information, or if you know of a library with a newer version than listed below let us know about it!

Note that if you have a version earlier than what is listed under last updated, you will need to refer to your version's files to see what version of the library is included with your version.

<tip c w>Warning: Take note of the use of Prototype JS and Scriptaculous along side jQuery, which are not compatible with some other JS libraries such as MooTools. If you use jQuery, make sure you ALWAYS use the jQuery() and not the shortcut $(), as currently that will be used by Prototype. See the notes in the Prototype (Javascript Framework) for more info.</tip>

ADOdb (Database Access)

Name ADOdb
Location classes/adodb/
URL http://adodb.sourceforge.net/
Version & Release Date V5.11 (PHP5 only) 5 May 2010
Last Updated in Geo 3 March, 2011 (Version 6.0.0)
Usage in Geo Used by DataAccess class.

Usage Notes: We advise to not use this library directly, but use the Geo data accessor DataAccess which wraps the ADOdb class, and adds additional functionality on top of that. See the PHP Docs for the DataAccess class for more information.

html5shiv (HTML 5 Compatibility JS Library for IE)

Name html5shiv
Location js/html5shiv.js
URL https://code.google.com/p/html5shiv/
Version & Release Date 3.6.2pre
Last Updated in Geo 8 February, 2013 (Version 7.1)
Usage in Geo Used in new default templates, to ensure HTML5 compatibility in IE versions 8 and below.

Usage Notes: This is referenced in the default templates, since the templates make use of HTML 5 elements. This ensures that those HTML5 elements will work properly on older browser versions.

PayPal SDK (Paypal Pro Gateway)

Name PayPal SDK
Location classes/PEAR/PayPal/ 1)
URL http://www.paypal.com/sdk (SOAP SDKs - PHP .zip package half way down the page)
Version PHP SDK V59
Last Updated in Geo 10/02/2009 (Version 4.1.0)
Usage in Geo In the PayPal Pro payment gateway.

Usage Notes: Added in Geo 4.1.0. The old location is in the Services/ directory, we have updated it (we were previously using a beta version from 2006) and moved its home to the directory noted.

PclZip

Name PclZip
Location classes/pclzip/
URL http://www.phpconcept.net/pclzip
Version 2.8.2
Last Updated in Geo 01/12/2011 (Version 5.2.0)
Usage in Geo Alternative to PHP Zip extension, for servers that do not have that extension loaded.

Usage Notes: Added in Geo 5.2.0. This library is only used on servers where the built in zip extension is not loaded in PHP, which apparently is often enough to warrant using an alternative. We advise not to use this class directly, if the Zip extension ever becomes "common place" enough, we may remove this library.

Swift Mailer (E-Mail)

Name Swift Mailer PHP5 version
Location classes/php5_classes/swift/
URL http://swiftmailer.org/
Version V3.3.3
Last Updated in Geo 01/08/2009
Usage in Geo In the E-Mail Send Direct Addon, which is a system addon that sends all the e-mails.

Usage Notes: In 4.0 just use the geoEmail::sendMail() method to send e-mails, see that method's documentation for more info.

Future Plans: There is a new version of Swift Mailer out which is a total re-write from previous versions. We have plans to move the e-mail functionality totally into the geoEmail class (right now that class just acts as a wrapper, relying on the addon to do the actual e-mailing), and at that time we will recode it to use the new version of the Swift Mailer. This is planned for a future release but since it is not done yet, no word on how soon that will be. The 5.0 line will continue to use the 3.3.3 version.

jQuery (Javascript Framework)

Name jQuery
Location js/jquery.min.js
URL http://http://jquery.com/
Version & Release Date 1.9.1
Last Updated in Geo 02/14/2013 (Version 7.1.0 and up ONLY)
Usage in Geo Switching to use jQuery instead of Prototype & Scriptaculous. We will be converting existing areas to use jQuery as time allows. Any "new features" will use jQuery going forward starting in 7.1.0.

Usage Notes: If you plan to do any JS stuff that requires a javascript framework, we highly recommend to use jQuery rather than Prototype and Scriptaculous. We plan to phase those libraries out, being replaced by jQuery over time, and new features will be using jQuery. In the mean time, both jQuery and Prototype/Scriptaculous will be used, until we are able to convert all built-in functionality over to jQuery.

If you are using Prototype / Scriptaculous now, we highly recommend to start making the switch over to use jQuery.

Customization Note: Some sites have started using jQuery already, if your site is already using jQuery make sure that you remove any calls to the jQuery JS file when you update to version 7.1.0 since the software will already load that built in. It will result in duplicate calls to jQuery if you leave your own in, and in some cases where you might be using an older version, may result in breaking features in the software.

<tip c w>Warning: Until we entirely "phase out" Prototype, avoid using Mootools as it will directly conflict with Prototype, causing you problems. This applies to any JS libraries that conflict with Prototype or Scriptaculous, before you decide to use something JS based ensure that it is compatible.

There's nothing wrong with Mootools any of the others, we just happened to choose Prototype & Scriptaculous starting out so until they are removed entirely, you will need to make sure you only use compatible libraries..</tip>

Note that it is possible to load this library from Google Libraries API rather than off the local site. See the Use Google Libraries API setting in the admin at Design > Template Sets in the Advanced Settings section.

jQuery UI

Name jQuery UI
Location js/jquery-ui.min.js
URL http://http://jqueryui.com/
Version & Release Date 1.10.0
Last Updated in Geo 01/18/2013 (Version 7.1 beta 3 and up ONLY)
Usage in Geo We use a custom build of jQuery UI that only includes the components mentioned below, plus the requirements for those component(s). This is done to help with bandwidth, "everything" produces a 200K+ sized JS file minified. But only including the components mentioned below produces < 50K sized file (minified), much better for page load speed.
jQuery UI Components Draggable2)

Customization note: As noted in the jQuery entry, we are switching from using Prototype to using jQuery. There is a LOT of existing code, so we're not going to do it all in one version. Until everything is converted over, Prototype and Scriptaculous will continue to be used. So be careful of using $() - that must ONLY be used for Prototype, it will not work (unless properly encapsulated) for calling jQuery or jQuery UI. Instead use the jQuery(…) syntax instead of the short-hand $(…) syntax.

Prototype (Javascript Framework)

Name Prototype JavaScript framework
Location js/prototype.js
URL http://www.prototypejs.org/
Version & Release Date 1.7.1
Last Updated in Geo 01/15/2013 (Version 7.1.0)
Usage in Geo Used extensively for features in the past, but currently in process of being phased out, to be replaced by jQuery (starting in version 7.1.0).

Usage Notes: If you plan to do any JS stuff that requires a javascript framework, we highly recommend to stick to using jQuery, as starting in version 7.1.0 the use of Prototype is being phased out. If you have custom scripts using Prototype we recommend to start converting them to use jQuery instead, or find alternative scripts that do the same that using jQuery. Once we have entirely phased out Prototype and Scriptaculous it will be removed from the software completely, however this may take some time.

JQuery Compatibility: During the time that we work to phase out Prototype, the software will be loading both Prototype and jQuery (running in compatibility mode) at same time.

<tip c w>Warning: Avoid using Mootools as it will directly conflict with Prototype, causing you problems in the software until all use of Prototype has been converted to jQuery. This applies to any JS libraries that conflict with Prototype or Scriptaculous, before you decide to use something JS based ensure that it is compatible.

There's nothing wrong with Mootools or any of the others, we just happened to choose Prototype & Scriptaculous jQuery now that it has become the most popular JS library.</tip>

Note that it is possible to load this library from Google Libraries API rather than off the local site. See the Use Google Libraries API setting in the admin at Design > Template Sets in the Advanced Settings section.

Script.aculo.us (Prototype-based Javascript Effects)

Name script.aculo.us
Location js/scriptaculous/
URL http://script.aculo.us/
Version v1.9.0
Last Updated in Geo 04 March, 2011 (Version 6.0.0)
Usage in Geo Used extensively in past versions, starting in 7.1.0 it has begun to be phased out, replaced by jQuery. We recommend using jQuery going forward.

Usage Notes: We recommend to use jQuery instead, starting in version 7.1.0 Scriptaculous is being phased out, to be replaced by jQuery. This will not happen all at once, it will be done in phases. Any new features will use jQuery.

Note that it is possible to load this library from Google Libraries API rather than off the local site. See the Use Google Libraries API setting in the admin at Design > Template Sets in the Advanced Settings section. At least it will be once the Google Library API is updated with the latest version of Scriptaculous, version 1.9.0.

CalendarView (Prototype-based)

Name CalendarView
Location js/calendarview.js
URL http://calendarview.org/
Version v1.2
Last Updated in Geo 25 August, 2010 (Version 5.1.2)
Usage in Geo For now, used for "date selection" fields, will be replaced with jQuery compatible version in the future.

Usage Notes: We recommend to avoid using this as it will be removed as soon as we replace it with something that is compatible with jQuery.

IXR (XML-RPC Library)

Name IXR - The Inutio XML-RPC Library
Location classes/rpc/
URL http://scripts.incutio.com/xmlrpc/
Version & Release Date 1.7.4 (7th September 2010)
Last Updated in Geo 03/04/2011 (Version 6.0.0)
Usage in Geo In the Remote API system, used to communicate.

Usage Notes: When using the Remote API you don't have to worry about communication with the "client" script, in the remote API call all you need to do is return the data as you want the client to receive it, and the Geo Remote API system will take care of it for you.

Smarty (Template system)

Name Smarty
Location classes/php5_classes/smarty/
URL http://www.smarty.net
Version & Release Date 3.1.12 (Sep 25, 2012)
Last Updated in Geo 30 October, 2012 (version 7.1.0beta1)
Usage in Geo Used in the geoTemplate class (that class extends the Smarty class). The geoTemplate class is used throughout the Geo software

Usage Notes: See the geoView and geoTemplate documentation.

SWFUpload (Upload Files)

Name SWFUpload
Location classes/swfupload/
URL http://www.swfupload.org
Version & Release Date 2.2.0.1 (March 2009)
Last Updated in Geo 19 April, 2009
Usage in Geo Used in the standard image upload page during place a listing and edit listing process.3)

Usage Notes See the documentation on the SWF Upload website for usage. This library was first added in Geo version 4.1.0.

Modification Notes We have applied a small change from SWFUpload v2.5.0 Beta 3 from the JS file, the change applied should make the "instability checks" more accurate. This was done in Geo version 5.2.1.

TinyMCE (WYSIWYG Editor)

Name TinyMCE & TinyMCE Compressor PHP
Location js/tiny_mce/
URL http://tinymce.moxiecode.com/
Version & Release Date - TinyMCE - Version 3.4.2 (2011-04-07)
- TinyMCE Compressor PHP - Version 2.0.4 (2011-03-23)
Last Updated in Geo - TinyMCE - 05/09/2011 (In Version 5.2.3)
- TinyMCE Compressor PHP - 05/09/2011 (In Version 5.2.3)
Usage in Geo Used as the WYSIWYG editor anywhere such an editor is used.

Usage Notes: If you wish to customize the TinyMCE configuration that is used, see Customizing the TinyMCE Display (WYSIWYG editor) V5

CodeMirror

Name CodeMirror
Location js/codemirror/
URL http://codemirror.net/
Version & Release Date 3.02 (21-01-2013)
Last Updated in Geo February 14, 2013 (Version 7.1.0)
Usage in Geo Used as the text editor on the <..> Source Code Editor tab when editing files under Design > Manager.

Usage Notes: This is only available starting on version 6.0.0. See documentation on http://codemirror.net/ for usage on other pages within the software.

1)
As of Geo version 4.1.0, old location in Services/
2)
Yes, only one component is included so far because that's all we need so far. As we make use of more and replace more of prototype/scriptaculous, we'll be re-building this to include the additional components required.
3)
As of Geo version 4.1.0
developers/libraries_used/start.1360864196.txt.gz · Last modified: 2014/09/25 16:55 (external edit)