[[TOC]] = Seagull PHP Framework Documentation = == Using This Site == Trac software is what we using for managing the project tickets and wiki. Editing content and submission of [[http://trac.seagullproject.org/newticket New Tickets]] optionally requires a login which you can get by registering with the [http://seagullproject.org/user/register/ Seagull] site. This is highly recommended so you can get feedback on how your tickets are progressing. '''IMPORTANT''': Please customise your [http://trac.seagullproject.org/settings settings] adding your email address, this will allow you to be notified of any changes to your tickets. Seagull documentation in [[http://wiki.cjcht.com/ Chinese]] == Seagull 1.0.4 (stable) == A PHP5 only and latest stable released version of Seagull which is also available in the trunk. It is fully backwards compatible with the 0.6-bugfix branch. * [browser:trunk Source] * [wiki:1_0/Overview Overview Docs] * The wiki will be updated accordingly. Currently the links below refer to documentation for the version 1.x of the project. == Seagull 2.0 (experimental) == A new, experimental version of Seagull with major changes according to the latest technologies which is in progress. It is currently incomplete and not fully working. Check it out on github. * [http://github.com/demianturner/sgl2 Source] * [wiki:2_0/Overview Overview Docs] == Seagull 0.6.x (older version) == This version has been in production for more than 6 years, is widely deployed and is compatible with PHP versions 4.3 to 5.3.x . * [browser:branches/0.6-bugfix Source] {{{ #!html
}}} == General Overview == Why a framework might be of interest, the future of Seagull, License Information and Target Audience, News and Talks relating to Seagull. * [wiki:General/FrameworkFeatures Seagull features] * [wiki:General/HowDoesSeagullCompareWithOtherFrameworks Frameworks comparison] * [wiki:General/InTheNews In the news] * [wiki:General/ProjectHistory Project history] * [wiki:General/Talks Talks] * [wiki:General/TargetAudience Target audience] * [wiki:General/WhyAFrameworkMightBeOfInterestToYou Why use a framework?] == Community == Meet the community of developers, translators and maintainers, find out more about mailing list etiquette and see a list of sites powered by Seagull. * [wiki:Community] * [wiki:Modules] * [wiki:Plugins] * [wiki:Integration Integration] * [wiki:Contributing] {{{ #!html
}}} == Installation == Where to download Seagull and how to install, Requirements, and Backwards Compatibility. * [wiki:Installation/MinimumRequirements Minimum requirements] * [wiki:Installation/Download Download] * [wiki:Installation Installing Seagull] * [wiki:Installation/Customising Customising the installer] * [wiki:Installation/FromSVN How to checkout code from svn] * [wiki:Installation/SettingUpApacheVirtualHosts Setting up Apache virtual hosts] * [wiki:Installation/SettingUpModRewrite Setting up mod_rewrite] * [wiki:Installation/SettingUpOnCpanel Installing on a Cpanel host] * [wiki:Installation/UsingThePearPackageManager Using the PEAR package manager] == Main Concepts == Learn about the main concepts behind developing a project with Seagull. * [wiki:Concepts/Introduction Introduction] * [wiki:Concepts/ModulesManagersAndControllers Modules, managers and controllers] * [wiki:Concepts/ValidateProcessDisplay Validate, process, display] * [wiki:Concepts/CoreLibs The core libraries of Seagull] {{{ #!html
}}} == HOWTO == The material in the HOWTO section goes into specific detail about various functionality available in Seagull. * [wiki:Howto/UsingConfigFiles] Everything you need to know about working with app config * [wiki:Howto/Caching] Working with caching * [wiki:Howto/HandlingErrors] How to manage errors in your applications * [wiki:Howto/Logging] How to log events * [wiki:Howto/DebuggingIdeas] Some suggestions to aid in debugging * [wiki:Howto/DB] Setting up support for Oracle, Postgres, MaxDB, using multiples DBs, etc. * [wiki:Howto/ManagingEntitiesWithDbDataObject] Speed up development by using DB_DataObject * [wiki:Modules/User Howto/WorkingWithUsers] This is dealt with in the User module section, includes info on organisations * [wiki:Howto/RolesAndPermissions] Information on how to setup authorisation constraints * [wiki:Howto/Internationalisation] Information on i18n, setting up for RTL langs, translating modules * [wiki:Howto/WorkingWithWizards] Tips on how to integrate wizards in your applications * [wiki:Howto/FileOperations] Search for files on the file system and filter results with a few lines of code * [wiki:Howto/SendingEmails] Some tips for simplifying emailing * [wiki:Howto/WorkingWithTheRequestObject] Conventions for dealing with request data * [wiki:Howto/WorkingWithCliOrHttpRequests] How to run Seagull in CLI mode * [wiki:Howto/InputValidation] Always check your inputs * [wiki:Howto/UriManagement] How input and output URIs are dealt with * [wiki:Howto/Routes] Working with Horde_Routes * [wiki:Howto/HttpRedirects] Redirecting the workflow * [wiki:Howto/PragmaticPatterns] Using design patterns to increase productivity * [wiki:Howto/Blocks] How to create and manage blocks in your appliation * [wiki:Howto/WorkingWithModules] What you need to know about modules * [wiki:Howto/Navigation] Using Seagull's navigation tools, categorising content, alternative menu builders * [wiki:Howto/WorkingWithImages] Learn about Seagull's image manipulation capabilities * User Interface * [wiki:Howto/JavaScript] Working with Javascript, registering events in the templates, module-specific JS * [wiki:Howto/CSS] Various tips on how to work with the CSS tools provided by Seagull * [wiki:Howto/JavaScriptAndCssImprovements] Read this for latest CSS and Js conventions * [wiki:Howto/Templates] Find out more about how to work with Flexy, creating custom functions, using alternative templating engines * [wiki:Howto/UI/WorkingWithTheAdminInterface] Find out how to integrate your module backend managers within SGL Admin Interface * [wiki:Howto/UI/SetAdminGuiForOtherRoles] Find out how to set adminGui for any other role * [wiki:Howto/AJAX] Some tips on integrating AJAX effects into your projects * Maintenance * [wiki:Howto/EnableMaintenanceMode] Put your site/app in maintenance mode * [wiki:Howto/Upgrading] Some notes helpful for upgrading from previous versions * [wiki:Howto/ApplicationMaintenance] Tools to make building and maintaining your modules easier * [wiki:Howto/OptimisingPerformance] Tips and tricks on how to get maximum performance * [wiki:Howto/OptimisingPerformance/Example] A real world example * [wiki:Integration Howto/Integration] Seagull integrates seamlessly with a number of technologies, see this section for more info == Tutorials == Various Tutorials to assist you while learning Seagull. * Writing code * [wiki:Tutorials/HelloWorld] * [wiki:Tutorials/WorkingWithActions] * [wiki:Tutorials/BuildingAnAjaxEnabledModule] * Just using a browser * [wiki:Tutorials/CreatingASimpleSite] == Standards == All contributions are required to follow these standards and practices [[SubWiki(Standards)]] == Trouble Shooting == In this section you will find everything you need to get your Seagull installation working right, including FAQs and Tips and Tricks * TroubleShooting * [wiki:FAQ] * TipsAndTricks == Code == Information about Preformance, Directory Structure, Code Examples, Contributing Bug Fixes, Feature Enhancements, and Translations. [[SubWiki(Code)]] == Additional Information == Some other useful areas are [wiki:Internal], [wiki:Environment] and [wiki:RFC] For a complete list of local wiki pages, see TitleIndex.