diff --git a/doc/html/p331.html b/doc/html/about.html similarity index 84% rename from doc/html/p331.html rename to doc/html/about.html index e90b6ee110..e8daee9274 100644 --- a/doc/html/p331.html +++ b/doc/html/about.html @@ -8,11 +8,14 @@ CONTENT="Modular DocBook HTML Stylesheet Version 1.52">
VII. About this documentChapter 29. About this document
New versionsThe newest version of this document can be found on our website as SGML source, HTML, or TEXT. | API documentation | AboutUp | Chapter 3. A short HistoryphpGroupWare started by Jengo (Joseph Engo) as an application to satisfy his girlfriends need for a webbased calendar/todo_list/email. - At the time it was called webdistro when Seek3r (Dan Kuykendall) discovered this promising project. - The two joined up together and between Seek3r's API design and Jengo's programming skills they renamed the project phpGroupWare and started building the application around the phpgwAPI. - During this period Seek3r took over project management to free Jengo up to do more development. - This duo worked hard to build a sucessful community around the project. Their efforts paid off, and the project is what it is today due to the efforts of the developers who have joined this community. -
Chapter 25. The APIIntroductionphpGroupWare attempts to provide developers with a useful API to handle common tasks. + To do this we have created a multi-dimensional class $phpgw->. + This allows for terrific code organization, and help developers easily identify + the file that the function is in. All the files that are part of this class are in the + inc/core directory + and are named to match the sub-class. + Example:$phpgw->send->msg() is in the + inc/phpgwapi/phpgw_send.inc.php file. + Chapter 26. Configuration VariablesIntroductionphpGroupWare attempt to provide developers with as much information about the user, group, + server, and application configuration as possible. To do this we provide a multi-dimensional + array called $phpgw_info[], which includes all the information about + your environment.Due to the multi-dimensional array approach. getting these values is easy. + Here are some examples: + +
User information
Group information$phpgw_info["group"]["group_names"] = List of groups. + Server information
Database informationIt is unlikely you will need these, because $phpgw_info_db will already be loaded as a database for you to use. +
Mail informationIt is unlikely you will need these, because most email needs are services thru core phpGroupWare functions. +
NNTP information
Application informationEach application has the following information available. +
Chapter 22. Guidelines
RequirementsThese guidelines must be followed for any application that wants + considered for inclusion into phpGroupWare deluxe. +
For applications that do not meet these requirements, they can be + available to users via the phpGroupWare Apps project, or whatever + means the developers decide.If you need help converting your + application to templates and our lang support, we will try to + connect you with someone to help. + Writing/porting your applicationInclude files Each PHP page you write will need to include the header.inc.php along + with a few variables.This is done by putting this at the top of each PHP page. + +
Chapter 24. Infrastructure
OverviewphpGroupWare attempts to provide developers with a sound directory + structure to work from. The directory layout may seem complex at first, + but after some use, you will see that it is designed to accommodate a + large number of applications and functions. + Directory tree
TranslationsThe translations are now being done thru the database, and will be configurable + to use other mechanisms.We are completing a program called Transy, which will + provide developers/translators a nice GUI for building and updating translations. + In the mean time you will need to create a SQL script yourself and name it lang.sql. + You can copy the one in doc/lang.sql and use it as a template. + Chapter 23. Installing your applicationOverviewIt is fairly simple to add and delete applications to/from phpGroupWare. Automatic featuresTo make things easy for developers we go ahead and load the following files. +
Adding files, directories and icons.You will need to create the following directories for your code + (replace 'appname' with your application name) +
Making phpGroupWare aware of your applicationTo make the application aware of your application, add your application details to the applications table. This can be done via the GUI administration screen, or via a SQL script. +
Hooking into Administration pageWhen a user goes to the Administration page, it stats appname/inc/admin.inc.php + for each application that is enabled, in alphabetical order of application title. + If the file exists, it is include()d in the hopes it will display a selection of + links to configure that application. + + Simple Example: +
section_startsection_start($title,$icon_url) + starts the section for your application. $title is passed through + lang() + for you. $icon_url should be page-relative to admin/index.php or + an absolute URL. + section_endsection_end() closes the section that was started with section_start(). + Hooking into Preferences pageThe mechanism to hook into the preferences page is identical to the one used to + hook into the administration page, however it looks for + appname/inc/preferences.inc.php instead of + appname/inc/admin.inc.php. The same functions and variables are defined. + Chapter 21. IntroductionphpGroupWare is a web based groupware application framework (API), + for writing applications. Integrated applications such as email, + calendar, todo list, address book, and file manager are included. + Overview of application writingWe have attempted to make writing application for phpGroupWare as + painless as possible. We hope any pain and suffering is cause by making + your application work, but not dealing with phpGroupWare itself. + What does the phpGroupWare API provide?The phpGroupWare API handles session management, user/group management, + has support for multiple databases, using the PHPLIB database abstraction + method, we support templates using the PHPLIB Templates class, a file + system interface, and even a network i/o interface. On top of these + standard functions, phpGroupWare provides several functions to give + you the information you need about the users environment, and to properly + plug into phpGroupWare. + Chapter 27. Using Language SupportOverviewphpGroupWare is built using a multi-language support scheme. This means the pages can be + translated to other languages very easily. Translations of text strings are + stored in the phpGroupWare database, and can be modified by the phpGroupWare + administrator. + How to use lang supportThe lang() function is your application's interface to phpGroupWare's + internationalization support. + + While developing your application, just wrap all your text output with calls to + lang(), as in the following code: +
The lang functionlang($key, $m1="", $m2="", $m3="", $m4="", $m5="", + $m6="", $m7="", $m8="", $m9="", $m10="") + +
Adding translation dataAn application called Transy is being developed to make this easier, until then you can create + the translation data manually. + The lang tableThe translation class uses the lang table for all translations. + We are concerned with 4 of the columns to create a translation: +
lang.sqlCurrently all applications, and the core phpGroupWare source tree + have a lang.sql file. This is the place to add translation + data. Just add lines of the form: +
Common return codesIf you browse through the phpGroupWare sources, you may notice + a pattern to the return codes used in the higher-level functions. + The codes used are partially documented in the doc/developers/CODES + file. + + Codes are used as a simple way to communicate common error and progress + conditions back to the user. They are mapped to a text string through the + check_code() function, which passes the strings through + lang() before returning. + + For example, calling +
Chapter 28. Using Templates
OverviewphpGroupWare is built using a templates based design. This means the display pages, stored in tpl files, can be translated to other languages, made to look completely different. + How to use templatesSome instructions on using templates. + For Further info read the PHPLIBs documentation for their template class. + | Next | Next | A short HistoryWhy should u use itadd your topic seektext for the appropriate topic - Using phpGroupWare is a cake walk , thats what people say :-). Reading this doc would - definitely give a head start. If you ever come cross any problem please report to + definitely give a head start. If u ever comea cross any problem please report to Table of Contents To administer phpGroupWare you need not be a PHP hacker. All you need to do is again just @@ -85,17 +85,17 @@ CLASS="TOC" >Table of Contents V. Developers DocumentationDan Kuykendall <dan@kuykendall.org> + This document explains phpGroupWare's infrastructure and API, along with + what is required to integrate applications into it. +
|