Object-oriented full-stack PHP framework for developing business-oriented web applications
PHP JavaScript HTML CSS ColdFusion Smarty Other
Latest commit 55701ed Feb 9, 2016 @wayneh wayneh Merge pull request #13 from badpenguin/agx-7
merge 19 commits into atkphpframework:develop from badpenguin:agx-7
Failed to load latest commit information.
attributes fix trailing double quote in onchange event Feb 9, 2016
cache Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
console Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
datagrid Add CLEAR buttom to admin/list page Sep 1, 2014
datatypes Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
db Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
doc Many small changes Jan 11, 2015
document Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
errors Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
ext porting: fix phpmailer class for utf-8 title Feb 8, 2016
filters Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
fixture Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
front Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
handlers add autocomplete=off to add and edit form to avoid stupid browser Feb 9, 2016
images Adding visual prompt for sortable many-to-many select relation. Feb 25, 2010
include Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
interface Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
javascript Many small changes Jan 11, 2015
keyboard Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
languages porting: fix it language to respect privacy law (don't show IP of Feb 8, 2016
listeners Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
lock Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
menu Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
meta Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
modules fix deprecated "Assigning the return value of new by reference" Feb 9, 2016
popups Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
recordlist Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
relations porting: fix sort one to one relation Feb 8, 2016
scripts Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
security fix refresh page Feb 9, 2016
session Additions to security log Sep 3, 2014
skel-tests Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
skel Many small changes Jan 11, 2015
test Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
themes Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
ui porting my patches to v7 Feb 8, 2016
utils porting my patches to v7 Feb 8, 2016
wizard fix deprecated "Assigning the return value of new by reference" Feb 8, 2016
.gitignore Update .gitignore Apr 25, 2014
README.md doc updates for community-led project Oct 14, 2012
atkbrowsertools.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
atkmenutools.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
atknodetools.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
atktools.inc porting Feb 8, 2016
atktreetools.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atkconfig.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atkcontroller.inc porting Feb 8, 2016
class.atkdatanode.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atkfileeditor.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atklanguage.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atkmetanode.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atknode.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atknodevalidator.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.atktreenode.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
class.layout.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014
defaultconfig.inc.php Many small changes Jan 11, 2015
version.inc Apply PSR-2 of PHP Framework Interop Group (FIG) Apr 24, 2014

README.md

ATK Framework

The ATK Framework is a special purpose PHP framework targeted at business applications. It allows you to build an application with very small amounts of code.

Its focus on business features makes it an excellent framework for HRM, CRM, data management and CMS type applications. The ATK Framework is stable and suitable for production. For more information, see the ATK Framework GitHub project wiki and the ATK Framework website.

The purpose of the the ATK Framework project on GitHub is to create, as a community, the leading rapid-development framework for creating enterprise web applications, such as Achievo for enterprise resource management. The ATK Framework was created by ibuildings.nl and development is now carried on by the open source community, managed by the GitHub atkphpframework group, with the endorsement and permission of ibuildings.nl.

To Get Started

Applications built using the ATK Framework can be hosted on a standard web application AMP stack (Apache/MySQL/PHP), and is compatible with current AMP stack component versions (e.g. PHP 5.4.x, MySQL 5.5.x). ATK requires PHP 5.1.3 or newer.

The most convenient way to get started using the ATK Framework is to clone the ATK Framework GitHub repository to your webserver. The master branch, containing the most recent production release, will be automatically checked out. Besides the master branch, the repository includes a number of previous release branches, including release-6.4 which is being maintained for Achievo (until Achievo has been migrated to the current release).

If you want to learn about the ATK Framework, an ATK Framework demo appliation is available. The demo is lesson-based, with the lessons covering the basic functionality and features of ATK Framework.

Version Control and Issue Tracking

Communication Channels

Developers using the ATK Framework discuss problems and solutions, keep each other informed, and generally help each other out, on the Achievo/ATK forum. It's a good idea to create a free user profile on the forum, you will need it to post topics or reply to existing topics (although viewing does not require a profile). If you create a new topic, please be careful to submit it in an ATK Framework sub-forum (not an Achievo sub-forum).

Developer Guidelines

See Developer Guideines in the ATK Framework project wiki.

Documentation

Official project documentation (although still somewhat sparse) is in the ATK Framework GitHub project wiki, with valuable discussion topics in the Achievo/ATK forum. The ATK Framework website is a valuable resources, as well as the ibuildings Achievo/ATK wiki(although detailed information may not be current, updated information is published on the ATK Framework GitHub project wiki). The ATK Framework is documented internally with PHPDoc comments, and the ATK Framework API documentation can also be browsed on the ATK Framework website.

Support

In the event you have a problem:

  • Review ATK Framework behavior using an unaltered production-release of the ATK Framework Demo.
  • Search the ATK GitHub project wiki and the ibuildings Achievo/ATK wiki.
  • Search the Achievo/ATK forum.
  • Search the ATK GitHub project Issues and ibuildings legacy bug tracker.
  • Post a question to the Achievo/ATK forum (free account sign-up is required for posting). When posting to the forum, always include the following to help other Achievo users and developers give you the best response: ** a summary of what you are trying to achieve and symptoms of the problem (what you think is going wrong, or not happening when it should) ** your server operating system and version (e.g., FreeBSD 9.0, Ubunto 11.10, OpenSUSE 12.1, Windows 7, ...) ** your web server and version (e.g., Apache 2.2.22) ** your PHP version (e.g., PHP 5.3.10) ** your MySQL server version (e.g., MySQL 5.5.20) ** (optional) example code. Sometimes posting code is the simplest way to describe a technical problem you're having. If you are posting code, provide the simplest example that demonstrates your problem.